From 16f397e58146a7a7924550ab072482e1dc831b77 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20=C5=BD=C3=A1=C4=8Dek?= Date: Sat, 19 Sep 2026 05:33:36 +0200 Subject: [PATCH] Separate radio defence and harden player and objective lifecycles --- README.md | 6 +- .../chat/Scripts/Game/ERR/ERR_NativeSmoke.c | 14 +- addons/core/Configs/ERR/EveronSites.conf | 7 + addons/core/Scripts/Game/ERR/ERR_GameMode.c | 59 +- .../Scripts/Game/ERR/ERR_NativeBaseSmoke.c | 103 ++ .../Game/ERR/ERR_NativeLifecycleProbe.c | 190 +++ .../Game/ERR/ERR_NativeObjectiveProbe.c | 238 ++++ .../Game/ERR/ERR_NativeRadioDefenceProbe.c | 367 ++++++ .../ERR/ERR_NativeStationTeardownDiagnostic.c | 62 + .../Game/ERR/ERR_NativeTransportProbe.c | 146 +++ .../Game/ERR/ERR_NativeTransportSurvey.c | 36 + .../Scripts/Game/ERR/ERR_ObjectiveDetails.c | 59 + .../core/Scripts/Game/ERR/ERR_ObjectiveText.c | 48 + addons/core/Scripts/Game/ERR/ERR_Objectives.c | 34 +- .../core/Scripts/Game/ERR/ERR_PlayerGuide.c | 26 +- .../Game/ERR/ERR_RadioDefenceService.c | 140 +++ .../Scripts/Game/ERR/ERR_SiteDefinition.c | 28 +- .../core/Scripts/Game/ERR/ERR_SiteService.c | 91 ++ .../Scripts/Game/ERR/ERR_SpawnFinalization.c | 84 ++ addons/core/Scripts/Game/ERR/ERR_SpawnLogic.c | 178 ++- .../Scripts/Game/ERR/ERR_SpawnPlacement.c | 76 ++ docs/acceptance.json | 68 ++ docs/architecture.md | 14 +- docs/base-gameplay-gaps.md | 46 + docs/base-replacement.md | 9 +- .../console.log.txt | 489 ++++++++ .../error.log.txt | 120 ++ .../headless-launch.log.txt | 150 +++ .../report.json | 20 + .../runner.json.txt | 9 + .../script.log.txt | 182 +++ .../source-sha256.json | 109 ++ .../console.log.txt | 374 ++++++ .../error.log.txt | 128 +++ .../headless-launch.log.txt | 150 +++ .../report.json | 22 + .../runner.json.txt | 9 + .../script.log.txt | 67 ++ .../source-sha256.json | 114 ++ .../console.log.txt | 545 +++++++++ .../error.log.txt | 121 ++ .../headless-launch.log.txt | 150 +++ .../report.json | 17 + .../runner.json.txt | 9 + .../script.log.txt | 238 ++++ .../source-sha256.json | 115 ++ .../console.log.txt | 377 ++++++ .../error.log.txt | 123 ++ .../headless-launch.log.txt | 150 +++ .../report.json | 22 + .../runner.json.txt | 9 + .../script.log.txt | 70 ++ .../source-sha256.json | 115 ++ .../console.log.txt | 378 ++++++ .../error.log.txt | 123 ++ .../headless-launch.log.txt | 150 +++ .../report.json | 22 + .../runner.json.txt | 9 + .../script.log.txt | 71 ++ .../source-sha256.json | 115 ++ .../native-2026-09-19-044205/console.log.txt | 448 ++++++++ .../native-2026-09-19-044205/error.log.txt | 145 +++ .../headless-launch.log.txt | 150 +++ .../native-2026-09-19-044205/report.json | 17 + .../native-2026-09-19-044205/runner.json.txt | 9 + .../native-2026-09-19-044205/script.log.txt | 131 +++ .../source-sha256.json | 115 ++ .../console.log.txt | 493 ++++++++ .../error.log.txt | 122 ++ .../headless-launch.log.txt | 150 +++ .../report.json | 20 + .../runner.json.txt | 9 + .../script.log.txt | 186 +++ .../source-sha256.json | 115 ++ .../console.log.txt | 493 ++++++++ .../error.log.txt | 122 ++ .../headless-launch.log.txt | 150 +++ .../report.json | 20 + .../runner.json.txt | 9 + .../script.log.txt | 186 +++ .../source-sha256.json | 115 ++ .../native-2026-09-19-044924/console.log.txt | 540 +++++++++ .../native-2026-09-19-044924/err-prison.png | Bin 0 -> 153701 bytes .../native-2026-09-19-044924/err-result.png | Bin 0 -> 180296 bytes .../native-2026-09-19-044924/error.log.txt | 133 +++ .../headless-launch.log.txt | 150 +++ .../native-2026-09-19-044924/report.json | 17 + .../rereintroduced-hq.log.txt | 32 + .../native-2026-09-19-044924/runner.json.txt | 9 + .../native-2026-09-19-044924/script.log.txt | 201 ++++ .../source-sha256.json | 115 ++ .../console.log.txt | 511 +++++++++ .../error.log.txt | 134 +++ .../headless-launch.log.txt | 150 +++ .../report.json | 20 + .../runner.json.txt | 9 + .../script.log.txt | 196 ++++ .../source-sha256.json | 115 ++ .../console.log.txt | 153 +++ .../error.log.txt | 18 + .../headless-launch.log.txt | 131 +++ .../report.json | 18 + .../runner.json.txt | 9 + .../script.log.txt | 17 + .../source-sha256.json | 118 ++ .../console.log.txt | 382 ++++++ .../error.log.txt | 148 +++ .../headless-launch.log.txt | 146 +++ .../report.json | 29 + .../runner.json.txt | 9 + .../script.log.txt | 79 ++ .../source-sha256.json | 118 ++ .../native-2026-09-19-050403/console.log.txt | 467 ++++++++ .../native-2026-09-19-050403/error.log.txt | 134 +++ .../headless-launch.log.txt | 150 +++ .../native-2026-09-19-050403/report.json | 17 + .../native-2026-09-19-050403/runner.json.txt | 9 + .../native-2026-09-19-050403/script.log.txt | 158 +++ .../source-sha256.json | 118 ++ .../native-2026-09-19-050515/console.log.txt | 985 ++++++++++++++++ .../native-2026-09-19-050515/error.log.txt | 207 ++++ .../headless-launch.log.txt | 157 +++ .../native-2026-09-19-050515/report.json | 17 + .../native-2026-09-19-050515/runner.json.txt | 9 + .../native-2026-09-19-050515/script.log.txt | 573 +++++++++ .../source-sha256.json | 118 ++ .../console.log.txt | 196 ++++ .../error.log.txt | 38 + .../headless-launch.log.txt | 131 +++ .../launch-source-sha256.json | 118 ++ .../launch-source.json | 46 + .../report.json | 23 + .../runner.json.txt | 19 + .../script.log.txt | 36 + .../source-provenance.json | 4 + .../source-sha256.json | 118 ++ .../native-2026-09-19-051452/console.log.txt | 1020 +++++++++++++++++ .../native-2026-09-19-051452/error.log.txt | 209 ++++ .../headless-launch.log.txt | 156 +++ .../launch-source-sha256.json | 118 ++ .../launch-source.json | 46 + .../native-2026-09-19-051452/report.json | 17 + .../native-2026-09-19-051452/runner.json.txt | 19 + .../native-2026-09-19-051452/script.log.txt | 606 ++++++++++ .../source-provenance.json | 4 + .../source-sha256.json | 118 ++ .../console.log.txt | 410 +++++++ .../error.log.txt | 124 ++ .../headless-launch.log.txt | 150 +++ .../launch-source-sha256.json | 118 ++ .../launch-source.json | 44 + .../report.json | 20 + .../runner.json.txt | 19 + .../script.log.txt | 101 ++ .../source-provenance.json | 4 + .../source-sha256.json | 118 ++ .../native-2026-09-19-052352/console.log.txt | 542 +++++++++ .../native-2026-09-19-052352/err-prison.png | Bin 0 -> 153563 bytes .../native-2026-09-19-052352/err-result.png | Bin 0 -> 176305 bytes .../native-2026-09-19-052352/error.log.txt | 135 +++ .../headless-launch.log.txt | 150 +++ .../launch-source-sha256.json | 118 ++ .../launch-source.json | 44 + .../native-2026-09-19-052352/report.json | 17 + .../rereintroduced-hq.log.txt | 14 + .../native-2026-09-19-052352/runner.json.txt | 19 + .../native-2026-09-19-052352/script.log.txt | 201 ++++ .../source-provenance.json | 4 + .../source-sha256.json | 118 ++ .../console.log.txt | 446 +++++++ .../error.log.txt | 156 +++ .../headless-launch.log.txt | 150 +++ .../launch-source-sha256.json | 118 ++ .../launch-source.json | 44 + .../report.json | 24 + .../runner.json.txt | 19 + .../script.log.txt | 137 +++ .../source-provenance.json | 4 + .../source-sha256.json | 118 ++ .../native-2026-09-19-052811/console.log.txt | 456 ++++++++ .../native-2026-09-19-052811/error.log.txt | 161 +++ .../headless-launch.log.txt | 150 +++ .../launch-source-sha256.json | 118 ++ .../launch-source.json | 44 + .../native-2026-09-19-052811/report.json | 24 + .../native-2026-09-19-052811/runner.json.txt | 19 + .../native-2026-09-19-052811/script.log.txt | 146 +++ .../source-provenance.json | 4 + .../source-sha256.json | 118 ++ .../native-2026-09-19-052932/console.log.txt | 501 ++++++++ .../native-2026-09-19-052932/err-result.png | Bin 0 -> 218188 bytes .../native-2026-09-19-052932/error.log.txt | 135 +++ .../headless-launch.log.txt | 150 +++ .../launch-source-sha256.json | 118 ++ .../launch-source.json | 44 + .../native-2026-09-19-052932/report.json | 17 + .../rereintroduced-hq.log.txt | 14 + .../native-2026-09-19-052932/runner.json.txt | 19 + .../native-2026-09-19-052932/script.log.txt | 161 +++ .../source-provenance.json | 4 + .../source-sha256.json | 118 ++ .../native-2026-09-19-053124/console.log.txt | 443 +++++++ .../native-2026-09-19-053124/error.log.txt | 135 +++ .../headless-launch.log.txt | 150 +++ .../launch-source-sha256.json | 118 ++ .../launch-source.json | 44 + .../native-2026-09-19-053124/report.json | 17 + .../native-2026-09-19-053124/runner.json.txt | 19 + .../native-2026-09-19-053124/script.log.txt | 132 +++ .../source-provenance.json | 4 + .../source-sha256.json | 118 ++ .../source-hashes.json | 9 + docs/ground-transport.md | 23 + docs/native-errors.md | 45 + docs/objective-widget-lifecycle.md | 21 + docs/original-feature-coverage.json | 23 +- docs/original-feature-coverage.md | 10 +- docs/performance-comparison.md | 91 ++ docs/player-lifecycle.md | 29 + docs/radio-defence.md | 33 + docs/release-qualification.md | 57 + docs/runtime-testing.md | 20 + docs/validation.md | 56 +- docs/vanilla-resources.json | 4 +- tests/test_performance_comparison.py | 171 +++ tests/test_player_admission_policy.py | 75 ++ tests/test_radio_defence_policy.py | 44 + tests/test_release_check.py | 409 +++++++ tools/archive_native.py | 17 +- tools/check.py | 2 +- tools/compare_performance.py | 227 ++++ tools/headless_workbench.py | 21 +- tools/native_command.py | 6 +- tools/native_provenance.py | 137 +++ tools/native_report.py | 51 +- tools/release_check.py | 218 +++- tools/source_manifest.py | 29 + 237 files changed, 29087 insertions(+), 202 deletions(-) create mode 100644 addons/core/Scripts/Game/ERR/ERR_NativeLifecycleProbe.c create mode 100644 addons/core/Scripts/Game/ERR/ERR_NativeObjectiveProbe.c create mode 100644 addons/core/Scripts/Game/ERR/ERR_NativeRadioDefenceProbe.c create mode 100644 addons/core/Scripts/Game/ERR/ERR_NativeStationTeardownDiagnostic.c create mode 100644 addons/core/Scripts/Game/ERR/ERR_NativeTransportProbe.c create mode 100644 addons/core/Scripts/Game/ERR/ERR_NativeTransportSurvey.c create mode 100644 addons/core/Scripts/Game/ERR/ERR_ObjectiveDetails.c create mode 100644 addons/core/Scripts/Game/ERR/ERR_ObjectiveText.c create mode 100644 addons/core/Scripts/Game/ERR/ERR_RadioDefenceService.c create mode 100644 addons/core/Scripts/Game/ERR/ERR_SpawnFinalization.c create mode 100644 addons/core/Scripts/Game/ERR/ERR_SpawnPlacement.c create mode 100644 docs/base-gameplay-gaps.md create mode 100644 docs/evidence/native-2026-09-19-042945-ui-refresh-failure/console.log.txt create mode 100644 docs/evidence/native-2026-09-19-042945-ui-refresh-failure/error.log.txt create mode 100644 docs/evidence/native-2026-09-19-042945-ui-refresh-failure/headless-launch.log.txt create mode 100644 docs/evidence/native-2026-09-19-042945-ui-refresh-failure/report.json create mode 100644 docs/evidence/native-2026-09-19-042945-ui-refresh-failure/runner.json.txt create mode 100644 docs/evidence/native-2026-09-19-042945-ui-refresh-failure/script.log.txt create mode 100644 docs/evidence/native-2026-09-19-042945-ui-refresh-failure/source-sha256.json create mode 100644 docs/evidence/native-2026-09-19-043410-parking-failure/console.log.txt create mode 100644 docs/evidence/native-2026-09-19-043410-parking-failure/error.log.txt create mode 100644 docs/evidence/native-2026-09-19-043410-parking-failure/headless-launch.log.txt create mode 100644 docs/evidence/native-2026-09-19-043410-parking-failure/report.json create mode 100644 docs/evidence/native-2026-09-19-043410-parking-failure/runner.json.txt create mode 100644 docs/evidence/native-2026-09-19-043410-parking-failure/script.log.txt create mode 100644 docs/evidence/native-2026-09-19-043410-parking-failure/source-sha256.json create mode 100644 docs/evidence/native-2026-09-19-043631-parking-survey/console.log.txt create mode 100644 docs/evidence/native-2026-09-19-043631-parking-survey/error.log.txt create mode 100644 docs/evidence/native-2026-09-19-043631-parking-survey/headless-launch.log.txt create mode 100644 docs/evidence/native-2026-09-19-043631-parking-survey/report.json create mode 100644 docs/evidence/native-2026-09-19-043631-parking-survey/runner.json.txt create mode 100644 docs/evidence/native-2026-09-19-043631-parking-survey/script.log.txt create mode 100644 docs/evidence/native-2026-09-19-043631-parking-survey/source-sha256.json create mode 100644 docs/evidence/native-2026-09-19-043806-transport-readiness-failure/console.log.txt create mode 100644 docs/evidence/native-2026-09-19-043806-transport-readiness-failure/error.log.txt create mode 100644 docs/evidence/native-2026-09-19-043806-transport-readiness-failure/headless-launch.log.txt create mode 100644 docs/evidence/native-2026-09-19-043806-transport-readiness-failure/report.json create mode 100644 docs/evidence/native-2026-09-19-043806-transport-readiness-failure/runner.json.txt create mode 100644 docs/evidence/native-2026-09-19-043806-transport-readiness-failure/script.log.txt create mode 100644 docs/evidence/native-2026-09-19-043806-transport-readiness-failure/source-sha256.json create mode 100644 docs/evidence/native-2026-09-19-044028-transport-bounds-failure/console.log.txt create mode 100644 docs/evidence/native-2026-09-19-044028-transport-bounds-failure/error.log.txt create mode 100644 docs/evidence/native-2026-09-19-044028-transport-bounds-failure/headless-launch.log.txt create mode 100644 docs/evidence/native-2026-09-19-044028-transport-bounds-failure/report.json create mode 100644 docs/evidence/native-2026-09-19-044028-transport-bounds-failure/runner.json.txt create mode 100644 docs/evidence/native-2026-09-19-044028-transport-bounds-failure/script.log.txt create mode 100644 docs/evidence/native-2026-09-19-044028-transport-bounds-failure/source-sha256.json create mode 100644 docs/evidence/native-2026-09-19-044205/console.log.txt create mode 100644 docs/evidence/native-2026-09-19-044205/error.log.txt create mode 100644 docs/evidence/native-2026-09-19-044205/headless-launch.log.txt create mode 100644 docs/evidence/native-2026-09-19-044205/report.json create mode 100644 docs/evidence/native-2026-09-19-044205/runner.json.txt create mode 100644 docs/evidence/native-2026-09-19-044205/script.log.txt create mode 100644 docs/evidence/native-2026-09-19-044205/source-sha256.json create mode 100644 docs/evidence/native-2026-09-19-044330-radio-fixture-failure/console.log.txt create mode 100644 docs/evidence/native-2026-09-19-044330-radio-fixture-failure/error.log.txt create mode 100644 docs/evidence/native-2026-09-19-044330-radio-fixture-failure/headless-launch.log.txt create mode 100644 docs/evidence/native-2026-09-19-044330-radio-fixture-failure/report.json create mode 100644 docs/evidence/native-2026-09-19-044330-radio-fixture-failure/runner.json.txt create mode 100644 docs/evidence/native-2026-09-19-044330-radio-fixture-failure/script.log.txt create mode 100644 docs/evidence/native-2026-09-19-044330-radio-fixture-failure/source-sha256.json create mode 100644 docs/evidence/native-2026-09-19-044608-radio-position-fixture-failure/console.log.txt create mode 100644 docs/evidence/native-2026-09-19-044608-radio-position-fixture-failure/error.log.txt create mode 100644 docs/evidence/native-2026-09-19-044608-radio-position-fixture-failure/headless-launch.log.txt create mode 100644 docs/evidence/native-2026-09-19-044608-radio-position-fixture-failure/report.json create mode 100644 docs/evidence/native-2026-09-19-044608-radio-position-fixture-failure/runner.json.txt create mode 100644 docs/evidence/native-2026-09-19-044608-radio-position-fixture-failure/script.log.txt create mode 100644 docs/evidence/native-2026-09-19-044608-radio-position-fixture-failure/source-sha256.json create mode 100644 docs/evidence/native-2026-09-19-044924/console.log.txt create mode 100644 docs/evidence/native-2026-09-19-044924/err-prison.png create mode 100644 docs/evidence/native-2026-09-19-044924/err-result.png create mode 100644 docs/evidence/native-2026-09-19-044924/error.log.txt create mode 100644 docs/evidence/native-2026-09-19-044924/headless-launch.log.txt create mode 100644 docs/evidence/native-2026-09-19-044924/report.json create mode 100644 docs/evidence/native-2026-09-19-044924/rereintroduced-hq.log.txt create mode 100644 docs/evidence/native-2026-09-19-044924/runner.json.txt create mode 100644 docs/evidence/native-2026-09-19-044924/script.log.txt create mode 100644 docs/evidence/native-2026-09-19-044924/source-sha256.json create mode 100644 docs/evidence/native-2026-09-19-045450-radio-recovery-fixture-failure/console.log.txt create mode 100644 docs/evidence/native-2026-09-19-045450-radio-recovery-fixture-failure/error.log.txt create mode 100644 docs/evidence/native-2026-09-19-045450-radio-recovery-fixture-failure/headless-launch.log.txt create mode 100644 docs/evidence/native-2026-09-19-045450-radio-recovery-fixture-failure/report.json create mode 100644 docs/evidence/native-2026-09-19-045450-radio-recovery-fixture-failure/runner.json.txt create mode 100644 docs/evidence/native-2026-09-19-045450-radio-recovery-fixture-failure/script.log.txt create mode 100644 docs/evidence/native-2026-09-19-045450-radio-recovery-fixture-failure/source-sha256.json create mode 100644 docs/evidence/native-2026-09-19-050158-lifecycle-compile-failure/console.log.txt create mode 100644 docs/evidence/native-2026-09-19-050158-lifecycle-compile-failure/error.log.txt create mode 100644 docs/evidence/native-2026-09-19-050158-lifecycle-compile-failure/headless-launch.log.txt create mode 100644 docs/evidence/native-2026-09-19-050158-lifecycle-compile-failure/report.json create mode 100644 docs/evidence/native-2026-09-19-050158-lifecycle-compile-failure/runner.json.txt create mode 100644 docs/evidence/native-2026-09-19-050158-lifecycle-compile-failure/script.log.txt create mode 100644 docs/evidence/native-2026-09-19-050158-lifecycle-compile-failure/source-sha256.json create mode 100644 docs/evidence/native-2026-09-19-050240-lifecycle-reflection-failure/console.log.txt create mode 100644 docs/evidence/native-2026-09-19-050240-lifecycle-reflection-failure/error.log.txt create mode 100644 docs/evidence/native-2026-09-19-050240-lifecycle-reflection-failure/headless-launch.log.txt create mode 100644 docs/evidence/native-2026-09-19-050240-lifecycle-reflection-failure/report.json create mode 100644 docs/evidence/native-2026-09-19-050240-lifecycle-reflection-failure/runner.json.txt create mode 100644 docs/evidence/native-2026-09-19-050240-lifecycle-reflection-failure/script.log.txt create mode 100644 docs/evidence/native-2026-09-19-050240-lifecycle-reflection-failure/source-sha256.json create mode 100644 docs/evidence/native-2026-09-19-050403/console.log.txt create mode 100644 docs/evidence/native-2026-09-19-050403/error.log.txt create mode 100644 docs/evidence/native-2026-09-19-050403/headless-launch.log.txt create mode 100644 docs/evidence/native-2026-09-19-050403/report.json create mode 100644 docs/evidence/native-2026-09-19-050403/runner.json.txt create mode 100644 docs/evidence/native-2026-09-19-050403/script.log.txt create mode 100644 docs/evidence/native-2026-09-19-050403/source-sha256.json create mode 100644 docs/evidence/native-2026-09-19-050515/console.log.txt create mode 100644 docs/evidence/native-2026-09-19-050515/error.log.txt create mode 100644 docs/evidence/native-2026-09-19-050515/headless-launch.log.txt create mode 100644 docs/evidence/native-2026-09-19-050515/report.json create mode 100644 docs/evidence/native-2026-09-19-050515/runner.json.txt create mode 100644 docs/evidence/native-2026-09-19-050515/script.log.txt create mode 100644 docs/evidence/native-2026-09-19-050515/source-sha256.json create mode 100644 docs/evidence/native-2026-09-19-051249-companion-fixture-name-failure/console.log.txt create mode 100644 docs/evidence/native-2026-09-19-051249-companion-fixture-name-failure/error.log.txt create mode 100644 docs/evidence/native-2026-09-19-051249-companion-fixture-name-failure/headless-launch.log.txt create mode 100644 docs/evidence/native-2026-09-19-051249-companion-fixture-name-failure/launch-source-sha256.json create mode 100644 docs/evidence/native-2026-09-19-051249-companion-fixture-name-failure/launch-source.json create mode 100644 docs/evidence/native-2026-09-19-051249-companion-fixture-name-failure/report.json create mode 100644 docs/evidence/native-2026-09-19-051249-companion-fixture-name-failure/runner.json.txt create mode 100644 docs/evidence/native-2026-09-19-051249-companion-fixture-name-failure/script.log.txt create mode 100644 docs/evidence/native-2026-09-19-051249-companion-fixture-name-failure/source-provenance.json create mode 100644 docs/evidence/native-2026-09-19-051249-companion-fixture-name-failure/source-sha256.json create mode 100644 docs/evidence/native-2026-09-19-051452/console.log.txt create mode 100644 docs/evidence/native-2026-09-19-051452/error.log.txt create mode 100644 docs/evidence/native-2026-09-19-051452/headless-launch.log.txt create mode 100644 docs/evidence/native-2026-09-19-051452/launch-source-sha256.json create mode 100644 docs/evidence/native-2026-09-19-051452/launch-source.json create mode 100644 docs/evidence/native-2026-09-19-051452/report.json create mode 100644 docs/evidence/native-2026-09-19-051452/runner.json.txt create mode 100644 docs/evidence/native-2026-09-19-051452/script.log.txt create mode 100644 docs/evidence/native-2026-09-19-051452/source-provenance.json create mode 100644 docs/evidence/native-2026-09-19-051452/source-sha256.json create mode 100644 docs/evidence/native-2026-09-19-052140-deleted-task-callback-failure/console.log.txt create mode 100644 docs/evidence/native-2026-09-19-052140-deleted-task-callback-failure/error.log.txt create mode 100644 docs/evidence/native-2026-09-19-052140-deleted-task-callback-failure/headless-launch.log.txt create mode 100644 docs/evidence/native-2026-09-19-052140-deleted-task-callback-failure/launch-source-sha256.json create mode 100644 docs/evidence/native-2026-09-19-052140-deleted-task-callback-failure/launch-source.json create mode 100644 docs/evidence/native-2026-09-19-052140-deleted-task-callback-failure/report.json create mode 100644 docs/evidence/native-2026-09-19-052140-deleted-task-callback-failure/runner.json.txt create mode 100644 docs/evidence/native-2026-09-19-052140-deleted-task-callback-failure/script.log.txt create mode 100644 docs/evidence/native-2026-09-19-052140-deleted-task-callback-failure/source-provenance.json create mode 100644 docs/evidence/native-2026-09-19-052140-deleted-task-callback-failure/source-sha256.json create mode 100644 docs/evidence/native-2026-09-19-052352/console.log.txt create mode 100644 docs/evidence/native-2026-09-19-052352/err-prison.png create mode 100644 docs/evidence/native-2026-09-19-052352/err-result.png create mode 100644 docs/evidence/native-2026-09-19-052352/error.log.txt create mode 100644 docs/evidence/native-2026-09-19-052352/headless-launch.log.txt create mode 100644 docs/evidence/native-2026-09-19-052352/launch-source-sha256.json create mode 100644 docs/evidence/native-2026-09-19-052352/launch-source.json create mode 100644 docs/evidence/native-2026-09-19-052352/report.json create mode 100644 docs/evidence/native-2026-09-19-052352/rereintroduced-hq.log.txt create mode 100644 docs/evidence/native-2026-09-19-052352/runner.json.txt create mode 100644 docs/evidence/native-2026-09-19-052352/script.log.txt create mode 100644 docs/evidence/native-2026-09-19-052352/source-provenance.json create mode 100644 docs/evidence/native-2026-09-19-052352/source-sha256.json create mode 100644 docs/evidence/native-2026-09-19-052621-deleted-task-callback-diagnostic/console.log.txt create mode 100644 docs/evidence/native-2026-09-19-052621-deleted-task-callback-diagnostic/error.log.txt create mode 100644 docs/evidence/native-2026-09-19-052621-deleted-task-callback-diagnostic/headless-launch.log.txt create mode 100644 docs/evidence/native-2026-09-19-052621-deleted-task-callback-diagnostic/launch-source-sha256.json create mode 100644 docs/evidence/native-2026-09-19-052621-deleted-task-callback-diagnostic/launch-source.json create mode 100644 docs/evidence/native-2026-09-19-052621-deleted-task-callback-diagnostic/report.json create mode 100644 docs/evidence/native-2026-09-19-052621-deleted-task-callback-diagnostic/runner.json.txt create mode 100644 docs/evidence/native-2026-09-19-052621-deleted-task-callback-diagnostic/script.log.txt create mode 100644 docs/evidence/native-2026-09-19-052621-deleted-task-callback-diagnostic/source-provenance.json create mode 100644 docs/evidence/native-2026-09-19-052621-deleted-task-callback-diagnostic/source-sha256.json create mode 100644 docs/evidence/native-2026-09-19-052811/console.log.txt create mode 100644 docs/evidence/native-2026-09-19-052811/error.log.txt create mode 100644 docs/evidence/native-2026-09-19-052811/headless-launch.log.txt create mode 100644 docs/evidence/native-2026-09-19-052811/launch-source-sha256.json create mode 100644 docs/evidence/native-2026-09-19-052811/launch-source.json create mode 100644 docs/evidence/native-2026-09-19-052811/report.json create mode 100644 docs/evidence/native-2026-09-19-052811/runner.json.txt create mode 100644 docs/evidence/native-2026-09-19-052811/script.log.txt create mode 100644 docs/evidence/native-2026-09-19-052811/source-provenance.json create mode 100644 docs/evidence/native-2026-09-19-052811/source-sha256.json create mode 100644 docs/evidence/native-2026-09-19-052932/console.log.txt create mode 100644 docs/evidence/native-2026-09-19-052932/err-result.png create mode 100644 docs/evidence/native-2026-09-19-052932/error.log.txt create mode 100644 docs/evidence/native-2026-09-19-052932/headless-launch.log.txt create mode 100644 docs/evidence/native-2026-09-19-052932/launch-source-sha256.json create mode 100644 docs/evidence/native-2026-09-19-052932/launch-source.json create mode 100644 docs/evidence/native-2026-09-19-052932/report.json create mode 100644 docs/evidence/native-2026-09-19-052932/rereintroduced-hq.log.txt create mode 100644 docs/evidence/native-2026-09-19-052932/runner.json.txt create mode 100644 docs/evidence/native-2026-09-19-052932/script.log.txt create mode 100644 docs/evidence/native-2026-09-19-052932/source-provenance.json create mode 100644 docs/evidence/native-2026-09-19-052932/source-sha256.json create mode 100644 docs/evidence/native-2026-09-19-053124/console.log.txt create mode 100644 docs/evidence/native-2026-09-19-053124/error.log.txt create mode 100644 docs/evidence/native-2026-09-19-053124/headless-launch.log.txt create mode 100644 docs/evidence/native-2026-09-19-053124/launch-source-sha256.json create mode 100644 docs/evidence/native-2026-09-19-053124/launch-source.json create mode 100644 docs/evidence/native-2026-09-19-053124/report.json create mode 100644 docs/evidence/native-2026-09-19-053124/runner.json.txt create mode 100644 docs/evidence/native-2026-09-19-053124/script.log.txt create mode 100644 docs/evidence/native-2026-09-19-053124/source-provenance.json create mode 100644 docs/evidence/native-2026-09-19-053124/source-sha256.json create mode 100644 docs/evidence/native-error-audit-2026-09-19/source-hashes.json create mode 100644 docs/ground-transport.md create mode 100644 docs/native-errors.md create mode 100644 docs/objective-widget-lifecycle.md create mode 100644 docs/performance-comparison.md create mode 100644 docs/player-lifecycle.md create mode 100644 docs/radio-defence.md create mode 100644 docs/release-qualification.md create mode 100644 tests/test_performance_comparison.py create mode 100644 tests/test_player_admission_policy.py create mode 100644 tests/test_radio_defence_policy.py create mode 100644 tests/test_release_check.py create mode 100644 tools/compare_performance.py create mode 100644 tools/native_provenance.py create mode 100644 tools/source_manifest.py diff --git a/README.md b/README.md index fabcabb..d3e6dce 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ An independently authored replacement for the abandoned Escapists base mission, initially targeting vanilla Everon and up to twelve players. This is a separate repository and **not a completed or release-ready replacement**. The base rewrite is the primary deliverable; companion migration supports it. -The current base supplies prison spawning, two independent scavenging/clue routes, finite medical and outpost stock, physical radio documents, named discovery markers, native objectives, continuous radio defence, capacity-checked helicopter extraction, identity-based partial results, early helicopter-loss defeat, saved mission time/speed, defeat/restart, identity-based lives and local spectator following. Authored site definitions and an injected vanilla faction/asset catalog own the initial physical population. Core provides administration and startup diagnostics; the optional AI, Intel, Chat and Map addons extend its interfaces. HQ coordinates enemy responses through physical radios and available forces. +The current base supplies prison spawning, two independent scavenging/clue routes, finite medical and outpost stock, an optional ground vehicle, physical radio documents, named discovery markers, native objectives, a separate radio-defence service, capacity-checked helicopter extraction, identity-based partial results, early helicopter-loss defeat, saved mission time/speed, defeat/restart, identity-based lives and local spectator following. Authored site definitions and an injected vanilla faction/asset catalog own the initial physical population. Core provides administration and startup diagnostics; the optional AI, Intel, Chat and Map addons extend its interfaces. HQ coordinates enemy responses through physical radios and available forces. The [original responsibility inventory](docs/original-feature-coverage.md) tracks all 299 original script entries across 18 unfinished areas. It is a filename-based coverage map, not proof of behavioral equivalence. Additional mission content, full support/logistics, manual gameplay, multiplayer, performance and release qualification remain unfinished. Native vehicle-resource errors and intermittent inherited catalog cleanup errors also remain. @@ -15,7 +15,7 @@ Five Workbench projects live in `addons/core`, `addons/ai`, `addons/intel`, `add Both use the newly authored Everon child world. The only external addon dependency is vanilla Arma Reforger. All required successor resources are inside this repository. Vanilla assets are referenced, not redistributed; original restricted Escapists code, compositions, UI and audio are not included. -See [configuration and commands](docs/configuration.md), [site authoring](docs/site-authoring.md), [architecture](docs/architecture.md) and [migration priorities](docs/base-replacement.md). +See [player lifecycle](docs/player-lifecycle.md), [manual gameplay gaps](docs/base-gameplay-gaps.md), [release qualification](docs/release-qualification.md), [performance comparison tooling](docs/performance-comparison.md), [configuration and commands](docs/configuration.md), [site authoring](docs/site-authoring.md), [architecture](docs/architecture.md) and [migration priorities](docs/base-replacement.md). ## Validation @@ -27,7 +27,7 @@ python3 tools/check.py For bounded hidden, muted local native tests, see [runtime testing](docs/runtime-testing.md). The expanded Core-only cache-loss fixture completes two escape/restart rounds with 148 assertions, including independent radio-clue routes, finite inventory, colliding outpost cover, blocked/clear discovery, catalog/admin checks and unconsciousness/recovery. The expanded full-companion fixture completes one primary-route escape with 48 assertions, including the existing HQ/Intel command aliases. A separate deliberate startup-failure fixture verifies that no population spawns and the mission cannot advance after invalid setup. -The latest Core escape/restart run passes 194 checks over two rounds with saved 06:15 / 4× settings; the companion integration run passes 48 checks. The extraction/clock fixture passes 100 checks using twelve physical occupants, partial results, recycled connection IDs, local native end-screen updates, settings migration and native clock advancement. Separate negative setup fixtures reject unsuitable transport and invalid boundaries, rolling back authored content before player spawning. See [extraction](docs/extraction.md) and [mission clock](docs/mission-time.md) for their scope. +The Core radio/admission/objective-widget escape-and-restart checkpoint passes 374 checks across two rounds; the separate native admission fixture passes 54 and finite ground transport passes 23. The final isolated objective close/deletion test passes 30, and the companion death/spectator run passes 32. A historical clock run passes 194 checks with saved 06:15 / 4× settings; companion integration checkpoints pass 48 checks. The extraction/clock fixture passes 100 checks using twelve physical occupants, partial results, recycled connection IDs, local native end-screen updates, settings migration and native clock advancement. Separate negative setup fixtures reject unsuitable transport and invalid boundaries, rolling back authored content before player spawning. See [extraction](docs/extraction.md) and [mission clock](docs/mission-time.md) for their scope. These fixtures teleport actors and the helicopter and manipulate native controller states. They do not prove manual escape/piloting, medical treatment, real remote reconnects, twelve-player correctness or improved FPS. [Validation evidence](docs/validation.md) preserves failed iterations and remaining engine errors. `docs/acceptance.json` keeps unverified release requirements pending. diff --git a/addons/chat/Scripts/Game/ERR/ERR_NativeSmoke.c b/addons/chat/Scripts/Game/ERR/ERR_NativeSmoke.c index 30e8352..19553b1 100644 --- a/addons/chat/Scripts/Game/ERR/ERR_NativeSmoke.c +++ b/addons/chat/Scripts/Game/ERR/ERR_NativeSmoke.c @@ -230,14 +230,14 @@ modded class ERR_GameMode } else if (m_ERRSmokeStep == 4) { - if (!ERR_Check(m_DefenceSince >= 0, "occupied defence timer running")) return; + if (!ERR_Check(DefenceOccupied(), "occupied defence timer running")) return; ERR_MovePlayer(m_ERRSmokeRadio.Position() + "90 0 0"); m_ERRSmokeStep = 5; m_ERRSmokeWait = now + 2500; } else if (m_ERRSmokeStep == 5) { - if (!ERR_Check(m_DefenceSince < 0 && Phase() == ERR_Phase.RADIO_DEFENCE, "leaving area resets defence")) return; + if (!ERR_Check(!DefenceOccupied() && Phase() == ERR_Phase.RADIO_DEFENCE, "leaving area resets defence")) return; ERR_MovePlayer(m_ERRSmokeRadio.Position() + "2 0 0"); m_ERRSmokeStep = 6; m_ERRSmokeWait = now + 33000; @@ -358,14 +358,4 @@ modded class ERR_GameMode } } } -// Diagnose inherited teardown failures without changing their behavior. -modded class SCR_BaseItemSupportStationComponent -{ - override void OnDelete(IEntity owner) - { - if (owner && !m_EntityCatalogManager) - PrintFormat("ERR TEARDOWN: uninitialized item support station on %1", owner); - super.OnDelete(owner); - } -} #endif diff --git a/addons/core/Configs/ERR/EveronSites.conf b/addons/core/Configs/ERR/EveronSites.conf index f746d83..7d16e0e 100644 --- a/addons/core/Configs/ERR/EveronSites.conf +++ b/addons/core/Configs/ERR/EveronSites.conf @@ -64,6 +64,13 @@ ERR_ScenarioDefinition { Container "{40986810D0B1F4AE}Prefabs/ERR/SupplyCache.et" DiscoverRadius 25 RevealOnEscape 1 + Transport ERR_SiteTransport { + Prefab "{259EE7B78C51B624}Prefabs/Vehicles/Wheeled/UAZ469/UAZ469.et" + Offset 0 0 -8 + Heading 180 + ClearanceRadius 4 + MaximumTerrainRange 1 + } Stock { ERR_SiteStock { Prefab "{FA5C25BF66A53DCF}Prefabs/Weapons/Rifles/AK74/Rifle_AK74.et" Count 4 } ERR_SiteStock { Prefab "{BBB50A815A2F916B}Prefabs/Weapons/Magazines/Magazine_545x39_AK_30rnd_Ball.et" Count 8 } diff --git a/addons/core/Scripts/Game/ERR/ERR_GameMode.c b/addons/core/Scripts/Game/ERR/ERR_GameMode.c index 04b09ed..7abec28 100644 --- a/addons/core/Scripts/Game/ERR/ERR_GameMode.c +++ b/addons/core/Scripts/Game/ERR/ERR_GameMode.c @@ -5,12 +5,10 @@ class ERR_GameMode : SCR_BaseGameMode protected vector m_PrisonPosition; [Attribute("6090 0 7160", UIWidgets.Coords, "Centre of extraction boundary")] protected vector m_EscapeCenter; - [Attribute("9000", UIWidgets.EditBox, "Helicopter must cross this radius to escape")] + [RplProp(), Attribute("9000", UIWidgets.EditBox, "Helicopter must cross this radius to escape")] protected float m_EscapeRadius; [RplProp()] protected ERR_Phase m_Phase; - [RplProp()] - protected float m_DefenceSince = -1; [Attribute("{BE50B97B8E2B36E6}Configs/ERR/VanillaFactions.conf", UIWidgets.ResourceNamePicker, "Faction and asset catalog", "conf")] protected ResourceName m_FactionDefinition; [RplProp()] @@ -28,7 +26,7 @@ class ERR_GameMode : SCR_BaseGameMode protected ref ERR_ExtractionService m_Extraction; [RplProp()] protected string m_EndReason; - protected ERR_LocationComponent m_Radio; + protected ref ERR_RadioDefenceService m_RadioDefence; protected bool m_StartedPlayers; protected bool m_Stopped; protected float m_NoSurvivorsSince = -1; @@ -48,6 +46,7 @@ class ERR_GameMode : SCR_BaseGameMode ERR_AdminService Admin() { return m_Admin; } ERR_Settings Settings() { return m_Settings; } ERR_TimeService Time() { return m_Time; } + ERR_RadioDefenceService RadioDefence() { return m_RadioDefence; } ERR_CommandService Command() { return m_Command; } ERR_Objectives Objectives() { return m_Objectives; } ERR_ExtractionService Extraction() { return m_Extraction; } @@ -58,13 +57,11 @@ class ERR_GameMode : SCR_BaseGameMode return m_Extraction.VehicleEntity(); } float EscapeRadius() { return m_EscapeRadius; } - bool DefenceOccupied() { return m_DefenceSince >= 0; } + bool DefenceOccupied() { return m_RadioDefence && m_RadioDefence.Occupied(); } int DefenceSecondsRemaining() { - if (!m_Settings) return 0; - int duration = m_Settings.Get("radioDefenceSeconds"); - if (m_DefenceSince < 0) return duration; - return Math.Max(0, Math.Ceil(duration - (GetWorld().GetWorldTime() - m_DefenceSince) / 1000.0)); + if (!m_RadioDefence) return 0; + return m_RadioDefence.SecondsRemaining(GetWorld().GetWorldTime()); } ScriptInvoker OnPhaseChanged() { return m_OnPhaseChanged; } ScriptInvoker OnTick() { return m_OnTick; } @@ -144,6 +141,7 @@ class ERR_GameMode : SCR_BaseGameMode } m_Locations.Insert(location); } + bool HasLocation(ERR_LocationComponent location) { return location && m_Locations.Contains(location); } void UnregisterLocation(ERR_LocationComponent location) { m_Locations.RemoveItem(location); } void Locations(out array locations) { locations.Copy(m_Locations); } void Own(IEntity entity) { if (entity && !m_OwnedEntities.Contains(entity)) m_OwnedEntities.Insert(entity); } @@ -202,12 +200,19 @@ class ERR_GameMode : SCR_BaseGameMode bool TuneRadio(IEntity player, ERR_LocationComponent location) { - if (!Replication.IsServer() || m_Phase != ERR_Phase.RADIO_SEARCH || !location || !m_Locations.Contains(location)) return false; - if (location.Kind() != ERR_LocationKind.RADIO || location.Knowledge() < 2) return false; - if (!ERR_Actors.Player(player) || !ERR_Actors.CanFight(player) || vector.DistanceXZ(player.GetOrigin(), location.Position()) > 5) return false; - m_Radio = location; - m_DefenceSince = -1; - return Transition(ERR_Phase.RADIO_DEFENCE); + return m_RadioDefence && m_RadioDefence.Begin(player, location); + } + protected void RadioStarted(ERR_LocationComponent location) + { + if (!Replication.IsServer() || !m_RadioDefence || location != m_RadioDefence.Location()) return; + if (!Transition(ERR_Phase.RADIO_DEFENCE)) m_RadioDefence.Stop(); + } + protected void RadioCompleted(ERR_LocationComponent location) + { + if (!Replication.IsServer() || m_Phase != ERR_Phase.RADIO_DEFENCE || !m_RadioDefence || m_RadioDefence.State() != ERR_RadioDefenceState.COMPLETED || location != m_RadioDefence.Location()) return; + foreach (ERR_LocationComponent candidate : m_Locations) + if (candidate.Kind() == ERR_LocationKind.EXTRACTION) candidate.Discover(0, 100); + Transition(ERR_Phase.EXTRACTION); } void PlayerSpawned(int id, IEntity actor) @@ -226,6 +231,11 @@ class ERR_GameMode : SCR_BaseGameMode if (!System.IsConsoleApp()) GetGame().GetCallqueue().CallLater(BindLocalObserver, 250, true); if (!Replication.IsServer()) return; m_Settings = new ERR_Settings(); + m_RadioDefence = new ERR_RadioDefenceService(this); + m_RadioDefence.OnStarted().Insert(RadioStarted); + m_RadioDefence.OnCompleted().Insert(RadioCompleted); + OnPhaseChanged().Insert(m_RadioDefence.PhaseChanged); + OnStop().Insert(m_RadioDefence.Stop); m_Extraction = new ERR_ExtractionService(m_Roster); PublishEscapeResults(true); m_Extraction.OnResolved().Insert(ExtractionResolved); @@ -298,14 +308,13 @@ class ERR_GameMode : SCR_BaseGameMode { if (!Replication.IsServer() || !Active()) return; float now = GetWorld().GetWorldTime(); - array players = {}; - ERR_Actors.Players(players); m_Extraction.Tick(m_Phase); if (!Active()) return; + m_RadioDefence.Tick(now); + if (!Active()) return; if (GetGame().GetPlayerManager().GetPlayerCount() == 0) { m_NoSurvivorsSince = -1; - m_DefenceSince = -1; return; } if (m_StartedPlayers && !m_Roster.HasSurvivor()) @@ -319,20 +328,6 @@ class ERR_GameMode : SCR_BaseGameMode } } else m_NoSurvivorsSince = -1; - if (m_Phase == ERR_Phase.RADIO_DEFENCE) - { - bool occupied; - foreach (IEntity actor : players) - if (m_Radio && ERR_Actors.CanFight(actor) && vector.DistanceXZ(actor.GetOrigin(), m_Radio.Position()) < 60) occupied = true; - if (!occupied) m_DefenceSince = -1; - else if (m_DefenceSince < 0) m_DefenceSince = now; - if (ERR_MissionRules.DefenceComplete(now, m_DefenceSince, m_Settings.Get("radioDefenceSeconds") * 1000, occupied)) - { - foreach (ERR_LocationComponent location : m_Locations) - if (location.Kind() == ERR_LocationKind.EXTRACTION) location.Discover(0, 100); - Transition(ERR_Phase.EXTRACTION); - } - } array connected = {}; GetGame().GetPlayerManager().GetPlayers(connected); foreach (int id : connected) diff --git a/addons/core/Scripts/Game/ERR/ERR_NativeBaseSmoke.c b/addons/core/Scripts/Game/ERR/ERR_NativeBaseSmoke.c index 825326c..b8716c7 100644 --- a/addons/core/Scripts/Game/ERR/ERR_NativeBaseSmoke.c +++ b/addons/core/Scripts/Game/ERR/ERR_NativeBaseSmoke.c @@ -3,10 +3,14 @@ modded class ERR_GameMode { protected int m_ERRBaseStep; + protected bool m_ERRObjectiveCloseChecked; protected bool m_ERRStartupFailure; protected bool m_ERRCacheLoss; protected string m_ERRExtractionCase; protected ref ERR_NativeExtractionProbe m_ERRExtractionProbe; + protected ref ERR_NativeTransportProbe m_ERRTransportProbe; + protected ref ERR_NativeLifecycleProbe m_ERRLifecycleProbe; + protected ref ERR_NativeRadioDefenceProbe m_ERRBaseRadioProbe; protected string m_ERRActiveCacheId = "everon-supply-1"; protected int m_ERRMedicalDiscoveries; protected IEntity m_ERRSightBlocker; @@ -21,6 +25,7 @@ modded class ERR_GameMode super.EOnInit(owner); string enabled; if (SCR_Global.IsEditMode() || !Replication.IsServer() || !System.GetCLIParam("errBaseSmoke", enabled) || enabled != "1") return; + ERR_NativeObjectiveProbe.BeginRound(); string outcome; m_ERRStartupFailure = System.GetCLIParam("errSmokeOutcome", outcome) && outcome == "startup-failure"; m_ERRExtractionCase = outcome; @@ -29,6 +34,8 @@ modded class ERR_GameMode m_ERRCacheLoss = outcome == "cache-loss"; if (m_ERRCacheLoss) m_ERRActiveCacheId = "everon-supply-2"; OnLocationDiscovered().Insert(ERR_BaseDiscovered); + OnStop().Insert(ERR_NativeObjectiveProbe.Stop); + OnStop().Insert(ERR_StopRadioProbe); if (m_ERRStartupFailure && m_Factions) m_Factions.EnemyFactionKey = m_Factions.PlayerFactionKey; m_ERRBaseDeadline = GetWorld().GetWorldTime() + 210000; OnPhaseChanged().Insert(ERR_BaseResult); @@ -38,10 +45,13 @@ modded class ERR_GameMode protected bool ERR_BaseCheck(bool condition, string detail) { if (condition) { Print("ERR SMOKE PASS: base " + detail); return true; } + ERR_NativeObjectiveProbe.Stop(); + ERR_StopRadioProbe(); Print("ERR SMOKE FAIL: base " + detail, LogLevel.ERROR); GetGame().GetCallqueue().Remove(ERR_BaseTick); return false; } + protected void ERR_StopRadioProbe() { if (m_ERRBaseRadioProbe) m_ERRBaseRadioProbe.Stop(); } protected void ERR_BaseMove(vector position) { vector transform[4]; @@ -114,6 +124,24 @@ modded class ERR_GameMode Print("ERR SMOKE COMPLETE: early extraction vehicle loss"); return; } + if (m_ERRExtractionCase == "objective-ui") + { + if (!ERR_BaseCheck(current == ERR_Phase.DEFEAT && m_ERRBaseStep == 902, "objective UI fixture finished before explicit test reset")) return; + Print("ERR SMOKE COMPLETE: native objective UI close, reopen and deleted-task cleanup; reset requested by fixture"); + return; + } + if (m_ERRExtractionCase == "lifecycle") + { + if (!ERR_BaseCheck(m_ERRBaseStep == 402, "lifecycle fixture finished before explicit test reset")) return; + Print("ERR SMOKE COMPLETE: native lifecycle admission guards; reset requested by fixture"); + return; + } + if (m_ERRExtractionCase == "transport-loss") + { + if (!ERR_BaseCheck(m_ERRBaseStep == 302, "transport fixture finished before explicit test reset")) return; + Print("ERR SMOKE COMPLETE: finite native ground transport; reset requested by fixture"); + return; + } if (m_ERRExtractionCase == "extraction-capacity") { if (!ERR_BaseCheck(m_ERRBaseStep == 202, "capacity fixture finished before its explicit test reset")) return; @@ -154,6 +182,20 @@ modded class ERR_GameMode Print("ERR SMOKE COMPLETE: expected startup-failure"); return; } + if (m_ERRBaseStep == 400) + { + int result = m_ERRLifecycleProbe.Tick(now); + if (result < 0) { GetGame().GetCallqueue().Remove(ERR_BaseTick); return; } + if (result == 1) { m_ERRBaseStep = 402; Transition(ERR_Phase.DEFEAT); } + return; + } + if (m_ERRBaseStep == 300) + { + int result = m_ERRTransportProbe.Tick(now); + if (result < 0) { GetGame().GetCallqueue().Remove(ERR_BaseTick); return; } + if (result == 1) { m_ERRBaseStep = 302; Transition(ERR_Phase.DEFEAT); } + return; + } if (m_ERRBaseStep == 200) { int result = m_ERRExtractionProbe.Tick(now); @@ -161,6 +203,28 @@ modded class ERR_GameMode if (result == 1) { m_ERRBaseStep = 202; Transition(ERR_Phase.DEFEAT); } return; } + if (m_ERRBaseStep == 901) + { + int result = ERR_NativeObjectiveProbe.TickCloseReopen(this, now); + if (result < 0) { GetGame().GetCallqueue().Remove(ERR_BaseTick); return; } + if (result == 1) + { + if (m_ERRExtractionCase == "objective-ui") + { + if (!ERR_NativeObjectiveProbe.BeginDeletedTaskClose(this, now)) { GetGame().GetCallqueue().Remove(ERR_BaseTick); return; } + m_ERRBaseStep = 903; + } + else { m_ERRObjectiveCloseChecked = true; m_ERRBaseStep = 0; } + } + return; + } + if (m_ERRBaseStep == 903) + { + int result = ERR_NativeObjectiveProbe.TickDeletedTaskClose(this, now); + if (result < 0) { GetGame().GetCallqueue().Remove(ERR_BaseTick); return; } + if (result == 1) { m_ERRBaseStep = 902; Transition(ERR_Phase.DEFEAT); } + return; + } if (now < m_ERRBaseWait) return; if (m_ERRBaseStep == 0) { @@ -168,6 +232,25 @@ modded class ERR_GameMode ERR_Actors.Players(players, true); if (players.Count() != 1 || Phase() != ERR_Phase.PRISON) return; m_ERRBasePlayer = players[0]; + if (m_ERRExtractionCase == "lifecycle") + { + DamageManagerComponent.Cast(m_ERRBasePlayer.FindComponent(DamageManagerComponent)).EnableDamageHandling(false); + m_ERRLifecycleProbe = new ERR_NativeLifecycleProbe(this, m_ERRBasePlayer); + m_ERRBaseStep = 400; + return; + } + if (m_ERRExtractionCase == "transport-survey") + { + ERR_NativeTransportSurvey.Run(this); + GetGame().GetCallqueue().Remove(ERR_BaseTick); + return; + } + if (m_ERRExtractionCase == "transport-loss") + { + m_ERRTransportProbe = new ERR_NativeTransportProbe(this); + m_ERRBaseStep = 300; + return; + } if (m_ERRExtractionCase == "early-helicopter-loss") { if (!ERR_BaseCheck(Extraction().Ready() && Players().HasSurvivor(), "ready helicopter and living prisoner before deliberate loss")) return; @@ -190,9 +273,16 @@ modded class ERR_GameMode GetGame().GetCallqueue().Remove(ERR_BaseTick); return; } + if (!m_ERRObjectiveCloseChecked) + { + if (!ERR_NativeObjectiveProbe.BeginCloseReopen(this, now)) { GetGame().GetCallqueue().Remove(ERR_BaseTick); return; } + m_ERRBaseStep = 901; + return; + } if (!ERR_NativeDefinitionProbe.Run() || !ERR_NativeContractsProbe.Run(this, m_ERRBasePlayer) || !ERR_BaseCover() || !ERR_NativeTimeProbe.Run(this)) return; DamageManagerComponent.Cast(m_ERRBasePlayer.FindComponent(DamageManagerComponent)).EnableDamageHandling(false); if (!ERR_BaseCheck(Objectives() && Objectives().Current() && Objectives().Current().GetTaskName() == "Escape the prison", "native prison objective exists")) return; + if (!ERR_NativeObjectiveProbe.Observe(this)) return; ERR_SiteRuntime cache = Sites().Find(m_ERRActiveCacheId); if (!ERR_BaseCheck(Sites().Count() == 7 && cache && cache.Container && vector.DistanceXZ(cache.Container.GetOrigin(), PrisonPosition()) > 100, "authored supply cache is a separate scavenging location")) return; array stock = {}; @@ -226,6 +316,7 @@ modded class ERR_GameMode SCR_Task prisonTask = SCR_TaskSystem.GetTaskFromTaskID(ERR_Objectives.Id(ERR_Phase.PRISON), false); if (!ERR_BaseCheck(prisonTask && prisonTask.GetTaskState() == SCR_ETaskState.COMPLETED, "previous native objective completes on phase change")) return; if (!ERR_BaseCheck(Objectives().Current().GetTaskUIVisibility() == SCR_ETaskUIVisibility.LIST_ONLY, "search objective does not expose a hidden site")) return; + if (!ERR_NativeObjectiveProbe.Observe(this)) return; if (!ERR_BaseCheck(Sites().Find("everon-supply-1").Location.Knowledge() == 2 && Sites().Find("everon-supply-2").Location.Knowledge() == 2, "both named supply routes revealed after escape")) return; ERR_SiteRuntime medical = Sites().Find("everon-medical-1"); if (!ERR_BaseCheck(medical.Location.Knowledge() == 0 && Sites().Find("everon-outpost-1").Location.Knowledge() == 0, "optional sites remain hidden until approached")) return; @@ -285,6 +376,7 @@ modded class ERR_GameMode else if (m_ERRBaseStep == 3) { if (!ERR_BaseCheck(Objectives().Current().GetTaskDescription().Contains("identify the radio station on your map. Reach"), "objective guidance reacts to discovered radio")) return; + if (!ERR_NativeObjectiveProbe.Observe(this)) return; ERR_SiteRuntime cache = Sites().Find(m_ERRActiveCacheId); array stock = {}; InventoryStorageManagerComponent.Cast(cache.Container.FindComponent(InventoryStorageManagerComponent)).GetItems(stock); @@ -298,6 +390,14 @@ modded class ERR_GameMode } else if (m_ERRBaseStep == 30) { + m_ERRBaseRadioProbe = new ERR_NativeRadioDefenceProbe(this, m_ERRBasePlayer, m_ERRBaseRadio); + m_ERRBaseStep = 301; + } + else if (m_ERRBaseStep == 301) + { + int result = m_ERRBaseRadioProbe.Tick(now); + if (result < 0) { ERR_StopRadioProbe(); GetGame().GetCallqueue().Remove(ERR_BaseTick); return; } + if (result == 0) return; if (!ERR_BaseCheck(TuneRadio(m_ERRBasePlayer, m_ERRBaseRadio), "identified radio accepts transmission")) return; m_ERRBaseStep = 31; m_ERRBaseWait = now + 5000; @@ -310,6 +410,7 @@ modded class ERR_GameMode if (!ERR_BaseCheck(stock.IsEmpty() && Sites().Prepare() == ERR_PrepareResult.READY, "depleted stock stays empty when preparation is queried again")) return; ERR_Actors.DeleteSpawned(cache.Container); if (!ERR_BaseCheck(DefenceOccupied() && DefenceSecondsRemaining() > 0 && DefenceSecondsRemaining() < 30 && Objectives().Current().GetTaskDescription().Contains("seconds remaining"), "native objective reports advancing radio progress")) return; + if (!ERR_NativeObjectiveProbe.Observe(this)) return; CharacterControllerComponent.Cast(m_ERRBasePlayer.FindComponent(CharacterControllerComponent)).SetUnconscious(true); m_ERRBaseStep = 310; m_ERRBaseWait = now + 35000; @@ -338,6 +439,7 @@ modded class ERR_GameMode { if (!ERR_BaseCheck(!Sites().Find(m_ERRActiveCacheId).Container, "lost supply cache is not replaced")) return; if (!ERR_BaseCheck(!DefenceOccupied() && DefenceSecondsRemaining() == 30 && Objectives().Current().GetTaskDescription().Contains("interrupted"), "objective reports interruption and reset")) return; + if (!ERR_NativeObjectiveProbe.Observe(this)) return; ERR_BaseMove(m_ERRBaseRadio.Position() + "2 0 0"); m_ERRBaseStep = 4; m_ERRBaseWait = now + 33000; @@ -345,6 +447,7 @@ modded class ERR_GameMode else if (m_ERRBaseStep == 4) { if (!ERR_BaseCheck(Phase() == ERR_Phase.EXTRACTION, "radio defence reveals extraction") || !ERR_NativeTimeProbe.VerifyProgression(this)) return; + if (!ERR_NativeObjectiveProbe.Observe(this)) return; CompartmentAccessComponent access = CompartmentAccessComponent.Cast(m_ERRBasePlayer.FindComponent(CompartmentAccessComponent)); BaseCompartmentSlot slot = access.FindFreeCompartment(ExtractionVehicle(), ECompartmentType.PILOT); if (!ERR_BaseCheck(slot && access.GetInVehicle(ExtractionVehicle(), slot, true, -1, ECloseDoorAfterActions.INVALID, false), "player physically boards extraction helicopter")) return; diff --git a/addons/core/Scripts/Game/ERR/ERR_NativeLifecycleProbe.c b/addons/core/Scripts/Game/ERR/ERR_NativeLifecycleProbe.c new file mode 100644 index 0000000..1771610 --- /dev/null +++ b/addons/core/Scripts/Game/ERR/ERR_NativeLifecycleProbe.c @@ -0,0 +1,190 @@ +#ifdef WORKBENCH +[BaseContainerProps(category: "Respawn")] +modded class ERR_SpawnLogic +{ + // Test-only ownership setup. This does not change a life record, start a real + // spawn request, replace a controller's actor or bypass production finalization. + bool ERR_TestPendingActor(SCR_SpawnRequestComponent request, SCR_SpawnData data, IEntity actor) + { + if (!Replication.IsServer() || !request || !data || !actor || ERR_Actors.Player(actor)) return false; + int id = request.GetPlayerId(); + if (m_Pending.Contains(id) || !m_Identities.Contains(id)) return false; + ERR_SpawnTicket ticket = new ERR_SpawnTicket(); + ticket.ConnectionId = id; ticket.AccountId = m_Identities.Get(id); + ticket.Mode = ERR_GameMode.Get(); + ticket.Controller = SCR_PlayerController.Cast(request.GetPlayerController()); + ticket.Request = request; ticket.Data = data; ticket.Actor = actor; + m_SpawnTickets.Insert(ticket); + m_Pending.Insert(id); + m_AuthorizedPositions.Set(id, data.GetPosition()); + return true; + } + void ERR_TestClearAdmission(int playerId) { CancelAdmission(playerId, ERR_ObserverReason.NONE); } + bool ERR_TestDelayedLossPreservesAdmission(int playerId, SCR_PlayerController controller) + { + ObserveAfterLoss(playerId, m_Identities.Get(playerId), controller); + return m_Pending.Contains(playerId) && m_AuthorizedPositions.Contains(playerId); + } + bool ERR_TestHasAdmission(int playerId) + { + if (m_Pending.Contains(playerId) || m_AuthorizedPositions.Contains(playerId)) return true; + foreach (ERR_SpawnTicket ticket : m_SpawnTickets) + if (ticket.ConnectionId == playerId) return true; + return false; + } +} + +class ERR_NativeLifecycleProbe +{ + protected ERR_GameMode m_Mode; + protected IEntity m_Player; + protected IEntity m_Blocker; + protected IEntity m_Preload; + protected IEntity m_Cancelled; + protected IEntity m_Drift; + protected SCR_PlayerController m_Controller; + protected SCR_FreeSpawnRequestComponent m_Request; + protected SCR_FreeSpawnHandlerComponent m_Handler; + protected ERR_SpawnLogic m_Logic; + protected ref SCR_FreeSpawnData m_Data; + protected ref ERR_SpawnPlacement m_Placement = new ERR_SpawnPlacement(); + protected vector m_Position; + protected int m_Step; + protected float m_Wait; + void ERR_NativeLifecycleProbe(ERR_GameMode mode, IEntity player) { m_Mode = mode; m_Player = player; } + protected bool Check(bool condition, string detail) + { + if (condition) { Print("ERR SMOKE PASS: lifecycle " + detail); return true; } + Print("ERR SMOKE FAIL: lifecycle " + detail, LogLevel.ERROR); + return false; + } + protected IEntity Actor(vector position) + { + IEntity actor = ERR_Actors.Spawn(m_Mode.Factions().PrisonerPrefab, position); + if (actor) + { + m_Mode.Own(actor); + DamageManagerComponent.Cast(actor.FindComponent(DamageManagerComponent)).EnableDamageHandling(false); + } + return actor; + } + protected bool Rules() + { + UUID account = "00e77300-0000-0000-0000-000000000001"; + UUID other = "00e77300-0000-0000-0000-000000000002"; + for (int phase = ERR_Phase.PREPARING; phase <= ERR_Phase.DEFEAT; phase++) + { + bool permitted = phase >= ERR_Phase.PRISON && phase <= ERR_Phase.RADIO_DEFENCE; + if (!Check(ERR_SpawnFinalizationRules.Allows(phase, true, false, account, account, true, true, true) == permitted, "finalization phase matrix " + phase.ToString())) return false; + } + if (!Check(!ERR_SpawnFinalizationRules.Allows(ERR_Phase.PRISON, true, true, account, account, true, true, true), "spent life cannot finalize a delayed admission")) return false; + if (!Check(!ERR_SpawnFinalizationRules.Allows(ERR_Phase.PRISON, false, false, account, account, true, true, true), "disconnected account cannot finalize")) return false; + if (!Check(!ERR_SpawnFinalizationRules.Allows(ERR_Phase.PRISON, true, false, account, other, true, true, true), "recycled connection identity cannot inherit a pending admission")) return false; + if (!Check(!ERR_SpawnFinalizationRules.Allows(ERR_Phase.PRISON, true, false, account, account, false, true, true), "changed controller rejects stale admission")) return false; + if (!Check(!ERR_SpawnFinalizationRules.Allows(ERR_Phase.PRISON, true, false, account, account, true, false, true), "changed request rejects stale admission")) return false; + if (!Check(!ERR_SpawnFinalizationRules.Allows(ERR_Phase.PRISON, true, false, account, account, true, true, false), "existing controlled actor cannot be replaced by delayed admission")) return false; + return Check(ERR_SpawnFinalizationRules.PositionClose("0.3 0.2 0", "0 0 0") && !ERR_SpawnFinalizationRules.PositionClose("0 2 0", "0 0 0") && !ERR_SpawnFinalizationRules.PositionClose("0.7 0 0", "0 0 0"), "native settling tolerance rejects horizontal and vertical preload drift"); + } + protected bool Finalization() + { + m_Controller = SCR_PlayerController.Cast(GetGame().GetPlayerController()); + m_Request = SCR_FreeSpawnRequestComponent.Cast(m_Controller.FindComponent(SCR_FreeSpawnRequestComponent)); + if (m_Request) m_Handler = SCR_FreeSpawnHandlerComponent.Cast(m_Request.GetHandlerComponent()); + SCR_RespawnSystemComponent system = SCR_RespawnSystemComponent.GetInstance(); + m_Logic = ERR_SpawnLogic.Cast(system.GetSpawnLogic()); + if (!Check(m_Request && m_Handler && m_Logic, "real local free-spawn request, handler and admission logic exist")) return false; + int id = m_Controller.GetPlayerId(); + ERR_PlayerLife life = m_Mode.Players().Get(id); + if (!Check(life && life.UsedLife && life.Actor == m_Player && m_Controller.GetControlledEntity() == m_Player && !m_Logic.ERR_TestHasAdmission(id), "real prisoner has a spent life and no pending admission")) return false; + m_Preload = Actor(m_Position); + m_Data = new SCR_FreeSpawnData(m_Mode.Factions().PrisonerPrefab, m_Position); + if (!Check(m_Preload && m_Logic.ERR_TestPendingActor(m_Request, m_Data, m_Preload), "isolated unpossessed actor receives an explicit test-owned admission ticket")) return false; + SCR_FreeSpawnData different = new SCR_FreeSpawnData(m_Mode.Factions().PrisonerPrefab, m_Position); + if (!Check(m_Handler.FinalizeRequest_S(m_Request, different, m_Preload) == SCR_ESpawnResult.SPAWN_NOT_ALLOWED && ERR_Actors.Alive(m_Preload), "different request payload cannot claim or delete the owned actor")) return false; + return Check(m_Handler.FinalizeRequest_S(m_Request, m_Data, m_Preload) == SCR_ESpawnResult.SPAWN_NOT_ALLOWED, "native finalization refuses the spent-life preload"); + } + int Tick(float now) + { + if (now < m_Wait) return 0; + if (m_Step == 0) + { + if (!Rules()) return -1; + map reservations = new map(); + vector first, second; + if (!Check(m_Placement.Prison(m_Mode.PrisonPosition(), reservations, first), "native prison has a clear candidate")) return -1; + reservations.Set(1, first); + if (!Check(m_Placement.Prison(m_Mode.PrisonPosition(), reservations, second) && vector.DistanceXZ(first, second) >= 1.2, "IDs one and thirteen receive distinct reserved slots")) return -1; + reservations.Set(13, second); + vector position; + int count = 2; + while (count < 25 && m_Placement.Prison(m_Mode.PrisonPosition(), reservations, position)) + { + reservations.Set(100 + count, position); + count++; + } + PrintFormat("ERR SPAWN CAPACITY: remaining clear prison positions=%1 plus current controlled prisoner", count); + if (!Check(count >= 11 && !m_Placement.Prison(m_Mode.PrisonPosition(), reservations, position), "occupied and pending slots exhaust a bounded grid without overlap or outside fallback")) return -1; + vector prison = m_Mode.PrisonPosition(); + foreach (int id, vector reserved : reservations) + if (!Check(Math.AbsFloat(reserved[0] - prison[0]) <= 3.1 && Math.AbsFloat(reserved[2] - prison[2]) <= 3.1, "candidate remains inside authored prison")) return -1; + reservations.Remove(1); + if (!Check(m_Placement.Prison(m_Mode.PrisonPosition(), reservations, position) && vector.DistanceXZ(position, first) < 0.1, "released pending reservation becomes available again")) return -1; + m_Position = first; + m_Blocker = Actor(first); + if (!Check(m_Blocker != null, "uncontrolled physical body created at a previously clear slot")) return -1; + m_Step = 1; m_Wait = now + 1000; + return 0; + } + if (m_Step == 1) + { + map empty = new map(); + if (!Check(!m_Placement.Clear(m_Position, empty), "native character body blocks a slot even without a connected player ID")) return -1; + ERR_Actors.DeleteSpawned(m_Blocker); + m_Step = 2; m_Wait = now + 1000; + return 0; + } + if (m_Step == 2) + { + if (!Finalization()) return -1; + m_Step = 3; m_Wait = now + 1000; + return 0; + } + if (m_Step == 3) + { + int id = m_Controller.GetPlayerId(); + ERR_PlayerLife life = m_Mode.Players().Get(id); + if (!Check(!m_Preload, "refused native preload was deleted after lifecycle processing")) return -1; + m_Logic.ERR_TestClearAdmission(id); + if (!Check(!m_Logic.ERR_TestHasAdmission(id) && life.UsedLife && life.Actor == m_Player && m_Controller.GetControlledEntity() == m_Player, "refusal releases reservations without changing life or controlled actor")) return -1; + if (!Check(m_Handler.FinalizeRequest_S(m_Request, m_Data, m_Player) == SCR_ESpawnResult.SPAWN_NOT_ALLOWED && ERR_Actors.Alive(m_Player), "unticketed repeated callback cannot delete or replace the controlled prisoner")) return -1; + m_Cancelled = Actor(m_Position); + if (!Check(m_Cancelled && m_Logic.ERR_TestPendingActor(m_Request, m_Data, m_Cancelled), "second isolated pending actor prepared for cancellation")) return -1; + if (!Check(m_Logic.ERR_TestDelayedLossPreservesAdmission(id, m_Controller) && m_Controller.ERR_ObserverState() == ERR_ObserverReason.NONE, "delayed loss callback preserves reacquired living controller and admission metadata")) return -1; + m_Logic.ERR_TestClearAdmission(id); + m_Step = 4; m_Wait = now + 1000; + return 0; + } + if (m_Step == 4) + { + int id = m_Controller.GetPlayerId(); + ERR_PlayerLife life = m_Mode.Players().Get(id); + if (!Check(!m_Cancelled && !m_Logic.ERR_TestHasAdmission(id) && life.UsedLife && life.Actor == m_Player, "pending-request cancellation cleans its actor and never grants another life")) return -1; + m_Drift = Actor(m_Position); + if (!Check(m_Drift != null, "physical actor created for vertical drift check")) return -1; + vector transform[4]; m_Drift.GetWorldTransform(transform); + transform[3] = m_Position + "0 10 0"; + ChimeraCharacter.Cast(m_Drift).Teleport(transform); + m_Step = 5; m_Wait = now + 750; + return 0; + } + if (m_Step == 5) + { + if (!Check(!ERR_SpawnFinalizationRules.PositionClose(m_Drift.GetOrigin(), m_Position), "actual vertically displaced character fails finalization position tolerance after native movement")) return -1; + ERR_Actors.DeleteSpawned(m_Drift); + m_Step = 6; + return 1; + } + return 0; + } +} +#endif diff --git a/addons/core/Scripts/Game/ERR/ERR_NativeObjectiveProbe.c b/addons/core/Scripts/Game/ERR/ERR_NativeObjectiveProbe.c new file mode 100644 index 0000000..c32f072 --- /dev/null +++ b/addons/core/Scripts/Game/ERR/ERR_NativeObjectiveProbe.c @@ -0,0 +1,238 @@ +#ifdef WORKBENCH +// Exercise native task entries and detail text on the private test display. +// This is local presentation evidence, not remote task replication acceptance. +class ERR_NativeObjectiveProbe +{ + protected static bool s_Failed; + protected static Widget s_Entry; + protected static Widget s_Detail; + protected static SCR_Task s_Task; + protected static SCR_TaskListEntryUIComponent s_EntryHandler; + protected static SCR_TaskListEntryDescriptionUIComponent s_DetailHandler; + protected static ref SCR_TaskListEntryDescriptionUIComponent s_ClosedHandler; + protected static float s_CloseReadyAt; + protected static SCR_Task s_IsolatedTask; + protected static bool s_IsolatedDeleteRequested; + protected static SCR_Task s_PreservedMissionTask; + protected static ref SCR_TaskExecutor s_RestoreExecutor; + static void BeginRound() + { + Stop(); + s_Failed = false; + } + protected static bool Check(bool condition, string detail) + { + if (condition) { Print("ERR SMOKE PASS: objective UI " + detail); return true; } + s_Failed = true; + Stop(); + Print("ERR SMOKE FAIL: objective UI " + detail, LogLevel.ERROR); + return false; + } + static void Stop() + { + if (s_EntryHandler && s_DetailHandler) s_EntryHandler.GetOnTaskVisualChanged().Remove(s_DetailHandler.InitDescription); + if (s_Detail) s_Detail.RemoveFromHierarchy(); + if (s_Entry) s_Entry.RemoveFromHierarchy(); + s_Detail = null; + s_Entry = null; + s_DetailHandler = null; + s_EntryHandler = null; + s_Task = null; + s_ClosedHandler = null; + s_CloseReadyAt = 0; + SCR_TaskSystem tasks = SCR_TaskSystem.GetInstance(); + if (tasks && s_IsolatedTask && !s_IsolatedDeleteRequested) tasks.DeleteTask(s_IsolatedTask); + if (tasks && s_PreservedMissionTask && s_RestoreExecutor && !s_PreservedMissionTask.IsTaskAssignedTo(s_RestoreExecutor)) + tasks.AssignTask(s_PreservedMissionTask, s_RestoreExecutor, true); + s_IsolatedTask = null; + s_IsolatedDeleteRequested = false; + s_PreservedMissionTask = null; + s_RestoreExecutor = null; + } + // Emit unchanged task state: exercise actual invoker subscriptions without + // changing assignment, visibility, ownership or mission progression. + protected static void EmitTaskCallbacks(SCR_Task task) + { + task.GetOnTaskAssigneeAdded().Invoke(task, null, 0); + task.GetOnTaskAssigneeRemoved().Invoke(task, null, 0); + task.GetOnTaskUIVisibilityChanged().Invoke(task, task.GetTaskUIVisibility()); + task.GetOnTaskVisibilityChanged().Invoke(task, task.GetTaskVisibility()); + task.GetOnTaskOwnershipChanged().Invoke(task, task.GetTaskOwnership()); + task.GetOnDisplayDataChanged().Invoke(); + } + static bool BeginCloseReopen(ERR_GameMode mode, float now) + { + if (!Observe(mode)) return false; + // Reinitialization is the vanilla route when the selected task changes. + s_DetailHandler.InitDescription(s_Task); + s_DetailHandler.ERR_ProbeWatch(); + EmitTaskCallbacks(s_Task); + if (!Check(s_DetailHandler.ERR_ProbeTaskCallbacks() == 5, "rebinding keeps one subscription to each native task event")) return false; + // Keep only the handler alive so a leaked event or queued overflow callback + // can be counted safely after actual widget destruction. No manual unbinding. + SCR_Task task = s_Task; + ref SCR_TaskListEntryDescriptionUIComponent closed = s_DetailHandler; + Stop(); + s_ClosedHandler = closed; + s_ClosedHandler.ERR_ProbeClosed(); + if (!Check(s_ClosedHandler.ERR_ProbeWasDetached() && s_ClosedHandler.ERR_ProbeHasNoTask(), "closing native widget uses production detach and releases its task")) return false; + EmitTaskCallbacks(task); + if (!Check(s_ClosedHandler.ERR_ProbeLateCallbacks() == 0, "closed native widget receives no task callbacks")) return false; + s_CloseReadyAt = now + 500; + return true; + } + // One normal smoke tick allows native 100ms overflow work to become due. + static int TickCloseReopen(ERR_GameMode mode, float now) + { + if (s_Failed || !s_ClosedHandler) return -1; + if (now < s_CloseReadyAt) return 0; + if (!Check(s_ClosedHandler.ERR_ProbeLateCallbacks() == 0, "closed native widget has no delayed overflow callbacks")) return -1; + if (!Observe(mode)) return -1; + if (!Check(s_DetailHandler != null, "details reopen through native layout and current objective binding")) return -1; + return 1; + } + // Dedicated objective-ui case: delete an owned test task before its panel. + // The real objective remains alive and regains its local assignment immediately. + static bool BeginDeletedTaskClose(ERR_GameMode mode, float now) + { + Stop(); + SCR_TaskSystem tasks = SCR_TaskSystem.GetInstance(); + s_PreservedMissionTask = mode.Objectives().Current(); + s_RestoreExecutor = SCR_TaskSystem.TaskExecutorFromPlayerID(SCR_PlayerController.GetLocalPlayerId()); + if (!Check(tasks && s_PreservedMissionTask && s_RestoreExecutor, "isolated deletion has a native task system, mission task and local executor")) return false; + s_IsolatedTask = tasks.CreateTask("{1D0F815858EE24AD}Prefabs/Tasks/BaseTask.et", "erri-mission-probe-teardown", "Objective cleanup probe", "Isolated native task for widget teardown."); + if (!Check(s_IsolatedTask && s_IsolatedTask != s_PreservedMissionTask, "deletion fixture owns a separate native task")) return false; + tasks.SetTaskUIVisibility(s_IsolatedTask, SCR_ETaskUIVisibility.LIST_ONLY); + // Vanilla permits one assigned task per executor. Cleanup restores the real one. + tasks.AssignTask(s_IsolatedTask, s_RestoreExecutor, true); + if (!Check(s_IsolatedTask.IsTaskAssignedTo(s_RestoreExecutor), "isolated task has an actual local assignee")) return false; + s_Detail = GetGame().GetWorkspace().CreateWidgets("{552EB1921B5C548C}UI/layouts/Task/TaskListEntryDescription.layout"); + if (!Check(s_Detail != null, "isolated native details layout created")) return false; + s_Detail.SetVisible(false); + s_DetailHandler = SCR_TaskListEntryDescriptionUIComponent.Cast(s_Detail.FindHandler(SCR_TaskListEntryDescriptionUIComponent)); + if (!Check(s_DetailHandler != null, "isolated native details handler attached")) return false; + s_DetailHandler.InitDescription(s_IsolatedTask); + s_DetailHandler.ERR_ProbeWatch(); + s_IsolatedDeleteRequested = true; + tasks.DeleteTask(s_IsolatedTask); + // These are native weak references, not manually cleared probe variables. + if (!Check(s_IsolatedTask == null && s_DetailHandler.ERR_ProbeHasNoTask(), "native task deletion clears both task and bound-widget weak references")) return false; + s_ClosedHandler = s_DetailHandler; + s_Detail.RemoveFromHierarchy(); + s_Detail = null; + s_DetailHandler = null; + s_ClosedHandler.ERR_ProbeClosed(); + if (!Check(s_ClosedHandler.ERR_ProbeWasDetached(), "deleted-task panel closes through production detach")) return false; + tasks.AssignTask(s_PreservedMissionTask, s_RestoreExecutor, true); + if (!Check(mode.Objectives().Current() == s_PreservedMissionTask && s_PreservedMissionTask.IsTaskAssignedTo(s_RestoreExecutor), "real mission objective survives isolated deletion and assignment is restored")) return false; + s_CloseReadyAt = now + 500; + return true; + } + static int TickDeletedTaskClose(ERR_GameMode mode, float now) + { + if (s_Failed || !s_ClosedHandler) return -1; + if (now < s_CloseReadyAt) return 0; + if (!Check(s_ClosedHandler.ERR_ProbeLateCallbacks() == 0, "deleted-task panel has no delayed callbacks after weak references clear")) return -1; + if (!Check(s_PreservedMissionTask && mode.Objectives().Current() == s_PreservedMissionTask && s_PreservedMissionTask.IsTaskAssignedTo(s_RestoreExecutor), "real mission objective remains intact after delayed teardown check")) return -1; + Stop(); + return 1; + } + static bool Observe(ERR_GameMode mode) + { + if (s_Failed) return false; + SCR_Task task = mode.Objectives().Current(); + if (!Check(task != null, "current native task exists")) return false; + if (s_Task != task) + { + Stop(); + s_Task = task; + s_Entry = GetGame().GetWorkspace().CreateWidgets("{B71975032150BAFB}UI/layouts/Task/TaskListEntry.layout"); + s_Detail = GetGame().GetWorkspace().CreateWidgets("{552EB1921B5C548C}UI/layouts/Task/TaskListEntryDescription.layout"); + if (!Check(s_Entry && s_Detail, "native list and detail layouts created")) return false; + s_Entry.SetVisible(false); + s_Detail.SetVisible(false); + s_EntryHandler = SCR_TaskListEntryUIComponent.Cast(s_Entry.FindHandler(SCR_TaskListEntryUIComponent)); + s_DetailHandler = SCR_TaskListEntryDescriptionUIComponent.Cast(s_Detail.FindHandler(SCR_TaskListEntryDescriptionUIComponent)); + if (!Check(s_EntryHandler && s_DetailHandler, "native handlers attached")) return false; + s_EntryHandler.InitTask(task); + s_DetailHandler.InitDescription(task); + // Same visual-change route used by the vanilla task list. + s_EntryHandler.GetOnTaskVisualChanged().Insert(s_DetailHandler.InitDescription); + } + RichTextWidget title = RichTextWidget.Cast(s_Entry.FindAnyWidget("m_wTaskTitle")); + RichTextWidget description = RichTextWidget.Cast(s_Detail.FindAnyWidget("m_wDescription")); + if (!Check(title && description && title.GetText() == task.GetTaskName() && description.GetText() == task.GetTaskDescription(), "open list and details contain current title and instructions")) return false; + Widget showMap = s_Detail.FindAnyWidget("m_wButtonShowMap"); + if (!Check(showMap && !showMap.IsVisible(), "list-only task cannot expose an undiscovered map position")) return false; + SCR_TaskExecutor player = SCR_TaskSystem.TaskExecutorFromPlayerID(SCR_PlayerController.GetLocalPlayerId()); + if (!Check(player && task.IsTaskAssignedTo(player), "actual local player receives the active objective")) return false; + if (!Check(ERR_ObjectiveText.Extraction(12500).Contains("12.5") && !ERR_ObjectiveText.Extraction(12500).Contains("9 kilometres"), "extraction instructions follow a nondefault boundary")) return false; + return true; + } +} + +// Observers exist only in the opt-in native fixture. They do not unsubscribe or +// cancel work: a late callback is counted as failure before avoiding dead-widget +// dereferences, allowing the fixture to report the production cleanup defect. +modded class SCR_TaskListEntryDescriptionUIComponent +{ + protected bool m_ERRProbeWatching; + protected bool m_ERRProbeClosed; + protected bool m_ERRProbeDetached; + protected int m_ERRProbeTaskCallbacks; + protected int m_ERRProbeLateCallbacks; + void ERR_ProbeWatch() { m_ERRProbeWatching = true; m_ERRProbeTaskCallbacks = 0; } + void ERR_ProbeClosed() { m_ERRProbeClosed = true; } + int ERR_ProbeTaskCallbacks() { return m_ERRProbeTaskCallbacks; } + int ERR_ProbeLateCallbacks() { return m_ERRProbeLateCallbacks; } + bool ERR_ProbeWasDetached() { return m_ERRProbeDetached; } + bool ERR_ProbeHasNoTask() { return m_Task == null; } + protected bool ERR_ProbeCallback(bool taskEvent, string kind) + { + if (!m_ERRProbeWatching) return false; + if (m_ERRProbeClosed) + { + m_ERRProbeLateCallbacks++; + PrintFormat("ERR OBJECTIVE LATE CALLBACK: kind=%1 count=%2 task=%3 detached=%4 root=%5", kind, m_ERRProbeLateCallbacks, m_Task != null, m_ERRProbeDetached, m_wRoot != null); + return true; + } + if (taskEvent) m_ERRProbeTaskCallbacks++; + return false; + } + override void HandlerDeattached(Widget w) + { + m_ERRProbeDetached = true; + super.HandlerDeattached(w); + } + protected override void UpdateAssignees(notnull SCR_Task task, SCR_TaskExecutor newAssignee = null, int requesterID = 0) + { + if (ERR_ProbeCallback(true, "UpdateAssignees")) return; + super.UpdateAssignees(task, newAssignee, requesterID); + } + protected override void OnTaskUIVisibilityChanged(SCR_Task task, SCR_ETaskUIVisibility visible) + { + if (ERR_ProbeCallback(true, "OnTaskUIVisibilityChanged")) return; + super.OnTaskUIVisibilityChanged(task, visible); + } + protected override void OnTaskVisibilityChanged(SCR_Task task, SCR_ETaskVisibility visible) + { + if (ERR_ProbeCallback(true, "OnTaskVisibilityChanged")) return; + super.OnTaskVisibilityChanged(task, visible); + } + protected override void OnTaskOwnershipChanged(SCR_Task task, SCR_ETaskOwnership ownership) + { + if (ERR_ProbeCallback(true, "OnTaskOwnershipChanged")) return; + super.OnTaskOwnershipChanged(task, ownership); + } + protected override void CheckOverflow(Widget w) + { + if (ERR_ProbeCallback(false, "CheckOverflow")) return; + super.CheckOverflow(w); + } + override void UpdateTask() + { + if (ERR_ProbeCallback(false, "UpdateTask")) return; + super.UpdateTask(); + } +} +#endif diff --git a/addons/core/Scripts/Game/ERR/ERR_NativeRadioDefenceProbe.c b/addons/core/Scripts/Game/ERR/ERR_NativeRadioDefenceProbe.c new file mode 100644 index 0000000..cd2c545 --- /dev/null +++ b/addons/core/Scripts/Game/ERR/ERR_NativeRadioDefenceProbe.c @@ -0,0 +1,367 @@ +#ifdef WORKBENCH +// Only connection membership is simulated for the second character. Native +// actor mutations settle on later frames; isolated service timestamps stay exact. +class ERR_NativeRadioSample : ERR_RadioDefenceService +{ + ref array Members = {}; + int Connections = 2; + void ERR_NativeRadioSample(ERR_GameMode mode) { m_Mode = mode; } + protected override bool IsPlayer(IEntity actor) { return Members.Contains(actor); } + protected override int ConnectedPlayers() { return Connections; } + protected override void Players(out array players) { players.Copy(Members); } +} +class ERR_NativeRadioDefenceProbe +{ + protected ERR_GameMode m_Mode; + protected IEntity m_Player; + protected IEntity m_Second; + protected ERR_LocationComponent m_Radio; + protected FactionAffiliationComponent m_Affiliation; + protected ref ERR_NativeRadioSample m_Service; + protected ref ERR_RadioDefenceService m_Authoritative; + protected int m_Starts; + protected int m_Completions; + protected int m_Changes; + protected int m_OriginalDuration; + protected vector m_Original[4]; + protected bool m_OriginalUnconscious; + protected bool m_Snapshot; + protected bool m_SettingsChanged; + protected bool m_Restored; + protected bool m_RestoreSucceeded; + protected int m_Step; + protected int m_Result; + protected float m_Wait; + protected float m_StateDeadline; + protected float m_NextStateDiagnostic; + + void ERR_NativeRadioDefenceProbe(ERR_GameMode mode, IEntity player, ERR_LocationComponent radio) + { + m_Mode = mode; m_Player = player; m_Radio = radio; + } + protected bool Check(bool condition, string detail) + { + if (condition) { Print("ERR SMOKE PASS: radio service " + detail); return true; } + Print("ERR SMOKE FAIL: radio service " + detail, LogLevel.ERROR); + m_Result = -1; + Restore(); + return false; + } + protected void Started(ERR_LocationComponent location) { m_Starts++; } + protected void Changed(ERR_RadioDefenceService service) { m_Changes++; } + protected void Completed(ERR_LocationComponent location) + { + m_Completions++; + m_Service.Tick(1000000); // Re-entrant observer cannot complete twice. + } + protected void Move(IEntity actor, vector position) + { + vector transform[4]; actor.GetWorldTransform(transform); + transform[3] = ERR_Actors.Ground(position); + ChimeraCharacter.Cast(actor).Teleport(transform); + } + protected void Conscious(IEntity actor, bool value) + { + CharacterControllerComponent.Cast(actor.FindComponent(CharacterControllerComponent)).SetUnconscious(!value); + } + protected float Distance(string label) + { + float distance = vector.DistanceXZ(m_Player.GetOrigin(), m_Radio.Position()); + PrintFormat("ERR RADIO POSITION: %1 actor=%2 radio=%3 distanceXZ=%4", label, m_Player.GetOrigin(), m_Radio.Position(), distance); + return distance; + } + protected void WaitFor(int step, float now) + { + m_Step = step; + m_Wait = now + 750; + m_StateDeadline = now + 12000; + m_NextStateDiagnostic = now; + } + protected void RecoveryDiagnostic(IEntity actor, string label) + { + CharacterControllerComponent controller; + if (actor) controller = CharacterControllerComponent.Cast(actor.FindComponent(CharacterControllerComponent)); + int unconscious = -1; + int lifeState = -1; + if (controller) + { + unconscious = controller.IsUnconscious(); + lifeState = controller.GetLifeState(); + } + PrintFormat("ERR RADIO RECOVERY: %1 step=%2 alive=%3 canFight=%4 unconscious=%5 lifeState=%6 origin=%7", label, m_Step, ERR_Actors.Alive(actor), ERR_Actors.CanFight(actor), unconscious, lifeState, actor.GetOrigin()); + } + // Native recovery includes controller/ragdoll state transitions beyond one + // frame. Poll the observed state without reissuing SetUnconscious or altering + // health. Dead/missing actors fail immediately; delayed recovery has a bound. + protected bool Recovered(IEntity actor, float now, string label) + { + if (!actor || !ERR_Actors.Alive(actor)) + { + Check(false, label + " lost its living actor during recovery"); + return false; + } + if (ERR_Actors.CanFight(actor)) + { + RecoveryDiagnostic(actor, label + " ready"); + return true; + } + if (now >= m_NextStateDiagnostic) + { + RecoveryDiagnostic(actor, label + " waiting"); + m_NextStateDiagnostic = now + 1000; + } + if (now >= m_StateDeadline) + { + Check(false, label + " did not regain conscious native state within twelve seconds"); + return false; + } + m_Wait = now + 250; + return false; + } + protected void AuthorizationDiagnostic() + { + int id = GetGame().GetPlayerManager().GetPlayerIdFromControlledEntity(m_Player); + ERR_PlayerLife life = m_Mode.Players().Get(id); + bool connected = life && life.Connected; + bool usedLife = life && life.UsedLife; + bool sameActor = life && life.Actor == m_Player; + bool friendly = m_Mode.PlayerFaction() && SCR_FactionManager.SGetFaction(m_Player) == m_Mode.PlayerFaction(); + PrintFormat("ERR RADIO AUTH: active=%1 phase=%2 registered=%3 kind=%4 knowledge=%5 serviceState=%6 distance=%7", m_Mode.Active(), m_Mode.Phase(), m_Mode.HasLocation(m_Radio), m_Radio.Kind(), m_Radio.Knowledge(), m_Authoritative.State(), vector.DistanceXZ(m_Player.GetOrigin(), m_Radio.Position())); + PrintFormat("ERR RADIO AUTH: playerId=%1 connected=%2 usedLife=%3 sameActor=%4 friendly=%5 canFight=%6 canBegin=%7", id, connected, usedLife, sameActor, friendly, ERR_Actors.CanFight(m_Player), m_Authoritative.CanBegin(m_Player, m_Radio)); + } + protected void Restore() + { + if (m_Restored) return; + m_Restored = true; + m_RestoreSucceeded = true; + if (m_Service) + { + m_Service.OnStarted().Remove(Started); + m_Service.OnProgressChanged().Remove(Changed); + m_Service.OnCompleted().Remove(Completed); + m_Service.Stop(); + } + if (m_Authoritative) m_Authoritative.Stop(); + if (!GetGame() || !Replication.IsServer()) return; + if (m_SettingsChanged && m_Mode && m_Mode.Settings()) + m_RestoreSucceeded = m_Mode.Settings().Set("radioDefenceSeconds", m_OriginalDuration); + if (m_Snapshot && m_Player) + { + CharacterControllerComponent controller = CharacterControllerComponent.Cast(m_Player.FindComponent(CharacterControllerComponent)); + ChimeraCharacter character = ChimeraCharacter.Cast(m_Player); + if (controller && character && ERR_Actors.Alive(m_Player)) + { + controller.SetUnconscious(m_OriginalUnconscious); + character.Teleport(m_Original); + } + else m_RestoreSucceeded = false; + } + ERR_Actors.DeleteSpawned(m_Second); + m_Second = null; + } + // The parent must call this on cancellation/fixture timeout as well as failure. + // No fixture-owned callqueue is installed; no later mutation runs after Stop. + void Stop() + { + if (m_Result == 0) m_Result = -1; + Restore(); + } + int Tick(float now) + { + if (m_Result != 0) return m_Result; + if (now < m_Wait) return 0; + if (!Replication.IsServer() || !m_Mode || !m_Player || !m_Radio || !m_Mode.Settings()) + { + Check(false, "async fixture lost authoritative mission/player/radio"); + return -1; + } + if (m_Step == 0) + { + if (!Check(m_Mode.Phase() == ERR_Phase.RADIO_SEARCH && m_Radio.Knowledge() == 2 && ERR_Actors.Player(m_Player), "identified radio and real controlled prisoner available")) return -1; + m_OriginalDuration = m_Mode.Settings().Get("radioDefenceSeconds"); + m_Player.GetWorldTransform(m_Original); + CharacterControllerComponent controller = CharacterControllerComponent.Cast(m_Player.FindComponent(CharacterControllerComponent)); + if (!Check(controller && ChimeraCharacter.Cast(m_Player), "controlled prisoner supports native state restoration")) return -1; + m_OriginalUnconscious = controller.IsUnconscious(); + m_Snapshot = true; + if (!Check(m_Mode.Settings().Set("radioDefenceSeconds", 30), "isolated thirty-second duration saved")) return -1; + m_SettingsChanged = true; + m_Second = ERR_Actors.Spawn(m_Mode.Factions().PrisonerPrefab, ERR_Actors.Ground(m_Radio.Position() + "-2 0 0")); + if (!Check(m_Second != null, "second physical defender spawned")) return -1; + m_Mode.Own(m_Second); + DamageManagerComponent.Cast(m_Second.FindComponent(DamageManagerComponent)).EnableDamageHandling(false); + WaitFor(1, now); + return 0; + } + if (m_Step == 1) + { + if (!Check(ERR_Actors.CanFight(m_Second), "second physical defender settles with simulated connection membership")) return -1; + m_Authoritative = new ERR_RadioDefenceService(m_Mode); + if (!Check(!m_Authoritative.Begin(m_Second, m_Radio), "ordinary AI cannot tune even while alive and nearby")) return -1; + if (!Check(!m_Authoritative.Begin(m_Player, null), "missing radio rejected")) return -1; + Move(m_Player, m_Radio.Position() + "6 0 0"); + WaitFor(2, now); + return 0; + } + if (m_Step == 2) + { + if (!Check(Distance("outside tuning range after deferred teleport") > 5 && !m_Authoritative.Begin(m_Player, m_Radio), "tuning outside five metres rejected")) return -1; + Move(m_Player, m_Radio.Position() + "2 0 0"); + Conscious(m_Player, false); + WaitFor(3, now); + return 0; + } + if (m_Step == 3) + { + CharacterControllerComponent controller = CharacterControllerComponent.Cast(m_Player.FindComponent(CharacterControllerComponent)); + if (!Check(Distance("unconscious tuning range after deferred teleport") <= 5 && controller.IsUnconscious() && !m_Authoritative.Begin(m_Player, m_Radio), "unconscious prisoner cannot tune")) return -1; + Conscious(m_Player, true); + WaitFor(4, now); + return 0; + } + if (m_Step == 4) + { + if (!Recovered(m_Player, now, "tuning prisoner")) return m_Result; + AuthorizationDiagnostic(); + m_Service = new ERR_NativeRadioSample(m_Mode); + if (!Check(ERR_Actors.CanFight(m_Player) && m_Authoritative.CanBegin(m_Player, m_Radio), "registered friendly conscious prisoner remains authorized")) return -1; + if (!Check(!m_Service.Begin(m_Player, m_Radio), "unregistered defender cannot start the isolated service")) return -1; + m_Service.Members.Insert(m_Player); m_Service.Members.Insert(m_Second); + m_Affiliation = FactionAffiliationComponent.Cast(m_Second.FindComponent(FactionAffiliationComponent)); + if (!Check(m_Affiliation != null, "physical defender has native faction affiliation")) return -1; + m_Affiliation.SetAffiliatedFaction(m_Mode.EnemyFaction()); + WaitFor(5, now); + return 0; + } + if (m_Step == 5) + { + if (!Check(SCR_FactionManager.SGetFaction(m_Second) == m_Mode.EnemyFaction() && !m_Service.Begin(m_Second, m_Radio), "hostile controlled defender cannot tune")) return -1; + m_Affiliation.SetAffiliatedFaction(m_Mode.PlayerFaction()); + WaitFor(6, now); + return 0; + } + if (m_Step == 6) + { + m_Service.OnStarted().Insert(Started); + m_Service.OnProgressChanged().Insert(Changed); + m_Service.OnCompleted().Insert(Completed); + if (!Check(m_Service.Begin(m_Player, m_Radio) && !m_Service.Begin(m_Player, m_Radio) && m_Starts == 1, "start event emitted once and duplicate start rejected")) return -1; + m_Service.Tick(1000); + if (!Check(m_Service.DefenderCount() == 2 && m_Service.Since() == 1000 && m_Service.Occupied(), "two conscious physical defenders share one timer")) return -1; + m_Affiliation.SetAffiliatedFaction(m_Mode.EnemyFaction()); + WaitFor(7, now); + return 0; + } + if (m_Step == 7) + { + m_Service.Tick(1500); + if (!Check(!m_Service.CanDefend(m_Second) && m_Service.DefenderCount() == 1 && m_Service.Since() == 1000, "hostile actor cannot defend even with simulated connection membership")) return -1; + m_Affiliation.SetAffiliatedFaction(m_Mode.PlayerFaction()); + WaitFor(8, now); + return 0; + } + if (m_Step == 8) + { + m_Service.Tick(1600); + int changed = m_Changes; + m_Service.Tick(6000); + if (!Check(m_Service.SecondsRemaining(6000) == 25 && m_Changes == changed, "elapsed countdown does not emit redundant progress events")) return -1; + Conscious(m_Player, false); + WaitFor(9, now); + return 0; + } + if (m_Step == 9) + { + m_Service.Tick(7000); + if (!Check(m_Service.DefenderCount() == 1 && m_Service.Since() == 1000, "second defender preserves progress while first is unconscious")) return -1; + Conscious(m_Second, false); + WaitFor(10, now); + return 0; + } + if (m_Step == 10) + { + m_Service.Tick(8000); + if (!Check(!m_Service.Occupied() && m_Service.Since() == -1 && m_Service.SecondsRemaining(8000) == 30, "all unconscious defenders reset accumulated time")) return -1; + Conscious(m_Player, true); + WaitFor(11, now); + return 0; + } + if (m_Step == 11) + { + if (!Recovered(m_Player, now, "first defender")) return m_Result; + m_Service.Tick(9000); + if (!Check(m_Service.DefenderCount() == 1 && m_Service.Since() == 9000, "conscious recovery starts a fresh continuous interval")) return -1; + Conscious(m_Second, true); + WaitFor(12, now); + return 0; + } + if (m_Step == 12) + { + if (!Recovered(m_Second, now, "second defender")) return m_Result; + m_Service.Tick(10000); + m_Service.Connections = 0; m_Service.Tick(11000); + if (!Check(m_Service.DefenderCount() == 0 && !m_Service.Occupied(), "empty server resets despite remaining character bodies")) return -1; + m_Service.Connections = 2; m_Service.Tick(12000); + Move(m_Player, m_Radio.Position() + "60.5 0 0"); + WaitFor(13, now); + return 0; + } + if (m_Step == 13) + { + m_Service.Tick(13000); + if (!Check(Distance("outside defence radius after deferred teleport") >= 60 && !m_Service.CanDefend(m_Player) && m_Service.DefenderCount() == 1 && m_Service.Since() == 12000, "outside sixty metres excludes first defender without resetting second")) return -1; + DamageManagerComponent damage = DamageManagerComponent.Cast(m_Second.FindComponent(DamageManagerComponent)); + damage.EnableDamageHandling(true); + SCR_CharacterDamageManagerComponent.Cast(damage).Kill(Instigator.CreateInstigator(m_Second)); + WaitFor(14, now); + return 0; + } + if (m_Step == 14) + { + m_Service.Tick(14000); + if (!Check(!ERR_Actors.Alive(m_Second) && !m_Service.CanDefend(m_Second) && !m_Service.Occupied(), "dead defender cannot maintain transmission")) return -1; + Move(m_Player, m_Radio.Position() + "2 0 0"); + WaitFor(15, now); + return 0; + } + if (m_Step == 15) + { + if (!Check(Distance("returned to radio after deferred teleport") <= 5 && ERR_Actors.CanFight(m_Player), "survivor returns physically before final transmission samples")) return -1; + m_Service.Tick(15000); + if (!Check(m_Mode.Settings().Set("radioDefenceSeconds", 45), "live duration increase saved")) return -1; + m_Service.Tick(45000); + if (!Check(m_Service.State() == ERR_RadioDefenceState.DEFENDING && m_Service.Since() == 15000 && m_Service.SecondsRemaining(45000) == 15, "live duration increase preserves accumulated occupancy")) return -1; + if (!Check(m_Mode.Settings().Set("radioDefenceSeconds", 30), "live duration reduction saved")) return -1; + m_Service.Tick(45000); + if (!Check(m_Service.State() == ERR_RadioDefenceState.COMPLETED && m_Completions == 1 && m_Service.SecondsRemaining(45000) == 0, "live duration reduction completes at exact continuous boundary")) return -1; + m_Service.Tick(46000); m_Service.Stop(); m_Service.Tick(47000); + if (!Check(m_Completions == 1 && !m_Service.Begin(m_Player, m_Radio), "completed service cannot restart or emit duplicate completion after stop")) return -1; + ERR_NativeRadioSample stopped = new ERR_NativeRadioSample(m_Mode); + stopped.Members.Insert(m_Player); stopped.OnCompleted().Insert(Completed); + if (!Check(stopped.Begin(m_Player, m_Radio), "isolated cancellation service begins")) return -1; + stopped.Tick(1000); stopped.Stop(); stopped.Stop(); stopped.Tick(60000); + if (!Check(stopped.State() == ERR_RadioDefenceState.STOPPED && !stopped.Occupied() && m_Completions == 1 && !stopped.Begin(m_Player, m_Radio), "stop cancels progress and future starts without completing")) return -1; + ERR_NativeRadioSample terminal = new ERR_NativeRadioSample(m_Mode); + terminal.Members.Insert(m_Player); terminal.OnCompleted().Insert(Completed); + if (!Check(terminal.Begin(m_Player, m_Radio), "isolated terminal-phase service begins")) return -1; + terminal.Tick(1000); terminal.PhaseChanged(ERR_Phase.RADIO_DEFENCE, ERR_Phase.DEFEAT); terminal.Tick(60000); + if (!Check(terminal.State() == ERR_RadioDefenceState.STOPPED && m_Completions == 1, "terminal phase event prevents later completion")) return -1; + if (!Check(m_Mode.Phase() == ERR_Phase.RADIO_SEARCH && m_Mode.RadioDefence().State() == ERR_RadioDefenceState.IDLE, "isolated event tests leave live objective ready for normal tuning")) return -1; + Restore(); + WaitFor(90, now); + return 0; + } + if (m_Step == 90) + { + if (!m_OriginalUnconscious && !Recovered(m_Player, now, "restored prisoner")) return m_Result; + CharacterControllerComponent controller = CharacterControllerComponent.Cast(m_Player.FindComponent(CharacterControllerComponent)); + PrintFormat("ERR RADIO RESTORE: actual=%1 original=%2 distance=%3", m_Player.GetOrigin(), m_Original[3], vector.Distance(m_Player.GetOrigin(), m_Original[3])); + if (!Check(m_RestoreSucceeded && m_Mode.Settings().Get("radioDefenceSeconds") == m_OriginalDuration && controller.IsUnconscious() == m_OriginalUnconscious && vector.Distance(m_Player.GetOrigin(), m_Original[3]) < 1.5, "isolated test restores live duration and physical player state after a world frame")) return -1; + m_Result = 1; + return 1; + } + Check(false, "unknown asynchronous fixture step"); + return -1; + } +} +#endif diff --git a/addons/core/Scripts/Game/ERR/ERR_NativeStationTeardownDiagnostic.c b/addons/core/Scripts/Game/ERR/ERR_NativeStationTeardownDiagnostic.c new file mode 100644 index 0000000..e92c20c --- /dev/null +++ b/addons/core/Scripts/Game/ERR/ERR_NativeStationTeardownDiagnostic.c @@ -0,0 +1,62 @@ +// Opt-in local diagnostic only. It does not bypass validation or alter cleanup. +#ifdef WORKBENCH +modded class SCR_BaseItemSupportStationComponent +{ + protected static int s_ERRStationTeardownLines; + protected bool m_ERRStationInDelete; + protected IEntity m_ERRStationDeleteOwner; + + override void OnDelete(IEntity owner) + { + string enabled; + bool diagnose = System.GetCLIParam("errStationTeardownDiag", enabled) && enabled == "1"; + if (diagnose) + { + m_ERRStationInDelete = true; + m_ERRStationDeleteOwner = owner; + } + + // Preserve vanilla OnDelete, including its call to InitValidSetup. + super.OnDelete(owner); + + m_ERRStationInDelete = false; + m_ERRStationDeleteOwner = null; + } + + protected override bool InitValidSetup() + { + if (m_ERRStationInDelete && s_ERRStationTeardownLines < 64) + { + s_ERRStationTeardownLines++; + IEntity owner = m_ERRStationDeleteOwner; + string ownerName = ""; + ResourceName prefab; + if (owner) + { + ownerName = owner.GetName(); + if (owner.GetPrefabData()) prefab = owner.GetPrefabData().GetPrefabName(); + } + SCR_EntityCatalogManagerComponent catalog = SCR_EntityCatalogManagerComponent.GetInstance(); + SCR_BaseGameMode baseMode; + if (GetGame()) baseMode = SCR_BaseGameMode.Cast(GetGame().GetGameMode()); + int gameState = -1; + int phase = -1; + bool hasEndData; + if (baseMode) + { + gameState = baseMode.GetState(); + hasEndData = baseMode.GetEndGameData() != null; + ERR_GameMode mode = ERR_GameMode.Cast(baseMode); + if (mode) phase = mode.Phase(); + } + string detail = string.Format("ERR STATION TEARDOWN DIAG: n=%1 owner=%2 prefab=%3 cachedCatalog=%4 globalCatalog=%5", s_ERRStationTeardownLines, ownerName, prefab, m_EntityCatalogManager != null, catalog != null); + detail += string.Format(" modePresent=%1 gameState=%2 errPhase=%3 endData=%4 call=OnDelete/InitValidSetup", baseMode != null, gameState, phase, hasEndData); + Print(detail); + if (s_ERRStationTeardownLines == 64) Print("ERR STATION TEARDOWN DIAG: 64-line diagnostic limit reached; vanilla validation and cleanup continue unchanged."); + } + + // Retain every original validation result and error message. + return super.InitValidSetup(); + } +} +#endif diff --git a/addons/core/Scripts/Game/ERR/ERR_NativeTransportProbe.c b/addons/core/Scripts/Game/ERR/ERR_NativeTransportProbe.c new file mode 100644 index 0000000..305a3b4 --- /dev/null +++ b/addons/core/Scripts/Game/ERR/ERR_NativeTransportProbe.c @@ -0,0 +1,146 @@ +#ifdef WORKBENCH +// Explicit destructive test of successor-owned transport in the disposable +// scenario. Scripted occupants and engine input are not manual driving or MP. +class ERR_NativeTransportProbe +{ + protected ERR_GameMode m_Mode; + protected ERR_SiteRuntime m_Site; + protected Vehicle m_Vehicle; + protected CarControllerComponent m_Controller; + protected SCR_FuelManagerComponent m_Fuel; + protected ref array m_Actors = {}; + protected BaseCompartmentSlot m_Driver; + protected BaseCompartmentSlot m_Passenger; + protected int m_Step; + protected float m_Wait; + void ERR_NativeTransportProbe(ERR_GameMode mode) { m_Mode = mode; } + protected bool Check(bool condition, string detail) + { + if (condition) { Print("ERR SMOKE PASS: transport " + detail); return true; } + Print("ERR SMOKE FAIL: transport " + detail, LogLevel.ERROR); + return false; + } + protected bool DefinitionChecks() + { + ERR_ScenarioDefinition definition = ERR_ScenarioDefinition.Cast(SCR_BaseContainerTools.CreateInstanceFromPrefab("{BC310DC0CD27F523}Configs/ERR/EveronSites.conf")); + ERR_SiteDefinition site; + if (definition) site = definition.Find("everon-supply-2"); + if (!Check(site && site.Transport && definition.Valid(), "authored transport definition resolves")) return false; + ERR_SiteTransport transport = site.Transport; + vector offset = transport.Offset; + transport.Offset = "61 0 0"; + if (!Check(!definition.Valid(), "unbounded parking offset rejected")) return false; + transport.Offset = "0 1 0"; + if (!Check(!definition.Valid(), "floating parking offset rejected")) return false; + transport.Offset = offset; + float radius = transport.ClearanceRadius; + transport.ClearanceRadius = 1; + if (!Check(!definition.Valid(), "undersized parking footprint rejected")) return false; + transport.ClearanceRadius = 9; + if (!Check(!definition.Valid(), "unbounded parking footprint rejected")) return false; + transport.ClearanceRadius = radius; + float range = transport.MaximumTerrainRange; + transport.MaximumTerrainRange = 2; + if (!Check(!definition.Valid(), "unsafe authoring slope allowance rejected")) return false; + transport.MaximumTerrainRange = range; + ERR_SiteDefinition radio = definition.Find("everon-radio-1"); + radio.Transport = transport; + if (!Check(!definition.Valid(), "transport restricted to optional depot and outpost sites")) return false; + radio.Transport = null; + return Check(definition.Valid(), "valid authoring restored after isolated mutations"); + } + protected IEntity Character(int index) + { + IEntity actor = ERR_Actors.Spawn(m_Mode.Factions().PrisonerPrefab, ERR_Actors.Ground(m_Vehicle.GetOrigin() + Vector(-8 - index * 2, 0, 0))); + if (!actor) return null; + m_Mode.Own(actor); + m_Actors.Insert(actor); + DamageManagerComponent damage = DamageManagerComponent.Cast(actor.FindComponent(DamageManagerComponent)); + if (damage) damage.EnableDamageHandling(false); + return actor; + } + int Tick(float now) + { + if (now < m_Wait) return 0; + if (m_Step == 0) + { + if (!DefinitionChecks()) return -1; + m_Site = m_Mode.Sites().Find("everon-supply-2"); + if (!Check(m_Site && m_Site.Transport && m_Mode.Sites().TransportCount() == 1 && m_Mode.Sites().Owns(m_Site.Transport), "exactly one authored transport belongs to the finite site service")) return -1; + m_Vehicle = m_Site.Transport; + m_Controller = CarControllerComponent.Cast(m_Vehicle.FindComponent(CarControllerComponent)); + m_Fuel = SCR_FuelManagerComponent.Cast(m_Vehicle.FindComponent(SCR_FuelManagerComponent)); + if (!Check(m_Controller && m_Fuel && m_Fuel.HasFuel() && m_Controller.GetPersistentHandBrake(), "wheeled transport starts parked with vanilla finite fuel")) return -1; + PrintFormat("ERR TRANSPORT FUEL: current=%1 maximum=%2", m_Fuel.GetTotalFuel(), m_Fuel.GetTotalMaxFuel()); + BaseCompartmentManagerComponent manager = BaseCompartmentManagerComponent.Cast(m_Vehicle.FindComponent(BaseCompartmentManagerComponent)); + array seats = {}; + if (manager) manager.GetCompartments(seats); + int usable; + foreach (BaseCompartmentSlot slot : seats) + { + if (!slot) continue; + ECompartmentType type = SCR_CompartmentAccessComponent.GetCompartmentType(slot); + if (type == ECompartmentType.PILOT) { usable++; if (!m_Driver) m_Driver = slot; } + if (type == ECompartmentType.CARGO) { usable++; if (!m_Passenger) m_Passenger = slot; } + } + PrintFormat("ERR TRANSPORT SEATS: usable driver/passenger positions=%1", usable); + if (!Check(m_Driver && m_Passenger && m_Driver != m_Passenger, "native driver and passenger compartments are distinct")) return -1; + DamageManagerComponent.Cast(m_Vehicle.FindComponent(DamageManagerComponent)).EnableDamageHandling(false); + IEntity driver = Character(0); + IEntity passenger = Character(1); + if (!Check(driver && passenger, "isolated physical occupants created")) return -1; + CompartmentAccessComponent access = CompartmentAccessComponent.Cast(driver.FindComponent(CompartmentAccessComponent)); + if (!Check(access && access.GetInVehicle(m_Vehicle, m_Driver, true, -1, ECloseDoorAfterActions.INVALID, false), "native driver boarding request accepted")) return -1; + m_Step = 1; + m_Wait = now + 1500; + return 0; + } + if (m_Step == 1) + { + CompartmentAccessComponent access = CompartmentAccessComponent.Cast(m_Actors[1].FindComponent(CompartmentAccessComponent)); + if (!Check(access && access.GetInVehicle(m_Vehicle, m_Passenger, true, -1, ECloseDoorAfterActions.INVALID, false), "native passenger boarding request accepted")) return -1; + m_Step = 2; + m_Wait = now + 2500; + return 0; + } + if (m_Step == 2) + { + if (!Check(m_Driver.GetOccupant() == m_Actors[0] && m_Passenger.GetOccupant() == m_Actors[1] && CompartmentAccessComponent.GetVehicleIn(m_Actors[0]) == m_Vehicle && CompartmentAccessComponent.GetVehicleIn(m_Actors[1]) == m_Vehicle, "driver and passenger physically occupy their native seats")) return -1; + if (!Check(m_Controller.IsEngineOn() || m_Controller.StartEngine(), "ordinary native engine start request accepted")) return -1; + m_Step = 3; + m_Wait = now + 6000; + return 0; + } + if (m_Step == 3) + { + if (!Check(m_Controller.IsEngineOn(), "native wheeled engine starts with available fuel")) return -1; + m_Fuel.SetTotalFuelPercentage(0); + if (!Check(m_Mode.Sites().Prepare() == ERR_PrepareResult.READY && m_Site.Transport == m_Vehicle, "preparation queries preserve the original vehicle after deliberate fuel depletion")) return -1; + m_Step = 4; + m_Wait = now + 5000; + return 0; + } + if (m_Step == 4) + { + if (!Check(!m_Fuel.HasFuel() && m_Fuel.GetTotalFuel() <= 0.001 && m_Mode.Sites().Prepare() == ERR_PrepareResult.READY && m_Mode.Sites().TransportCount() == 1 && m_Site.Transport == m_Vehicle, "empty transport stays empty and is not refilled or replaced")) return -1; + foreach (IEntity actor : m_Actors) ERR_Actors.DeleteSpawned(actor); + m_Actors.Clear(); + ERR_Actors.DeleteSpawned(m_Vehicle); + m_Step = 5; + m_Wait = now + 3000; + return 0; + } + if (m_Step == 5) + { + if (!Check(!m_Site.Transport && m_Mode.Sites().TransportCount() == 0 && m_Mode.Sites().Prepare() == ERR_PrepareResult.READY, "lost transport remains absent after service ticks and preparation queries")) return -1; + ERR_ScenarioDefinition definition = ERR_ScenarioDefinition.Cast(SCR_BaseContainerTools.CreateInstanceFromPrefab("{BC310DC0CD27F523}Configs/ERR/EveronSites.conf")); + if (!Check(!m_Mode.Sites().Begin(definition, ERR_Supplies.Map()) && m_Mode.Sites().TransportCount() == 0, "duplicate initialization cannot replace lost transport")) return -1; + m_Mode.Sites().Stop(); + if (!Check(m_Mode.Sites().Prepare() == ERR_PrepareResult.FAILED && !m_Mode.Sites().Begin(definition, ERR_Supplies.Map()), "stopped finite owner cannot reinitialize transport")) return -1; + m_Step = 6; + return 1; + } + return 0; + } +} +#endif diff --git a/addons/core/Scripts/Game/ERR/ERR_NativeTransportSurvey.c b/addons/core/Scripts/Game/ERR/ERR_NativeTransportSurvey.c new file mode 100644 index 0000000..475a2b1 --- /dev/null +++ b/addons/core/Scripts/Game/ERR/ERR_NativeTransportSurvey.c @@ -0,0 +1,36 @@ +#ifdef WORKBENCH +// Authoring-only survey: omit transport in the fixture's in-memory definition so +// an invalid parking candidate cannot block inspecting nearby terrain/scenery. +modded class ERR_SiteService +{ + override bool Begin(ERR_ScenarioDefinition definition, ResourceName fieldMap) + { + string outcome; + if (definition && System.GetCLIParam("errSmokeOutcome", outcome) && outcome == "transport-survey") + foreach (ERR_SiteDefinition site : definition.Sites) site.Transport = null; + return super.Begin(definition, fieldMap); + } +} +class ERR_NativeTransportSurvey +{ + static void Run(ERR_GameMode mode) + { + ERR_ScenarioDefinition definition = ERR_ScenarioDefinition.Cast(SCR_BaseContainerTools.CreateInstanceFromPrefab("{BC310DC0CD27F523}Configs/ERR/EveronSites.conf")); + ERR_SiteDefinition site = definition.Find("everon-supply-2"); + int clear; + for (int x = -40; x <= 40; x += 8) + for (int z = -40; z <= 40; z += 8) + { + vector offset = Vector(x, 0, z); + if (offset.Length() < 8) continue; + vector position = site.Position + offset; + if (!mode.Sites().TransportClearance(position, site.Transport.ClearanceRadius, site.Transport.MaximumTerrainRange)) continue; + clear++; + PrintFormat("ERR PARKING CANDIDATE: offset=%1 position=%2", offset, ERR_Actors.Ground(position)); + } + PrintFormat("ERR PARKING SURVEY: clear=%1; no scenery removed and no transport spawned", clear); + Print("ERR SMOKE PASS: transport parking survey completed"); + Print("ERR SMOKE COMPLETE: bounded transport parking survey"); + } +} +#endif diff --git a/addons/core/Scripts/Game/ERR/ERR_ObjectiveDetails.c b/addons/core/Scripts/Game/ERR/ERR_ObjectiveDetails.c new file mode 100644 index 0000000..b583a40 --- /dev/null +++ b/addons/core/Scripts/Game/ERR/ERR_ObjectiveDetails.c @@ -0,0 +1,59 @@ +// Native task descriptions otherwise remain stale while their entry is open. +// Own only this scenario's additional binding and missing native detach cleanup. +modded class SCR_TaskListEntryDescriptionUIComponent +{ + protected SCR_Task m_ERRObservedObjective; + // Entity references become null when a task is deleted; work ownership must survive. + protected bool m_ERROwnsObjectiveBinding; + override void InitDescription(notnull SCR_Task task) + { + // Native InitDescription deletes assignee labels; cancel their delayed work first. + ERR_UnbindObjectiveDetails(); + super.InitDescription(task); + if (!ERR_GameMode.Get() || !task.GetTaskID().StartsWith("erri-mission-")) return; + m_ERRObservedObjective = task; + m_ERROwnsObjectiveBinding = true; + task.GetOnDisplayDataChanged().Insert(ERR_RefreshObjectiveDetails); + } + protected void ERR_RefreshObjectiveDetails() + { + if (m_wRoot && m_Task && m_Task == m_ERRObservedObjective) UpdateTask(); + } + protected override void UpdateAssignees(notnull SCR_Task task, SCR_TaskExecutor newAssignee = null, int requesterID = 0) + { + // Native assignment refresh also deletes the old labels before rebuilding them. + if (m_ERROwnsObjectiveBinding && task == m_Task) + ERR_CancelObjectiveOverflow(); + super.UpdateAssignees(task, newAssignee, requesterID); + } + protected void ERR_CancelObjectiveOverflow() + { + if (GetGame() && GetGame().GetCallqueue()) GetGame().GetCallqueue().Remove(CheckOverflow); + } + protected void ERR_UnbindObjectiveDetails() + { + if (!m_ERROwnsObjectiveBinding) return; + ERR_CancelObjectiveOverflow(); + if (m_ERRObservedObjective) m_ERRObservedObjective.GetOnDisplayDataChanged().Remove(ERR_RefreshObjectiveDetails); + m_ERRObservedObjective = null; + m_ERROwnsObjectiveBinding = false; + } + override void HandlerDeattached(Widget w) + { + // Vanilla detaches widget/manager listeners but leaves these task listeners. + // Preserve that vanilla path for every task outside the successor scenario. + if (m_ERROwnsObjectiveBinding) + { + // These five native invokers are static and survive task entity deletion. + SCR_Task.GetOnTaskAssigneeAdded().Remove(UpdateAssignees); + SCR_Task.GetOnTaskAssigneeRemoved().Remove(UpdateAssignees); + SCR_Task.GetOnTaskUIVisibilityChanged().Remove(OnTaskUIVisibilityChanged); + SCR_Task.GetOnTaskVisibilityChanged().Remove(OnTaskVisibilityChanged); + SCR_Task.GetOnTaskOwnershipChanged().Remove(OnTaskOwnershipChanged); + if (m_TaskComponent) m_TaskComponent.GetOnTaskVisualChanged().Remove(OnTaskVisualChanged); + m_Task = null; + } + ERR_UnbindObjectiveDetails(); + super.HandlerDeattached(w); + } +} diff --git a/addons/core/Scripts/Game/ERR/ERR_ObjectiveText.c b/addons/core/Scripts/Game/ERR/ERR_ObjectiveText.c new file mode 100644 index 0000000..e0461cf --- /dev/null +++ b/addons/core/Scripts/Game/ERR/ERR_ObjectiveText.c @@ -0,0 +1,48 @@ +// Shared player-facing copy; reads replicated mission state and never changes it. +class ERR_ObjectiveText +{ + static string Title(ERR_Phase phase) + { + if (phase == ERR_Phase.PRISON) return "Escape the prison"; + if (phase == ERR_Phase.RADIO_SEARCH) return "Locate the radio station"; + if (phase == ERR_Phase.RADIO_DEFENCE) return "Defend the radio transmission"; + if (phase == ERR_Phase.EXTRACTION) return "Escape Everon by helicopter"; + return "Escape Everon"; + } + static string Extraction(float radius) + { + return string.Format("Reach the helicopter marked on your map. Board and fly beyond %1 kilometres from the prison. Living prisoners aboard escape, including unconscious passengers. Dead or absent prisoners do not.", radius / 1000.0); + } + static string Description(ERR_GameMode mode, bool progress = true) + { + if (!mode) return ""; + ERR_Phase phase = mode.Phase(); + if (phase == ERR_Phase.PREPARING) + { + if (!mode.PreparationError().IsEmpty()) return "The mission could not start. An administrator can use /esc status for the cause. Spawning is disabled until the configuration is corrected and the scenario restarted."; + return "Preparing mission sites and equipment. You will spawn when the mission is ready."; + } + if (phase == ERR_Phase.PRISON) + return "Search the supply box inside the prison for weapons and a field map. Pick the gate lock, then get clear of the guards."; + if (phase == ERR_Phase.RADIO_SEARCH) + { + array locations = {}; + mode.Locations(locations); + foreach (ERR_LocationComponent location : locations) + if (location.Kind() == ERR_LocationKind.RADIO && location.Knowledge() == 2) + return "The recovered documents identify the radio station on your map. Reach the station and tune its radio to start the transmission."; + return "Choose either marked supply cache. Each has equipment and enough radio documents to identify the station. If one cache is lost, use the other. Nearby medical and guard sites can be discovered by approaching with a clear view."; + } + if (phase == ERR_Phase.RADIO_DEFENCE) + { + if (!progress) return "Keep a conscious survivor within 60 metres of the radio until the transmission finishes. Leaving the area resets the defence timer."; + int seconds = mode.DefenceSecondsRemaining(); + if (!mode.DefenceOccupied()) + return string.Format("Transmission interrupted. Keep a conscious survivor within 60 metres of the radio for %1 seconds. Leaving resets progress.", seconds); + int displayed = Math.Ceil(seconds / 5.0) * 5; + return string.Format("Transmission in progress: up to %1 seconds remaining. Keep a conscious survivor within 60 metres of the radio. Leaving resets progress.", displayed); + } + if (phase == ERR_Phase.EXTRACTION) return Extraction(mode.EscapeRadius()); + return ""; + } +} diff --git a/addons/core/Scripts/Game/ERR/ERR_Objectives.c b/addons/core/Scripts/Game/ERR/ERR_Objectives.c index 048828b..b01ef91 100644 --- a/addons/core/Scripts/Game/ERR/ERR_Objectives.c +++ b/addons/core/Scripts/Game/ERR/ERR_Objectives.c @@ -24,11 +24,7 @@ class ERR_Objectives } m_Current = null; if (ERR_MissionRules.Terminal(current)) return; - string title; - if (current == ERR_Phase.PRISON) title = "Escape the prison"; - else if (current == ERR_Phase.RADIO_SEARCH) title = "Locate the radio station"; - else if (current == ERR_Phase.RADIO_DEFENCE) title = "Defend the radio transmission"; - else if (current == ERR_Phase.EXTRACTION) title = "Escape Everon by helicopter"; + string title = ERR_ObjectiveText.Title(current); if (title.IsEmpty()) return; m_Current = tasks.CreateTask("{1D0F815858EE24AD}Prefabs/Tasks/BaseTask.et", Id(current), title, Description()); if (!m_Current) { Print("Rereintroduced: objective creation failed", LogLevel.ERROR); return; } @@ -39,33 +35,7 @@ class ERR_Objectives Tick(GetGame().GetWorld().GetWorldTime()); } - protected string Description() - { - ERR_Phase phase = m_Mode.Phase(); - if (phase == ERR_Phase.PRISON) - return "Search the supply box inside the prison for weapons and a field map. Pick the gate lock, then get clear of the guards."; - if (phase == ERR_Phase.RADIO_SEARCH) - { - array locations = {}; - m_Mode.Locations(locations); - foreach (ERR_LocationComponent location : locations) - if (location.Kind() == ERR_LocationKind.RADIO && location.Knowledge() == 2) - return "The recovered documents identify the radio station on your map. Reach the station and tune its radio to start the transmission."; - return "Choose either marked supply cache. Each has equipment and enough radio documents to identify the station. If one cache is lost, use the other. Nearby medical and guard sites can be discovered by approaching with a clear view."; - } - if (phase == ERR_Phase.RADIO_DEFENCE) - { - int seconds = m_Mode.DefenceSecondsRemaining(); - if (!m_Mode.DefenceOccupied()) - return string.Format("Transmission interrupted. Keep a conscious survivor within 60 metres of the radio for %1 seconds. Leaving resets progress.", seconds); - // Update at most once per five-second interval; do not broadcast every frame. - int displayed = Math.Ceil(seconds / 5.0) * 5; - return string.Format("Transmission in progress: up to %1 seconds remaining. Keep a conscious survivor within 60 metres of the radio. Leaving resets progress.", displayed); - } - if (phase == ERR_Phase.EXTRACTION) - return string.Format("Reach the helicopter marked on your map. Board and fly beyond %1 kilometres from the prison. Living prisoners aboard escape, including unconscious passengers. Dead or absent prisoners do not.", m_Mode.EscapeRadius() / 1000.0); - return ""; - } + protected string Description() { return ERR_ObjectiveText.Description(m_Mode); } void Tick(float now) { diff --git a/addons/core/Scripts/Game/ERR/ERR_PlayerGuide.c b/addons/core/Scripts/Game/ERR/ERR_PlayerGuide.c index 4aae8ce..4d0bc21 100644 --- a/addons/core/Scripts/Game/ERR/ERR_PlayerGuide.c +++ b/addons/core/Scripts/Game/ERR/ERR_PlayerGuide.c @@ -3,7 +3,7 @@ modded class SCR_PlayerController { protected int m_ERRGuidePhase = -1; protected bool m_ERRGuideStarted; - protected string m_ERRGuideError; + protected string m_ERRGuideMessage; override void OnControlledEntityChanged(IEntity from, IEntity to) { @@ -24,27 +24,15 @@ modded class SCR_PlayerController protected void ERR_UpdateGuide() { ERR_GameMode mode = ERR_GameMode.Get(); - if (!mode || (m_ERRGuidePhase == mode.Phase() && m_ERRGuideError == mode.PreparationError())) return; + if (!mode) return; + if (mode.Phase() != ERR_Phase.PREPARING && !GetControlledEntity()) return; + string message = ERR_ObjectiveText.Description(mode, false); + if (m_ERRGuidePhase == mode.Phase() && m_ERRGuideMessage == message) return; SCR_HintManagerComponent hints = SCR_HintManagerComponent.GetInstance(); if (!hints) return; - string message; - if (mode.Phase() == ERR_Phase.PREPARING) - { - message = "Preparing mission sites and equipment. You will spawn when the mission is ready."; - if (!mode.PreparationError().IsEmpty()) message = "The mission could not start. An administrator can use /esc status for the cause. Spawning is disabled until the configuration is corrected and the scenario restarted."; - } - else if (!GetControlledEntity()) return; - else if (mode.Phase() == ERR_Phase.PRISON) - message = "Search the supply box inside the prison for weapons and a field map. Pick the gate lock to begin your escape."; - else if (mode.Phase() == ERR_Phase.RADIO_SEARCH) - message = "Two supply caches are marked on your map. Either contains enough radio documents to identify the station; use the other if one is lost. Search nearby medical and guard sites for additional finite supplies."; - else if (mode.Phase() == ERR_Phase.RADIO_DEFENCE) - message = "Keep a conscious survivor within 60 metres of the radio until the transmission finishes. Leaving the area resets the defence timer."; - else if (mode.Phase() == ERR_Phase.EXTRACTION) - message = "The extraction helicopter is marked on your map. Board it and fly at least 9 kilometres from the prison. Living prisoners aboard escape, including unconscious passengers. Dead or absent prisoners do not."; - if (!message.IsEmpty()) hints.ShowCustom(message, "Escape Everon", 15); + if (!message.IsEmpty()) hints.ShowCustom(message, ERR_ObjectiveText.Title(mode.Phase()), 15); m_ERRGuidePhase = mode.Phase(); - m_ERRGuideError = mode.PreparationError(); + m_ERRGuideMessage = message; } void ~SCR_PlayerController() { diff --git a/addons/core/Scripts/Game/ERR/ERR_RadioDefenceService.c b/addons/core/Scripts/Game/ERR/ERR_RadioDefenceService.c new file mode 100644 index 0000000..dc2da03 --- /dev/null +++ b/addons/core/Scripts/Game/ERR/ERR_RadioDefenceService.c @@ -0,0 +1,140 @@ +enum ERR_RadioDefenceState +{ + IDLE, + DEFENDING, + COMPLETED, + STOPPED +} + +class ERR_RadioDefenceRules +{ + static float DefenceRadius() { return 60; } + static float TuneRadius() { return 5; } + static bool CanTune(int phase, bool registered, bool radio, int knowledge, bool player, bool conscious, float distance) + { + return phase == ERR_Phase.RADIO_SEARCH && registered && radio && knowledge >= 2 && player && conscious && distance >= 0 && distance <= TuneRadius(); + } + static bool Defender(bool player, bool conscious, float distance) + { + return player && conscious && distance >= 0 && distance < DefenceRadius(); + } + static float SinceAfterSample(float since, float previousSample, float now, int defenders) + { + if (now < 0 || defenders <= 0) return -1; + if (since < 0 || now < since || (previousSample >= 0 && now < previousSample)) return now; + return since; + } +} + +// Server-owned radio objective. Emits facts; GameMode alone advances the mission. +// Native tasks replicate presentation; no client can start/tick this service. +class ERR_RadioDefenceService +{ + protected ERR_GameMode m_Mode; + protected ERR_LocationComponent m_Location; + protected ERR_RadioDefenceState m_State; + protected float m_Since = -1; + protected float m_LastSample = -1; + protected int m_Defenders; + protected int m_LastDuration = -1; + protected ref ScriptInvoker m_OnStarted = new ScriptInvoker(); + protected ref ScriptInvoker m_OnProgressChanged = new ScriptInvoker(); + protected ref ScriptInvoker m_OnCompleted = new ScriptInvoker(); + + void ERR_RadioDefenceService(ERR_GameMode mode) { m_Mode = mode; } + static float DefenceRadius() { return ERR_RadioDefenceRules.DefenceRadius(); } + static float TuneRadius() { return ERR_RadioDefenceRules.TuneRadius(); } + ERR_RadioDefenceState State() { return m_State; } + ERR_LocationComponent Location() { return m_Location; } + float Since() { return m_Since; } + int DefenderCount() { return m_Defenders; } + bool Occupied() { return m_State == ERR_RadioDefenceState.DEFENDING && m_Since >= 0; } + ScriptInvoker OnStarted() { return m_OnStarted; } // (ERR_LocationComponent) + ScriptInvoker OnProgressChanged() { return m_OnProgressChanged; } // (ERR_RadioDefenceService) + ScriptInvoker OnCompleted() { return m_OnCompleted; } // (ERR_LocationComponent), once + + int DurationSeconds() + { + if (!m_Mode || !m_Mode.Settings()) return 0; + return m_Mode.Settings().Get("radioDefenceSeconds"); + } + int SecondsRemaining(float now) + { + int duration = DurationSeconds(); + if (m_State == ERR_RadioDefenceState.COMPLETED) return 0; + if (m_Since < 0 || now < m_Since) return duration; + return Math.Max(0, Math.Ceil(duration - (now - m_Since) / 1000.0)); + } + protected bool IsPlayer(IEntity actor) + { + if (!m_Mode || !ERR_Actors.Player(actor)) return false; + int id = GetGame().GetPlayerManager().GetPlayerIdFromControlledEntity(actor); + ERR_PlayerLife life = m_Mode.Players().Get(id); + return life && life.Connected && life.UsedLife && life.Actor == actor; + } + protected bool Friendly(IEntity actor) + { + return m_Mode && m_Mode.PlayerFaction() && SCR_FactionManager.SGetFaction(actor) == m_Mode.PlayerFaction(); + } + protected int ConnectedPlayers() { return GetGame().GetPlayerManager().GetPlayerCount(); } + protected void Players(out array players) { ERR_Actors.Players(players); } + bool CanBegin(IEntity actor, ERR_LocationComponent location) + { + if (!Replication.IsServer() || !m_Mode || !m_Mode.Active() || m_State != ERR_RadioDefenceState.IDLE || !actor || !location) return false; + return ERR_RadioDefenceRules.CanTune(m_Mode.Phase(), m_Mode.HasLocation(location), location.Kind() == ERR_LocationKind.RADIO, location.Knowledge(), IsPlayer(actor) && Friendly(actor), ERR_Actors.CanFight(actor), vector.DistanceXZ(actor.GetOrigin(), location.Position())); + } + bool Begin(IEntity actor, ERR_LocationComponent location) + { + if (!CanBegin(actor, location) || !ERR_Settings.Valid("radioDefenceSeconds", DurationSeconds())) return false; + m_Location = location; + m_State = ERR_RadioDefenceState.DEFENDING; + m_Since = -1; + m_LastSample = -1; + m_Defenders = 0; + m_LastDuration = DurationSeconds(); + m_OnStarted.Invoke(location); + m_OnProgressChanged.Invoke(this); + return m_State == ERR_RadioDefenceState.DEFENDING; + } + bool CanDefend(IEntity actor) + { + if (!Replication.IsServer() || !m_Location || !actor) return false; + return ERR_RadioDefenceRules.Defender(IsPlayer(actor) && Friendly(actor), ERR_Actors.CanFight(actor), vector.DistanceXZ(actor.GetOrigin(), m_Location.Position())); + } + void Tick(float now) + { + if (!Replication.IsServer() || m_State != ERR_RadioDefenceState.DEFENDING || !m_Mode || !m_Mode.Active()) return; + float previousSince = m_Since; + int previousDefenders = m_Defenders; + m_Defenders = 0; + if (ConnectedPlayers() > 0 && m_Location && m_Mode.HasLocation(m_Location)) + { + array players = {}; + Players(players); + foreach (IEntity actor : players) if (CanDefend(actor)) m_Defenders++; + } + m_Since = ERR_RadioDefenceRules.SinceAfterSample(m_Since, m_LastSample, now, m_Defenders); + m_LastSample = now; + int duration = DurationSeconds(); + bool completed = ERR_MissionRules.DefenceComplete(now, m_Since, duration * 1000, m_Defenders > 0); + if (completed) m_State = ERR_RadioDefenceState.COMPLETED; + bool changed = completed || previousSince != m_Since || previousDefenders != m_Defenders || m_LastDuration != duration; + m_LastDuration = duration; + if (changed) m_OnProgressChanged.Invoke(this); + // Latch before callbacks: nested ticks or duplicate calls cannot complete twice. + if (completed) m_OnCompleted.Invoke(m_Location); + } + void PhaseChanged(ERR_Phase previous, ERR_Phase current) + { + if (current > ERR_Phase.RADIO_DEFENCE) Stop(); + } + void Stop() + { + if (!Replication.IsServer() || m_State == ERR_RadioDefenceState.STOPPED || m_State == ERR_RadioDefenceState.COMPLETED) return; + m_State = ERR_RadioDefenceState.STOPPED; + m_Since = -1; + m_Defenders = 0; + m_Location = null; + m_OnProgressChanged.Invoke(this); + } +} diff --git a/addons/core/Scripts/Game/ERR/ERR_SiteDefinition.c b/addons/core/Scripts/Game/ERR/ERR_SiteDefinition.c index 4cd3340..0d52873 100644 --- a/addons/core/Scripts/Game/ERR/ERR_SiteDefinition.c +++ b/addons/core/Scripts/Game/ERR/ERR_SiteDefinition.c @@ -19,6 +19,21 @@ class ERR_SiteProp [Attribute("0 0 0", UIWidgets.Coords, "Yaw, pitch, roll in degrees")] vector Angles; } +[BaseContainerProps()] +class ERR_SiteTransport +{ + [Attribute("", UIWidgets.ResourceNamePicker, "One finite wheeled transport; never replaced", "et")] + ResourceName Prefab; + [Attribute("0 0 0", UIWidgets.Coords, "Parking offset from the site; ground height is sampled")] + vector Offset; + [Attribute("0", UIWidgets.EditBox, "Parking heading in degrees")] + float Heading; + [Attribute("3", UIWidgets.EditBox, "Clear square half-width including vehicle and boarding space")] + float ClearanceRadius; + [Attribute("1", UIWidgets.EditBox, "Maximum terrain height range across parking footprint")] + float MaximumTerrainRange; +} + [BaseContainerProps()] class ERR_SiteDefinition { @@ -28,6 +43,7 @@ class ERR_SiteDefinition [Attribute("0", UIWidgets.EditBox, "Conscious visual discovery radius for optional sites") ] float DiscoverRadius; [Attribute()] ref array Props; + [Attribute()] ref ERR_SiteTransport Transport; [Attribute("0", UIWidgets.ComboBox, "Location kind", enums: ParamEnumArray.FromEnum(ERR_LocationKind))] ERR_LocationKind Kind; [Attribute("", UIWidgets.ResourceNamePicker, "Successor site composition", "et")] @@ -69,7 +85,7 @@ class ERR_ScenarioDefinition { if (!Sites || Sites.IsEmpty() || Sites.Count() > 32) return false; set ids = new set(); - int prisons, radios, extractions, groups, items, sources, maps, props; + int prisons, radios, extractions, groups, items, sources, maps, props, transports; array cluePositions = {}; if (MinimumRadioSources < 1 || MinimumRadioSources > 8) return false; foreach (ERR_SiteDefinition site : Sites) @@ -79,6 +95,14 @@ class ERR_ScenarioDefinition if (site.DiscoverRadius < 0 || site.DiscoverRadius > 60) return false; bool optionalSite = site.Kind == ERR_LocationKind.DEPOT || site.Kind == ERR_LocationKind.OUTPOST; if (!optionalSite && (site.DiscoverRadius > 0 || site.RevealOnEscape)) return false; + if (site.Transport) + { + ERR_SiteTransport transport = site.Transport; + if (!optionalSite || transport.Prefab.IsEmpty() || transport.Offset.Length() > 60 || Math.AbsFloat(transport.Offset[1]) > 0.01) return false; + if (transport.Heading < -360 || transport.Heading > 360 || transport.ClearanceRadius < 2 || transport.ClearanceRadius > 8) return false; + if (transport.MaximumTerrainRange < 0 || transport.MaximumTerrainRange > 1.5) return false; + transports++; + } if (site.Props) { if (site.Props.Count() > 12) return false; @@ -118,6 +142,6 @@ class ERR_ScenarioDefinition sources++; } } - return prisons == 1 && radios == 1 && extractions == 1 && groups <= 8 && items <= 256 && props <= 64 && sources >= MinimumRadioSources && maps >= 1; + return prisons == 1 && radios == 1 && extractions == 1 && groups <= 8 && items <= 256 && props <= 64 && transports <= 4 && sources >= MinimumRadioSources && maps >= 1; } } diff --git a/addons/core/Scripts/Game/ERR/ERR_SiteService.c b/addons/core/Scripts/Game/ERR/ERR_SiteService.c index 56acfc1..e12f863 100644 --- a/addons/core/Scripts/Game/ERR/ERR_SiteService.c +++ b/addons/core/Scripts/Game/ERR/ERR_SiteService.c @@ -13,6 +13,7 @@ class ERR_SiteRuntime ERR_LocationComponent Location; IEntity Container; SCR_AIGroup Group; + Vehicle Transport; } // One owner for finite physical site contents. No population or stock refill tick. @@ -34,6 +35,14 @@ class ERR_SiteService void ERR_SiteService(ERR_GameMode mode) { m_Mode = mode; } int Count() { return m_Sites.Count(); } + bool Owns(IEntity entity) { return entity && m_Entities.Contains(entity); } + int TransportCount() + { + int count; + foreach (ERR_SiteRuntime site : m_Sites) + if (site.Transport) count++; + return count; + } ERR_SiteRuntime Find(string id) { foreach (ERR_SiteRuntime site : m_Sites) @@ -59,6 +68,82 @@ class ERR_SiteService if (entity) m_Entities.Insert(entity); return entity; } + // Read-only placement survey. It neither removes scenery nor searches for a + // replacement position; authors must correct a rejected parking location. + bool TransportClearance(vector position, float radius, float maximumRange) + { + if (radius < 2 || radius > 8 || maximumRange < 0 || maximumRange > 1.5) return false; + vector ground = ERR_Actors.Ground(position); + float lowest = ground[1]; + float highest = ground[1]; + for (int x = -1; x <= 1; x++) + { + for (int z = -1; z <= 1; z++) + { + vector sample = ERR_Actors.Ground(position + Vector(x * radius, 0, z * radius)); + lowest = Math.Min(lowest, sample[1]); + highest = Math.Max(highest, sample[1]); + } + } + m_Obstructed = false; + vector low = Vector(position[0] - radius, lowest + 0.1, position[2] - radius); + vector high = Vector(position[0] + radius, highest + 3, position[2] + radius); + GetGame().GetWorld().QueryEntitiesByAABB(low, high, CheckClearance); + bool clear = lowest >= 1 && highest - lowest <= maximumRange && !m_Obstructed; + PrintFormat("Rereintroduced [sites]: transport parking=%1 radius=%2 terrainRange=%3 obstructed=%4 clear=%5", ERR_Actors.Ground(position), radius, highest - lowest, m_Obstructed, clear); + return clear; + } + protected bool CreateTransport(ERR_SiteRuntime site, vector sitePosition) + { + ERR_SiteTransport spec = site.Definition.Transport; + if (!spec) return true; + vector position = ERR_Actors.Ground(sitePosition + spec.Offset); + if (!TransportClearance(position, spec.ClearanceRadius, spec.MaximumTerrainRange)) return Fail("obstructed or unsafe transport parking: " + site.Definition.Id); + IEntity entity = ERR_Actors.Spawn(spec.Prefab, position, Vector(spec.Heading, 0, 0)); + if (!entity) return Fail("transport prefab: " + site.Definition.Id); + m_Entities.Insert(entity); + site.Transport = Vehicle.Cast(entity); + if (!site.Transport) return Fail("transport must be a vehicle: " + site.Definition.Id); + CarControllerComponent controller = CarControllerComponent.Cast(site.Transport.FindComponent(CarControllerComponent)); + if (!controller) return Fail("transport must be wheeled: " + site.Definition.Id); + controller.SetPersistentHandBrake(true); + return true; + } + protected bool TransportReady(ERR_SiteRuntime site) + { + if (!site.Definition.Transport) return true; + Vehicle vehicle = site.Transport; + if (!ERR_Actors.Alive(vehicle)) return false; + vector low, high; + vehicle.GetWorldBounds(low, high); + vector center = ERR_Actors.Ground(site.Definition.Position + site.Definition.Transport.Offset); + float radius = site.Definition.Transport.ClearanceRadius - 0.5; + if (Math.AbsFloat(low[0] - center[0]) > radius || Math.AbsFloat(high[0] - center[0]) > radius || Math.AbsFloat(low[2] - center[2]) > radius || Math.AbsFloat(high[2] - center[2]) > radius) + { + if (GetGame().GetWorld().GetWorldTime() > m_Deadline) PrintFormat("Rereintroduced [sites]: transport footprint low=%1 high=%2 surveyedCenter=%3 origin=%4 allowedRadius=%5", low, high, center, vehicle.GetOrigin(), radius); + return false; + } + FuelManagerComponent fuel = FuelManagerComponent.Cast(vehicle.FindComponent(FuelManagerComponent)); + if (!fuel || !fuel.HasFuel()) + { + if (GetGame().GetWorld().GetWorldTime() > m_Deadline) PrintFormat("Rereintroduced [sites]: transport fuel manager=%1 hasFuel=%2", fuel != null, fuel && fuel.HasFuel()); + return false; + } + BaseCompartmentManagerComponent manager = BaseCompartmentManagerComponent.Cast(vehicle.FindComponent(BaseCompartmentManagerComponent)); + if (!manager) return false; + array seats = {}; + manager.GetCompartments(seats); + bool driver, passenger; + foreach (BaseCompartmentSlot slot : seats) + { + if (!slot) continue; + ECompartmentType type = SCR_CompartmentAccessComponent.GetCompartmentType(slot); + if (type == ECompartmentType.PILOT) driver = true; + if (type == ECompartmentType.CARGO) passenger = true; + } + if ((!driver || !passenger) && GetGame().GetWorld().GetWorldTime() > m_Deadline) PrintFormat("Rereintroduced [sites]: transport seats=%1 driver=%2 passenger=%3", seats.Count(), driver, passenger); + return driver && passenger; + } protected bool Fail(string reason) { m_FailureReason = reason; @@ -139,6 +224,7 @@ class ERR_SiteService m_Entities.Insert(scenery); } } + if (!CreateTransport(site, position)) return false; if (spec.Guarded || !spec.Guards.IsEmpty()) { vector guardPosition = position + spec.GuardOffset; @@ -161,6 +247,11 @@ class ERR_SiteService int pending, accepted; foreach (ERR_SiteRuntime site : m_Sites) { + if (!TransportReady(site)) + { + if (GetGame().GetWorld().GetWorldTime() > m_Deadline) Fail("transport needs fuel, driver/passenger seats and a fitting parking footprint: " + site.Definition.Id); + return m_State; + } if (!site.Group) continue; if (site.Group.GetFaction() != m_Mode.EnemyFaction()) { diff --git a/addons/core/Scripts/Game/ERR/ERR_SpawnFinalization.c b/addons/core/Scripts/Game/ERR/ERR_SpawnFinalization.c new file mode 100644 index 0000000..9bad5e3 --- /dev/null +++ b/addons/core/Scripts/Game/ERR/ERR_SpawnFinalization.c @@ -0,0 +1,84 @@ +class ERR_SpawnTicket +{ + int ConnectionId; + UUID AccountId; + ERR_GameMode Mode; + SCR_PlayerController Controller; + SCR_SpawnRequestComponent Request; + ref SCR_SpawnData Data; + IEntity Actor; +} + +class ERR_SpawnFinalizationRules +{ + static bool PositionClose(vector actual, vector requested) + { + return vector.DistanceXZ(actual, requested) <= 0.6 && Math.AbsFloat(actual[1] - requested[1]) <= 1; + } + static bool Allows(int phase, bool connected, bool usedLife, UUID expected, UUID current, bool sameController, bool sameRequest, bool noControlledEntity) + { + return connected && ERR_PlayerLifeRules.CanEnter(usedLife, phase) && !expected.IsNull() && expected == current && sameController && sameRequest && noControlledEntity; + } +} + +modded class SCR_SpawnRequestComponent +{ + // Only a successor-owned admission ticket calls this. Disconnect or a mission + // phase change must not leave an old preload callback assigning an actor later. + void ERR_CancelAdmission(SCR_SpawnData data, bool notifyOwner) + { + if (!GetGame()) return; + GetGame().GetCallqueue().Remove(AwaitFinalization_S); + if (!Replication.IsServer()) return; + if (notifyOwner && GetPlayerController() && GetRespawnComponent()) SendResponse_S(SCR_ESpawnResult.SPAWN_NOT_ALLOWED, data); + } +} + +modded class SCR_FreeSpawnHandlerComponent +{ + protected ERR_SpawnLogic ERR_AdmissionLogic() + { + SCR_RespawnSystemComponent system = GetRespawnSystemComponent(); + if (!system) return null; + return ERR_SpawnLogic.Cast(system.GetSpawnLogic()); + } + protected void ERR_RejectOwnedActor(SCR_SpawnRequestComponent request, IEntity entity, SCR_SpawnData data) + { + // A repeated/malformed callback must never delete a currently possessed actor. + if (entity && !ERR_Actors.Player(entity)) HandleSpawnEntityFailure_S(request, entity, data, SCR_ESpawnResult.SPAWN_NOT_ALLOWED); + } + override SCR_ESpawnResult HandleRequest_S(SCR_SpawnRequestComponent requestComponent, SCR_SpawnData data, out IEntity spawnedEntity) + { + ERR_SpawnLogic logic = ERR_AdmissionLogic(); + if (!ERR_GameMode.Get() && !logic) return super.HandleRequest_S(requestComponent, data, spawnedEntity); + ERR_SpawnTicket ticket; + if (logic) ticket = logic.CreateSpawnTicket(requestComponent, data); + if (!ticket) return SCR_ESpawnResult.SPAWN_NOT_ALLOWED; + SCR_ESpawnResult result = super.HandleRequest_S(requestComponent, data, spawnedEntity); + if (result != SCR_ESpawnResult.OK) return result; + ticket.Actor = spawnedEntity; + if (!logic.TrackSpawnTicket(ticket)) + { + ERR_RejectOwnedActor(requestComponent, spawnedEntity, data); + return SCR_ESpawnResult.SPAWN_NOT_ALLOWED; + } + return result; + } + override SCR_ESpawnResult FinalizeRequest_S(SCR_SpawnRequestComponent requestComponent, SCR_SpawnData data, IEntity entity) + { + ERR_SpawnLogic logic = ERR_AdmissionLogic(); + if (!ERR_GameMode.Get() && !logic) return super.FinalizeRequest_S(requestComponent, data, entity); + ERR_SpawnTicket ticket; + if (logic) ticket = logic.TakeSpawnTicket(requestComponent, data, entity); + // No ticket means no ownership proof: reject without deleting arbitrary input. + if (!ticket) return SCR_ESpawnResult.SPAWN_NOT_ALLOWED; + if (!logic.MayFinalizeSpawn(ticket)) + { + ERR_RejectOwnedActor(requestComponent, entity, data); + return SCR_ESpawnResult.SPAWN_NOT_ALLOWED; + } + SCR_ESpawnResult result = super.FinalizeRequest_S(requestComponent, data, entity); + if (result != SCR_ESpawnResult.OK) ERR_RejectOwnedActor(requestComponent, entity, data); + return result; + } +} diff --git a/addons/core/Scripts/Game/ERR/ERR_SpawnLogic.c b/addons/core/Scripts/Game/ERR/ERR_SpawnLogic.c index 703bc98..0578e26 100644 --- a/addons/core/Scripts/Game/ERR/ERR_SpawnLogic.c +++ b/addons/core/Scripts/Game/ERR/ERR_SpawnLogic.c @@ -6,6 +6,24 @@ class ERR_SpawnLogic : SCR_SpawnLogic protected ref map m_Retries = new map(); protected ref map m_AuthorizedPositions = new map(); protected ref set m_Pending = new set(); + protected ref ERR_SpawnPlacement m_Placement = new ERR_SpawnPlacement(); + protected ref array m_SpawnTickets = {}; + protected ERR_GameMode m_LifecycleMode; + protected bool m_AdmissionsStopped; + + protected void BindLifecycle(ERR_GameMode mode) + { + if (!mode || m_LifecycleMode == mode) return; + if (m_LifecycleMode) + { + m_LifecycleMode.OnPhaseChanged().Remove(AdmissionPhaseChanged); + m_LifecycleMode.OnStop().Remove(StopAdmissions); + } + m_AdmissionsStopped = false; + m_LifecycleMode = mode; + mode.OnPhaseChanged().Insert(AdmissionPhaseChanged); + mode.OnStop().Insert(StopAdmissions); + } override void OnPlayerAuditSuccess_S(int playerId) { @@ -20,6 +38,7 @@ class ERR_SpawnLogic : SCR_SpawnLogic } #endif ERR_GameMode mode = ERR_GameMode.Get(); + BindLifecycle(mode); SCR_PlayerController resultController = SCR_PlayerController.Cast(GetGame().GetPlayerManager().GetPlayerController(playerId)); if (resultController) resultController.ERR_ResetEscapeResult(); if (!mode || !mode.Players().Bind(playerId, identity)) @@ -43,7 +62,7 @@ class ERR_SpawnLogic : SCR_SpawnLogic { ERR_GameMode mode = ERR_GameMode.Get(); SCR_PlayerController controller = SCR_PlayerController.Cast(GetGame().GetPlayerManager().GetPlayerController(playerId)); - if (!controller || !mode || !m_Identities.Contains(playerId) || !m_Attempts.Contains(playerId) || m_Pending.Contains(playerId)) return; + if (!controller || !mode || m_AdmissionsStopped || !m_Identities.Contains(playerId) || !m_Attempts.Contains(playerId) || m_Pending.Contains(playerId)) return; if (controller.GetControlledEntity()) return; if (ERR_MissionRules.Terminal(mode.Phase())) return; if (!mode.PreparationError().IsEmpty()) { Observe(playerId, ERR_ObserverReason.SPAWN_UNAVAILABLE); return; } @@ -52,7 +71,6 @@ class ERR_SpawnLogic : SCR_SpawnLogic if (!mode.Active()) { RetryLater(playerId); return; } int attempts = m_Attempts.Get(playerId); if (attempts >= 30) { Observe(playerId, ERR_ObserverReason.SPAWN_UNAVAILABLE); return; } - m_Attempts.Set(playerId, attempts + 1); if (!mode.Players().CanEnter(playerId, mode.Phase())) { ERR_ObserverReason reason = ERR_ObserverReason.SPENT_LIFE; @@ -66,7 +84,9 @@ class ERR_SpawnLogic : SCR_SpawnLogic Faction faction = mode.PlayerFaction(); if (!affiliation || !respawn || !faction) { RetryLater(playerId); return; } affiliation.RequestFaction(faction); - vector position = SpawnPosition(mode, playerId); + vector position; + if (!SpawnPosition(mode, position)) { RetryLater(playerId); return; } + m_Attempts.Set(playerId, attempts + 1); SCR_FreeSpawnData request = new SCR_FreeSpawnData(mode.Factions().PrisonerPrefab, position); if (!respawn.CanSpawn(request)) { RetryLater(playerId); return; } m_AuthorizedPositions.Set(playerId, position); @@ -74,36 +94,116 @@ class ERR_SpawnLogic : SCR_SpawnLogic if (!respawn.RequestSpawn(request)) OnPlayerSpawnFailed_S(playerId); } - protected vector SpawnPosition(ERR_GameMode mode, int playerId) + protected bool SpawnPosition(ERR_GameMode mode, out vector position) { - int column = playerId % 3; - int row = playerId % 4; - vector offset = Vector(column - 1, 0, row - 1); - vector prison = ERR_Actors.Ground(mode.PrisonPosition() + offset); - if (mode.Phase() == ERR_Phase.PRISON) return prison; + if (mode.Phase() == ERR_Phase.PRISON) return m_Placement.Prison(mode.PrisonPosition(), m_AuthorizedPositions, position); array survivors = {}; ERR_Actors.Players(survivors, true); foreach (IEntity survivor : survivors) { - if (CompartmentAccessComponent.GetVehicleIn(survivor)) continue; - vector anchor = survivor.GetOrigin(); - vector ground = ERR_Actors.Ground(anchor); - if (Math.AbsFloat(anchor[1] - ground[1]) > 1.5) continue; - vector position = ERR_Actors.Ground(anchor + "3 0 0" + offset); - if (position[1] < 1 || Math.AbsFloat(position[1] - anchor[1]) > 1.5) continue; - TraceParam trace = new TraceParam(); - trace.Start = anchor + "0 1 0"; - trace.End = position + "0 1 0"; - trace.Flags = TraceFlags.WORLD | TraceFlags.ENTS; - trace.LayerMask = TRACE_LAYER_CAMERA; - trace.Exclude = survivor; - if (GetGame().GetWorld().TraceMove(trace, null) < 1) continue; - trace.Start = position + "0 0.15 0"; - trace.End = position + "0 2 0"; - if (GetGame().GetWorld().TraceMove(trace, null) < 1) continue; - return position; + if (SCR_FactionManager.SGetFaction(survivor) != mode.PlayerFaction()) continue; + if (m_Placement.Near(survivor, m_AuthorizedPositions, position)) return true; } - return prison; + return m_Placement.Prison(mode.PrisonPosition(), m_AuthorizedPositions, position); + } + + ERR_SpawnTicket CreateSpawnTicket(SCR_SpawnRequestComponent request, SCR_SpawnData data) + { + if (!Replication.IsServer() || !request || !data) return null; + int id = request.GetPlayerId(); + if (!Authorizes(id, data)) return null; + ERR_SpawnTicket ticket = new ERR_SpawnTicket(); + ticket.ConnectionId = id; + ticket.AccountId = m_Identities.Get(id); + ticket.Mode = ERR_GameMode.Get(); + ticket.Controller = SCR_PlayerController.Cast(request.GetPlayerController()); + ticket.Request = request; + ticket.Data = data; + return ticket; + } + bool TrackSpawnTicket(ERR_SpawnTicket ticket) + { + if (!Replication.IsServer() || !ticket || !ticket.Actor || ticket.Mode != ERR_GameMode.Get() || !Authorizes(ticket.ConnectionId, ticket.Data)) return false; + foreach (ERR_SpawnTicket existing : m_SpawnTickets) + if (existing.Request == ticket.Request || existing.Actor == ticket.Actor) return false; + m_SpawnTickets.Insert(ticket); + return true; + } + ERR_SpawnTicket TakeSpawnTicket(SCR_SpawnRequestComponent request, SCR_SpawnData data, IEntity entity) + { + if (!Replication.IsServer() || !request || !data || !entity) return null; + for (int i = 0; i < m_SpawnTickets.Count(); i++) + { + ERR_SpawnTicket ticket = m_SpawnTickets[i]; + if (ticket.Request != request || ticket.Data != data || ticket.Actor != entity) continue; + m_SpawnTickets.Remove(i); + return ticket; + } + return null; + } + bool MayFinalizeSpawn(ERR_SpawnTicket ticket) + { + ERR_GameMode mode = ERR_GameMode.Get(); + if (!Replication.IsServer() || m_AdmissionsStopped || !mode || !ticket || ticket.Mode != mode || !ticket.Actor || !ticket.Request || !ticket.Controller) return false; + ERR_PlayerLife life = mode.Players().Get(ticket.ConnectionId); + if (!life || !m_Identities.Contains(ticket.ConnectionId)) return false; + PlayerController controller = GetGame().GetPlayerManager().GetPlayerController(ticket.ConnectionId); + bool sameController = controller == ticket.Controller && ticket.Request.GetPlayerController() == ticket.Controller; + bool sameRequest = ticket.Request.GetPlayerId() == ticket.ConnectionId && m_Identities.Get(ticket.ConnectionId) == ticket.AccountId; + if (!ERR_SpawnFinalizationRules.Allows(mode.Phase(), life.Connected, life.UsedLife, ticket.AccountId, life.AccountId, sameController, sameRequest, ticket.Controller.GetControlledEntity() == null)) return false; + if (!ERR_Actors.Alive(ticket.Actor) || !Authorizes(ticket.ConnectionId, ticket.Data)) return false; + // The preloaded body may have fallen or the reserved space become occupied. + if (!ERR_SpawnFinalizationRules.PositionClose(ticket.Actor.GetOrigin(), ticket.Data.GetPosition())) return false; + return m_Placement.Clear(ticket.Data.GetPosition(), m_AuthorizedPositions, ticket.ConnectionId, ticket.Actor); + } + protected void CancelOwnedTickets(int playerId, bool sendResponse) + { + for (int i = m_SpawnTickets.Count() - 1; i >= 0; i--) + { + ERR_SpawnTicket ticket = m_SpawnTickets[i]; + if (ticket.ConnectionId != playerId) continue; + m_SpawnTickets.Remove(i); + bool notify = sendResponse && ticket.Controller && ticket.Controller == GetGame().GetPlayerManager().GetPlayerController(playerId); + if (ticket.Request) ticket.Request.ERR_CancelAdmission(ticket.Data, notify); + ERR_Actors.DeleteSpawned(ticket.Actor); + } + } + protected void CancelAdmission(int playerId, ERR_ObserverReason reason) + { + m_Attempts.Remove(playerId); + m_Retries.Remove(playerId); + ClearPending(playerId); + m_AuthorizedPositions.Remove(playerId); + CancelOwnedTickets(playerId, true); + SCR_PlayerController controller = SCR_PlayerController.Cast(GetGame().GetPlayerManager().GetPlayerController(playerId)); + if (controller) controller.ERR_SetObserver(reason); + } + protected void AdmissionPhaseChanged(ERR_Phase previous, ERR_Phase current) + { + if (!Replication.IsServer() || current <= ERR_Phase.RADIO_DEFENCE) return; + array pending = {}; + foreach (int id, vector position : m_AuthorizedPositions) pending.Insert(id); + foreach (ERR_SpawnTicket ticket : m_SpawnTickets) + if (!pending.Contains(ticket.ConnectionId)) pending.Insert(ticket.ConnectionId); + foreach (int playerId : pending) + { + ERR_ObserverReason reason = ERR_ObserverReason.NONE; + if (current == ERR_Phase.EXTRACTION) reason = ERR_ObserverReason.LATE_EXTRACTION; + CancelAdmission(playerId, reason); + } + } + protected void StopAdmissions() + { + if (!Replication.IsServer()) return; + m_AdmissionsStopped = true; + array pending = {}; + foreach (int id, vector position : m_AuthorizedPositions) pending.Insert(id); + foreach (ERR_SpawnTicket ticket : m_SpawnTickets) + if (!pending.Contains(ticket.ConnectionId)) pending.Insert(ticket.ConnectionId); + foreach (int playerId : pending) CancelAdmission(playerId, ERR_ObserverReason.NONE); + m_Attempts.Clear(); + m_Retries.Clear(); + GetGame().GetCallqueue().Remove(RetrySpawn); } protected void ClearPending(int playerId) @@ -127,6 +227,7 @@ class ERR_SpawnLogic : SCR_SpawnLogic } protected override void OnPlayerSpawnFailed_S(int playerId) { + CancelOwnedTickets(playerId, false); ClearPending(playerId); m_AuthorizedPositions.Remove(playerId); RetryLater(playerId); @@ -144,11 +245,13 @@ class ERR_SpawnLogic : SCR_SpawnLogic { super.OnPlayerEntityLost_S(playerId); if (!m_Identities.Contains(playerId)) return; - GetGame().GetCallqueue().CallLater(ObserveAfterLoss, 100, false, playerId, m_Identities.Get(playerId)); + SCR_PlayerController controller = SCR_PlayerController.Cast(GetGame().GetPlayerManager().GetPlayerController(playerId)); + GetGame().GetCallqueue().CallLater(ObserveAfterLoss, 100, false, playerId, m_Identities.Get(playerId), controller); } - protected void ObserveAfterLoss(int playerId, UUID identity) + protected void ObserveAfterLoss(int playerId, UUID identity, SCR_PlayerController expectedController) { - if (!m_Identities.Contains(playerId) || m_Identities.Get(playerId) != identity) return; + if (!expectedController || !m_Identities.Contains(playerId) || m_Identities.Get(playerId) != identity) return; + if (GetGame().GetPlayerManager().GetPlayerController(playerId) != expectedController || ERR_Actors.Alive(expectedController.GetControlledEntity())) return; ERR_GameMode mode = ERR_GameMode.Get(); ERR_PlayerLife life; if (mode) life = mode.Players().Get(playerId); @@ -169,10 +272,7 @@ class ERR_SpawnLogic : SCR_SpawnLogic } override void OnPlayerDisconnected_S(int playerId, KickCauseCode cause, int timeout) { - m_Attempts.Remove(playerId); - m_Retries.Remove(playerId); - ClearPending(playerId); - m_AuthorizedPositions.Remove(playerId); + CancelAdmission(playerId, ERR_ObserverReason.NONE); m_Identities.Remove(playerId); ERR_GameMode mode = ERR_GameMode.Get(); if (mode) mode.Players().Disconnect(playerId); @@ -181,13 +281,21 @@ class ERR_SpawnLogic : SCR_SpawnLogic bool Authorizes(int playerId, SCR_SpawnData data) { ERR_GameMode mode = ERR_GameMode.Get(); - if (!Replication.IsServer() || !mode || !data || !mode.Players().CanEnter(playerId, mode.Phase())) return false; + if (!Replication.IsServer() || m_AdmissionsStopped || !mode || !data || !m_Identities.Contains(playerId) || !mode.Players().CanEnter(playerId, mode.Phase())) return false; + ERR_PlayerLife life = mode.Players().Get(playerId); + if (!life || life.AccountId != m_Identities.Get(playerId)) return false; if (!m_Pending.Contains(playerId) || !m_AuthorizedPositions.Contains(playerId) || data.GetPrefab() != mode.Factions().PrisonerPrefab) return false; return vector.Distance(data.GetPosition(), m_AuthorizedPositions.Get(playerId)) < 0.1; } void ~ERR_SpawnLogic() { if (!GetGame()) return; + StopAdmissions(); + if (m_LifecycleMode) + { + m_LifecycleMode.OnPhaseChanged().Remove(AdmissionPhaseChanged); + m_LifecycleMode.OnStop().Remove(StopAdmissions); + } GetGame().GetCallqueue().Remove(RetrySpawn); GetGame().GetCallqueue().Remove(ObserveAfterLoss); } diff --git a/addons/core/Scripts/Game/ERR/ERR_SpawnPlacement.c b/addons/core/Scripts/Game/ERR/ERR_SpawnPlacement.c new file mode 100644 index 0000000..de37bbe --- /dev/null +++ b/addons/core/Scripts/Game/ERR/ERR_SpawnPlacement.c @@ -0,0 +1,76 @@ +// Allocation is based on occupied space, never on a transient player ID. +class ERR_SpawnPlacement +{ + protected IEntity m_Exclude; + protected bool m_Blocked; + protected bool Obstacle(IEntity entity) + { + if (!entity || (!entity.GetVObject() && !ChimeraCharacter.Cast(entity))) return true; + IEntity parent = entity; + for (int depth = 0; parent && depth < 32; depth++) + { + if (parent == m_Exclude) return true; + parent = parent.GetParent(); + } + m_Blocked = true; + return false; + } + bool Clear(vector position, map reservations, int ownReservation = -1, IEntity exclude = null) + { + if (!Replication.IsServer()) return false; + if (reservations) + foreach (int id, vector reserved : reservations) + if (id != ownReservation && vector.DistanceXZ(position, reserved) < 1.2 && Math.AbsFloat(position[1] - reserved[1]) < 2) return false; + vector ground = ERR_Actors.Ground(position); + if (ground[1] < 1 || Math.AbsFloat(position[1] - ground[1]) > 0.3) return false; + // Feet need supported, reasonably level terrain across the character width. + for (int x = -1; x <= 1; x++) + for (int z = -1; z <= 1; z++) + { + vector sample = ERR_Actors.Ground(position + Vector(x * 0.45, 0, z * 0.45)); + if (Math.AbsFloat(sample[1] - ground[1]) > 0.3) return false; + } + m_Blocked = false; + m_Exclude = exclude; + GetGame().GetWorld().QueryEntitiesByAABB(ground + "-0.45 0.15 -0.45", ground + "0.45 1.9 0.45", Obstacle); + m_Exclude = null; + return !m_Blocked; + } + bool Prison(vector center, map reservations, out vector position) + { + // 25 bounded candidates lie inside the authored 12 by 12 metre prison. + for (int z = -2; z <= 2; z++) + for (int x = -2; x <= 2; x++) + { + vector candidate = ERR_Actors.Ground(center + Vector(x * 1.5, 0, z * 1.5)); + if (!Clear(candidate, reservations)) continue; + position = candidate; + return true; + } + return false; + } + bool Near(IEntity survivor, map reservations, out vector position) + { + if (!ERR_Actors.CanFight(survivor) || CompartmentAccessComponent.GetVehicleIn(survivor)) return false; + vector anchor = survivor.GetOrigin(); + vector floor = ERR_Actors.Ground(anchor); + if (Math.AbsFloat(anchor[1] - floor[1]) > 1.5) return false; + for (int z = -2; z <= 2; z++) + for (int x = -2; x <= 2; x++) + { + if (x == 0 && z == 0) continue; + vector candidate = ERR_Actors.Ground(anchor + Vector(x * 1.5, 0, z * 1.5)); + if (Math.AbsFloat(candidate[1] - anchor[1]) > 1.5 || !Clear(candidate, reservations)) continue; + TraceParam trace = new TraceParam(); + trace.Start = anchor + "0 1 0"; + trace.End = candidate + "0 1 0"; + trace.Flags = TraceFlags.WORLD | TraceFlags.ENTS; + trace.LayerMask = TRACE_LAYER_CAMERA; + trace.Exclude = survivor; + if (GetGame().GetWorld().TraceMove(trace, null) < 1) continue; + position = candidate; + return true; + } + return false; + } +} diff --git a/docs/acceptance.json b/docs/acceptance.json index db1bd2b..4c7a870 100644 --- a/docs/acceptance.json +++ b/docs/acceptance.json @@ -332,6 +332,74 @@ "docs/evidence/native-2026-09-19-042046/report.json", "docs/evidence/native-2026-09-19-042046/source-sha256.json" ] + }, + "scripted_finite_ground_transport": { + "status": "passed", + "scope": "One hidden muted Core transport fixture; 23 assertions, no script/VM exceptions. Surveyed parking, five usable seats, actual driver/passenger occupancy, native engine startup, 58.5 L initial fuel, depletion/loss and no replacement/reinitialization pass. Fixture explicitly requests reset; seven inherited vehicle schema errors remain. No manual driving or multiplayer claim.", + "evidence": [ + "docs/evidence/native-2026-09-19-044205/report.json", + "docs/evidence/native-2026-09-19-044205/source-sha256.json" + ] + }, + "scripted_radio_service_companion_escape": { + "status": "passed", + "scope": "One hidden muted full-companion escape; 48 assertions, no script/VM exceptions. New production radio service passes real-time departure/reset/continuous completion, native extraction and personal result integration. Seven inherited vehicle schema errors remain; new isolated async radio edge-case fixture and network acceptance are separate.", + "evidence": [ + "docs/evidence/native-2026-09-19-044924/report.json", + "docs/evidence/native-2026-09-19-044924/source-sha256.json" + ] + }, + "scripted_player_admission_guards": { + "status": "passed", + "scope": "One hidden muted Core native lifecycle fixture, 54 assertions, no script/VM exceptions. Ordinary initial spawn, 20 remaining prison slots around one player, reserved positions, physical body obstruction, actual handler refusal/owned cleanup, controlled actor protection and deferred vertical drift. Fixture requests terminal reset; seven inherited vehicle errors remain. No remote preload or reconnect acceptance.", + "evidence": [ + "docs/evidence/native-2026-09-19-050403/report.json", + "docs/evidence/native-2026-09-19-050403/source-sha256.json" + ] + }, + "scripted_radio_admission_restart": { + "status": "passed", + "scope": "Two hidden muted Core escape/restart rounds; 340 assertions, no script/VM errors. Physical radio edge cases with deferred state recovery, ordinary real-time defence, live native objective details and fresh prisoner spawning through admission guard. Synthetic radio membership/timestamps are not remote-client evidence. Seven inherited vehicle errors remain.", + "evidence": [ + "docs/evidence/native-2026-09-19-050515/report.json", + "docs/evidence/native-2026-09-19-050515/source-sha256.json" + ] + }, + "scripted_objective_widget_restart": { + "status": "passed", + "scope": "Two hidden muted Core escape/restart rounds, 374 assertions, no script/VM errors. Native detail close/rebind/reopen, event unsubscribe and delayed callback checks pass alongside radio and admission regressions. Launch/stopped-source and raw-log hashes verify. Seven inherited resource errors remain; later weak-task deletion guard and real remote UI acceptance are separate.", + "evidence": [ + "docs/evidence/native-2026-09-19-051452/report.json", + "docs/evidence/native-2026-09-19-051452/source-sha256.json", + "docs/evidence/native-2026-09-19-051452/source-provenance.json" + ] + }, + "scripted_admission_companion_death": { + "status": "passed", + "scope": "One hidden muted companion death/spectator/defeat fixture, 32 assertions, no script/VM errors. Native damage, spent-life retention and local spectator activation pass after admission and delayed observer changes. Launch/stopped-source and log hashes verify; seven inherited resource errors remain. No remote reconnect or streaming claim.", + "evidence": [ + "docs/evidence/native-2026-09-19-052932/report.json", + "docs/evidence/native-2026-09-19-052932/source-sha256.json", + "docs/evidence/native-2026-09-19-052932/source-provenance.json" + ] + }, + "scripted_admission_companion_escape": { + "status": "passed", + "scope": "One hidden muted companion escape, 48 assertions, no script/VM errors. New radio and spawn admission services preserve physical intel, admin aliases and extraction. Seven inherited resource errors remain; objective teardown refinements have separate evidence.", + "evidence": [ + "docs/evidence/native-2026-09-19-052352/report.json", + "docs/evidence/native-2026-09-19-052352/source-sha256.json", + "docs/evidence/native-2026-09-19-052352/source-provenance.json" + ] + }, + "scripted_deleted_task_widget_cleanup": { + "status": "passed", + "scope": "One hidden muted Core objective UI fixture, 30 assertions, no script/VM exceptions. Native close/rebind/reopen, actual isolated task deletion, cleared weak references, global task-event cleanup, no delayed callbacks and restored real objective assignment. Final 116-addon-file launch/stopped manifest and log hash verify. Seven inherited resource errors remain; no manual or remote UI claim.", + "evidence": [ + "docs/evidence/native-2026-09-19-053124/report.json", + "docs/evidence/native-2026-09-19-053124/source-sha256.json", + "docs/evidence/native-2026-09-19-053124/source-provenance.json" + ] } } } diff --git a/docs/architecture.md b/docs/architecture.md index f146a46..b93be4d 100644 --- a/docs/architecture.md +++ b/docs/architecture.md @@ -6,7 +6,7 @@ Core owns `ERR_GameMode`, mission rules, native spawn lifecycle integration, settings, the location registry, the vanilla faction catalog and authored scenario construction. `ERR_Phase` transitions are checked centrally. `ERR_LocationComponent` registers stable location IDs and replicates discovery. Mission phase, discovery and persistent settings mutations are server-owned. -The mode exposes `OnPhaseChanged`, `OnGroup`, `OnTick`, `OnStop` and server-side `OnLocationDiscovered` events. `ERR_CommandService` is the response-coordinator interface. AI supplies its implementation through `CreateCommandService`. Core owns `ERR_DiscoveryService`, recovering physical documents and remembering consumed folder identities, and presents discovered objective markers. Intel subscribes to group and mission ticks only to distribute optional extra documents to enemies. Map supplies its shared field-map item through the scenario resource hook. Chat sends authenticated owner RPCs to mutate validated settings or read HQ status. Scenario placement and mission transitions are separate classes, but richer lifecycle and objective service interfaces remain migration work. +The mode exposes `OnPhaseChanged`, `OnGroup`, `OnTick`, `OnStop` and server-side `OnLocationDiscovered` events. `ERR_CommandService` is the response-coordinator interface. AI supplies its implementation through `CreateCommandService`. Core owns `ERR_DiscoveryService`, recovering physical documents and remembering consumed folder identities, and presents discovered objective markers. Intel subscribes to group and mission ticks only to distribute optional extra documents to enemies. Map supplies its shared field-map item through the scenario resource hook. Chat sends authenticated owner RPCs to mutate validated settings or read HQ status. Scenario placement, radio defence, extraction and mission transitions are separate services; native player assignment uses an account-bound admission gate. Further contracts for support/logistics remain migration work. ## HQ information flow @@ -26,13 +26,13 @@ Stop events cancel service timers, remove HQ waypoints and despawn owned AI grou `ERR_PlayerRoster` owns life records by backend identity; transient connection IDs are only lookup keys. Spawn, disconnect and rebind publish `OnChanged`. The native reconnect component retains the same physical character for voluntary as well as involuntary departures during its configured reservation interval. Reservation expiry does not restore a spent life. The defeat check includes reserved living characters. A server with no connected players pauses defeat and clears the radio defence timer. -First-time arrivals may spawn during prison, search or defence. Late spawn positions are checked beside conscious, on-foot survivors, with the authored prison as fallback. New arrivals during extraction observe until the next round. Dead players cannot request another life. Unconscious characters remain survivors and retain their own camera; they do not hold the radio objective. +First-time arrivals may spawn during prison, search or defence. Prison placement checks a bounded grid against physical obstacles and pending reservations; a full grid waits without spending the failure budget. Late spawn positions are checked beside conscious, on-foot survivors, with the same prison grid as fallback. Native preloads receive account/controller/request/data/actor-bound tickets. Final assignment rechecks current life, phase, connection and placement; stop, disconnect and closed-admission phases cancel owned pending actors and callbacks. See [player lifecycle](player-lifecycle.md). New arrivals during extraction observe until the next round. Dead players cannot request another life. Unconscious characters remain survivors and retain their own camera; they do not hold the radio objective. The server selects a living friendly survivor for each spectator and replicates only its replication ID and fallback position. A local camera follows that survivor; owner RPCs allow `/esc spectate next` and `/esc spectate previous`. Only the selected survivor and occupied vehicle are pinned for streaming to that spectator. Loss, target changes and mission stop release pins. Reconnect, remote streaming and multi-client camera behavior still require multiplayer tests. ## Base objective presentation -`ERR_Objectives` subscribes to phase and tick events and publishes one native `SCR_Task` per active phase, completing the previous task or failing it on defeat. Core mission rules alone advance phases. Native task replication carries current instructions to joining players; task markers remain list-only because the discovery registry owns map disclosure. Radio descriptions update on five-second boundaries and show interruptions. These APIs compile against installed vanilla scripts; actual task UI presentation and remote-client delivery still require gameplay validation. +`ERR_Objectives` subscribes to phase and tick events and publishes one native `SCR_Task` per active phase, completing the previous task or failing it on defeat. The independent radio service emits start/completion events; Core mission rules alone advance phases. Native task replication carries current instructions to joining players; task markers remain list-only because the discovery registry owns map disclosure. Radio descriptions update on five-second boundaries and show interruptions. These APIs compile against installed vanilla scripts; actual task UI presentation and remote-client delivery still require gameplay validation. ## Authored sites and finite scavenging @@ -56,3 +56,11 @@ Preparation failure is retained in replicated state. Spawning remains disabled, The native end-data connection ID list is retained only as a framework adapter. Core publishes an account-derived personal result on each player's controller, keyed to the current mission replication ID and reset at round startup/audit. Binding/rebinding republishes the result. The successor victory content ignores stale end-data winner IDs and refreshes if personal-result replication arrives after the end screen opens. Local widget tests and real network reconnect acceptance are distinct. `ERR_TimeService` configures the native world clock once before the prison phase. Core administration saves start time and progression for the next round while showing the current applied values separately. The native manager advances and replicates time; there is no per-tick clock reset. See [mission time](mission-time.md) and [extraction](extraction.md). + +## Radio defence service and objective details + +`ERR_RadioDefenceService` owns tune authorization, eligible conscious defenders, continuous occupancy and one-time completion. GameMode consumes its events to advance phases and expose extraction; native tasks carry instructions to clients. The service requires current connected life records and the configured player faction, so unregistered actors, disconnected bodies and hostile characters cannot hold transmission. Empty-server sampling resets progress before mission work pauses. See [radio defence](radio-defence.md) for exact boundaries and test scope. + +`ERR_ObjectiveText` supplies hints and native task descriptions from the same mission state. Radio identification can update local guidance within the search phase, and extraction instructions use the configured replicated radius. `ERR_ObjectiveDetails` subscribes open successor task details directly to native display-data changes; it removes that subscription on task switch and widget detach. Detach also removes native global task-event callbacks, and pending overflow work is cancelled before assignee labels are deleted. Other task types retain their native behavior. See [objective widget lifecycle](objective-widget-lifecycle.md). + +Optional ground transport belongs to the existing site definition/service and its rollback path. It has bounded parking checks, actual native fuel and compartments, and no replacement/refill loop. See [ground transport](ground-transport.md). diff --git a/docs/base-gameplay-gaps.md b/docs/base-gameplay-gaps.md new file mode 100644 index 0000000..ef557fc --- /dev/null +++ b/docs/base-gameplay-gaps.md @@ -0,0 +1,46 @@ +# Bounded base gameplay audit: starting kit and casualty recovery + +This source audit covers the first Everon release for up to 12 players. It identifies the next three implementation/acceptance priorities; it does not claim that the ordinary escape route is impossible. No health settings, loadouts, original missions or shared staging were changed by this review. No engine was launched. + +## 1. Establish an explicit successor starting kit + +**Observed implementation gap; not a reproduced spawn or progression failure.** `addons/core/Configs/ERR/VanillaFactions.conf:4` selects vanilla `Character_US_Unarmed.et`. That prefab changes headgear/jacket and the jacket inventory target; it does not clear the inherited pants inventory or equipment slots. Its inheritance is: + +- `{2F912ED6E399FF47}Prefabs/Characters/Factions/BLUFOR/US_Army/Character_US_Unarmed.et` +- `{284E735C6C70DAD2}Prefabs/Characters/Factions/BLUFOR/US_Army/Character_US_BaseLoadout.et` +- `{836E7E39AAC5888B}Prefabs/Characters/Factions/BLUFOR/US_Army/Character_US_Base.et` +- `{37578B1666981FCE}Prefabs/Characters/Core/Character_Base.et` + +Installed vanilla `Character_US_BaseLoadout.et:4–16` authors binoculars and a watch. Its `InitialInventoryItems` at lines 39–53 authors a handheld radio, compass, map, two dressings, tourniquet, morphine, E-tool, two flares and flashlight. Read-only unpacked evidence is available under `/tmp/erri-vanilla/Prefabs/Characters/Factions/BLUFOR/US_Army/`. The unarmed child keeps the pants contents and changes the jacket target to its rolled-up jacket. Actual inventory initialization/capacity and the exact retained runtime item count still need a native inventory assertion. + +Thus “unarmed” currently means no weapon, not stripped prisoner equipment. Maps/binoculars and medical supplies cannot be balanced solely by reading the successor's site stock. Author a successor prisoner prefab that explicitly retains or clears each intended inherited slot/item; preserve vanilla character health and interaction components. Then assert actual starting inventory, compatible magazine capacity, clue pickup and finite stock across a representative 12-character setup before manual testing. + +`EveronSites.conf:14–17` stocks five PM pistols, eight magazines and one map in the prison. Five pistols for 12 players is **not established as a defect**: seven initially unarmed prisoners may be intentional. The two subsequent caches contain eight plus four AK-74s. Decide the desired scarcity explicitly and test the first guarded escape at that loadout; do not automatically increase weapons or remove inherited medical supplies based on this audit. + +## 2. Prove treatment and casualty loading through real vanilla interactions + +**Acceptance gap; no broken medical item or missing character component was demonstrated.** `EveronSites.conf:82–97` provides a hidden medical stash with 12 dressings, six saline bags and six morphine injections. Its position is 6340/7400, discovery radius 25m, and `RevealOnEscape` is 0. The visible clue caches provide dressings, but neither provides saline or a medical-stash clue. Finding the advanced stash therefore currently depends on approaching it; that is a route/discovery decision, not evidence of an impossible route. + +The current native base fixture restores consciousness directly with `CharacterControllerComponent.SetUnconscious(false)` (`ERR_NativeBaseSmoke.c:389`). The extraction fixture boards conscious actors using native `GetInVehicle` (`ERR_NativeExtractionProbe.c:78`), then makes a passenger unconscious while already aboard (`:120`). These tests establish mission handling of consciousness and occupied seats. They do not establish treating real blood loss, consuming medicine, transferring an injured player from ground to a seat, or remaining aboard during treatment and flight. + +Relevant installed sources are `scripts/Game/Components/Damage/SCR_CharacterDamageManagerComponent.c`, `scripts/Game/Components/Gadgets/SCR_ConsumableSalineBag.c`, and `Prefabs/Items/Medicine/SalineBag_01/SalineBag_01_base.et`. The saline effect checks damaged blood, target saline-storage availability and occupied treatment slots; `ApplyEffect` moves the real bag into the treatment slot. The concrete bag's inherited configuration applies a 1500-unit restoration over 90 seconds after a 10-second action. These resources were inspected directly from the installed `addons/data/data*.pak` archives; no original Escapists medical implementation was reused. + +Next scope: a native wounded-character fixture using actual stock and vanilla treatment APIs, followed by manual action/animation checks. Verify bleeding control, tourniquet application/removal, saline consumption/effect completion, morphine, regained consciousness without directly toggling it, drag/carry/load of an unconscious casualty, and release of treatment/seat state after interruption. Keep finite supply depletion and failure cases. Only then decide whether the hidden medical site needs a clue or earlier saline availability. + +## 3. Design an outcome when every survivor is incapacitated + +**Concrete unhandled policy branch; a persistent native hang has not been reproduced.** `ERR_PlayerRoster.c:80–86` reports any living used-life actor as a survivor. `ERR_GameMode.c:320–330` starts the 30-second defeat grace only when that method returns false. Therefore an entire living but incapacitated group does not enter the defeat grace. This correctly preserves a recoverable unconscious player, including reconnect reservations, but does not distinguish a whole group that cannot recover or help one another. + +Installed `scripts/Game/GameMode/Misc/SCR_GameModeHealthSettings.c` defaults `m_bKillIndefinitelyUnconsciousPlayers` to false and permits unconsciousness. The successor inherits the empty health-settings component in vanilla `Prefabs/MP/Modes/GameMode_Base.et` without overriding that policy (`addons/core/Prefabs/ERR/GameMode.et`). Installed `SCR_CharacterDamageManagerComponent.c:789–819` explicitly distinguishes indefinite unconsciousness, including blood below the unconsciousness threshold. A test that simply restores consciousness after 35 seconds does not exercise this state. + +Choose and test a recovery policy before changing code. Concrete options are: + +1. Preserve vanilla recovery indefinitely, but provide a clear shared “no conscious rescuers” state and an explicit round-abandonment/restart path. Define who may invoke it and how reconnecting rescuers affect it. +2. Add a separate all-incapacitated grace, longer than the supported treatment/recovery window, that resets when someone becomes conscious. Defeat must wait for the chosen grace and account for reserved actors, ongoing treatment and possible recovery; do not replace `Alive` with `CanFight` in the existing defeat check. +3. Offer an explicit voluntary give-up decision while retaining recoverable unconsciousness. This requires its own player-facing authorization/confirmation design and must not silently consume another life or kill a recoverable teammate. + +Reproduce an actual low-blood incapacitation case with damage enabled before selecting thresholds. Test one recoverable casualty with a rescuer, a recovering all-unconscious group, an unrecoverable group, interrupted treatment, reconnecting rescuers and extraction with unconscious passengers. This is deliberately separate from the already-tested 35-second unconscious survivor protection and from multiplayer transport validation. + +## Scope limits + +No confirmed shortage of core medical components or incompatible medicine was found from the inspected inheritance. Runtime inventory, normal user actions, medical animations, medical balance and physical casualty loading remain unproven. The supported 12-player limit is a release target, not proof that five starting weapons are wrong. Original feature parity, manual flight/navigation, multiplayer and measured performance remain tracked elsewhere. diff --git a/docs/base-replacement.md b/docs/base-replacement.md index 90a7310..5b6c4c1 100644 --- a/docs/base-replacement.md +++ b/docs/base-replacement.md @@ -10,13 +10,14 @@ The [complete responsibility inventory](original-feature-coverage.md) assigns ev | Responsibility | Successor implementation | Still required | | --- | --- | --- | -| Mission setup and progression | Core phase rules, server settings/commands, saved starting time/progression, replicated startup failure status, definition validation and asynchronous site preparation | Player-facing setup, failure reporting, richer objective service boundaries | +| Mission setup and progression | Core phase rules, server settings/commands, saved starting time/progression, replicated startup failure status, definition validation and asynchronous site preparation | Player-facing setup, failure reporting, manual setup and failure-presentation validation | | Prison and player start | New vanilla composition, physical gate and supplies, native spawning | Manual escape and 12-player equipment/space validation; additional surveyed layouts | | Scavenging and discovery | Core owns two independent radio-clue caches, a medical stash, outpost stock, targeted documents and named discovery markers | Manual route access, inventory usability, medical treatment and gameplay balance | | Location population | Seven configured sites, six guard squads, finite stock/props, proximity discovery events and preparation rollback | Additional compositions, destruction presentation, manual access and multiplayer cleanup validation | -| Radio objective | Core authorizes interaction, requires conscious defenders, resets interrupted transmission and publishes native task progress | Native task and radio-progress UI validation, unconscious/revive and simultaneous-player validation | +| Radio objective | Separate radio service authorizes registered connected players, tracks continuous conscious occupancy and emits events; Core publishes native task progress | Native task and radio-progress UI validation, unconscious/revive and simultaneous-player validation | | Extraction and results | Separate extraction service, twelve physical occupants, partial UUID results, result-widget refresh, early loss and capacity validation | Manual boarding/piloting, actual remote reconnect and result delivery, casualty loading and empty-server flight verification | -| Player lifecycle | Identity roster, native reconnect reservation, one life, local unconsciousness/recovery checks, spectator camera, defeat/restart | Dedicated server and real multi-client reconnect/streaming tests | +| Player lifecycle | Identity roster, native reconnect reservation, one life, bounded reserved spawn slots, final native assignment checks, local unconsciousness/recovery, spectator camera, defeat/restart | Dedicated server and real multi-client reconnect/streaming tests | +| Ground transport | Authored optional finite UAZ, surveyed parking, native fuel/seats/engine and loss checks | Manual road access/driving, simultaneous use and network ownership | | Factions and assets | Injected faction/asset catalog drives prisoner, guard group, extraction and friendly/enemy lookup | Additional catalog combinations and remote validation; provenance review and release packaging | | Enemy strategic response | Optional AI addon supplies the sole HQ coordinator through `ERR_CommandService` | Complete virtualHQ integration after base contracts stabilize; no competing original response system | @@ -36,3 +37,5 @@ python3 tools/headless_workbench.py --compat /tmp/erri-headless-compat --profile ``` This diagnostic moves actors and the helicopter programmatically. It proves integration paths, not manual playability, multiplayer correctness or FPS improvement. + +The focused [manual gameplay gap audit](base-gameplay-gaps.md) records inherited starting equipment, real treatment/casualty-loading work and the all-incapacitated outcome policy. These require implementation decisions and native gameplay validation before first release. diff --git a/docs/evidence/native-2026-09-19-042945-ui-refresh-failure/console.log.txt b/docs/evidence/native-2026-09-19-042945-ui-refresh-failure/console.log.txt new file mode 100644 index 0000000..2f6e967 --- /dev/null +++ b/docs/evidence/native-2026-09-19-042945-ui-refresh-failure/console.log.txt @@ -0,0 +1,489 @@ +--------------------------------------------- +Log Z:\tmp\erri-workbench-profile\logs\logs_2026-09-19_04-29-45\console.log started at 2026-09-19 04:29:45 (2026-09-19 02:29:45 UTC) + +04:29:45.364 ENGINE : FileSystem: Adding relative directory 'Z:\tmp\erri-workbench-profile\logs\logs_2026-09-19_04-29-45' to filesystem under name logs +04:29:45.364 ENGINE : FileSystem: Adding relative directory 'Z:\tmp\erri-workbench-profile\profile' to filesystem under name profile +04:29:45.364 ENGINE : FileSystem: Current working directory: 'Z:\home\jakub\.local\share\Steam\steamapps\common\Arma Reforger Tools\Workbench\' +04:29:45.366 PROFILING : Workbench Create Engine took: 10.692400 ms +04:29:46.403 INIT : INIT : Workbench Init Engine +04:29:46.403 ENGINE : Initializing engine, version 192142 +04:29:46.403 ENGINE : CLI Params: -gproj Z:/home/jakub/devel/escapistsrereintroduced/addons/core/addon.gproj -addonsDir Z:/home/jakub/devel/escapistsrereintroduced/addons -profile Z:/tmp/erri-workbench-profile -logconsole -wbModule WorldEditor -load Worlds/ERR_Everon.ent -plugin ERR_ValidateBaseWorldPlugin -errPlay 1 -errBaseSmoke 1 -errSmokeOutcome victory -noThrow +04:29:46.411 ENGINE : Addon dirs: +04:29:46.412 ENGINE : dir: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/core/' +04:29:46.412 ENGINE : dir: 'Z:/home/jakub/devel/escapistsrereintroduced/addons' +04:29:46.412 ENGINE : dir: './addons' +04:29:46.412 ENGINE : dir: 'Z:/tmp/erri-workbench-profile/addons' +04:29:46.412 ENGINE : Available addons: +04:29:46.412 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/core/addon.gproj' guid: '2528466DE220D91C' +04:29:46.412 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/ai/addon.gproj' guid: '5192138CB9D5B911' +04:29:46.412 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/chat/addon.gproj' guid: 'FA804F411BDDF2C6' +04:29:46.412 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/intel/addon.gproj' guid: 'D31039C7C53E348A' +04:29:46.412 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/map/addon.gproj' guid: '9AAEE9041D79809E' +04:29:46.412 ENGINE : gproj: './addons/core/core.gproj' guid: '5614BBCCBB55ED1C' (packed) +04:29:46.412 ENGINE : gproj: 'Z:/tmp/erri-workbench-profile/addons/ArmaReforger/ArmaReforger.gproj' guid: '58D0FB3206B6F859' (packed) +04:29:46.412 ENGINE : FileSystem: Adding relative directory 'Z:\home\jakub\devel\escapistsrereintroduced\addons\core' to filesystem under name ERR_Core +04:29:46.526 ENGINE : FileSystem: Adding package 'Z:/tmp/erri-workbench-profile/addons/ArmaReforger/' (pak count: 14) to filesystem under name ArmaReforger +04:29:46.528 ENGINE : FileSystem: Adding package './addons/core/' (pak count: 2) to filesystem under name core +04:29:46.529 ENGINE : CPU vendor : AuthenticAMD +04:29:46.529 ENGINE : CPU type : 2 +04:29:46.529 ENGINE : CPU name : AMD Ryzen 7 3800XT 8-Core Processor +04:29:46.529 ENGINE : CPU cache info : L1 [Inst 32KB, Data 32KB], L2 [Unif 512KB], L3 [Unif 16384KB] +04:29:46.529 ENGINE : CPU count logical : 16 +04:29:46.529 ENGINE : CPU count physical : 8 +04:29:46.529 ENGINE : CPU features : mmx sse sse2 sse3 ssse3 sse4_1 sse4_2 popcnt aesni pclmulqdq osxsave avx sha avx2 +04:29:46.529 RESOURCES : ResourceDB: loading cache (id=0 name=ERR_Core path=Z:\home\jakub\devel\escapistsrereintroduced\addons\core/resourceDatabase.rdb) +04:29:46.529 RESOURCES : ResourceDB: loading cache (id=1 name=ArmaReforger path=Z:/tmp/erri-workbench-profile/addons/ArmaReforger/resourceDatabase.rdb) +04:29:46.666 RESOURCES : ResourceDB: loading cache (id=2 name=core path=./addons/core/resourceDatabase.rdb) +04:29:46.667 RESOURCES : ResourceDB: loading cache (id=3 name=profile path=Z:\tmp\erri-workbench-profile\profile/resourceDatabase.rdb) +04:29:46.668 RESOURCES : ResourceDB: loading cache (id=4 name=logs path=Z:\tmp\erri-workbench-profile\logs\logs_2026-09-19_04-29-45/resourceDatabase.rdb) +04:29:46.827 RESOURCES : RESOURCES : ResourceDB: full scan +04:29:46.832 RESOURCES : RESOURCES : scanning... +04:29:46.832 RESOURCES : RESOURCES : scanning @"ERR_Core" +04:29:46.834 RESOURCES : RESOURCES : scanning @"ArmaReforger" +04:29:46.969 RESOURCES : RESOURCES : scanning @"core" +04:29:46.972 RESOURCES : RESOURCES : scanning @"profile" +04:29:46.973 RESOURCES : RESOURCES : scanning @"logs" +04:29:46.973 RESOURCES : RESOURCES : processing meta-files... +04:29:47.037 RESOURCES : RESOURCES : processing files... +04:29:47.048 INIT : Workbench startup +04:29:47.048 INIT : Workbench Init Engine +04:29:47.048 RESOURCES : ResourceDB: full scan +04:29:47.048 RESOURCES : processing files... +04:29:47.048 RESOURCES (W): resource not registered: @"$profile:rereintroduced.json". Setting null GUID +04:29:47.048 RESOURCES : RESOURCES : processing folders... +04:29:47.056 RESOURCES : RESOURCES : creating GUID-item mapping... +04:29:47.072 RESOURCES : RESOURCES : building tree... +04:29:47.123 PROFILING : ResourceDB: full scan took: 295.888800 ms +04:29:47.124 RESOURCES : ResourceDB: saving cache (id=0 name=ERR_Core path=Z:\home\jakub\devel\escapistsrereintroduced\addons\core/resourceDatabase.rdb) +04:29:47.125 RESOURCES : ResourceDB: written 3441/3441 bytes +04:29:47.125 RESOURCES : ResourceDB: cache successfully saved +04:29:47.126 RESOURCES : ResourceDB: saving cache (id=3 name=profile path=Z:\tmp\erri-workbench-profile\profile/resourceDatabase.rdb) +04:29:47.127 RESOURCES : ResourceDB: written 206/206 bytes +04:29:47.127 RESOURCES : ResourceDB: cache successfully saved +04:29:47.127 RESOURCES : ResourceDB: saving cache (id=4 name=logs path=Z:\tmp\erri-workbench-profile\logs\logs_2026-09-19_04-29-45/resourceDatabase.rdb) +04:29:47.128 RESOURCES : ResourceDB: written 81/81 bytes +04:29:47.128 RESOURCES : ResourceDB: cache successfully saved +04:29:47.128 ENGINE : GameProject load +04:29:47.128 ENGINE : Loaded addons: +04:29:47.128 ENGINE : gproj: './addons/core/core.gproj' guid: '5614BBCCBB55ED1C' +04:29:47.128 ENGINE : gproj: 'Z:/tmp/erri-workbench-profile/addons/ArmaReforger/ArmaReforger.gproj' guid: '58D0FB3206B6F859' +04:29:47.128 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/core/addon.gproj' guid: '2528466DE220D91C' +04:29:47.130 ENGINE : Loading custom engine user config '$profile:.save/app1874910_user76561198020202999/settings/ReforgerEngineSettings.conf' +04:29:47.130 INIT : GameProject engine user settings load @"$profile:.save/app1874910_user76561198020202999/settings/ReforgerEngineSettings.conf" +04:29:47.130 ENGINE : Engine user settings config loaded +04:29:47.130 PROFILING : Settings changed took: 0.002000 ms +04:29:47.233 RENDER : (OK) Adapter 'AMD Radeon RX 6950 XT (RADV NAVI21)' supports feature level 12_0 +04:29:47.235 RENDER : Basic screen setup: +04:29:47.235 RENDER : Back buffer format : TEXFMT_R8G8B8A8_SRGB (29) +04:29:47.235 RENDER : MSAA : none +04:29:47.249 RENDER : AMD AGS library initialized, version 6.1.0 x DLL 6.1.0 +04:29:47.250 RENDER : Extendeded AMD info for AMD Radeon RX 6950 XT (RADV NAVI21) (primary device) +04:29:47.250 RENDER : * architecture RDNA2, 80 CUs, 40 WGPs (for RDNA), 64 ROPs +04:29:47.250 RENDER : * core clocks 2720 MHz, memory 1124 MHz +04:29:47.250 RENDER : * TFlops 27.9, memory bandwidth (562.0 GB/s) +04:29:47.250 RENDER : AMD AGS correctly initialized +04:29:47.250 RENDER : GPU_ATI (0x1002) (AMD Radeon RX 6950 XT (RADV NAVI21)) with 1 GPU detected, VRAM 16128MB (fast 0MB), shared 64362MB, driver version 99.19.02-230831a-396538C-AMD-Software-Adrenalin-Edition +04:29:47.250 RENDER : Detected output devices: +04:29:47.250 RENDER : * 1 device/s connected to AMD Radeon RX 6950 XT (RADV NAVI21): +04:29:47.250 RENDER : Generic Non-PnP Monitor (\\.\DISPLAY1), 1280x720 (offset 0x0), 30Hz +04:29:47.250 RENDER : Concurrent frames limit 2 +04:29:47.325 RENDER : DX12 device successfully created by AMD AGS library +04:29:47.325 RENDER : * user markers not supported in this version AMD SW +04:29:47.325 RENDER : Graphics device features +04:29:47.325 RENDER : Needed: +04:29:47.325 RENDER : * Highest supported shader model: 6.8 (6.0 needed) +04:29:47.325 RENDER : Optional: +04:29:47.325 RENDER : * Allow tearing (VSYNC) : 1 +04:29:47.325 RENDER : * 16 bits : 1 +04:29:47.325 RENDER : * Resource heap tier : 3 +04:29:47.325 RENDER : * Persistent heaps (DRED) : 1 +04:29:47.325 RENDER : * DRED 1.2 is supported by compiler +04:29:47.348 RENDER : Main RT format setup. +04:29:47.349 RENDER : Main RT format for quality 0 : TEXFMT_R11G11B10_FLOAT (26) +04:29:47.349 RENDER : Main RT format for quality 1 : TEXFMT_R16G16B16A16_FLOAT (10) +04:29:47.351 ENGINE : Job system settings: coreCount=16, shortJobContextCount=16, shortJobThreadCount=15, longJobThreadCount=16 +04:29:47.379 PROFILING : Settings changed took: 0.014500 ms +04:29:47.804 AUDIO : Endpoint: Speakers (PulseAudio Output) +04:29:47.804 AUDIO : Format: Channels: 2, Sample rate: 48kHz, Avg. bytes: 384kB, Sample bits: 32, Block align: 8B +04:29:47.804 AUDIO : Audio client: +04:29:47.804 AUDIO : Format: Channels: 2, Sample rate: 48kHz, Buffer size: 1536B, Frame: 512 +04:29:47.807 RENDER : RENDER : Reload shaders +04:29:47.807 RENDER : Enfusion shader version 13 +04:29:47.807 INIT : INIT : ShaderListReload +04:29:47.807 PROFILING : ShaderListReload took: 0.000600 ms +04:29:47.950 AUDIO : Endpoint: Speakers (PulseAudio Output) +04:29:47.950 AUDIO : Format: Channels: 2, Sample rate: 48kHz, Avg. bytes: 384kB, Sample bits: 32, Block align: 8B +04:29:47.950 AUDIO : Audio client: +04:29:47.950 AUDIO : Format: Channels: 2, Sample rate: 48kHz, Buffer size: 1536B, Frame: 512 +04:29:48.059 RENDER : Loaded 3752 newer shader binaries +04:29:48.059 PROFILING : Reload shaders took: 251.773700 ms +04:29:48.059 ENGINE : Initializing inputs. +04:29:48.073 NETWORK : Initializing networking. +04:29:48.074 NETWORK : Using new GameRplScheduler. +04:29:48.074 SCRIPT : SCRIPT : Initializing scripts +04:29:48.074 SCRIPT : SCRIPT : ScriptProjectManager init +04:29:48.911 PROFILING : ScriptProjectManager init took: 836.281700 ms +04:29:48.946 PROFILING : Initializing scripts took: 871.630300 ms +04:29:48.964 ENGINE : Enfusion engine successfully created. +04:29:48.964 PROFILING : Workbench Init Engine took: 2561.344000 ms +04:29:48.964 INIT : INIT : Workbench Create Game +04:29:48.976 GUI : Using default language (en_us) +04:29:48.976 GUI : Loading 'en_us' localization file. +04:29:48.977 INIT : INIT : Loading StringTable +04:29:49.010 PROFILING : Loading StringTable took: 33.943800 ms +04:29:49.011 SCRIPT : SCRIPT : Compiling GameLib scripts +04:29:49.083 SCRIPT : Module: Workbench; loaded 18x files; 36x classes; used 125K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE"; CRC32: 90ce0460 +04:29:49.083 SCRIPT : Module: GameLib; loaded 465x files; 648x classes; used 828K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE"; CRC32: 4507af04 +04:29:49.084 PROFILING : Compiling GameLib scripts took: 73.620300 ms +04:29:49.084 SCRIPT : SCRIPT : Compiling Game scripts +04:29:50.193 INIT : Workbench Create Game +04:29:50.193 SCRIPT : Compiling Game scripts +04:29:50.193 SCRIPT (W): @"Scripts/Game/Editor/Components/EditableEntity/SCR_EditableEntityComponent.c,785": 'GetPlayerPlatformKind' is obsolete +04:29:50.193 SCRIPT (W): @"Scripts/Game/Editor/Components/EditableEntity/SCR_EditableEntityComponent.c,786": 'GetPlayerPlatformId' is obsolete +04:29:50.449 SCRIPT (W): @"Scripts/Game/Workshop/SCR_AddonManager.c,876": 'GetRefCount' is obsolete: Will be removed +04:29:50.482 SCRIPT (W): @"Scripts/Game/Campaign/SCR_PlayerProfileManagerComponent.c,142": 'PlayerData' is obsolete +04:29:50.578 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,159": 'GetDSSession' is obsolete +04:29:50.578 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,162": 'RoomID' is obsolete +04:29:50.578 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,197": 'GetDSSession' is obsolete +04:29:50.578 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,201": 'RoomID' is obsolete +04:29:50.670 SCRIPT (W): @"Scripts/Game/DataCollection/SCR_DataCollectorComponent.c,481": 'GetStorage' is obsolete +04:29:50.670 SCRIPT (W): @"Scripts/Game/DataCollection/SCR_DataCollectorComponent.c,483": 'GetOnlineWritePrivilege' is obsolete +04:29:50.671 SCRIPT (W): @"Scripts/Game/Utilities/SCR_PlayerIdentityUtils.c,20": 'GetPlayerIdentityId' is obsolete +04:29:50.711 SCRIPT (W): @"Scripts/Game/ERR/ERR_ExtractionService.c,45": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +04:29:50.711 SCRIPT (W): @"Scripts/Game/ERR/ERR_ExtractionService.c,56": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +04:29:50.712 SCRIPT (W): @"Scripts/Game/UI/Menu/MainMenuUI.c,643": 'GetNotifyCount' is obsolete: Will be substitued by Notification Api. +04:29:50.712 SCRIPT (W): @"Scripts/Game/UI/Menu/MainMenuUI.c,645": 'GetNotifyItem' is obsolete: Will be substitued by Notification Api. +04:29:50.765 SCRIPT (W): @"Scripts/Game/DataCollection/PlayerData/SCR_PlayerData.c,210": 'PlayerData' is obsolete +04:29:51.026 SCRIPT : Module: WorkbenchGame; loaded 171x files; 616x classes; used 2478K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE"; CRC32: db6febb9 +04:29:51.033 SCRIPT : Module: Game; loaded 5695x files; 11160x classes; used 32426K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE,ENABLE_BASE_DESTRUCTION,BUDGET_OPTIMIZATION_CHECKS,SHOW_DISCLAIMER,DEBUG,RESPAWN_TIMER_COMPONENT_DEBUG,GAME_MODE_DEBUG,DEBUG_CONFIGURABLE_DIALOGS,DISABLE_WEAPON_SWITCHING,SCRIPTED_AIM_MODIFIER_DEBUG"; CRC32: 9f851081 +04:29:51.071 PROFILING : Compiling Game scripts took: 1987.072000 ms +04:29:51.077 INIT : Creating game instance(ArmaReforgerScripted), version 1.8.0.13 built 2026-08-21 14:30:18 UTC. +04:29:51.114 ENGINE : Game successfully created. +04:29:51.116 PROFILING : Workbench Create Game took: 2151.195200 ms +04:29:51.123 DEFAULT : Using thumbnail cache directory: C:/users/steamuser/AppData/Local/Temp/Arma Reforger Workbench/Projects/ERR_Core/thumbnails +04:29:51.976 INIT : INIT : Workbench Reload Game +04:29:51.978 ENGINE : Game destroyed. +04:29:51.983 GUI : Using default language (en_us) +04:29:51.983 GUI : Loading 'en_us' localization file. +04:29:51.983 INIT : INIT : Loading StringTable +04:29:51.992 PROFILING : Loading StringTable took: 8.897400 ms +04:29:51.992 INIT : Creating game instance(ArmaReforgerScripted), version 1.8.0.13 built 2026-08-21 14:30:18 UTC. +04:29:51.999 SCRIPT : Unable to register a script command due keyword duplicity: ban +04:29:52.000 SCRIPT : Unable to register a script command due keyword duplicity: kick +04:29:52.000 ENGINE : Game successfully created. +04:29:52.000 ENGINE : Game successfully initialized. +04:29:52.000 PROFILING : Workbench Reload Game took: 23.342700 ms +04:29:52.712 WORLD : WORLD : Entities load '$ERR_Core:Worlds/ERR_Everon.ent' +04:29:53.681 PROFILING : Entities load took: 968.884400 ms +04:29:53.700 WORLD : WORLD : CreateEntities +04:29:53.707 WORLD : WORLD : NotifyBeforeEntitiesCreated +04:29:53.707 PROFILING : NotifyBeforeEntitiesCreated took: 0.004100 ms +04:29:53.707 WORLD : WORLD : Wait for preloading data +04:29:53.707 PROFILING : Wait for preloading data took: 0.003900 ms +04:29:53.818 ENTITY : Create entity @"ENTITY:2" ('Eden', GenericTerrainEntity) at <0.000000 0.000000 0.000000> @"{5AD924374E8C7AF6}Prefabs/World/Game/Eden/GenericTerrain_Eden.et" +04:29:53.818 PROFILING : PROFILING : Terrain load +04:29:55.405 PROFILING : Terrain load took: 1585.755300 ms +04:29:59.323 WORLD : CreateEntities +04:29:59.323 ENTITY : Create entity @"ENTITY:610406" ('StaticModelEntity','Assets/Structures/Infrastructure/Towers/TransmitterTower_01/TransmitterTower_01_small.xob') at <1931.796021 81.777000 5138.725098> @"{6A004A8F0571D456}Prefabs/Structures/Infrastructure/Towers/TransmitterTower_01/TransmitterTower_01_small.et" +04:29:59.323 ENTITY : CreateComponent 'ScriptedRadioComponent' +04:29:59.323 DEFAULT (W): World doesn't contain RadioManagerEntity to support any BaseRadioComponent. +04:30:09.021 WORLD : WORLD : NotifyBeforeEntitiesInitialized +04:30:09.021 PROFILING : NotifyBeforeEntitiesInitialized took: 0.007100 ms +04:30:09.443 WORLD : WORLD : NotifyEntitiesInitialized +04:30:09.443 TERRAIN : TERRAIN : Initializing road networks... +04:30:09.445 PROFILING : Initializing road networks... took: 2.103600 ms +04:30:09.445 PROFILING : NotifyEntitiesInitialized took: 2.381000 ms +04:30:09.446 PROFILING : CreateEntities took: 15745.057900 ms +04:30:09.620 PROFILING : * WorldEditor: LoadWorld: 16914.117200 ms +04:30:11.157 TERRAIN : Loading tile map config (worlds/Eden/Eden/tileMap.conf) +04:30:11.157 TERRAIN : Loading minimap config (worlds/Eden/Eden/miniMap.conf) +04:30:11.158 TERRAIN : The default minimap texture ('worlds/Eden/EdenRasterized.edds') not found. Trying 'worlds/Eden/Eden.edds'... +04:30:11.158 TERRAIN : The default minimap texture ('worlds/Eden/Eden.edds') not found. Skipping... +04:30:11.241 SCRIPT : ERR SITE SURVEY: supply=6150/7050 elevationRange=0.625 min=202.875 max=203.5 +04:30:11.264 BACKEND : Attempting online Game Config instead. +04:30:14.421 INIT : INIT : Workbench Reload Game +04:30:14.423 ENGINE : Game destroyed. +04:30:14.430 GUI : Using default language (en_us) +04:30:14.430 GUI : Loading 'en_us' localization file. +04:30:14.430 INIT : INIT : Loading StringTable +04:30:14.452 PROFILING : Loading StringTable took: 21.277800 ms +04:30:14.452 INIT : Creating game instance(ArmaReforgerScripted), version 1.8.0.13 built 2026-08-21 14:30:18 UTC. +04:30:14.460 SCRIPT : Unable to register a script command due keyword duplicity: ban +04:30:14.460 SCRIPT : Unable to register a script command due keyword duplicity: kick +04:30:14.460 ENGINE : Game successfully created. +04:30:14.460 ENGINE : Game successfully initialized. +04:30:14.460 PROFILING : Workbench Reload Game took: 38.889000 ms +04:30:14.463 DEFAULT (W): LogiLED: Cannot initialize! (service not running or no compatible device detected) +04:30:14.510 PLATFORM : Save data from container 'settings' have been loaded +04:30:14.600 PLATFORM : Save data from container 'sessions' have been loaded +04:30:14.601 PLATFORM : GameProject user settings load from profile @"ReforgerGameSettings.conf" +04:30:14.601 ENGINE : Game user settings config loaded +04:30:14.699 DEFAULT : [SaveGameManager] Starting new playthrough nr.0 '' for mission '{B6C516F86302C679}Worlds/ERR_Everon.ent'. +04:30:14.707 WORLD : WORLD : Game::LoadEntities +04:30:14.707 WORLD : WORLD : Initializing world systems @"{1C60D2EDA2B468B8}Configs/Systems/BaseGameModeSystems.conf" +04:30:14.708 NETWORK : Enabled lag compensation, 29 frames with 100 FPS and 280 ms rewind limits. +04:30:14.708 WORLD : WORLD : CreateEntities +04:30:14.708 WORLD : WORLD : CreateEntities +04:30:14.708 WORLD : WORLD : NotifyBeforeEntitiesCreated +04:30:14.713 RESOURCES : Loaded mission headers from 7 addon(s)! +04:30:14.713 PROFILING : NotifyBeforeEntitiesCreated took: 4.736900 ms +04:30:14.713 WORLD : WORLD : Wait for preloading data +04:30:14.713 PROFILING : Wait for preloading data took: 0.000700 ms +04:30:19.098 WORLD : Game::LoadEntities +04:30:19.098 WORLD : CreateEntities +04:30:19.098 WORLD : CreateEntities +04:30:19.098 ENTITY : Create entity @"ENTITY:610406" ('StaticModelEntity','Assets/Structures/Infrastructure/Towers/TransmitterTower_01/TransmitterTower_01_small.xob') at <1931.796021 81.777000 5138.725098> @"{6A004A8F0571D456}Prefabs/Structures/Infrastructure/Towers/TransmitterTower_01/TransmitterTower_01_small.et" +04:30:19.098 ENTITY : CreateComponent 'ScriptedRadioComponent' +04:30:19.098 DEFAULT (W): World doesn't contain RadioManagerEntity to support any BaseRadioComponent. +04:30:20.514 ENTITY : Create entity @"ENTITY:842066" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1080.213013 10.776751 6018.347168> +04:30:20.514 ENTITY : CreateComponent 'Hierarchy' +04:30:20.514 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842066" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1080.213013 10.776751 6018.347168>') +04:30:20.514 ENTITY : Create entity @"ENTITY:842068" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1082.185913 10.778749 6018.331055> +04:30:20.514 ENTITY : CreateComponent 'Hierarchy' +04:30:20.514 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842068" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1082.185913 10.778749 6018.331055>') +04:30:20.514 ENTITY : Create entity @"ENTITY:842070" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1084.190918 10.790751 6018.334961> +04:30:20.514 ENTITY : CreateComponent 'Hierarchy' +04:30:20.514 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842070" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1084.190918 10.790751 6018.334961>') +04:30:20.519 ENTITY : Create entity @"ENTITY:842333" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4425.594727 9.981750 11029.402344> +04:30:20.520 ENTITY : CreateComponent 'Hierarchy' +04:30:20.520 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842333" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4425.594727 9.981750 11029.402344>') +04:30:20.520 ENTITY : Create entity @"ENTITY:842335" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4426.584473 9.983749 11031.109375> +04:30:20.520 ENTITY : CreateComponent 'Hierarchy' +04:30:20.520 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842335" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4426.584473 9.983749 11031.109375>') +04:30:20.520 ENTITY : Create entity @"ENTITY:842337" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4427.572266 9.995750 11032.853516> +04:30:20.520 ENTITY : CreateComponent 'Hierarchy' +04:30:20.520 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842337" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4427.572266 9.995750 11032.853516>') +04:30:20.524 ENTITY : Create entity @"ENTITY:842591" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.946289 10.470250 1551.986084> +04:30:20.524 ENTITY : CreateComponent 'Hierarchy' +04:30:20.524 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842591" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.946289 10.470250 1551.986084>') +04:30:20.524 ENTITY : Create entity @"ENTITY:842593" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.430664 10.472250 1550.081421> +04:30:20.524 ENTITY : CreateComponent 'Hierarchy' +04:30:20.524 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842593" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.430664 10.472250 1550.081421>') +04:30:20.524 ENTITY : Create entity @"ENTITY:842595" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10008.926758 10.484250 1548.140869> +04:30:20.524 ENTITY : CreateComponent 'Hierarchy' +04:30:20.524 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842595" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10008.926758 10.484250 1548.140869>') +04:30:25.020 ENTITY : Create entity @"ENTITY:2305843009213693956" ('Factions', SCR_FactionManager) at <0.000000 0.000000 0.000000> @"{589540B35EBA8CDC}Prefabs/MP/Managers/Factions/FactionManager_USxUSSR.et" +04:30:25.020 RESOURCES : GetResourceObject @"{5168FEA3054D6D15}Prefabs/Vehicles/Wheeled/M151A2/M151A2_M2HB_MERDC.et" +04:30:25.020 WORLD : Entity prefab load @"{5168FEA3054D6D15}Prefabs/Vehicles/Wheeled/M151A2/M151A2_M2HB_MERDC.et" +04:30:25.020 RESOURCES : GetResourceObject @"{F6B23D17D5067C11}Prefabs/Vehicles/Wheeled/M151A2/M151A2_M2HB.et" +04:30:25.020 WORLD : Entity prefab load @"{F6B23D17D5067C11}Prefabs/Vehicles/Wheeled/M151A2/M151A2_M2HB.et" +04:30:25.020 RESOURCES : GetResourceObject @"{F649585ABB3706C4}Prefabs/Vehicles/Wheeled/M151A2/M151A2.et" +04:30:25.020 WORLD : Entity prefab load @"{F649585ABB3706C4}Prefabs/Vehicles/Wheeled/M151A2/M151A2.et" +04:30:25.020 WORLD (E): Unknown keyword/data 'SlidingTrackMaterial' at offset 19441(0x4bf1) +04:30:25.058 RESOURCES : GetResourceObject @"{F7B9B434FCFF00B3}Prefabs/Vehicles/Wheeled/Conflict_Variants/BRDM2_Conflict.et" +04:30:25.058 WORLD : Entity prefab load @"{F7B9B434FCFF00B3}Prefabs/Vehicles/Wheeled/Conflict_Variants/BRDM2_Conflict.et" +04:30:25.058 RESOURCES : GetResourceObject @"{254289B9C09904AB}Prefabs/Vehicles/Wheeled/BRDM2/BRDM2.et" +04:30:25.058 WORLD : Entity prefab load @"{254289B9C09904AB}Prefabs/Vehicles/Wheeled/BRDM2/BRDM2.et" +04:30:25.058 RESOURCES : GetResourceObject @"{532B5F3CF8496E59}Prefabs/Vehicles/Wheeled/BRDM2/BRDM2_base.et" +04:30:25.058 WORLD : Entity prefab load @"{532B5F3CF8496E59}Prefabs/Vehicles/Wheeled/BRDM2/BRDM2_base.et" +04:30:25.058 WORLD (E): Unknown keyword/data 'Parent' at offset 35955(0x8c73) +04:30:25.058 WORLD (E): Unknown keyword/data 'Parent' at offset 36915(0x9033) +04:30:25.059 RESOURCES : GetResourceObject @"{BD75A18920BD1278}Prefabs/Vehicles/Wheeled/Conflict_Variants/BTR70_Conflict.et" +04:30:25.059 WORLD : Entity prefab load @"{BD75A18920BD1278}Prefabs/Vehicles/Wheeled/Conflict_Variants/BTR70_Conflict.et" +04:30:25.059 RESOURCES : GetResourceObject @"{C012BB3488BEA0C2}Prefabs/Vehicles/Wheeled/BTR70/BTR70.et" +04:30:25.059 WORLD : Entity prefab load @"{C012BB3488BEA0C2}Prefabs/Vehicles/Wheeled/BTR70/BTR70.et" +04:30:25.059 RESOURCES : GetResourceObject @"{1C5FE7B7FF49BB8D}Prefabs/Vehicles/Wheeled/BTR70/BTR70_Base.et" +04:30:25.059 WORLD : Entity prefab load @"{1C5FE7B7FF49BB8D}Prefabs/Vehicles/Wheeled/BTR70/BTR70_Base.et" +04:30:25.059 WORLD (E): Unknown keyword/data 'Parent' at offset 42646(0xa696) +04:30:25.059 WORLD (E): Unknown keyword/data 'Parent' at offset 43645(0xaa7d) +04:30:25.059 WORLD (E): Unknown keyword/data 'Parent' at offset 44617(0xae49) +04:30:25.059 WORLD (E): Unknown keyword/data 'Parent' at offset 45590(0xb216) +04:30:25.360 WORLD : WORLD : NotifyBeforeEntitiesInitialized +04:30:25.360 PROFILING : NotifyBeforeEntitiesInitialized took: 0.032700 ms +04:30:27.305 WORLD : InitEntities 'world' +04:30:27.305 ENTITY : Init entity @"ENTITY:2305843009213693953" ('Rereintroduced', ERR_GameMode) at <1076.468018 51.000999 1325.246948> @"{978E045E53EF36C8}Prefabs/ERR/GameMode.et" +04:30:27.305 SCRIPT (W): SCR_PerceivedFactionManagerComponent trying to set fall back faction 'CIV' but this faction could not be found so it is null instead. +04:30:27.333 WORLD : InitEntities 'world' +04:30:27.333 ENTITY : Init entity @"ENTITY:2305843009213693953" ('Rereintroduced', ERR_GameMode) at <1076.468018 51.000999 1325.246948> @"{978E045E53EF36C8}Prefabs/ERR/GameMode.et" +04:30:27.333 SCRIPT : ERR BASE SMOKE: core-only scripted escape; not manual or multiplayer acceptance +04:30:27.333 WORLD : WORLD : NotifyEntitiesInitialized +04:30:27.333 TERRAIN : TERRAIN : Initializing road networks... +04:30:27.336 PROFILING : Initializing road networks... took: 2.622600 ms +04:30:27.336 DEFAULT : DEFAULT : WorldVolumesCollection +04:30:27.392 PROFILING : WorldVolumesCollection took: 56.041000 ms +04:30:27.392 INIT : INIT : SoundWorldInit +04:30:27.406 PROFILING : SoundWorldInit took: 13.418400 ms +04:30:27.406 PROFILING : NotifyEntitiesInitialized took: 72.316900 ms +04:30:27.406 PROFILING : CreateEntities took: 12697.039200 ms +04:30:27.406 PROFILING : CreateEntities took: 12697.200200 ms +04:30:27.406 WORLD : WORLD : Wait for preloading data around camera +04:30:27.406 PROFILING : Wait for preloading data around camera took: 0.000900 ms +04:30:27.406 WORLD : WORLD : EOnActivate +04:30:27.440 PROFILING : EOnActivate took: 33.432100 ms +04:30:27.440 PROFILING : Game::LoadEntities took: 12732.920400 ms +04:30:27.765 DEFAULT : Entered offline game state. +04:30:27.868 NETWORK : Player connected: connectionID=2147483646 +04:30:27.869 NETWORK : ### Connecting player: connectionID=2147483646, Name= +04:30:27.869 NETWORK : ### Creating player: PlayerId=1, Name=jakub +04:30:27.874 ENTITY : SpawnEntityPrefab @"{225E51284CC95CFA}Prefabs/Characters/Core/DefaultPlayerControllerMP.et" +04:30:27.874 ENTITY : Create entity @"ENTITY:4611686018427388381" ('SCR_PlayerController') at <0.000000 0.000000 0.000000> +04:30:27.874 ENTITY : EntityPrefabUse @"{225E51284CC95CFA}Prefabs/Characters/Core/DefaultPlayerControllerMP.et" +04:30:27.874 SCRIPT (W): Notification data in 'SCR_NotificationsLogDisplay' has duplicate notification info key: 'EDITOR_PERCEIVED_FACTION_PUNISHMENT_KILLING_SET'. There should only be one of each key! +04:30:27.875 SCRIPT (W): Notification data in 'SCR_NotificationsLogDisplay' has duplicate notification info key: 'EDITOR_PERCEIVED_FACTION_TYPE_DISABLED'. There should only be one of each key! +04:30:27.876 SCRIPT (W): Can't open config file "" +04:30:27.882 WORLD : InitEntities 'world' +04:30:27.882 ENTITY : Init entity @"ENTITY:4611686018427388381" ('SCR_PlayerController') at <0.000000 0.000000 0.000000> @"{225E51284CC95CFA}Prefabs/Characters/Core/DefaultPlayerControllerMP.et" +04:30:27.882 GUI : WidgetManager: CrateWidgets @"{3C9DCDD76AB83157}UI/layouts/HUD/HUDLayouts/HUDManager_Root.layout" +04:30:27.882 SCRIPT (W): Slot_WeaponInfo Has no Content! +04:30:27.882 SCRIPT (W): Slot_Chat Has no Content! +04:30:27.883 SCRIPT (W): Slot_VON Has no Content! +04:30:27.883 SCRIPT (W): Slot_AvailableActions Has no Content! +04:30:27.883 SCRIPT (W): Slot_Vehicle Has no Content! +04:30:27.883 SCRIPT (W): Slot_GameVersion Has no Content! +04:30:27.883 SCRIPT (W): Slot_Notifications Has no Content! +04:30:27.883 SCRIPT (W): Slot_Hints Has no Content! +04:30:27.897 NETWORK : ### Updating player: PlayerId=1, Name=jakub, rplIdentity=0xFFFFFFFE, IdentityId=00000000-0000-0000-0000-000000000000 +04:30:27.897 SCRIPT (W): Ban Settings could not be loaded from BE Storage: Relying on default config +04:30:27.897 NETWORK : Players connecting: 0 +04:30:27.897 NETWORK : Players connected: 1 / 1 +04:30:27.924 DEFAULT : Using autosave directory: C:/users/steamuser/AppData/Local/Temp/Arma Reforger Workbench/Projects/ERR_Core/autosaves +04:30:27.926 PROFILING : Workbench startup took: 42621.702600 ms +04:30:27.952 WORLD : Frame start +04:30:27.952 SCRIPT : ScenarioFramework: Available tasks are empty, no new tasks will be generated. +04:30:27.965 WORLD : UpdateEntities +04:30:27.965 WORLD : Frame +04:30:27.965 SCRIPT : SCR_BaseGameMode::OnGameStateChanged = GAME +04:30:28.134 WORLD : UpdateEntities +04:30:28.134 WORLD : PostFrame +04:30:28.135 GUI : WidgetManager: CrateWidgets @"{D89BBA18F99053D6}UI/layouts/HUD/Chat/ChatHud.layout" +04:30:28.135 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +04:30:28.177 RESOURCES : GetResourceObject @"{20A6917D2114E29A}UI/layouts/HUD/Hint/HintInfoDisplay.layout" +04:30:28.177 GUI : Layout load @"{20A6917D2114E29A}UI/layouts/HUD/Hint/HintInfoDisplay.layout" +04:30:28.177 GUI : Widget prefab @"{EA1CC57D868E94F9}UI/layouts/HUD/Hint/Hint.layout" +04:30:28.178 GUI (W): Overridden prefab member (GUID: '{661AB14E0F471C66}' type: ButtonWidgetClass) no longer exists in prefab +04:30:28.311 RENDER : RENDER : ObjectsHeightMap::Build +04:30:28.311 RENDER : RENDER : MeshOccupancyGridManager::GenerateAllForWorld +04:30:28.473 PROFILING : MeshOccupancyGridManager::GenerateAllForWorld took: 161.341000 ms +04:30:28.480 PROFILING : ObjectsHeightMap::Build took: 168.829900 ms +04:30:29.652 SCRIPT : Rereintroduced [sites]: cache clearance position=<6086,211.538,7160> clear=1 +04:30:29.673 SCRIPT : Rereintroduced [sites]: authored everon-prison-1 at <6090,211.444,7160> +04:30:29.674 SCRIPT : Rereintroduced [sites]: cache clearance position=<6150,203.288,7050> clear=1 +04:30:29.705 SCRIPT : Rereintroduced [sites]: authored everon-supply-1 at <6150,203.288,7050> +04:30:29.707 SCRIPT : Rereintroduced [sites]: authored everon-radio-1 at <6500,159.756,7200> +04:30:29.754 SCRIPT : Rereintroduced [sites]: authored everon-extraction-1 at <7000,65.2562,7500> +04:30:29.755 SCRIPT : Rereintroduced [sites]: cache clearance position=<5960,220.256,7220> clear=1 +04:30:29.760 SCRIPT : Rereintroduced [sites]: authored everon-supply-2 at <5960,220.256,7220> +04:30:29.760 SCRIPT : Rereintroduced [sites]: cache clearance position=<6340,175.788,7400> clear=1 +04:30:29.762 SCRIPT : Rereintroduced [sites]: authored everon-medical-1 at <6340,175.788,7400> +04:30:29.762 SCRIPT : Rereintroduced [sites]: cache clearance position=<6740,140.6,7300> clear=1 +04:30:29.766 SCRIPT : Rereintroduced [sites]: cache clearance position=<6740,140.913,7296> clear=1 +04:30:29.767 SCRIPT : Rereintroduced [sites]: cache clearance position=<6736,140.975,7300> clear=1 +04:30:29.768 SCRIPT : Rereintroduced [sites]: cache clearance position=<6744,140.288,7300> clear=1 +04:30:29.769 SCRIPT : Rereintroduced [sites]: authored everon-outpost-1 at <6740,140.6,7300> +04:30:29.903 SCRIPT : Rereintroduced [sites]: 7 sites and 117 physical stock items ready +04:30:29.905 SCRIPT : Rereintroduced [time]: started at 14:00 with 1x progression +04:30:29.905 SCRIPT : Rereintroduced [mission]: phase 0 -> 1 +04:30:30.149 SCRIPT : INFO: Faction: player jakub (playerID = 1 | UUID = 00000000-0000-0000-0000-000000000000) has joined faction #AR-Faction_US (US) +04:30:30.229 SCRIPT : Rereintroduced [spawn]: player 1 at <6090,211.344,7160> +04:30:30.310 SCRIPT : ERR SMOKE PASS: definition authored configuration resolves +04:30:30.310 SCRIPT : ERR SMOKE PASS: definition duplicate site identity rejected +04:30:30.310 SCRIPT : ERR SMOKE PASS: definition dangling document target rejected +04:30:30.310 SCRIPT : ERR SMOKE PASS: definition non-radio document target rejected +04:30:30.311 SCRIPT : ERR SMOKE PASS: definition insufficient guaranteed radio clues rejected +04:30:30.311 SCRIPT : ERR SMOKE PASS: definition unbounded stock rejected +04:30:30.311 SCRIPT : ERR SMOKE PASS: definition unguaranteed clue route rejected +04:30:30.311 SCRIPT : ERR SMOKE PASS: definition radio sources sharing one footprint rejected +04:30:30.311 SCRIPT : ERR SMOKE PASS: definition unnamed location rejected +04:30:30.311 SCRIPT : ERR SMOKE PASS: definition proximity discovery cannot reveal progression sites +04:30:30.312 SCRIPT : ERR SMOKE PASS: definition escape cannot reveal the radio directly +04:30:30.312 SCRIPT : ERR SMOKE PASS: definition unbounded scenery offset rejected +04:30:30.312 SCRIPT : ERR SMOKE PASS: definition valid configuration restored after isolated mutations +04:30:30.312 SCRIPT : ERR SMOKE PASS: base contracts catalog resolves hostile vanilla factions and successful preparation +04:30:30.312 SCRIPT : ERR SMOKE PASS: base contracts physical prisoner matches injected faction and resource +04:30:30.313 SCRIPT : ERR SMOKE PASS: base contracts physical guard squad comes from injected catalog +04:30:30.313 SCRIPT : ERR SMOKE PASS: base contracts same-side factions rejected +04:30:30.313 SCRIPT : ERR SMOKE PASS: base contracts unknown world faction rejected +04:30:30.313 SCRIPT : ERR SMOKE PASS: base contracts missing prisoner resource rejected +04:30:30.313 SCRIPT : ERR SMOKE PASS: base contracts isolated catalog restored without mutating live configuration +04:30:30.313 SCRIPT : ERR SMOKE PASS: base contracts unauthorized settings request rejected +04:30:30.313 SCRIPT : ERR SMOKE PASS: base contracts partially numeric input rejected without mutation +04:30:30.314 SCRIPT : ERR SMOKE PASS: base contracts out-of-range duration rejected without mutation +04:30:30.317 SCRIPT : ERR SMOKE PASS: base contracts normalized base command saves validated duration +04:30:30.317 SCRIPT : ERR SMOKE PASS: base contracts base command reads saved duration +04:30:30.317 SCRIPT : ERR SMOKE PASS: base contracts base settings listing available +04:30:30.317 SCRIPT : ERR SMOKE PASS: base contracts base mission status available before companions +04:30:30.320 SCRIPT : ERR SMOKE PASS: base contracts test setting restored +04:30:30.320 SCRIPT : ERR SMOKE PASS: base outpost barrier is upright +04:30:30.321 SCRIPT : ERR COVER GEOMETRY: low=<6738.99,140.839,7295.42> high=<6740.98,141.655,7296.62> trace=0.377114 +04:30:30.321 SCRIPT : ERR SMOKE PASS: base outpost barrier has physical collision +04:30:30.321 SCRIPT : ERR SMOKE PASS: base outpost barrier is upright +04:30:30.321 SCRIPT : ERR COVER GEOMETRY: low=<6735.42,140.901,7299.02> high=<6736.62,141.718,7301.01> trace=0.377114 +04:30:30.321 SCRIPT : ERR SMOKE PASS: base outpost barrier has physical collision +04:30:30.321 SCRIPT : ERR SMOKE PASS: base outpost barrier is upright +04:30:30.321 SCRIPT : ERR COVER GEOMETRY: low=<6743.42,140.214,7299.02> high=<6744.62,141.03,7301.01> trace=0.377114 +04:30:30.321 SCRIPT : ERR SMOKE PASS: base outpost barrier has physical collision +04:30:30.321 SCRIPT : ERR SMOKE PASS: base exactly three authored outpost barriers exist +04:30:30.322 SCRIPT : ERR SMOKE PASS: mission time clock parsing includes midnight and final minute +04:30:30.322 SCRIPT : ERR SMOKE PASS: mission time malformed clock commands rejected +04:30:30.322 SCRIPT : ERR SMOKE PASS: mission time isolated fixture paths unused +04:30:30.323 SCRIPT : ERR SMOKE PASS: mission time legacy fixture created +04:30:30.323 SCRIPT : ERR SMOKE PASS: mission time existing six-key settings preserved +04:30:30.323 SCRIPT : ERR SMOKE PASS: mission time only absent time settings receive defaults +04:30:30.324 SCRIPT : ERR SMOKE PASS: mission time loading does not rewrite legacy file +04:30:30.329 SCRIPT : ERR SMOKE PASS: mission time explicit save upgrades valid legacy settings +04:30:30.329 SCRIPT : ERR SMOKE PASS: mission time new keys and old values survive reload +04:30:30.330 SCRIPT : ERR SMOKE PASS: mission time present out-of-range time cannot silently default +04:30:30.331 SCRIPT : ERR SMOKE PASS: mission time fractional clock setting rejected +04:30:30.332 SCRIPT : ERR SMOKE PASS: mission time zero multiplier rejected +04:30:30.333 SCRIPT : ERR SMOKE PASS: mission time missing legacy setting remains invalid +04:30:30.335 SCRIPT : ERR SMOKE PASS: mission time partially upgraded file defaults only missing new field +04:30:30.336 SCRIPT : ERR SMOKE PASS: mission time valid saved backup recovers invalid primary +04:30:30.336 SCRIPT : ERR SMOKE PASS: mission time server starts world clock before prison phase +04:30:30.337 SCRIPT : ERR SMOKE PASS: mission time engine progression matches applied multiplier +04:30:30.337 SCRIPT : ERR SMOKE PASS: mission time unauthorized clock mutation rejected +04:30:30.337 SCRIPT : ERR SMOKE PASS: mission time invalid clock command preserves setting +04:30:30.346 SCRIPT : ERR SMOKE PASS: mission time authorized settings persist and test restores originals +04:30:30.346 SCRIPT : ERR SMOKE PASS: mission time saved changes and repeated start leave current clock and speed intact +04:30:30.346 SCRIPT : ERR SMOKE PASS: mission time admin sees current clock separately from next round settings +04:30:30.346 SCRIPT : ERR SMOKE PASS: base native prison objective exists +04:30:30.347 SCRIPT : ERR SMOKE PASS: objective UI current native task exists +04:30:30.350 SCRIPT : ERR SMOKE PASS: objective UI native list and detail layouts created +04:30:30.350 SCRIPT : ERR SMOKE PASS: objective UI native handlers attached +04:30:30.351 SCRIPT : ERR SMOKE PASS: objective UI open list and details contain current title and instructions +04:30:30.351 SCRIPT : ERR SMOKE PASS: objective UI list-only task cannot expose an undiscovered map position +04:30:30.351 SCRIPT : ERR SMOKE PASS: objective UI actual local player receives the active objective +04:30:30.351 SCRIPT : ERR SMOKE PASS: objective UI extraction instructions follow a nondefault boundary +04:30:30.351 SCRIPT : ERR SMOKE PASS: base authored supply cache is a separate scavenging location +04:30:30.351 SCRIPT : ERR BASE STOCK: cache items=54 +04:30:30.351 SCRIPT : ERR SMOKE PASS: base cache holds finite physical equipment and objective documents +04:30:30.352 SCRIPT : ERR SMOKE PASS: base no companion HQ or support controller loaded +04:30:30.352 SCRIPT : ERR SMOKE PASS: base prisoner spawned in authored prison +04:30:30.352 SCRIPT : ERR SMOKE PASS: base gate, clues, radio and helicopter created by core +04:30:30.352 SCRIPT : Rereintroduced [mission]: phase 1 -> 2 +04:30:30.354 SCRIPT : ERR SMOKE PASS: base gate action begins escape +04:30:30.356 SCRIPT : ERR SMOKE PASS: base test defence duration accepted +04:30:30.357 SCRIPT : ERR SMOKE PASS: base previous native objective completes on phase change +04:30:30.357 SCRIPT : ERR SMOKE PASS: base search objective does not expose a hidden site +04:30:30.357 SCRIPT : ERR SMOKE PASS: objective UI current native task exists +04:30:30.359 SCRIPT : ERR SMOKE PASS: objective UI native list and detail layouts created +04:30:30.359 SCRIPT : ERR SMOKE PASS: objective UI native handlers attached +04:30:30.360 SCRIPT : ERR SMOKE PASS: objective UI open list and details contain current title and instructions +04:30:30.360 SCRIPT : ERR SMOKE PASS: objective UI list-only task cannot expose an undiscovered map position +04:30:30.360 SCRIPT : ERR SMOKE PASS: objective UI actual local player receives the active objective +04:30:30.360 SCRIPT : ERR SMOKE PASS: objective UI extraction instructions follow a nondefault boundary +04:30:30.360 SCRIPT : ERR SMOKE PASS: base both named supply routes revealed after escape +04:30:30.360 SCRIPT : ERR SMOKE PASS: base optional sites remain hidden until approached +04:30:36.349 SCRIPT : ERR SMOKE PASS: base unconscious player cannot discover optional sites +04:30:42.412 SCRIPT : ERR SMOKE PASS: base distant player cannot discover optional sites +04:30:42.412 SCRIPT : ERR SMOKE PASS: base isolated visibility obstacle created +04:30:42.412 SCRIPT : ERR VISIBILITY OBSTACLE: low=<6338.5,174.97,7403.87> high=<6341.5,178.737,7404.13> observer=<6340.45,174.683,7466.42> target=<6340,175.788,7400> +04:30:48.476 SCRIPT : ERR SMOKE PASS: base physical wall prevents nearby site discovery +04:30:54.546 SCRIPT : ERR SMOKE PASS: base conscious nearby player visually discovers named medical stash once +04:30:54.547 SCRIPT : ERR SMOKE PASS: base proximity cannot bypass radio documents +04:30:55.056 SCRIPT : ERR SMOKE PASS: base physical clue recovered +04:30:55.277 SCRIPT : Rereintroduced [intel]: player 1 recovered folder; location=everon-radio-1 knowledge=1 +04:30:57.580 SCRIPT : ERR SMOKE PASS: base physical clue recovered +04:30:58.289 SCRIPT : Rereintroduced [intel]: player 1 recovered folder; location=everon-radio-1 knowledge=2 +04:31:00.100 SCRIPT : ERR SMOKE PASS: base objective guidance reacts to discovered radio +04:31:00.100 SCRIPT : ERR SMOKE PASS: objective UI current native task exists +04:31:00.101 SCRIPT (E): ERR SMOKE FAIL: objective UI open list and details contain current title and instructions +04:31:00.606 SCRIPT : ERR SMOKE PASS: base objective guidance reacts to discovered radio +04:31:00.606 SCRIPT : ERR SMOKE PASS: objective UI current native task exists +04:31:00.608 SCRIPT : ERR SMOKE PASS: objective UI native list and detail layouts created +04:31:00.608 SCRIPT : ERR SMOKE PASS: objective UI native handlers attached +04:31:00.609 SCRIPT : ERR SMOKE PASS: objective UI open list and details contain current title and instructions +04:31:00.609 SCRIPT : ERR SMOKE PASS: objective UI list-only task cannot expose an undiscovered map position +04:31:00.609 SCRIPT : ERR SMOKE PASS: objective UI actual local player receives the active objective +04:31:00.609 SCRIPT : ERR SMOKE PASS: objective UI extraction instructions follow a nondefault boundary +04:31:00.612 SCRIPT : ERR SMOKE PASS: base discovery ticks do not repeat the location event +04:31:00.612 SCRIPT : ERR SMOKE PASS: base documents identify radio without Intel addon diff --git a/docs/evidence/native-2026-09-19-042945-ui-refresh-failure/error.log.txt b/docs/evidence/native-2026-09-19-042945-ui-refresh-failure/error.log.txt new file mode 100644 index 0000000..4320e3e --- /dev/null +++ b/docs/evidence/native-2026-09-19-042945-ui-refresh-failure/error.log.txt @@ -0,0 +1,120 @@ +--------------------------------------------- +Log Z:\tmp\erri-workbench-profile\logs\logs_2026-09-19_04-29-45\error.log started at 2026-09-19 04:29:47 (2026-09-19 02:29:47 UTC) + +04:29:47.048 INIT : Workbench startup +04:29:47.048 INIT : Workbench Init Engine +04:29:47.048 RESOURCES : ResourceDB: full scan +04:29:47.048 RESOURCES : processing files... +04:29:47.048 RESOURCES (W): resource not registered: @"$profile:rereintroduced.json". Setting null GUID +04:29:50.193 INIT : Workbench Create Game +04:29:50.193 SCRIPT : Compiling Game scripts +04:29:50.193 SCRIPT (W): @"Scripts/Game/Editor/Components/EditableEntity/SCR_EditableEntityComponent.c,785": 'GetPlayerPlatformKind' is obsolete +04:29:50.193 SCRIPT (W): @"Scripts/Game/Editor/Components/EditableEntity/SCR_EditableEntityComponent.c,786": 'GetPlayerPlatformId' is obsolete +04:29:50.449 SCRIPT (W): @"Scripts/Game/Workshop/SCR_AddonManager.c,876": 'GetRefCount' is obsolete: Will be removed +04:29:50.482 SCRIPT (W): @"Scripts/Game/Campaign/SCR_PlayerProfileManagerComponent.c,142": 'PlayerData' is obsolete +04:29:50.578 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,159": 'GetDSSession' is obsolete +04:29:50.578 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,162": 'RoomID' is obsolete +04:29:50.578 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,197": 'GetDSSession' is obsolete +04:29:50.578 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,201": 'RoomID' is obsolete +04:29:50.670 SCRIPT (W): @"Scripts/Game/DataCollection/SCR_DataCollectorComponent.c,481": 'GetStorage' is obsolete +04:29:50.670 SCRIPT (W): @"Scripts/Game/DataCollection/SCR_DataCollectorComponent.c,483": 'GetOnlineWritePrivilege' is obsolete +04:29:50.671 SCRIPT (W): @"Scripts/Game/Utilities/SCR_PlayerIdentityUtils.c,20": 'GetPlayerIdentityId' is obsolete +04:29:50.711 SCRIPT (W): @"Scripts/Game/ERR/ERR_ExtractionService.c,45": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +04:29:50.711 SCRIPT (W): @"Scripts/Game/ERR/ERR_ExtractionService.c,56": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +04:29:50.712 SCRIPT (W): @"Scripts/Game/UI/Menu/MainMenuUI.c,643": 'GetNotifyCount' is obsolete: Will be substitued by Notification Api. +04:29:50.712 SCRIPT (W): @"Scripts/Game/UI/Menu/MainMenuUI.c,645": 'GetNotifyItem' is obsolete: Will be substitued by Notification Api. +04:29:50.765 SCRIPT (W): @"Scripts/Game/DataCollection/PlayerData/SCR_PlayerData.c,210": 'PlayerData' is obsolete +04:29:59.323 WORLD : CreateEntities +04:29:59.323 ENTITY : Create entity @"ENTITY:610406" ('StaticModelEntity','Assets/Structures/Infrastructure/Towers/TransmitterTower_01/TransmitterTower_01_small.xob') at <1931.796021 81.777000 5138.725098> @"{6A004A8F0571D456}Prefabs/Structures/Infrastructure/Towers/TransmitterTower_01/TransmitterTower_01_small.et" +04:29:59.323 ENTITY : CreateComponent 'ScriptedRadioComponent' +04:29:59.323 DEFAULT (W): World doesn't contain RadioManagerEntity to support any BaseRadioComponent. +04:30:14.463 DEFAULT (W): LogiLED: Cannot initialize! (service not running or no compatible device detected) +04:30:19.098 WORLD : Game::LoadEntities +04:30:19.098 WORLD : CreateEntities +04:30:19.098 WORLD : CreateEntities +04:30:19.098 ENTITY : Create entity @"ENTITY:610406" ('StaticModelEntity','Assets/Structures/Infrastructure/Towers/TransmitterTower_01/TransmitterTower_01_small.xob') at <1931.796021 81.777000 5138.725098> @"{6A004A8F0571D456}Prefabs/Structures/Infrastructure/Towers/TransmitterTower_01/TransmitterTower_01_small.et" +04:30:19.098 ENTITY : CreateComponent 'ScriptedRadioComponent' +04:30:19.098 DEFAULT (W): World doesn't contain RadioManagerEntity to support any BaseRadioComponent. +04:30:20.514 ENTITY : Create entity @"ENTITY:842066" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1080.213013 10.776751 6018.347168> +04:30:20.514 ENTITY : CreateComponent 'Hierarchy' +04:30:20.514 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842066" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1080.213013 10.776751 6018.347168>') +04:30:20.514 ENTITY : Create entity @"ENTITY:842068" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1082.185913 10.778749 6018.331055> +04:30:20.514 ENTITY : CreateComponent 'Hierarchy' +04:30:20.514 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842068" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1082.185913 10.778749 6018.331055>') +04:30:20.514 ENTITY : Create entity @"ENTITY:842070" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1084.190918 10.790751 6018.334961> +04:30:20.514 ENTITY : CreateComponent 'Hierarchy' +04:30:20.514 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842070" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1084.190918 10.790751 6018.334961>') +04:30:20.519 ENTITY : Create entity @"ENTITY:842333" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4425.594727 9.981750 11029.402344> +04:30:20.520 ENTITY : CreateComponent 'Hierarchy' +04:30:20.520 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842333" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4425.594727 9.981750 11029.402344>') +04:30:20.520 ENTITY : Create entity @"ENTITY:842335" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4426.584473 9.983749 11031.109375> +04:30:20.520 ENTITY : CreateComponent 'Hierarchy' +04:30:20.520 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842335" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4426.584473 9.983749 11031.109375>') +04:30:20.520 ENTITY : Create entity @"ENTITY:842337" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4427.572266 9.995750 11032.853516> +04:30:20.520 ENTITY : CreateComponent 'Hierarchy' +04:30:20.520 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842337" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4427.572266 9.995750 11032.853516>') +04:30:20.524 ENTITY : Create entity @"ENTITY:842591" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.946289 10.470250 1551.986084> +04:30:20.524 ENTITY : CreateComponent 'Hierarchy' +04:30:20.524 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842591" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.946289 10.470250 1551.986084>') +04:30:20.524 ENTITY : Create entity @"ENTITY:842593" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.430664 10.472250 1550.081421> +04:30:20.524 ENTITY : CreateComponent 'Hierarchy' +04:30:20.524 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842593" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.430664 10.472250 1550.081421>') +04:30:20.524 ENTITY : Create entity @"ENTITY:842595" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10008.926758 10.484250 1548.140869> +04:30:20.524 ENTITY : CreateComponent 'Hierarchy' +04:30:20.524 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842595" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10008.926758 10.484250 1548.140869>') +04:30:25.020 ENTITY : Create entity @"ENTITY:2305843009213693956" ('Factions', SCR_FactionManager) at <0.000000 0.000000 0.000000> @"{589540B35EBA8CDC}Prefabs/MP/Managers/Factions/FactionManager_USxUSSR.et" +04:30:25.020 RESOURCES : GetResourceObject @"{5168FEA3054D6D15}Prefabs/Vehicles/Wheeled/M151A2/M151A2_M2HB_MERDC.et" +04:30:25.020 WORLD : Entity prefab load @"{5168FEA3054D6D15}Prefabs/Vehicles/Wheeled/M151A2/M151A2_M2HB_MERDC.et" +04:30:25.020 RESOURCES : GetResourceObject @"{F6B23D17D5067C11}Prefabs/Vehicles/Wheeled/M151A2/M151A2_M2HB.et" +04:30:25.020 WORLD : Entity prefab load @"{F6B23D17D5067C11}Prefabs/Vehicles/Wheeled/M151A2/M151A2_M2HB.et" +04:30:25.020 RESOURCES : GetResourceObject @"{F649585ABB3706C4}Prefabs/Vehicles/Wheeled/M151A2/M151A2.et" +04:30:25.020 WORLD : Entity prefab load @"{F649585ABB3706C4}Prefabs/Vehicles/Wheeled/M151A2/M151A2.et" +04:30:25.020 WORLD (E): Unknown keyword/data 'SlidingTrackMaterial' at offset 19441(0x4bf1) +04:30:25.058 RESOURCES : GetResourceObject @"{F7B9B434FCFF00B3}Prefabs/Vehicles/Wheeled/Conflict_Variants/BRDM2_Conflict.et" +04:30:25.058 WORLD : Entity prefab load @"{F7B9B434FCFF00B3}Prefabs/Vehicles/Wheeled/Conflict_Variants/BRDM2_Conflict.et" +04:30:25.058 RESOURCES : GetResourceObject @"{254289B9C09904AB}Prefabs/Vehicles/Wheeled/BRDM2/BRDM2.et" +04:30:25.058 WORLD : Entity prefab load @"{254289B9C09904AB}Prefabs/Vehicles/Wheeled/BRDM2/BRDM2.et" +04:30:25.058 RESOURCES : GetResourceObject @"{532B5F3CF8496E59}Prefabs/Vehicles/Wheeled/BRDM2/BRDM2_base.et" +04:30:25.058 WORLD : Entity prefab load @"{532B5F3CF8496E59}Prefabs/Vehicles/Wheeled/BRDM2/BRDM2_base.et" +04:30:25.058 WORLD (E): Unknown keyword/data 'Parent' at offset 35955(0x8c73) +04:30:25.058 WORLD (E): Unknown keyword/data 'Parent' at offset 36915(0x9033) +04:30:25.059 RESOURCES : GetResourceObject @"{BD75A18920BD1278}Prefabs/Vehicles/Wheeled/Conflict_Variants/BTR70_Conflict.et" +04:30:25.059 WORLD : Entity prefab load @"{BD75A18920BD1278}Prefabs/Vehicles/Wheeled/Conflict_Variants/BTR70_Conflict.et" +04:30:25.059 RESOURCES : GetResourceObject @"{C012BB3488BEA0C2}Prefabs/Vehicles/Wheeled/BTR70/BTR70.et" +04:30:25.059 WORLD : Entity prefab load @"{C012BB3488BEA0C2}Prefabs/Vehicles/Wheeled/BTR70/BTR70.et" +04:30:25.059 RESOURCES : GetResourceObject @"{1C5FE7B7FF49BB8D}Prefabs/Vehicles/Wheeled/BTR70/BTR70_Base.et" +04:30:25.059 WORLD : Entity prefab load @"{1C5FE7B7FF49BB8D}Prefabs/Vehicles/Wheeled/BTR70/BTR70_Base.et" +04:30:25.059 WORLD (E): Unknown keyword/data 'Parent' at offset 42646(0xa696) +04:30:25.059 WORLD (E): Unknown keyword/data 'Parent' at offset 43645(0xaa7d) +04:30:25.059 WORLD (E): Unknown keyword/data 'Parent' at offset 44617(0xae49) +04:30:25.059 WORLD (E): Unknown keyword/data 'Parent' at offset 45590(0xb216) +04:30:27.305 WORLD : InitEntities 'world' +04:30:27.305 ENTITY : Init entity @"ENTITY:2305843009213693953" ('Rereintroduced', ERR_GameMode) at <1076.468018 51.000999 1325.246948> @"{978E045E53EF36C8}Prefabs/ERR/GameMode.et" +04:30:27.305 SCRIPT (W): SCR_PerceivedFactionManagerComponent trying to set fall back faction 'CIV' but this faction could not be found so it is null instead. +04:30:27.874 ENTITY : SpawnEntityPrefab @"{225E51284CC95CFA}Prefabs/Characters/Core/DefaultPlayerControllerMP.et" +04:30:27.874 ENTITY : Create entity @"ENTITY:4611686018427388381" ('SCR_PlayerController') at <0.000000 0.000000 0.000000> +04:30:27.874 ENTITY : EntityPrefabUse @"{225E51284CC95CFA}Prefabs/Characters/Core/DefaultPlayerControllerMP.et" +04:30:27.874 SCRIPT (W): Notification data in 'SCR_NotificationsLogDisplay' has duplicate notification info key: 'EDITOR_PERCEIVED_FACTION_PUNISHMENT_KILLING_SET'. There should only be one of each key! +04:30:27.875 SCRIPT (W): Notification data in 'SCR_NotificationsLogDisplay' has duplicate notification info key: 'EDITOR_PERCEIVED_FACTION_TYPE_DISABLED'. There should only be one of each key! +04:30:27.876 SCRIPT (W): Can't open config file "" +04:30:27.882 WORLD : InitEntities 'world' +04:30:27.882 ENTITY : Init entity @"ENTITY:4611686018427388381" ('SCR_PlayerController') at <0.000000 0.000000 0.000000> @"{225E51284CC95CFA}Prefabs/Characters/Core/DefaultPlayerControllerMP.et" +04:30:27.882 GUI : WidgetManager: CrateWidgets @"{3C9DCDD76AB83157}UI/layouts/HUD/HUDLayouts/HUDManager_Root.layout" +04:30:27.882 SCRIPT (W): Slot_WeaponInfo Has no Content! +04:30:27.882 SCRIPT (W): Slot_Chat Has no Content! +04:30:27.883 SCRIPT (W): Slot_VON Has no Content! +04:30:27.883 SCRIPT (W): Slot_AvailableActions Has no Content! +04:30:27.883 SCRIPT (W): Slot_Vehicle Has no Content! +04:30:27.883 SCRIPT (W): Slot_GameVersion Has no Content! +04:30:27.883 SCRIPT (W): Slot_Notifications Has no Content! +04:30:27.883 SCRIPT (W): Slot_Hints Has no Content! +04:30:27.897 SCRIPT (W): Ban Settings could not be loaded from BE Storage: Relying on default config +04:30:28.134 WORLD : UpdateEntities +04:30:28.134 WORLD : PostFrame +04:30:28.135 GUI : WidgetManager: CrateWidgets @"{D89BBA18F99053D6}UI/layouts/HUD/Chat/ChatHud.layout" +04:30:28.135 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +04:30:28.177 RESOURCES : GetResourceObject @"{20A6917D2114E29A}UI/layouts/HUD/Hint/HintInfoDisplay.layout" +04:30:28.177 GUI : Layout load @"{20A6917D2114E29A}UI/layouts/HUD/Hint/HintInfoDisplay.layout" +04:30:28.177 GUI : Widget prefab @"{EA1CC57D868E94F9}UI/layouts/HUD/Hint/Hint.layout" +04:30:28.178 GUI (W): Overridden prefab member (GUID: '{661AB14E0F471C66}' type: ButtonWidgetClass) no longer exists in prefab +04:31:00.101 SCRIPT (E): ERR SMOKE FAIL: objective UI open list and details contain current title and instructions diff --git a/docs/evidence/native-2026-09-19-042945-ui-refresh-failure/headless-launch.log.txt b/docs/evidence/native-2026-09-19-042945-ui-refresh-failure/headless-launch.log.txt new file mode 100644 index 0000000..5d04072 --- /dev/null +++ b/docs/evidence/native-2026-09-19-042945-ui-refresh-failure/headless-launch.log.txt @@ -0,0 +1,150 @@ +[gamescope] [Info] console: gamescope version 3.16.28 (gcc 16.2.1) +No CAP_SYS_NICE, falling back to regular-priority compute and threads. +Performance will be affected. +[gamescope] [Info] scriptmgr: Loading scripts from: '/usr/share/gamescope/scripts' +[gamescope] [Info] scriptmgr: Loading scripts from: '/usr/share/gamescope/scripts/00-gamescope' +[gamescope] [Info] scriptmgr: Loading scripts from: '/usr/share/gamescope/scripts/00-gamescope/common' +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/common/inspect.lua' (id: 0) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/common/modegen.lua' (id: 1) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/common/util.lua' (id: 2) +[gamescope] [Info] scriptmgr: Loading scripts from: '/usr/share/gamescope/scripts/00-gamescope/displays' +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/asus.rogally.lcd.lua' (id: 3) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/deckhd.steamdeck.deckhd-lcd.lua' (id: 4) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/gpd.win4.lcd.lua' (id: 5) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/lenovo.legiongo.lcd.lua' (id: 6) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/lenovo.legiongos.lcd.lua' (id: 7) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/onexplayer.f1.oled.lua' (id: 8) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/valve.steamdeck.lcd.lua' (id: 9) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/valve.steamdeck.oled.lua' (id: 10) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/zotac.zone.oled.lua' (id: 11) +[gamescope] [Info] scriptmgr: Loading scripts from: '/etc/gamescope/scripts' +[gamescope] [Warn] scriptmgr: Directory '/etc/gamescope/scripts' does not exist +[gamescope] [Info] scriptmgr: Loading scripts from: '/home/jakub/.config/gamescope/scripts' +[gamescope] [Warn] scriptmgr: Directory '/home/jakub/.config/gamescope/scripts' does not exist +[gamescope] [Info] vulkan: selecting physical device 'AMD Radeon RX 6950 XT (RADV NAVI21)': queue family 1 (general queue family 0) +[gamescope] [Info] vulkan: physical device supports DRM format modifiers +[gamescope] [Info] wlserver: [backend/headless/backend.c:60] Creating headless backend +[gamescope] [Info] vulkan: supported DRM formats for sampling usage: +[gamescope] [Info] vulkan: AR24 (0x34325241) +[gamescope] [Info] vulkan: XR24 (0x34325258) +[gamescope] [Info] vulkan: AB24 (0x34324241) +[gamescope] [Info] vulkan: XB24 (0x34324258) +[gamescope] [Info] vulkan: RG16 (0x36314752) +[gamescope] [Info] vulkan: NV12 (0x3231564E) +[gamescope] [Info] vulkan: AB4H (0x48344241) +[gamescope] [Info] vulkan: XB4H (0x48344258) +[gamescope] [Info] vulkan: AB48 (0x38344241) +[gamescope] [Info] vulkan: XB48 (0x38344258) +[gamescope] [Info] vulkan: AB30 (0x30334241) +[gamescope] [Info] vulkan: XB30 (0x30334258) +[gamescope] [Info] vulkan: AR30 (0x30335241) +[gamescope] [Info] vulkan: XR30 (0x30335258) +[gamescope] [Info] wlserver: Using explicit sync when available +[gamescope] [Info] wlserver: Running compositor on wayland display 'gamescope-0' +[gamescope] [Info] wlserver: [backend/headless/backend.c:17] Starting headless backend +[gamescope] [Info] wlserver: Successfully initialized libei for input emulation! +[gamescope] [Error] wlserver: [xwayland/sockets.c:47] Failed to bind socket @/tmp/.X11-unix/X0: Address already in use +[gamescope] [Info] wlserver: [xwayland/server.c:108] Starting Xwayland on :2 +The XKEYBOARD keymap compiler (xkbcomp) reports: +> Warning: Multiple symbols for level 1/group 1 on key +> Using F23, ignoring XF86TouchpadOff +> Warning: Symbol map for key redefined +> Using last definition for conflicting fields +> Warning: Symbol map for key redefined +> Using last definition for conflicting fields +> Warning: Could not resolve keysym XF86ElectronicPrivacyScreenOn +> Warning: Could not resolve keysym XF86ElectronicPrivacyScreenOff +> Warning: Could not resolve keysym XF86ActionOnSelection +> Warning: Could not resolve keysym XF86ContextualInsert +> Warning: Could not resolve keysym XF86ContextualQuery +Errors from xkbcomp are not fatal to the X server +[gamescope] [Info] pipewire: stream state changed: connecting +[gamescope] [Info] pipewire: stream state changed: paused +[gamescope] [Info] pipewire: stream available on node ID: 148 +[gamescope] [Info] vblank: Using timerfd. +fsync: up and running. +[Gamescope WSI] No application info given. +[Gamescope WSI] Executable name: explorer.exe +ATTENTION: default value of option vk_wsi_force_swapchain_to_current_extent overridden by environment. +[Gamescope WSI] Application info: + pApplicationName: xalia.exe + applicationVersion: 0 + pEngineName: DXVK + engineVersion: 12587008 + apiVersion: 4206592 +[Gamescope WSI] Executable name: xalia.exe +ATTENTION: default value of option vk_wsi_force_swapchain_to_current_extent overridden by environment. +[Gamescope WSI] No application info given. +[Gamescope WSI] Application info: + pApplicationName: ArmaReforgerWorkbenchSteamDiag.exe + applicationVersion: 1 + pEngineName: DXVK + engineVersion: 12587008 + apiVersion: 4206592 +[Gamescope WSI] Executable name: ArmaReforgerWorkbenchSteamDiag.exe +ATTENTION: default value of option vk_wsi_force_swapchain_to_current_extent overridden by environment. +[Gamescope WSI] No application info given. +The XKEYBOARD keymap compiler (xkbcomp) reports: +> Warning: Unsupported maximum keycode 709, clipping. +> X11 cannot support keycodes above 255. +> Warning: Virtual modifier Hyper multiply defined +> Using 0, ignoring 0 +> Warning: Virtual modifier ScrollLock multiply defined +> Using 0, ignoring 0 +Errors from xkbcomp are not fatal to the X server +ATTENTION: default value of option vk_wsi_force_swapchain_to_current_extent overridden by environment. +[Gamescope WSI] Application info: + pApplicationName: ArmaReforgerWorkbenchSteamDiag.exe + applicationVersion: 0 + pEngineName: DXVK + engineVersion: 12587008 + apiVersion: 4206592 +ATTENTION: default value of option vk_wsi_force_swapchain_to_current_extent overridden by environment. +[Gamescope WSI] Application info: + pApplicationName: ArmaReforgerWorkbenchSteamDiag.exe + applicationVersion: 0 + pEngineName: vkd3d + engineVersion: 12587008 + apiVersion: 4206592 +[Gamescope WSI] Forcing on VK_EXT_swapchain_maintenance1. +ATTENTION: default value of option vk_wsi_force_swapchain_to_current_extent overridden by environment. +[Gamescope WSI] No application info given. +ATTENTION: default value of option vk_wsi_force_swapchain_to_current_extent overridden by environment. +[Gamescope WSI] Application info: + pApplicationName: ArmaReforgerWorkbenchSteamDiag.exe + applicationVersion: 0 + pEngineName: vkd3d + engineVersion: 12587008 + apiVersion: 4206592 +[Gamescope WSI] Forcing on VK_EXT_swapchain_maintenance1. +[Gamescope WSI] Creating Gamescope surface: xid: 0x1a001a4 +[Gamescope WSI] Atom of T was wrong type. Expected XCB_ATOM_CARDINAL. +[Gamescope WSI] Made gamescope surface for xid: 0x1a001a4 +[Gamescope WSI] Surface state: + steam app id: 1874910 + window xid: 0x1a001a4 + wayland surface res id: 5 + layer client flags: 0x4 + server hdr output enabled: false + hdr formats exposed to client: false +[Gamescope WSI] Creating Gamescope surface: xid: 0x1a003a4 +[Gamescope WSI] Atom of T was wrong type. Expected XCB_ATOM_CARDINAL. +[Gamescope WSI] Made gamescope surface for xid: 0x1a003a4 +[Gamescope WSI] Surface state: + steam app id: 1874910 + window xid: 0x1a003a4 + wayland surface res id: 10 + layer client flags: 0x4 + server hdr output enabled: false + hdr formats exposed to client: false +[Gamescope WSI] Creating swapchain for xid: 0x1a003a4 - oldSwapchain: (nil) - provided minImageCount: 3 - minImageCount: 3 - format: VK_FORMAT_B8G8R8A8_UNORM - colorspace: VK_COLOR_SPACE_SRGB_NONLINEAR_KHR - flip: false +[Gamescope WSI] Created swapchain for xid: 0x1a003a4 swapchain: 0x55557c89db10 - imageCount: 4 +[Gamescope WSI] Destroying swapchain: 0x55557c89db10 +[Gamescope WSI] Destroyed swapchain: 0x55557c89db10 +[Gamescope WSI] Creating swapchain for xid: 0x1a003a4 - oldSwapchain: (nil) - provided minImageCount: 3 - minImageCount: 3 - format: VK_FORMAT_B8G8R8A8_UNORM - colorspace: VK_COLOR_SPACE_SRGB_NONLINEAR_KHR - flip: false +[Gamescope WSI] Created swapchain for xid: 0x1a003a4 swapchain: 0x55557c89db10 - imageCount: 4 +[Gamescope WSI] Destroying swapchain: 0x55557c89db10 +[Gamescope WSI] Destroyed swapchain: 0x55557c89db10 +[Gamescope WSI] Creating swapchain for xid: 0x1a003a4 - oldSwapchain: (nil) - provided minImageCount: 3 - minImageCount: 3 - format: VK_FORMAT_B8G8R8A8_UNORM - colorspace: VK_COLOR_SPACE_SRGB_NONLINEAR_KHR - flip: false +[Gamescope WSI] Created swapchain for xid: 0x1a003a4 swapchain: 0x55557c89db10 - imageCount: 4 +[gamescope] [Error] xwm: X11 I/O error! This is fatal. Aborting... diff --git a/docs/evidence/native-2026-09-19-042945-ui-refresh-failure/report.json b/docs/evidence/native-2026-09-19-042945-ui-refresh-failure/report.json new file mode 100644 index 0000000..8af56ed --- /dev/null +++ b/docs/evidence/native-2026-09-19-042945-ui-refresh-failure/report.json @@ -0,0 +1,20 @@ +{ + "log": "docs/evidence/native-2026-09-19-042945-ui-refresh-failure/console.log.txt", + "smoke_completions": 0, + "assertions_passed": 103, + "script_or_runtime_failures": [ + "04:31:00.101 SCRIPT (E): ERR SMOKE FAIL: objective UI open list and details contain current title and instructions" + ], + "engine_errors": [ + "04:30:25.020 WORLD (E): Unknown keyword/data 'SlidingTrackMaterial' at offset 19441(0x4bf1)", + "04:30:25.058 WORLD (E): Unknown keyword/data 'Parent' at offset 35955(0x8c73)", + "04:30:25.058 WORLD (E): Unknown keyword/data 'Parent' at offset 36915(0x9033)", + "04:30:25.059 WORLD (E): Unknown keyword/data 'Parent' at offset 42646(0xa696)", + "04:30:25.059 WORLD (E): Unknown keyword/data 'Parent' at offset 43645(0xaa7d)", + "04:30:25.059 WORLD (E): Unknown keyword/data 'Parent' at offset 44617(0xae49)", + "04:30:25.059 WORLD (E): Unknown keyword/data 'Parent' at offset 45590(0xb216)", + "04:31:00.101 SCRIPT (E): ERR SMOKE FAIL: objective UI open list and details contain current title and instructions" + ], + "missing_end_screen": [], + "scope": "scripted local Workbench integration only; no multiplayer, piloting or FPS claim" +} diff --git a/docs/evidence/native-2026-09-19-042945-ui-refresh-failure/runner.json.txt b/docs/evidence/native-2026-09-19-042945-ui-refresh-failure/runner.json.txt new file mode 100644 index 0000000..03c8fa2 --- /dev/null +++ b/docs/evidence/native-2026-09-19-042945-ui-refresh-failure/runner.json.txt @@ -0,0 +1,9 @@ +{ + "result": "test-failed", + "session": "/tmp/erri-workbench-profile/logs/logs_2026-09-19_04-29-45", + "rounds_required": 1, + "project": "core", + "display": "headless Gamescope 1280x720/30Hz", + "dedicated_server": false, + "audio": "silent sink and per-test-stream mute" +} diff --git a/docs/evidence/native-2026-09-19-042945-ui-refresh-failure/script.log.txt b/docs/evidence/native-2026-09-19-042945-ui-refresh-failure/script.log.txt new file mode 100644 index 0000000..b8556b2 --- /dev/null +++ b/docs/evidence/native-2026-09-19-042945-ui-refresh-failure/script.log.txt @@ -0,0 +1,182 @@ +--------------------------------------------- +Log Z:\tmp\erri-workbench-profile\logs\logs_2026-09-19_04-29-45\script.log started at 2026-09-19 04:29:48 (2026-09-19 02:29:48 UTC) + +04:29:48.074 SCRIPT : SCRIPT : Initializing scripts +04:29:48.074 SCRIPT : SCRIPT : ScriptProjectManager init +04:29:49.011 SCRIPT : SCRIPT : Compiling GameLib scripts +04:29:49.083 SCRIPT : Module: Workbench; loaded 18x files; 36x classes; used 125K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE"; CRC32: 90ce0460 +04:29:49.083 SCRIPT : Module: GameLib; loaded 465x files; 648x classes; used 828K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE"; CRC32: 4507af04 +04:29:49.084 SCRIPT : SCRIPT : Compiling Game scripts +04:29:50.193 SCRIPT : Compiling Game scripts +04:29:50.193 SCRIPT (W): @"Scripts/Game/Editor/Components/EditableEntity/SCR_EditableEntityComponent.c,785": 'GetPlayerPlatformKind' is obsolete +04:29:50.193 SCRIPT (W): @"Scripts/Game/Editor/Components/EditableEntity/SCR_EditableEntityComponent.c,786": 'GetPlayerPlatformId' is obsolete +04:29:50.449 SCRIPT (W): @"Scripts/Game/Workshop/SCR_AddonManager.c,876": 'GetRefCount' is obsolete: Will be removed +04:29:50.482 SCRIPT (W): @"Scripts/Game/Campaign/SCR_PlayerProfileManagerComponent.c,142": 'PlayerData' is obsolete +04:29:50.578 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,159": 'GetDSSession' is obsolete +04:29:50.578 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,162": 'RoomID' is obsolete +04:29:50.578 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,197": 'GetDSSession' is obsolete +04:29:50.578 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,201": 'RoomID' is obsolete +04:29:50.670 SCRIPT (W): @"Scripts/Game/DataCollection/SCR_DataCollectorComponent.c,481": 'GetStorage' is obsolete +04:29:50.670 SCRIPT (W): @"Scripts/Game/DataCollection/SCR_DataCollectorComponent.c,483": 'GetOnlineWritePrivilege' is obsolete +04:29:50.671 SCRIPT (W): @"Scripts/Game/Utilities/SCR_PlayerIdentityUtils.c,20": 'GetPlayerIdentityId' is obsolete +04:29:50.711 SCRIPT (W): @"Scripts/Game/ERR/ERR_ExtractionService.c,45": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +04:29:50.711 SCRIPT (W): @"Scripts/Game/ERR/ERR_ExtractionService.c,56": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +04:29:50.712 SCRIPT (W): @"Scripts/Game/UI/Menu/MainMenuUI.c,643": 'GetNotifyCount' is obsolete: Will be substitued by Notification Api. +04:29:50.712 SCRIPT (W): @"Scripts/Game/UI/Menu/MainMenuUI.c,645": 'GetNotifyItem' is obsolete: Will be substitued by Notification Api. +04:29:50.765 SCRIPT (W): @"Scripts/Game/DataCollection/PlayerData/SCR_PlayerData.c,210": 'PlayerData' is obsolete +04:29:51.026 SCRIPT : Module: WorkbenchGame; loaded 171x files; 616x classes; used 2478K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE"; CRC32: db6febb9 +04:29:51.033 SCRIPT : Module: Game; loaded 5695x files; 11160x classes; used 32426K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE,ENABLE_BASE_DESTRUCTION,BUDGET_OPTIMIZATION_CHECKS,SHOW_DISCLAIMER,DEBUG,RESPAWN_TIMER_COMPONENT_DEBUG,GAME_MODE_DEBUG,DEBUG_CONFIGURABLE_DIALOGS,DISABLE_WEAPON_SWITCHING,SCRIPTED_AIM_MODIFIER_DEBUG"; CRC32: 9f851081 +04:29:51.999 SCRIPT : Unable to register a script command due keyword duplicity: ban +04:29:52.000 SCRIPT : Unable to register a script command due keyword duplicity: kick +04:30:11.241 SCRIPT : ERR SITE SURVEY: supply=6150/7050 elevationRange=0.625 min=202.875 max=203.5 +04:30:14.460 SCRIPT : Unable to register a script command due keyword duplicity: ban +04:30:14.460 SCRIPT : Unable to register a script command due keyword duplicity: kick +04:30:27.305 SCRIPT (W): SCR_PerceivedFactionManagerComponent trying to set fall back faction 'CIV' but this faction could not be found so it is null instead. +04:30:27.333 SCRIPT : ERR BASE SMOKE: core-only scripted escape; not manual or multiplayer acceptance +04:30:27.874 SCRIPT (W): Notification data in 'SCR_NotificationsLogDisplay' has duplicate notification info key: 'EDITOR_PERCEIVED_FACTION_PUNISHMENT_KILLING_SET'. There should only be one of each key! +04:30:27.875 SCRIPT (W): Notification data in 'SCR_NotificationsLogDisplay' has duplicate notification info key: 'EDITOR_PERCEIVED_FACTION_TYPE_DISABLED'. There should only be one of each key! +04:30:27.876 SCRIPT (W): Can't open config file "" +04:30:27.882 SCRIPT (W): Slot_WeaponInfo Has no Content! +04:30:27.882 SCRIPT (W): Slot_Chat Has no Content! +04:30:27.883 SCRIPT (W): Slot_VON Has no Content! +04:30:27.883 SCRIPT (W): Slot_AvailableActions Has no Content! +04:30:27.883 SCRIPT (W): Slot_Vehicle Has no Content! +04:30:27.883 SCRIPT (W): Slot_GameVersion Has no Content! +04:30:27.883 SCRIPT (W): Slot_Notifications Has no Content! +04:30:27.883 SCRIPT (W): Slot_Hints Has no Content! +04:30:27.897 SCRIPT (W): Ban Settings could not be loaded from BE Storage: Relying on default config +04:30:27.952 SCRIPT : ScenarioFramework: Available tasks are empty, no new tasks will be generated. +04:30:27.965 SCRIPT : SCR_BaseGameMode::OnGameStateChanged = GAME +04:30:28.135 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +04:30:29.652 SCRIPT : Rereintroduced [sites]: cache clearance position=<6086,211.538,7160> clear=1 +04:30:29.673 SCRIPT : Rereintroduced [sites]: authored everon-prison-1 at <6090,211.444,7160> +04:30:29.674 SCRIPT : Rereintroduced [sites]: cache clearance position=<6150,203.288,7050> clear=1 +04:30:29.705 SCRIPT : Rereintroduced [sites]: authored everon-supply-1 at <6150,203.288,7050> +04:30:29.707 SCRIPT : Rereintroduced [sites]: authored everon-radio-1 at <6500,159.756,7200> +04:30:29.755 SCRIPT : Rereintroduced [sites]: authored everon-extraction-1 at <7000,65.2562,7500> +04:30:29.755 SCRIPT : Rereintroduced [sites]: cache clearance position=<5960,220.256,7220> clear=1 +04:30:29.760 SCRIPT : Rereintroduced [sites]: authored everon-supply-2 at <5960,220.256,7220> +04:30:29.760 SCRIPT : Rereintroduced [sites]: cache clearance position=<6340,175.788,7400> clear=1 +04:30:29.762 SCRIPT : Rereintroduced [sites]: authored everon-medical-1 at <6340,175.788,7400> +04:30:29.762 SCRIPT : Rereintroduced [sites]: cache clearance position=<6740,140.6,7300> clear=1 +04:30:29.766 SCRIPT : Rereintroduced [sites]: cache clearance position=<6740,140.913,7296> clear=1 +04:30:29.767 SCRIPT : Rereintroduced [sites]: cache clearance position=<6736,140.975,7300> clear=1 +04:30:29.768 SCRIPT : Rereintroduced [sites]: cache clearance position=<6744,140.288,7300> clear=1 +04:30:29.769 SCRIPT : Rereintroduced [sites]: authored everon-outpost-1 at <6740,140.6,7300> +04:30:29.903 SCRIPT : Rereintroduced [sites]: 7 sites and 117 physical stock items ready +04:30:29.905 SCRIPT : Rereintroduced [time]: started at 14:00 with 1x progression +04:30:29.905 SCRIPT : Rereintroduced [mission]: phase 0 -> 1 +04:30:30.149 SCRIPT : INFO: Faction: player jakub (playerID = 1 | UUID = 00000000-0000-0000-0000-000000000000) has joined faction #AR-Faction_US (US) +04:30:30.229 SCRIPT : Rereintroduced [spawn]: player 1 at <6090,211.344,7160> +04:30:30.310 SCRIPT : ERR SMOKE PASS: definition authored configuration resolves +04:30:30.310 SCRIPT : ERR SMOKE PASS: definition duplicate site identity rejected +04:30:30.310 SCRIPT : ERR SMOKE PASS: definition dangling document target rejected +04:30:30.310 SCRIPT : ERR SMOKE PASS: definition non-radio document target rejected +04:30:30.311 SCRIPT : ERR SMOKE PASS: definition insufficient guaranteed radio clues rejected +04:30:30.311 SCRIPT : ERR SMOKE PASS: definition unbounded stock rejected +04:30:30.311 SCRIPT : ERR SMOKE PASS: definition unguaranteed clue route rejected +04:30:30.311 SCRIPT : ERR SMOKE PASS: definition radio sources sharing one footprint rejected +04:30:30.311 SCRIPT : ERR SMOKE PASS: definition unnamed location rejected +04:30:30.311 SCRIPT : ERR SMOKE PASS: definition proximity discovery cannot reveal progression sites +04:30:30.312 SCRIPT : ERR SMOKE PASS: definition escape cannot reveal the radio directly +04:30:30.312 SCRIPT : ERR SMOKE PASS: definition unbounded scenery offset rejected +04:30:30.312 SCRIPT : ERR SMOKE PASS: definition valid configuration restored after isolated mutations +04:30:30.312 SCRIPT : ERR SMOKE PASS: base contracts catalog resolves hostile vanilla factions and successful preparation +04:30:30.312 SCRIPT : ERR SMOKE PASS: base contracts physical prisoner matches injected faction and resource +04:30:30.313 SCRIPT : ERR SMOKE PASS: base contracts physical guard squad comes from injected catalog +04:30:30.313 SCRIPT : ERR SMOKE PASS: base contracts same-side factions rejected +04:30:30.313 SCRIPT : ERR SMOKE PASS: base contracts unknown world faction rejected +04:30:30.313 SCRIPT : ERR SMOKE PASS: base contracts missing prisoner resource rejected +04:30:30.313 SCRIPT : ERR SMOKE PASS: base contracts isolated catalog restored without mutating live configuration +04:30:30.313 SCRIPT : ERR SMOKE PASS: base contracts unauthorized settings request rejected +04:30:30.313 SCRIPT : ERR SMOKE PASS: base contracts partially numeric input rejected without mutation +04:30:30.314 SCRIPT : ERR SMOKE PASS: base contracts out-of-range duration rejected without mutation +04:30:30.317 SCRIPT : ERR SMOKE PASS: base contracts normalized base command saves validated duration +04:30:30.317 SCRIPT : ERR SMOKE PASS: base contracts base command reads saved duration +04:30:30.317 SCRIPT : ERR SMOKE PASS: base contracts base settings listing available +04:30:30.317 SCRIPT : ERR SMOKE PASS: base contracts base mission status available before companions +04:30:30.320 SCRIPT : ERR SMOKE PASS: base contracts test setting restored +04:30:30.320 SCRIPT : ERR SMOKE PASS: base outpost barrier is upright +04:30:30.321 SCRIPT : ERR COVER GEOMETRY: low=<6738.99,140.839,7295.42> high=<6740.98,141.655,7296.62> trace=0.377114 +04:30:30.321 SCRIPT : ERR SMOKE PASS: base outpost barrier has physical collision +04:30:30.321 SCRIPT : ERR SMOKE PASS: base outpost barrier is upright +04:30:30.321 SCRIPT : ERR COVER GEOMETRY: low=<6735.42,140.901,7299.02> high=<6736.62,141.718,7301.01> trace=0.377114 +04:30:30.321 SCRIPT : ERR SMOKE PASS: base outpost barrier has physical collision +04:30:30.321 SCRIPT : ERR SMOKE PASS: base outpost barrier is upright +04:30:30.321 SCRIPT : ERR COVER GEOMETRY: low=<6743.42,140.214,7299.02> high=<6744.62,141.03,7301.01> trace=0.377114 +04:30:30.321 SCRIPT : ERR SMOKE PASS: base outpost barrier has physical collision +04:30:30.321 SCRIPT : ERR SMOKE PASS: base exactly three authored outpost barriers exist +04:30:30.322 SCRIPT : ERR SMOKE PASS: mission time clock parsing includes midnight and final minute +04:30:30.322 SCRIPT : ERR SMOKE PASS: mission time malformed clock commands rejected +04:30:30.322 SCRIPT : ERR SMOKE PASS: mission time isolated fixture paths unused +04:30:30.323 SCRIPT : ERR SMOKE PASS: mission time legacy fixture created +04:30:30.323 SCRIPT : ERR SMOKE PASS: mission time existing six-key settings preserved +04:30:30.323 SCRIPT : ERR SMOKE PASS: mission time only absent time settings receive defaults +04:30:30.324 SCRIPT : ERR SMOKE PASS: mission time loading does not rewrite legacy file +04:30:30.329 SCRIPT : ERR SMOKE PASS: mission time explicit save upgrades valid legacy settings +04:30:30.329 SCRIPT : ERR SMOKE PASS: mission time new keys and old values survive reload +04:30:30.331 SCRIPT : ERR SMOKE PASS: mission time present out-of-range time cannot silently default +04:30:30.332 SCRIPT : ERR SMOKE PASS: mission time fractional clock setting rejected +04:30:30.332 SCRIPT : ERR SMOKE PASS: mission time zero multiplier rejected +04:30:30.333 SCRIPT : ERR SMOKE PASS: mission time missing legacy setting remains invalid +04:30:30.335 SCRIPT : ERR SMOKE PASS: mission time partially upgraded file defaults only missing new field +04:30:30.336 SCRIPT : ERR SMOKE PASS: mission time valid saved backup recovers invalid primary +04:30:30.336 SCRIPT : ERR SMOKE PASS: mission time server starts world clock before prison phase +04:30:30.337 SCRIPT : ERR SMOKE PASS: mission time engine progression matches applied multiplier +04:30:30.337 SCRIPT : ERR SMOKE PASS: mission time unauthorized clock mutation rejected +04:30:30.337 SCRIPT : ERR SMOKE PASS: mission time invalid clock command preserves setting +04:30:30.346 SCRIPT : ERR SMOKE PASS: mission time authorized settings persist and test restores originals +04:30:30.346 SCRIPT : ERR SMOKE PASS: mission time saved changes and repeated start leave current clock and speed intact +04:30:30.346 SCRIPT : ERR SMOKE PASS: mission time admin sees current clock separately from next round settings +04:30:30.346 SCRIPT : ERR SMOKE PASS: base native prison objective exists +04:30:30.347 SCRIPT : ERR SMOKE PASS: objective UI current native task exists +04:30:30.350 SCRIPT : ERR SMOKE PASS: objective UI native list and detail layouts created +04:30:30.350 SCRIPT : ERR SMOKE PASS: objective UI native handlers attached +04:30:30.351 SCRIPT : ERR SMOKE PASS: objective UI open list and details contain current title and instructions +04:30:30.351 SCRIPT : ERR SMOKE PASS: objective UI list-only task cannot expose an undiscovered map position +04:30:30.351 SCRIPT : ERR SMOKE PASS: objective UI actual local player receives the active objective +04:30:30.351 SCRIPT : ERR SMOKE PASS: objective UI extraction instructions follow a nondefault boundary +04:30:30.351 SCRIPT : ERR SMOKE PASS: base authored supply cache is a separate scavenging location +04:30:30.351 SCRIPT : ERR BASE STOCK: cache items=54 +04:30:30.351 SCRIPT : ERR SMOKE PASS: base cache holds finite physical equipment and objective documents +04:30:30.352 SCRIPT : ERR SMOKE PASS: base no companion HQ or support controller loaded +04:30:30.352 SCRIPT : ERR SMOKE PASS: base prisoner spawned in authored prison +04:30:30.352 SCRIPT : ERR SMOKE PASS: base gate, clues, radio and helicopter created by core +04:30:30.352 SCRIPT : Rereintroduced [mission]: phase 1 -> 2 +04:30:30.354 SCRIPT : ERR SMOKE PASS: base gate action begins escape +04:30:30.356 SCRIPT : ERR SMOKE PASS: base test defence duration accepted +04:30:30.357 SCRIPT : ERR SMOKE PASS: base previous native objective completes on phase change +04:30:30.357 SCRIPT : ERR SMOKE PASS: base search objective does not expose a hidden site +04:30:30.357 SCRIPT : ERR SMOKE PASS: objective UI current native task exists +04:30:30.359 SCRIPT : ERR SMOKE PASS: objective UI native list and detail layouts created +04:30:30.359 SCRIPT : ERR SMOKE PASS: objective UI native handlers attached +04:30:30.360 SCRIPT : ERR SMOKE PASS: objective UI open list and details contain current title and instructions +04:30:30.360 SCRIPT : ERR SMOKE PASS: objective UI list-only task cannot expose an undiscovered map position +04:30:30.360 SCRIPT : ERR SMOKE PASS: objective UI actual local player receives the active objective +04:30:30.360 SCRIPT : ERR SMOKE PASS: objective UI extraction instructions follow a nondefault boundary +04:30:30.360 SCRIPT : ERR SMOKE PASS: base both named supply routes revealed after escape +04:30:30.360 SCRIPT : ERR SMOKE PASS: base optional sites remain hidden until approached +04:30:36.349 SCRIPT : ERR SMOKE PASS: base unconscious player cannot discover optional sites +04:30:42.412 SCRIPT : ERR SMOKE PASS: base distant player cannot discover optional sites +04:30:42.412 SCRIPT : ERR SMOKE PASS: base isolated visibility obstacle created +04:30:42.412 SCRIPT : ERR VISIBILITY OBSTACLE: low=<6338.5,174.97,7403.87> high=<6341.5,178.737,7404.13> observer=<6340.45,174.683,7466.42> target=<6340,175.788,7400> +04:30:48.476 SCRIPT : ERR SMOKE PASS: base physical wall prevents nearby site discovery +04:30:54.546 SCRIPT : ERR SMOKE PASS: base conscious nearby player visually discovers named medical stash once +04:30:54.547 SCRIPT : ERR SMOKE PASS: base proximity cannot bypass radio documents +04:30:55.057 SCRIPT : ERR SMOKE PASS: base physical clue recovered +04:30:55.277 SCRIPT : Rereintroduced [intel]: player 1 recovered folder; location=everon-radio-1 knowledge=1 +04:30:57.580 SCRIPT : ERR SMOKE PASS: base physical clue recovered +04:30:58.289 SCRIPT : Rereintroduced [intel]: player 1 recovered folder; location=everon-radio-1 knowledge=2 +04:31:00.100 SCRIPT : ERR SMOKE PASS: base objective guidance reacts to discovered radio +04:31:00.100 SCRIPT : ERR SMOKE PASS: objective UI current native task exists +04:31:00.101 SCRIPT (E): ERR SMOKE FAIL: objective UI open list and details contain current title and instructions +04:31:00.606 SCRIPT : ERR SMOKE PASS: base objective guidance reacts to discovered radio +04:31:00.606 SCRIPT : ERR SMOKE PASS: objective UI current native task exists +04:31:00.608 SCRIPT : ERR SMOKE PASS: objective UI native list and detail layouts created +04:31:00.608 SCRIPT : ERR SMOKE PASS: objective UI native handlers attached +04:31:00.609 SCRIPT : ERR SMOKE PASS: objective UI open list and details contain current title and instructions +04:31:00.609 SCRIPT : ERR SMOKE PASS: objective UI list-only task cannot expose an undiscovered map position +04:31:00.609 SCRIPT : ERR SMOKE PASS: objective UI actual local player receives the active objective +04:31:00.609 SCRIPT : ERR SMOKE PASS: objective UI extraction instructions follow a nondefault boundary +04:31:00.612 SCRIPT : ERR SMOKE PASS: base discovery ticks do not repeat the location event +04:31:00.612 SCRIPT : ERR SMOKE PASS: base documents identify radio without Intel addon diff --git a/docs/evidence/native-2026-09-19-042945-ui-refresh-failure/source-sha256.json b/docs/evidence/native-2026-09-19-042945-ui-refresh-failure/source-sha256.json new file mode 100644 index 0000000..c091d3f --- /dev/null +++ b/docs/evidence/native-2026-09-19-042945-ui-refresh-failure/source-sha256.json @@ -0,0 +1,109 @@ +{ + "addons/ai/Prefabs/ERR/MortarCrew.et": "05d3e7353ff9fe5523218a1487b31b7b742b0be8adbcb060c7099978cf008bce", + "addons/ai/Prefabs/ERR/MortarCrew.et.meta": "fdfd4fcd21a67c3d698fa4aadc4e5c76e665cebf4be86013bc389e493fab63cc", + "addons/ai/Scripts/Game/ERR/ERR_HQ.c": "ceafd6740ed277748744ce56ac0f0bb3a8521fcc060dafb2cdb99896aedf405a", + "addons/ai/Scripts/Game/ERR/ERR_HQJournal.c": "b3e402cfe92d415f37f666045afb062e6e11670ba03a0ca6f2d9fd4fc3520ac1", + "addons/ai/Scripts/Game/ERR/ERR_HQNetwork.c": "92ff2caca52e94c2cc9642dfc8509ce6e9349b257012bade8650bace9231128c", + "addons/ai/Scripts/Game/ERR/ERR_HQObservation.c": "36c978ec5f052213ac1236e1398d85063efbfd7ef60fe04f1fc11447fefe1d68", + "addons/ai/Scripts/Game/ERR/ERR_HQReport.c": "c4d16ccb571db4d9444c0a8d2be7318845d25ff90238b6d304e96a9ea19f1a08", + "addons/ai/Scripts/Game/ERR/ERR_HelicopterAvailability.c": "60eaef2f6d4b2fd44861c5a4434ef97e732e40a5ff7401e2da451ed2dd9c2762", + "addons/ai/Scripts/Game/ERR/ERR_MortarBattery.c": "66b8f16b692a0f75fc9d920f5224d9292a0f1dc7dd8b2dde912e676fa80ddc9c", + "addons/ai/Scripts/Game/ERR/ERR_MortarFiring.c": "657e96d1112b68c8ced37793e99f88e6078b38a579190e63d00b1f9a9a032e26", + "addons/ai/Scripts/Game/ERR/ERR_MortarPrediction.c": "470dd196ed64800c697d24c09d1344bacd2502587fac76af4ee0edae2563092d", + "addons/ai/Scripts/Game/ERR/ERR_MortarSalvo.c": "697c01f479df6c505a41d984a29c02002e3052114dafa2ec6252ae55e2979a2b", + "addons/ai/Scripts/Game/ERR/ERR_MortarSystem.c": "12d8fc39d47e03c3838e0642aa9e4a80baf60f250357493bff812d5c75812c86", + "addons/ai/Scripts/Game/ERR/ERR_SettlementSafety.c": "e5c0ebc95521a9a33a3f7d9cca6c551dda862a08b7af20b017877aba9584795b", + "addons/ai/Scripts/Game/ERR/ERR_SupportScenario.c": "71757018ec9716c4dc24f62a292a214919d3fd5daed3c16e03e56abd208e9f03", + "addons/ai/addon.gproj": "5f559db8f526700db11e6ae763f5245f19b7006fc68c56e4c09fb6f940bdf2a1", + "addons/chat/Missions/ERR_Everon.conf": "76f3ac0d21b585654beac7ddd68e3c8cbdd66dbfe909b17b04838fa813a7c29b", + "addons/chat/Missions/ERR_Everon.conf.meta": "0a23c98bf83873536c65fa17d38dea33a1d7b9e4ab210f90633ff688abcc551f", + "addons/chat/Scripts/Game/ERR/ERR_AdminCommands.c": "7ea6d6b240524cf0193c86fcab861fbdef9adca780acff11ee73f9ed0e99ce7b", + "addons/chat/Scripts/Game/ERR/ERR_NativeMortarProbe.c": "ddb892141500c192c0787b011d57dd8c07dd8c9a3ca5fdc407f6c271897bde0a", + "addons/chat/Scripts/Game/ERR/ERR_NativeRadioProbe.c": "84524163c63402755b4f834f74dfe6d8e5c397dc26031f532593c6f79f5a93b1", + "addons/chat/Scripts/Game/ERR/ERR_NativeSmoke.c": "b1626487d573a68cb63baf1a73871ada3551c2f1fbe32bf9c164218532b942a2", + "addons/chat/Scripts/WorkbenchGame/ERR/ERR_ValidateWorldPlugin.c": "81c92d408ce88cc9f98d6053f1d0c863427693ba748f00df9f1bf8079015ef94", + "addons/chat/addon.gproj": "ea1587e0174cf795334d306c71d99b06797fc891427cd57b6cab6e21cf0e4e0e", + "addons/core/Configs/ERR/EveronSites.conf": "efea641f72e997c75969c52746a88b4dd1a047251d58f79d3e264ae79484b897", + "addons/core/Configs/ERR/EveronSites.conf.meta": "d5fe68025ef4e7c1e16082cf5873b7c7172eacbfaef4ab29b7e0e3c98f8dca56", + "addons/core/Configs/ERR/GameOverScreens.conf": "45231061911a1462d45fb6db0fecc2b0793f17b5ae71017174954ff4fbd20236", + "addons/core/Configs/ERR/GameOverScreens.conf.meta": "eb654b745c0b97b41c991694569ef4877a3c2315e0826f9556337cd68690843e", + "addons/core/Configs/ERR/VanillaFactions.conf": "f8b8b9898a16b4a4a55ab3c12d2547bef2dc433732c7643df980cb3aca715212", + "addons/core/Configs/ERR/VanillaFactions.conf.meta": "ac77725c0c21974991ef47a466b88122e939de8b46fd23e68889e7674cbb2bfd", + "addons/core/Missions/ERR_Everon_Base.conf": "1e6a0e9a756d15495201f71121626890f01efe6b00154c561672d4ec157960bd", + "addons/core/Missions/ERR_Everon_Base.conf.meta": "9b16267c644d815bcf98a3a3aaff30b93d7224fb24d3a2bac66730a28011f317", + "addons/core/Prefabs/ERR/Extraction.et": "1aa286ef253c5410f09fa641e4be91a7be8ec834487a7fbb74cfb45cab60ee1e", + "addons/core/Prefabs/ERR/Extraction.et.meta": "c2a838633001e2e3a202d39cb33aa744ebcd996017ad032359069641b5d13853", + "addons/core/Prefabs/ERR/FieldCover.et": "20f8095e69dbfe3db74ff19078e528ea75405362b335e03560ccd61f8df2e7f3", + "addons/core/Prefabs/ERR/FieldCover.et.meta": "83461ffa76244e1d69f20b053a9741ccdf7d127009182bd540a7e5ba6150c3d9", + "addons/core/Prefabs/ERR/GameMode.et": "385c97a5b8067091d92aa60c2d4fcf02002cf606b95523866ead65c96b8c0029", + "addons/core/Prefabs/ERR/GameMode.et.meta": "106769cd34525c9d440057072836cb7401a6752148c40edd7fe61c03bd58328c", + "addons/core/Prefabs/ERR/ObjectiveDocument.et": "2e72270bf186654af12d2c3ff9bf940690b03fb17fca44f873c1fde5d11384c0", + "addons/core/Prefabs/ERR/ObjectiveDocument.et.meta": "eaba9903be147b98a1106e2273e2270773df73b9b22f2cd4e20136a8e281382e", + "addons/core/Prefabs/ERR/Patrol.et": "c5685a8bc311cc5563fb3334beec9408d3d7a1069152fddeeb7df4f1b7f9e6ce", + "addons/core/Prefabs/ERR/Patrol.et.meta": "7c5da568fa2fcf0709ee2959253cb068d7c7ed7c2467af3b247a7e70efd96b69", + "addons/core/Prefabs/ERR/Prison.et": "1503db1441d8cd7a4f0b45c27ba9623b9fa39f0f81016e180bd2aa1379e1f42a", + "addons/core/Prefabs/ERR/Prison.et.meta": "2e426ef3de68f4107907854b51e818bc11d84649a01c538e3f18dd9ebec766bb", + "addons/core/Prefabs/ERR/PrisonDoor.et": "fc66be9d36f1f01084de59f1b0a1e8817f9e46547ead33d4fafaac0107446c40", + "addons/core/Prefabs/ERR/PrisonDoor.et.meta": "b8f3db52bf186426026668fbb9d633c3cbd4d438ab301fba880398f6a0e781c2", + "addons/core/Prefabs/ERR/PrisonWall.et": "8009d19365ae72a4749d7ad4fa04662575b06c65c6bf06507d380d57258b5eed", + "addons/core/Prefabs/ERR/PrisonWall.et.meta": "0294bc5dbb56f90f8153d62459bb0a6ad91d76a479812bbec9c7db182fdb58d6", + "addons/core/Prefabs/ERR/Radio.et": "b4b5cfe125b39019855816c9a1c508ca4d65d435b5546fdaa6c1fa3c8c9b1165", + "addons/core/Prefabs/ERR/Radio.et.meta": "bc91137b68ba550217914fb8892bb44d7e1920e4a1086f3e506623832a44212f", + "addons/core/Prefabs/ERR/SpectatorCamera.et": "b5b87d5b7b707f3745741aebe7c923067c8a74f8fbb2a4711834bab03bb5a812", + "addons/core/Prefabs/ERR/SpectatorCamera.et.meta": "2a16558f93915e31908a674509e9c89976470f78a84a1174a64b94b68b8f77ad", + "addons/core/Prefabs/ERR/SupplyCache.et": "bccf7afbaae97cfcdd78dd6dbbf4be5b2c045d348f50fe4581962e556c0044d7", + "addons/core/Prefabs/ERR/SupplyCache.et.meta": "2f5de3a4aab1e9d0e35521f48dc57b95bd6e449c383dec4f1c258e10295904cb", + "addons/core/Prefabs/ERR/SupplySite.et": "dc5decce5cabf39b6116e8794ec3960cb1e35761854fdbe69740da118787ded4", + "addons/core/Prefabs/ERR/SupplySite.et.meta": "b41944b12eb3528ff7a3ac94258b18c66ef161aa6a38894aee300a1ac4798630", + "addons/core/Scripts/Game/ERR/ERR_Actions.c": "adf93245e6d78c59b9839599d157a0d2b2b93ea93b3d1ae52e2904dd6c288266", + "addons/core/Scripts/Game/ERR/ERR_Actors.c": "b3c5aabb05f7cf35167bc09b5db51a4ffd89a46658805d6eedbfb80eee30273d", + "addons/core/Scripts/Game/ERR/ERR_AdminService.c": "047c14ce60cc0b167e202438f8f2b1063590e69ef88ea55b54598aea5f99c505", + "addons/core/Scripts/Game/ERR/ERR_DiscoveryMap.c": "2f4ea342fea0530061456be9cdce002d5e7a282e4e27eb88f3860e79f93612bf", + "addons/core/Scripts/Game/ERR/ERR_DiscoveryService.c": "6b5679447fe4a6d7d54c0545881ab56284f871556b3159207d421247f419eada", + "addons/core/Scripts/Game/ERR/ERR_DocumentComponent.c": "17bb76b80ebd3357e46d553c44674f602c7bd6901c92aec53ac8214194aa4ff2", + "addons/core/Scripts/Game/ERR/ERR_EscapeGameOverScreenInfo.c": "b1e1afb7795cb77c0bad94c85abf705b26b9dc2a9400905d80eafd56bdd009d3", + "addons/core/Scripts/Game/ERR/ERR_ExtractionService.c": "91357099b4e0401196b67d48963be54be30e56bdba57cdac67dc20b8ebb883e9", + "addons/core/Scripts/Game/ERR/ERR_FactionCatalog.c": "a5a8c53acf21259e14f59cb919535910f30dabff5a9179c664bc6a7a4d744d6e", + "addons/core/Scripts/Game/ERR/ERR_GameMode.c": "b17ce9ba32a7979e4f1837f41469d174b0259b51ede36ef145d86f7b70e8afbb", + "addons/core/Scripts/Game/ERR/ERR_Location.c": "d2035f56ded35743312ec6ca91a67f8623a466c91255e1893c570edf0954ff24", + "addons/core/Scripts/Game/ERR/ERR_MissionRules.c": "f7abc38ad8fdc375ce7fa63a65f0bade027d22b37e09de5e3f94ba8c3c63cc41", + "addons/core/Scripts/Game/ERR/ERR_NativeBaseSmoke.c": "e4dcaec5f31d01ef0507ba19e6ea247ea32575f4ca6ad67cb1d72996d15ac35a", + "addons/core/Scripts/Game/ERR/ERR_NativeContractsProbe.c": "d1556df885171cf967e96eef5d8981a2e9ee4e3938b7d32fdd0426f647bbabc0", + "addons/core/Scripts/Game/ERR/ERR_NativeDefinitionProbe.c": "d05ef8368ef5afa68e29f45843cb1878b5a09be768f8abdff2f4115c23759b01", + "addons/core/Scripts/Game/ERR/ERR_NativeExtractionProbe.c": "4b09385f73206de004f4f3c38a6192fd658a0d2012482dc5a84dff1599ceb972", + "addons/core/Scripts/Game/ERR/ERR_NativeObjectiveProbe.c": "24cada81e96a9bfff0df0cb8f984d9bde18aff7c128f21db64c98076f75d9670", + "addons/core/Scripts/Game/ERR/ERR_NativeResultProbe.c": "b9a117eef2d5f65fbd792041a2b3e59e38e201bda8e0df8c503e1a1242cfc415", + "addons/core/Scripts/Game/ERR/ERR_NativeSiteSurvey.c": "ac0203753ade0cdff6d483132797a80e4520f14546c3f9dea288281cd4cd9c4f", + "addons/core/Scripts/Game/ERR/ERR_NativeTimeProbe.c": "c93d049785971e51246fcc07cf24804270a752a655505f2c38e48c80df5255ae", + "addons/core/Scripts/Game/ERR/ERR_ObjectiveText.c": "bbb29949194637e6781316836c895e2c0fa7ccdb547d4d944a717da2ad73b0a2", + "addons/core/Scripts/Game/ERR/ERR_Objectives.c": "88d95a52fcba103483ea751571e1afeae0e6fc82115ed50d6fc195424726960f", + "addons/core/Scripts/Game/ERR/ERR_Observer.c": "b719e723369ab4f403950c85226e1336eb48e3c127e84530ac1c695eb86bd0f9", + "addons/core/Scripts/Game/ERR/ERR_PlayerAdminCommands.c": "a084d7dc097dfcde3d6cd9c2e326b9e2f8f2a519f77b30c4f56ab7a1429aa721", + "addons/core/Scripts/Game/ERR/ERR_PlayerEscapeResult.c": "3124ab4d2d6d471409a47aba0af528790734df53243c03fe0cdac3e407047c14", + "addons/core/Scripts/Game/ERR/ERR_PlayerGuide.c": "2c9c365b88651f8b12618443638bf52c04e497221592bd483c33447e30468f36", + "addons/core/Scripts/Game/ERR/ERR_PlayerRoster.c": "a737ba739b3f73a91cd05d808a1d45070e83b5152c003c3164e29842dda51995", + "addons/core/Scripts/Game/ERR/ERR_Resources.c": "8a5314944f75b23982c6b99697045e3c0538aa2137b2c947a5b2411e6076ac03", + "addons/core/Scripts/Game/ERR/ERR_ScenarioComponent.c": "abba03af68323d5715ba1e2497fc66f3c706e6a6a983c3a386228abdfddeec89", + "addons/core/Scripts/Game/ERR/ERR_Settings.c": "2aee784e44c732e09f59150896491ab325ef5e62aa6bad725be1fda955a3f614", + "addons/core/Scripts/Game/ERR/ERR_SiteDefinition.c": "2c5d2493d4ba97e5af21ee856dd614ee5c92c5cdf6053825ae2ebfa72bb2d701", + "addons/core/Scripts/Game/ERR/ERR_SiteService.c": "37ca313c6fb800f42776b4dc950e0d30237775eaf140f21b1730c0a544754a9d", + "addons/core/Scripts/Game/ERR/ERR_SpawnLogic.c": "f84f0c22562912c020e8be81748f36a883dd265d8d9786d0548f32bda5b4b92e", + "addons/core/Scripts/Game/ERR/ERR_Supplies.c": "752e8a56b0b8cde33cf532032cb0a203553017b686faac2e19bee06f7a9c0713", + "addons/core/Scripts/Game/ERR/ERR_TimeService.c": "d9f481b7da01e08d2c982a948c18ba6bde76889d7cc9d26d510708f4ba479453", + "addons/core/Scripts/WorkbenchGame/ERR/ERR_ValidateBaseWorldPlugin.c": "7f44aa64ea7b4f8b3640a37a4b781c43bf6adb80e4a3a702d9491131698056f6", + "addons/core/Worlds/ERR_Everon.ent": "22324bc7eb0d80dec8a1f3bd61a9df9201b72f749f4e751766b0c9d0b7d46b87", + "addons/core/Worlds/ERR_Everon.ent.meta": "19d1903ca72baa326b4724a6791d0da1104a1e53f3f31dc1ca41a856efd68e83", + "addons/core/Worlds/ERR_Everon_Layers/default.layer": "f1a058bd315c7d01d464715ac9f4e18ae3d2432551d094a9afbd4c9c5a2a9416", + "addons/core/addon.gproj": "231274e6b62302f32c65f9ff31de2ce8a9e51e1c8d12c87deeec82ae1f40de46", + "addons/intel/Scripts/Game/ERR/ERR_IntelService.c": "482839434b94e7f8c345d5fd96490aeebb765f3dd0c1bb25fceea2f435c0e722", + "addons/intel/addon.gproj": "d0ced242cefb220a5cccd6779d61fda9bc55581701b9f78bcf13c09d92ddbcbe", + "addons/map/Materials/ERRM_MapRenderTarget.emat": "9877c5b175c5f30dd80bea36c711b21ab38219aa7075adf9ae79932e1d4c76bc", + "addons/map/Materials/ERRM_MapRenderTarget.emat.meta": "5ee1a705f8011a44020ca2691f5ccc17d44bf596fef9a36e98d1f267eb58fab0", + "addons/map/Prefabs/Items/Equipment/ERRM_SharedFieldMap.et": "30dee8e9eab459ea32a7d835a9fb89d43df47708057cab829f067b25a24cd581", + "addons/map/Prefabs/Items/Equipment/ERRM_SharedFieldMap.et.meta": "59093e9072c50d99c86da7609c87541016da5bcf92b98d99db4c524e1c8e0e8d", + "addons/map/Scripts/Game/ERR/ERR_ScenarioMap.c": "75fa1d742129ef7f33c005cd48f56db7f49ee7bde3c5428532b0b501b032b0a3", + "addons/map/Scripts/Game/ERRMap/ERRM_SharedMapComponent.c": "fc1a0c7df4fc96da446d7542a45a10fbec1eda1e543ba2f0581cb772277a47c5", + "addons/map/UI/layouts/ERRMap/SharedMapRenderTarget.layout": "49a2da4181b94d42174f58c7f9b6bf2207116c99427d61ff1c212092ac7db4d2", + "addons/map/UI/layouts/ERRMap/SharedMapRenderTarget.layout.meta": "5c846445cc089e2e08899ba703059d4adb805ff30ab5a16409a3cd59718cbd54", + "addons/map/addon.gproj": "1b371e5e01ea9fa46e76570fecb8aaa3a9298e34cba7ccca8a6bdb5ca86eb46a" +} diff --git a/docs/evidence/native-2026-09-19-043410-parking-failure/console.log.txt b/docs/evidence/native-2026-09-19-043410-parking-failure/console.log.txt new file mode 100644 index 0000000..927824e --- /dev/null +++ b/docs/evidence/native-2026-09-19-043410-parking-failure/console.log.txt @@ -0,0 +1,374 @@ +--------------------------------------------- +Log Z:\tmp\erri-workbench-profile\logs\logs_2026-09-19_04-34-10\console.log started at 2026-09-19 04:34:10 (2026-09-19 02:34:10 UTC) + +04:34:10.519 ENGINE : FileSystem: Adding relative directory 'Z:\tmp\erri-workbench-profile\logs\logs_2026-09-19_04-34-10' to filesystem under name logs +04:34:10.519 ENGINE : FileSystem: Adding relative directory 'Z:\tmp\erri-workbench-profile\profile' to filesystem under name profile +04:34:10.519 ENGINE : FileSystem: Current working directory: 'Z:\home\jakub\.local\share\Steam\steamapps\common\Arma Reforger Tools\Workbench\' +04:34:10.520 PROFILING : Workbench Create Engine took: 9.481600 ms +04:34:11.557 INIT : INIT : Workbench Init Engine +04:34:11.557 ENGINE : Initializing engine, version 192142 +04:34:11.557 ENGINE : CLI Params: -gproj Z:/home/jakub/devel/escapistsrereintroduced/addons/core/addon.gproj -addonsDir Z:/home/jakub/devel/escapistsrereintroduced/addons -profile Z:/tmp/erri-workbench-profile -logconsole -wbModule WorldEditor -load Worlds/ERR_Everon.ent -plugin ERR_ValidateBaseWorldPlugin -errPlay 1 -errBaseSmoke 1 -errSmokeOutcome transport-loss -noThrow -errStationTeardownDiag 1 +04:34:11.567 ENGINE : Addon dirs: +04:34:11.567 ENGINE : dir: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/core/' +04:34:11.567 ENGINE : dir: 'Z:/home/jakub/devel/escapistsrereintroduced/addons' +04:34:11.567 ENGINE : dir: './addons' +04:34:11.567 ENGINE : dir: 'Z:/tmp/erri-workbench-profile/addons' +04:34:11.567 ENGINE : Available addons: +04:34:11.567 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/core/addon.gproj' guid: '2528466DE220D91C' +04:34:11.567 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/ai/addon.gproj' guid: '5192138CB9D5B911' +04:34:11.567 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/chat/addon.gproj' guid: 'FA804F411BDDF2C6' +04:34:11.567 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/intel/addon.gproj' guid: 'D31039C7C53E348A' +04:34:11.567 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/map/addon.gproj' guid: '9AAEE9041D79809E' +04:34:11.567 ENGINE : gproj: './addons/core/core.gproj' guid: '5614BBCCBB55ED1C' (packed) +04:34:11.567 ENGINE : gproj: 'Z:/tmp/erri-workbench-profile/addons/ArmaReforger/ArmaReforger.gproj' guid: '58D0FB3206B6F859' (packed) +04:34:11.567 ENGINE : FileSystem: Adding relative directory 'Z:\home\jakub\devel\escapistsrereintroduced\addons\core' to filesystem under name ERR_Core +04:34:11.692 ENGINE : FileSystem: Adding package 'Z:/tmp/erri-workbench-profile/addons/ArmaReforger/' (pak count: 14) to filesystem under name ArmaReforger +04:34:11.696 ENGINE : FileSystem: Adding package './addons/core/' (pak count: 2) to filesystem under name core +04:34:11.696 ENGINE : CPU vendor : AuthenticAMD +04:34:11.696 ENGINE : CPU type : 2 +04:34:11.696 ENGINE : CPU name : AMD Ryzen 7 3800XT 8-Core Processor +04:34:11.696 ENGINE : CPU cache info : L1 [Inst 32KB, Data 32KB], L2 [Unif 512KB], L3 [Unif 16384KB] +04:34:11.696 ENGINE : CPU count logical : 16 +04:34:11.696 ENGINE : CPU count physical : 8 +04:34:11.696 ENGINE : CPU features : mmx sse sse2 sse3 ssse3 sse4_1 sse4_2 popcnt aesni pclmulqdq osxsave avx sha avx2 +04:34:11.696 RESOURCES : ResourceDB: loading cache (id=0 name=ERR_Core path=Z:\home\jakub\devel\escapistsrereintroduced\addons\core/resourceDatabase.rdb) +04:34:11.696 RESOURCES : ResourceDB: loading cache (id=1 name=ArmaReforger path=Z:/tmp/erri-workbench-profile/addons/ArmaReforger/resourceDatabase.rdb) +04:34:11.842 RESOURCES : ResourceDB: loading cache (id=2 name=core path=./addons/core/resourceDatabase.rdb) +04:34:11.843 RESOURCES : ResourceDB: loading cache (id=3 name=profile path=Z:\tmp\erri-workbench-profile\profile/resourceDatabase.rdb) +04:34:11.844 RESOURCES : ResourceDB: loading cache (id=4 name=logs path=Z:\tmp\erri-workbench-profile\logs\logs_2026-09-19_04-34-10/resourceDatabase.rdb) +04:34:11.997 RESOURCES : RESOURCES : ResourceDB: full scan +04:34:12.002 RESOURCES : RESOURCES : scanning... +04:34:12.002 RESOURCES : RESOURCES : scanning @"ERR_Core" +04:34:12.005 RESOURCES : RESOURCES : scanning @"ArmaReforger" +04:34:12.140 RESOURCES : RESOURCES : scanning @"core" +04:34:12.144 RESOURCES : RESOURCES : scanning @"profile" +04:34:12.144 RESOURCES : RESOURCES : scanning @"logs" +04:34:12.144 RESOURCES : RESOURCES : processing meta-files... +04:34:12.206 RESOURCES : RESOURCES : processing files... +04:34:12.217 INIT : Workbench startup +04:34:12.217 INIT : Workbench Init Engine +04:34:12.217 RESOURCES : ResourceDB: full scan +04:34:12.217 RESOURCES : processing files... +04:34:12.217 RESOURCES (W): resource not registered: @"$profile:rereintroduced.json". Setting null GUID +04:34:12.217 RESOURCES : RESOURCES : processing folders... +04:34:12.225 RESOURCES : RESOURCES : creating GUID-item mapping... +04:34:12.241 RESOURCES : RESOURCES : building tree... +04:34:12.298 PROFILING : ResourceDB: full scan took: 300.416900 ms +04:34:12.299 RESOURCES : ResourceDB: saving cache (id=0 name=ERR_Core path=Z:\home\jakub\devel\escapistsrereintroduced\addons\core/resourceDatabase.rdb) +04:34:12.300 RESOURCES : ResourceDB: written 3760/3760 bytes +04:34:12.300 RESOURCES : ResourceDB: cache successfully saved +04:34:12.301 RESOURCES : ResourceDB: saving cache (id=3 name=profile path=Z:\tmp\erri-workbench-profile\profile/resourceDatabase.rdb) +04:34:12.302 RESOURCES : ResourceDB: written 206/206 bytes +04:34:12.302 RESOURCES : ResourceDB: cache successfully saved +04:34:12.302 RESOURCES : ResourceDB: saving cache (id=4 name=logs path=Z:\tmp\erri-workbench-profile\logs\logs_2026-09-19_04-34-10/resourceDatabase.rdb) +04:34:12.303 RESOURCES : ResourceDB: written 81/81 bytes +04:34:12.303 RESOURCES : ResourceDB: cache successfully saved +04:34:12.303 ENGINE : GameProject load +04:34:12.303 ENGINE : Loaded addons: +04:34:12.303 ENGINE : gproj: './addons/core/core.gproj' guid: '5614BBCCBB55ED1C' +04:34:12.303 ENGINE : gproj: 'Z:/tmp/erri-workbench-profile/addons/ArmaReforger/ArmaReforger.gproj' guid: '58D0FB3206B6F859' +04:34:12.303 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/core/addon.gproj' guid: '2528466DE220D91C' +04:34:12.305 ENGINE : Loading custom engine user config '$profile:.save/app1874910_user76561198020202999/settings/ReforgerEngineSettings.conf' +04:34:12.305 INIT : GameProject engine user settings load @"$profile:.save/app1874910_user76561198020202999/settings/ReforgerEngineSettings.conf" +04:34:12.305 ENGINE : Engine user settings config loaded +04:34:12.305 PROFILING : Settings changed took: 0.003100 ms +04:34:12.411 RENDER : (OK) Adapter 'AMD Radeon RX 6950 XT (RADV NAVI21)' supports feature level 12_0 +04:34:12.413 RENDER : Basic screen setup: +04:34:12.413 RENDER : Back buffer format : TEXFMT_R8G8B8A8_SRGB (29) +04:34:12.413 RENDER : MSAA : none +04:34:12.428 RENDER : AMD AGS library initialized, version 6.1.0 x DLL 6.1.0 +04:34:12.428 RENDER : Extendeded AMD info for AMD Radeon RX 6950 XT (RADV NAVI21) (primary device) +04:34:12.428 RENDER : * architecture RDNA2, 80 CUs, 40 WGPs (for RDNA), 64 ROPs +04:34:12.428 RENDER : * core clocks 2720 MHz, memory 1124 MHz +04:34:12.428 RENDER : * TFlops 27.9, memory bandwidth (562.0 GB/s) +04:34:12.428 RENDER : AMD AGS correctly initialized +04:34:12.429 RENDER : GPU_ATI (0x1002) (AMD Radeon RX 6950 XT (RADV NAVI21)) with 1 GPU detected, VRAM 16128MB (fast 0MB), shared 64362MB, driver version 99.19.02-230831a-396538C-AMD-Software-Adrenalin-Edition +04:34:12.429 RENDER : Detected output devices: +04:34:12.429 RENDER : * 1 device/s connected to AMD Radeon RX 6950 XT (RADV NAVI21): +04:34:12.429 RENDER : Generic Non-PnP Monitor (\\.\DISPLAY1), 1280x720 (offset 0x0), 30Hz +04:34:12.429 RENDER : Concurrent frames limit 2 +04:34:12.503 RENDER : DX12 device successfully created by AMD AGS library +04:34:12.503 RENDER : * user markers not supported in this version AMD SW +04:34:12.503 RENDER : Graphics device features +04:34:12.503 RENDER : Needed: +04:34:12.503 RENDER : * Highest supported shader model: 6.8 (6.0 needed) +04:34:12.503 RENDER : Optional: +04:34:12.503 RENDER : * Allow tearing (VSYNC) : 1 +04:34:12.503 RENDER : * 16 bits : 1 +04:34:12.503 RENDER : * Resource heap tier : 3 +04:34:12.503 RENDER : * Persistent heaps (DRED) : 1 +04:34:12.503 RENDER : * DRED 1.2 is supported by compiler +04:34:12.526 RENDER : Main RT format setup. +04:34:12.526 RENDER : Main RT format for quality 0 : TEXFMT_R11G11B10_FLOAT (26) +04:34:12.526 RENDER : Main RT format for quality 1 : TEXFMT_R16G16B16A16_FLOAT (10) +04:34:12.528 ENGINE : Job system settings: coreCount=16, shortJobContextCount=16, shortJobThreadCount=15, longJobThreadCount=16 +04:34:12.558 PROFILING : Settings changed took: 0.019600 ms +04:34:12.991 AUDIO : Endpoint: Speakers (PulseAudio Output) +04:34:12.991 AUDIO : Format: Channels: 2, Sample rate: 48kHz, Avg. bytes: 384kB, Sample bits: 32, Block align: 8B +04:34:12.991 AUDIO : Audio client: +04:34:12.991 AUDIO : Format: Channels: 2, Sample rate: 48kHz, Buffer size: 1536B, Frame: 512 +04:34:12.994 RENDER : RENDER : Reload shaders +04:34:12.994 RENDER : Enfusion shader version 13 +04:34:12.994 INIT : INIT : ShaderListReload +04:34:12.994 PROFILING : ShaderListReload took: 0.000400 ms +04:34:13.135 AUDIO : Endpoint: Speakers (PulseAudio Output) +04:34:13.135 AUDIO : Format: Channels: 2, Sample rate: 48kHz, Avg. bytes: 384kB, Sample bits: 32, Block align: 8B +04:34:13.136 AUDIO : Audio client: +04:34:13.136 AUDIO : Format: Channels: 2, Sample rate: 48kHz, Buffer size: 1536B, Frame: 512 +04:34:13.237 RENDER : Loaded 3752 newer shader binaries +04:34:13.237 PROFILING : Reload shaders took: 243.199000 ms +04:34:13.237 ENGINE : Initializing inputs. +04:34:13.250 NETWORK : Initializing networking. +04:34:13.250 NETWORK : Using new GameRplScheduler. +04:34:13.250 SCRIPT : SCRIPT : Initializing scripts +04:34:13.250 SCRIPT : SCRIPT : ScriptProjectManager init +04:34:14.072 PROFILING : ScriptProjectManager init took: 821.522800 ms +04:34:14.105 PROFILING : Initializing scripts took: 854.866100 ms +04:34:14.122 ENGINE : Enfusion engine successfully created. +04:34:14.123 PROFILING : Workbench Init Engine took: 2565.294100 ms +04:34:14.123 INIT : INIT : Workbench Create Game +04:34:14.133 GUI : Using default language (en_us) +04:34:14.133 GUI : Loading 'en_us' localization file. +04:34:14.133 INIT : INIT : Loading StringTable +04:34:14.157 PROFILING : Loading StringTable took: 24.129300 ms +04:34:14.157 SCRIPT : SCRIPT : Compiling GameLib scripts +04:34:14.212 SCRIPT : Module: Workbench; loaded 18x files; 36x classes; used 125K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE"; CRC32: 90ce0460 +04:34:14.212 SCRIPT : Module: GameLib; loaded 465x files; 648x classes; used 828K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE"; CRC32: 4507af04 +04:34:14.213 PROFILING : Compiling GameLib scripts took: 55.611500 ms +04:34:14.213 SCRIPT : SCRIPT : Compiling Game scripts +04:34:15.353 INIT : Workbench Create Game +04:34:15.353 SCRIPT : Compiling Game scripts +04:34:15.353 SCRIPT (W): @"Scripts/Game/Editor/Components/EditableEntity/SCR_EditableEntityComponent.c,785": 'GetPlayerPlatformKind' is obsolete +04:34:15.353 SCRIPT (W): @"Scripts/Game/Editor/Components/EditableEntity/SCR_EditableEntityComponent.c,786": 'GetPlayerPlatformId' is obsolete +04:34:15.608 SCRIPT (W): @"Scripts/Game/ERR/ERR_SiteService.c,132": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +04:34:15.617 SCRIPT (W): @"Scripts/Game/Workshop/SCR_AddonManager.c,876": 'GetRefCount' is obsolete: Will be removed +04:34:15.650 SCRIPT (W): @"Scripts/Game/Campaign/SCR_PlayerProfileManagerComponent.c,142": 'PlayerData' is obsolete +04:34:15.754 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,159": 'GetDSSession' is obsolete +04:34:15.754 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,162": 'RoomID' is obsolete +04:34:15.754 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,197": 'GetDSSession' is obsolete +04:34:15.754 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,201": 'RoomID' is obsolete +04:34:15.850 SCRIPT (W): @"Scripts/Game/DataCollection/SCR_DataCollectorComponent.c,481": 'GetStorage' is obsolete +04:34:15.850 SCRIPT (W): @"Scripts/Game/DataCollection/SCR_DataCollectorComponent.c,483": 'GetOnlineWritePrivilege' is obsolete +04:34:15.852 SCRIPT (W): @"Scripts/Game/Utilities/SCR_PlayerIdentityUtils.c,20": 'GetPlayerIdentityId' is obsolete +04:34:15.895 SCRIPT (W): @"Scripts/Game/ERR/ERR_ExtractionService.c,45": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +04:34:15.895 SCRIPT (W): @"Scripts/Game/ERR/ERR_ExtractionService.c,56": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +04:34:15.896 SCRIPT (W): @"Scripts/Game/UI/Menu/MainMenuUI.c,643": 'GetNotifyCount' is obsolete: Will be substitued by Notification Api. +04:34:15.896 SCRIPT (W): @"Scripts/Game/UI/Menu/MainMenuUI.c,645": 'GetNotifyItem' is obsolete: Will be substitued by Notification Api. +04:34:15.922 SCRIPT (W): @"Scripts/Game/ERR/ERR_NativeTransportProbe.c,82": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +04:34:15.953 SCRIPT (W): @"Scripts/Game/DataCollection/PlayerData/SCR_PlayerData.c,210": 'PlayerData' is obsolete +04:34:16.236 SCRIPT : Module: WorkbenchGame; loaded 171x files; 616x classes; used 2478K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE"; CRC32: db6febb9 +04:34:16.243 SCRIPT : Module: Game; loaded 5700x files; 11169x classes; used 32477K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE,ENABLE_BASE_DESTRUCTION,BUDGET_OPTIMIZATION_CHECKS,SHOW_DISCLAIMER,DEBUG,RESPAWN_TIMER_COMPONENT_DEBUG,GAME_MODE_DEBUG,DEBUG_CONFIGURABLE_DIALOGS,DISABLE_WEAPON_SWITCHING,SCRIPTED_AIM_MODIFIER_DEBUG"; CRC32: 89cb99a5 +04:34:16.280 PROFILING : Compiling Game scripts took: 2066.434400 ms +04:34:16.285 INIT : Creating game instance(ArmaReforgerScripted), version 1.8.0.13 built 2026-08-21 14:30:18 UTC. +04:34:16.322 ENGINE : Game successfully created. +04:34:16.324 PROFILING : Workbench Create Game took: 2201.215100 ms +04:34:16.332 DEFAULT : Using thumbnail cache directory: C:/users/steamuser/AppData/Local/Temp/Arma Reforger Workbench/Projects/ERR_Core/thumbnails +04:34:17.133 INIT : INIT : Workbench Reload Game +04:34:17.135 ENGINE : Game destroyed. +04:34:17.140 GUI : Using default language (en_us) +04:34:17.140 GUI : Loading 'en_us' localization file. +04:34:17.140 INIT : INIT : Loading StringTable +04:34:17.150 PROFILING : Loading StringTable took: 9.216300 ms +04:34:17.150 INIT : Creating game instance(ArmaReforgerScripted), version 1.8.0.13 built 2026-08-21 14:30:18 UTC. +04:34:17.157 SCRIPT : Unable to register a script command due keyword duplicity: ban +04:34:17.157 SCRIPT : Unable to register a script command due keyword duplicity: kick +04:34:17.157 ENGINE : Game successfully created. +04:34:17.157 ENGINE : Game successfully initialized. +04:34:17.157 PROFILING : Workbench Reload Game took: 23.783800 ms +04:34:17.832 WORLD : WORLD : Entities load '$ERR_Core:Worlds/ERR_Everon.ent' +04:34:18.840 PROFILING : Entities load took: 1007.730100 ms +04:34:18.850 WORLD : WORLD : CreateEntities +04:34:18.855 WORLD : WORLD : NotifyBeforeEntitiesCreated +04:34:18.855 PROFILING : NotifyBeforeEntitiesCreated took: 0.002600 ms +04:34:18.856 WORLD : WORLD : Wait for preloading data +04:34:18.856 PROFILING : Wait for preloading data took: 0.003400 ms +04:34:18.964 ENTITY : Create entity @"ENTITY:2" ('Eden', GenericTerrainEntity) at <0.000000 0.000000 0.000000> @"{5AD924374E8C7AF6}Prefabs/World/Game/Eden/GenericTerrain_Eden.et" +04:34:18.964 PROFILING : PROFILING : Terrain load +04:34:20.515 PROFILING : Terrain load took: 1550.939700 ms +04:34:24.466 WORLD : CreateEntities +04:34:24.467 ENTITY : Create entity @"ENTITY:610406" ('StaticModelEntity','Assets/Structures/Infrastructure/Towers/TransmitterTower_01/TransmitterTower_01_small.xob') at <1931.796021 81.777000 5138.725098> @"{6A004A8F0571D456}Prefabs/Structures/Infrastructure/Towers/TransmitterTower_01/TransmitterTower_01_small.et" +04:34:24.467 ENTITY : CreateComponent 'ScriptedRadioComponent' +04:34:24.467 DEFAULT (W): World doesn't contain RadioManagerEntity to support any BaseRadioComponent. +04:34:34.032 WORLD : WORLD : NotifyBeforeEntitiesInitialized +04:34:34.032 PROFILING : NotifyBeforeEntitiesInitialized took: 0.007700 ms +04:34:34.466 WORLD : WORLD : NotifyEntitiesInitialized +04:34:34.467 TERRAIN : TERRAIN : Initializing road networks... +04:34:34.469 PROFILING : Initializing road networks... took: 2.091500 ms +04:34:34.469 PROFILING : NotifyEntitiesInitialized took: 2.382800 ms +04:34:34.469 PROFILING : CreateEntities took: 15618.336900 ms +04:34:34.650 PROFILING : * WorldEditor: LoadWorld: 16822.737000 ms +04:34:36.190 TERRAIN : Loading tile map config (worlds/Eden/Eden/tileMap.conf) +04:34:36.191 TERRAIN : Loading minimap config (worlds/Eden/Eden/miniMap.conf) +04:34:36.192 TERRAIN : The default minimap texture ('worlds/Eden/EdenRasterized.edds') not found. Trying 'worlds/Eden/Eden.edds'... +04:34:36.192 TERRAIN : The default minimap texture ('worlds/Eden/Eden.edds') not found. Skipping... +04:34:36.293 SCRIPT : ERR SITE SURVEY: supply=6150/7050 elevationRange=0.625 min=202.875 max=203.5 +04:34:36.312 BACKEND : Attempting online Game Config instead. +04:34:39.463 INIT : INIT : Workbench Reload Game +04:34:39.465 ENGINE : Game destroyed. +04:34:39.471 GUI : Using default language (en_us) +04:34:39.471 GUI : Loading 'en_us' localization file. +04:34:39.471 INIT : INIT : Loading StringTable +04:34:39.493 PROFILING : Loading StringTable took: 21.481000 ms +04:34:39.493 INIT : Creating game instance(ArmaReforgerScripted), version 1.8.0.13 built 2026-08-21 14:30:18 UTC. +04:34:39.505 SCRIPT : Unable to register a script command due keyword duplicity: ban +04:34:39.506 SCRIPT : Unable to register a script command due keyword duplicity: kick +04:34:39.506 ENGINE : Game successfully created. +04:34:39.506 ENGINE : Game successfully initialized. +04:34:39.506 PROFILING : Workbench Reload Game took: 42.741400 ms +04:34:39.511 DEFAULT (W): LogiLED: Cannot initialize! (service not running or no compatible device detected) +04:34:39.580 PLATFORM : Save data from container 'settings' have been loaded +04:34:39.665 PLATFORM : Save data from container 'sessions' have been loaded +04:34:39.666 PLATFORM : GameProject user settings load from profile @"ReforgerGameSettings.conf" +04:34:39.666 ENGINE : Game user settings config loaded +04:34:39.763 DEFAULT : [SaveGameManager] Starting new playthrough nr.0 '' for mission '{B6C516F86302C679}Worlds/ERR_Everon.ent'. +04:34:39.772 WORLD : WORLD : Game::LoadEntities +04:34:39.772 WORLD : WORLD : Initializing world systems @"{1C60D2EDA2B468B8}Configs/Systems/BaseGameModeSystems.conf" +04:34:39.773 NETWORK : Enabled lag compensation, 29 frames with 100 FPS and 280 ms rewind limits. +04:34:39.773 WORLD : WORLD : CreateEntities +04:34:39.773 WORLD : WORLD : CreateEntities +04:34:39.773 WORLD : WORLD : NotifyBeforeEntitiesCreated +04:34:39.778 RESOURCES : Loaded mission headers from 7 addon(s)! +04:34:39.778 PROFILING : NotifyBeforeEntitiesCreated took: 5.092800 ms +04:34:39.778 WORLD : WORLD : Wait for preloading data +04:34:39.778 PROFILING : Wait for preloading data took: 0.000800 ms +04:34:44.316 WORLD : Game::LoadEntities +04:34:44.316 WORLD : CreateEntities +04:34:44.316 WORLD : CreateEntities +04:34:44.316 ENTITY : Create entity @"ENTITY:610406" ('StaticModelEntity','Assets/Structures/Infrastructure/Towers/TransmitterTower_01/TransmitterTower_01_small.xob') at <1931.796021 81.777000 5138.725098> @"{6A004A8F0571D456}Prefabs/Structures/Infrastructure/Towers/TransmitterTower_01/TransmitterTower_01_small.et" +04:34:44.316 ENTITY : CreateComponent 'ScriptedRadioComponent' +04:34:44.316 DEFAULT (W): World doesn't contain RadioManagerEntity to support any BaseRadioComponent. +04:34:45.741 ENTITY : Create entity @"ENTITY:842066" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1080.213013 10.776751 6018.347168> +04:34:45.741 ENTITY : CreateComponent 'Hierarchy' +04:34:45.741 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842066" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1080.213013 10.776751 6018.347168>') +04:34:45.741 ENTITY : Create entity @"ENTITY:842068" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1082.185913 10.778749 6018.331055> +04:34:45.741 ENTITY : CreateComponent 'Hierarchy' +04:34:45.741 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842068" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1082.185913 10.778749 6018.331055>') +04:34:45.741 ENTITY : Create entity @"ENTITY:842070" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1084.190918 10.790751 6018.334961> +04:34:45.741 ENTITY : CreateComponent 'Hierarchy' +04:34:45.741 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842070" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1084.190918 10.790751 6018.334961>') +04:34:45.748 ENTITY : Create entity @"ENTITY:842333" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4425.594727 9.981750 11029.402344> +04:34:45.748 ENTITY : CreateComponent 'Hierarchy' +04:34:45.748 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842333" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4425.594727 9.981750 11029.402344>') +04:34:45.748 ENTITY : Create entity @"ENTITY:842335" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4426.584473 9.983749 11031.109375> +04:34:45.748 ENTITY : CreateComponent 'Hierarchy' +04:34:45.748 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842335" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4426.584473 9.983749 11031.109375>') +04:34:45.749 ENTITY : Create entity @"ENTITY:842337" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4427.572266 9.995750 11032.853516> +04:34:45.749 ENTITY : CreateComponent 'Hierarchy' +04:34:45.749 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842337" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4427.572266 9.995750 11032.853516>') +04:34:45.754 ENTITY : Create entity @"ENTITY:842591" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.946289 10.470250 1551.986084> +04:34:45.754 ENTITY : CreateComponent 'Hierarchy' +04:34:45.754 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842591" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.946289 10.470250 1551.986084>') +04:34:45.754 ENTITY : Create entity @"ENTITY:842593" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.430664 10.472250 1550.081421> +04:34:45.754 ENTITY : CreateComponent 'Hierarchy' +04:34:45.754 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842593" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.430664 10.472250 1550.081421>') +04:34:45.754 ENTITY : Create entity @"ENTITY:842595" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10008.926758 10.484250 1548.140869> +04:34:45.754 ENTITY : CreateComponent 'Hierarchy' +04:34:45.754 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842595" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10008.926758 10.484250 1548.140869>') +04:34:50.344 ENTITY : Create entity @"ENTITY:2305843009213693956" ('Factions', SCR_FactionManager) at <0.000000 0.000000 0.000000> @"{589540B35EBA8CDC}Prefabs/MP/Managers/Factions/FactionManager_USxUSSR.et" +04:34:50.344 RESOURCES : GetResourceObject @"{5168FEA3054D6D15}Prefabs/Vehicles/Wheeled/M151A2/M151A2_M2HB_MERDC.et" +04:34:50.344 WORLD : Entity prefab load @"{5168FEA3054D6D15}Prefabs/Vehicles/Wheeled/M151A2/M151A2_M2HB_MERDC.et" +04:34:50.344 RESOURCES : GetResourceObject @"{F6B23D17D5067C11}Prefabs/Vehicles/Wheeled/M151A2/M151A2_M2HB.et" +04:34:50.344 WORLD : Entity prefab load @"{F6B23D17D5067C11}Prefabs/Vehicles/Wheeled/M151A2/M151A2_M2HB.et" +04:34:50.344 RESOURCES : GetResourceObject @"{F649585ABB3706C4}Prefabs/Vehicles/Wheeled/M151A2/M151A2.et" +04:34:50.344 WORLD : Entity prefab load @"{F649585ABB3706C4}Prefabs/Vehicles/Wheeled/M151A2/M151A2.et" +04:34:50.344 WORLD (E): Unknown keyword/data 'SlidingTrackMaterial' at offset 19441(0x4bf1) +04:34:50.386 RESOURCES : GetResourceObject @"{F7B9B434FCFF00B3}Prefabs/Vehicles/Wheeled/Conflict_Variants/BRDM2_Conflict.et" +04:34:50.386 WORLD : Entity prefab load @"{F7B9B434FCFF00B3}Prefabs/Vehicles/Wheeled/Conflict_Variants/BRDM2_Conflict.et" +04:34:50.386 RESOURCES : GetResourceObject @"{254289B9C09904AB}Prefabs/Vehicles/Wheeled/BRDM2/BRDM2.et" +04:34:50.386 WORLD : Entity prefab load @"{254289B9C09904AB}Prefabs/Vehicles/Wheeled/BRDM2/BRDM2.et" +04:34:50.386 RESOURCES : GetResourceObject @"{532B5F3CF8496E59}Prefabs/Vehicles/Wheeled/BRDM2/BRDM2_base.et" +04:34:50.386 WORLD : Entity prefab load @"{532B5F3CF8496E59}Prefabs/Vehicles/Wheeled/BRDM2/BRDM2_base.et" +04:34:50.386 WORLD (E): Unknown keyword/data 'Parent' at offset 35955(0x8c73) +04:34:50.386 WORLD (E): Unknown keyword/data 'Parent' at offset 36915(0x9033) +04:34:50.387 RESOURCES : GetResourceObject @"{BD75A18920BD1278}Prefabs/Vehicles/Wheeled/Conflict_Variants/BTR70_Conflict.et" +04:34:50.387 WORLD : Entity prefab load @"{BD75A18920BD1278}Prefabs/Vehicles/Wheeled/Conflict_Variants/BTR70_Conflict.et" +04:34:50.387 RESOURCES : GetResourceObject @"{C012BB3488BEA0C2}Prefabs/Vehicles/Wheeled/BTR70/BTR70.et" +04:34:50.387 WORLD : Entity prefab load @"{C012BB3488BEA0C2}Prefabs/Vehicles/Wheeled/BTR70/BTR70.et" +04:34:50.387 RESOURCES : GetResourceObject @"{1C5FE7B7FF49BB8D}Prefabs/Vehicles/Wheeled/BTR70/BTR70_Base.et" +04:34:50.387 WORLD : Entity prefab load @"{1C5FE7B7FF49BB8D}Prefabs/Vehicles/Wheeled/BTR70/BTR70_Base.et" +04:34:50.387 WORLD (E): Unknown keyword/data 'Parent' at offset 42646(0xa696) +04:34:50.387 WORLD (E): Unknown keyword/data 'Parent' at offset 43645(0xaa7d) +04:34:50.387 WORLD (E): Unknown keyword/data 'Parent' at offset 44617(0xae49) +04:34:50.387 WORLD (E): Unknown keyword/data 'Parent' at offset 45590(0xb216) +04:34:50.736 WORLD : WORLD : NotifyBeforeEntitiesInitialized +04:34:50.736 PROFILING : NotifyBeforeEntitiesInitialized took: 0.062900 ms +04:34:52.772 WORLD : InitEntities 'world' +04:34:52.772 ENTITY : Init entity @"ENTITY:2305843009213693953" ('Rereintroduced', ERR_GameMode) at <1076.468018 51.000999 1325.246948> @"{978E045E53EF36C8}Prefabs/ERR/GameMode.et" +04:34:52.772 SCRIPT (W): SCR_PerceivedFactionManagerComponent trying to set fall back faction 'CIV' but this faction could not be found so it is null instead. +04:34:52.799 WORLD : InitEntities 'world' +04:34:52.799 ENTITY : Init entity @"ENTITY:2305843009213693953" ('Rereintroduced', ERR_GameMode) at <1076.468018 51.000999 1325.246948> @"{978E045E53EF36C8}Prefabs/ERR/GameMode.et" +04:34:52.799 SCRIPT : ERR BASE SMOKE: core-only scripted escape; not manual or multiplayer acceptance +04:34:52.799 WORLD : WORLD : NotifyEntitiesInitialized +04:34:52.799 TERRAIN : TERRAIN : Initializing road networks... +04:34:52.801 PROFILING : Initializing road networks... took: 2.300600 ms +04:34:52.802 DEFAULT : DEFAULT : WorldVolumesCollection +04:34:52.862 PROFILING : WorldVolumesCollection took: 60.161100 ms +04:34:52.862 INIT : INIT : SoundWorldInit +04:34:52.877 PROFILING : SoundWorldInit took: 15.075500 ms +04:34:52.877 PROFILING : NotifyEntitiesInitialized took: 77.809600 ms +04:34:52.877 PROFILING : CreateEntities took: 13103.269900 ms +04:34:52.877 PROFILING : CreateEntities took: 13103.463300 ms +04:34:52.878 WORLD : WORLD : Wait for preloading data around camera +04:34:52.878 PROFILING : Wait for preloading data around camera took: 0.001300 ms +04:34:52.878 WORLD : WORLD : EOnActivate +04:34:52.912 PROFILING : EOnActivate took: 34.159000 ms +04:34:52.912 PROFILING : Game::LoadEntities took: 13140.059800 ms +04:34:53.198 DEFAULT : Entered offline game state. +04:34:53.301 NETWORK : Player connected: connectionID=2147483646 +04:34:53.301 NETWORK : ### Connecting player: connectionID=2147483646, Name= +04:34:53.302 NETWORK : ### Creating player: PlayerId=1, Name=jakub +04:34:53.307 ENTITY : SpawnEntityPrefab @"{225E51284CC95CFA}Prefabs/Characters/Core/DefaultPlayerControllerMP.et" +04:34:53.307 ENTITY : Create entity @"ENTITY:4611686018427388381" ('SCR_PlayerController') at <0.000000 0.000000 0.000000> +04:34:53.307 ENTITY : EntityPrefabUse @"{225E51284CC95CFA}Prefabs/Characters/Core/DefaultPlayerControllerMP.et" +04:34:53.307 SCRIPT (W): Notification data in 'SCR_NotificationsLogDisplay' has duplicate notification info key: 'EDITOR_PERCEIVED_FACTION_PUNISHMENT_KILLING_SET'. There should only be one of each key! +04:34:53.308 SCRIPT (W): Notification data in 'SCR_NotificationsLogDisplay' has duplicate notification info key: 'EDITOR_PERCEIVED_FACTION_TYPE_DISABLED'. There should only be one of each key! +04:34:53.309 SCRIPT (W): Can't open config file "" +04:34:53.316 WORLD : InitEntities 'world' +04:34:53.316 ENTITY : Init entity @"ENTITY:4611686018427388381" ('SCR_PlayerController') at <0.000000 0.000000 0.000000> @"{225E51284CC95CFA}Prefabs/Characters/Core/DefaultPlayerControllerMP.et" +04:34:53.316 GUI : WidgetManager: CrateWidgets @"{3C9DCDD76AB83157}UI/layouts/HUD/HUDLayouts/HUDManager_Root.layout" +04:34:53.316 SCRIPT (W): Slot_WeaponInfo Has no Content! +04:34:53.317 SCRIPT (W): Slot_Chat Has no Content! +04:34:53.317 SCRIPT (W): Slot_VON Has no Content! +04:34:53.317 SCRIPT (W): Slot_AvailableActions Has no Content! +04:34:53.317 SCRIPT (W): Slot_Vehicle Has no Content! +04:34:53.317 SCRIPT (W): Slot_GameVersion Has no Content! +04:34:53.317 SCRIPT (W): Slot_Notifications Has no Content! +04:34:53.317 SCRIPT (W): Slot_Hints Has no Content! +04:34:53.331 NETWORK : ### Updating player: PlayerId=1, Name=jakub, rplIdentity=0xFFFFFFFE, IdentityId=00000000-0000-0000-0000-000000000000 +04:34:53.331 SCRIPT (W): Ban Settings could not be loaded from BE Storage: Relying on default config +04:34:53.331 NETWORK : Players connecting: 0 +04:34:53.331 NETWORK : Players connected: 1 / 1 +04:34:53.360 DEFAULT : Using autosave directory: C:/users/steamuser/AppData/Local/Temp/Arma Reforger Workbench/Projects/ERR_Core/autosaves +04:34:53.361 PROFILING : Workbench startup took: 42902.683300 ms +04:34:53.383 WORLD : Frame start +04:34:53.383 SCRIPT : ScenarioFramework: Available tasks are empty, no new tasks will be generated. +04:34:53.396 WORLD : UpdateEntities +04:34:53.396 WORLD : Frame +04:34:53.396 SCRIPT : SCR_BaseGameMode::OnGameStateChanged = GAME +04:34:53.575 WORLD : UpdateEntities +04:34:53.575 WORLD : PostFrame +04:34:53.575 GUI : WidgetManager: CrateWidgets @"{D89BBA18F99053D6}UI/layouts/HUD/Chat/ChatHud.layout" +04:34:53.575 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +04:34:53.618 RESOURCES : GetResourceObject @"{20A6917D2114E29A}UI/layouts/HUD/Hint/HintInfoDisplay.layout" +04:34:53.618 GUI : Layout load @"{20A6917D2114E29A}UI/layouts/HUD/Hint/HintInfoDisplay.layout" +04:34:53.618 GUI : Widget prefab @"{EA1CC57D868E94F9}UI/layouts/HUD/Hint/Hint.layout" +04:34:53.618 GUI (W): Overridden prefab member (GUID: '{661AB14E0F471C66}' type: ButtonWidgetClass) no longer exists in prefab +04:34:53.759 RENDER : RENDER : ObjectsHeightMap::Build +04:34:53.759 RENDER : RENDER : MeshOccupancyGridManager::GenerateAllForWorld +04:34:53.937 PROFILING : MeshOccupancyGridManager::GenerateAllForWorld took: 178.273800 ms +04:34:53.945 PROFILING : ObjectsHeightMap::Build took: 186.233400 ms +04:34:55.123 SCRIPT : Rereintroduced [sites]: cache clearance position=<6086,211.538,7160> clear=1 +04:34:55.143 SCRIPT : Rereintroduced [sites]: authored everon-prison-1 at <6090,211.444,7160> +04:34:55.144 SCRIPT : Rereintroduced [sites]: cache clearance position=<6150,203.288,7050> clear=1 +04:34:55.176 SCRIPT : Rereintroduced [sites]: authored everon-supply-1 at <6150,203.288,7050> +04:34:55.179 SCRIPT : Rereintroduced [sites]: authored everon-radio-1 at <6500,159.756,7200> +04:34:55.236 SCRIPT : Rereintroduced [sites]: authored everon-extraction-1 at <7000,65.2562,7500> +04:34:55.236 SCRIPT : Rereintroduced [sites]: cache clearance position=<5960,220.256,7220> clear=1 +04:34:55.243 SCRIPT : Rereintroduced [sites]: transport parking=<5960,220.506,7232> radius=3 terrainRange=0.5625 obstructed=1 clear=0 +04:34:55.243 SCRIPT (E): Rereintroduced [sites]: preparation failed: obstructed or unsafe transport parking: everon-supply-2 +04:34:55.252 SCRIPT (E): Rereintroduced: scenario preparation failed; spawning remains disabled: obstructed or unsafe transport parking: everon-supply-2 +04:34:55.273 SCRIPT (W): GM Budget got clamped at some point! +04:34:55.273 SCRIPT (W): GM Budget got clamped at some point! +04:34:55.273 SCRIPT (W): GM Budget got clamped at some point! +04:34:55.273 SCRIPT (W): GM Budget got clamped at some point! +04:34:55.273 SCRIPT (W): GM Budget got clamped at some point! diff --git a/docs/evidence/native-2026-09-19-043410-parking-failure/error.log.txt b/docs/evidence/native-2026-09-19-043410-parking-failure/error.log.txt new file mode 100644 index 0000000..446b1b6 --- /dev/null +++ b/docs/evidence/native-2026-09-19-043410-parking-failure/error.log.txt @@ -0,0 +1,128 @@ +--------------------------------------------- +Log Z:\tmp\erri-workbench-profile\logs\logs_2026-09-19_04-34-10\error.log started at 2026-09-19 04:34:12 (2026-09-19 02:34:12 UTC) + +04:34:12.217 INIT : Workbench startup +04:34:12.217 INIT : Workbench Init Engine +04:34:12.217 RESOURCES : ResourceDB: full scan +04:34:12.217 RESOURCES : processing files... +04:34:12.217 RESOURCES (W): resource not registered: @"$profile:rereintroduced.json". Setting null GUID +04:34:15.353 INIT : Workbench Create Game +04:34:15.353 SCRIPT : Compiling Game scripts +04:34:15.353 SCRIPT (W): @"Scripts/Game/Editor/Components/EditableEntity/SCR_EditableEntityComponent.c,785": 'GetPlayerPlatformKind' is obsolete +04:34:15.353 SCRIPT (W): @"Scripts/Game/Editor/Components/EditableEntity/SCR_EditableEntityComponent.c,786": 'GetPlayerPlatformId' is obsolete +04:34:15.608 SCRIPT (W): @"Scripts/Game/ERR/ERR_SiteService.c,132": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +04:34:15.617 SCRIPT (W): @"Scripts/Game/Workshop/SCR_AddonManager.c,876": 'GetRefCount' is obsolete: Will be removed +04:34:15.650 SCRIPT (W): @"Scripts/Game/Campaign/SCR_PlayerProfileManagerComponent.c,142": 'PlayerData' is obsolete +04:34:15.754 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,159": 'GetDSSession' is obsolete +04:34:15.754 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,162": 'RoomID' is obsolete +04:34:15.754 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,197": 'GetDSSession' is obsolete +04:34:15.754 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,201": 'RoomID' is obsolete +04:34:15.850 SCRIPT (W): @"Scripts/Game/DataCollection/SCR_DataCollectorComponent.c,481": 'GetStorage' is obsolete +04:34:15.850 SCRIPT (W): @"Scripts/Game/DataCollection/SCR_DataCollectorComponent.c,483": 'GetOnlineWritePrivilege' is obsolete +04:34:15.852 SCRIPT (W): @"Scripts/Game/Utilities/SCR_PlayerIdentityUtils.c,20": 'GetPlayerIdentityId' is obsolete +04:34:15.895 SCRIPT (W): @"Scripts/Game/ERR/ERR_ExtractionService.c,45": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +04:34:15.895 SCRIPT (W): @"Scripts/Game/ERR/ERR_ExtractionService.c,56": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +04:34:15.896 SCRIPT (W): @"Scripts/Game/UI/Menu/MainMenuUI.c,643": 'GetNotifyCount' is obsolete: Will be substitued by Notification Api. +04:34:15.896 SCRIPT (W): @"Scripts/Game/UI/Menu/MainMenuUI.c,645": 'GetNotifyItem' is obsolete: Will be substitued by Notification Api. +04:34:15.922 SCRIPT (W): @"Scripts/Game/ERR/ERR_NativeTransportProbe.c,82": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +04:34:15.953 SCRIPT (W): @"Scripts/Game/DataCollection/PlayerData/SCR_PlayerData.c,210": 'PlayerData' is obsolete +04:34:24.466 WORLD : CreateEntities +04:34:24.467 ENTITY : Create entity @"ENTITY:610406" ('StaticModelEntity','Assets/Structures/Infrastructure/Towers/TransmitterTower_01/TransmitterTower_01_small.xob') at <1931.796021 81.777000 5138.725098> @"{6A004A8F0571D456}Prefabs/Structures/Infrastructure/Towers/TransmitterTower_01/TransmitterTower_01_small.et" +04:34:24.467 ENTITY : CreateComponent 'ScriptedRadioComponent' +04:34:24.467 DEFAULT (W): World doesn't contain RadioManagerEntity to support any BaseRadioComponent. +04:34:39.511 DEFAULT (W): LogiLED: Cannot initialize! (service not running or no compatible device detected) +04:34:44.316 WORLD : Game::LoadEntities +04:34:44.316 WORLD : CreateEntities +04:34:44.316 WORLD : CreateEntities +04:34:44.316 ENTITY : Create entity @"ENTITY:610406" ('StaticModelEntity','Assets/Structures/Infrastructure/Towers/TransmitterTower_01/TransmitterTower_01_small.xob') at <1931.796021 81.777000 5138.725098> @"{6A004A8F0571D456}Prefabs/Structures/Infrastructure/Towers/TransmitterTower_01/TransmitterTower_01_small.et" +04:34:44.316 ENTITY : CreateComponent 'ScriptedRadioComponent' +04:34:44.316 DEFAULT (W): World doesn't contain RadioManagerEntity to support any BaseRadioComponent. +04:34:45.741 ENTITY : Create entity @"ENTITY:842066" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1080.213013 10.776751 6018.347168> +04:34:45.741 ENTITY : CreateComponent 'Hierarchy' +04:34:45.741 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842066" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1080.213013 10.776751 6018.347168>') +04:34:45.741 ENTITY : Create entity @"ENTITY:842068" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1082.185913 10.778749 6018.331055> +04:34:45.741 ENTITY : CreateComponent 'Hierarchy' +04:34:45.741 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842068" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1082.185913 10.778749 6018.331055>') +04:34:45.741 ENTITY : Create entity @"ENTITY:842070" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1084.190918 10.790751 6018.334961> +04:34:45.741 ENTITY : CreateComponent 'Hierarchy' +04:34:45.741 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842070" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1084.190918 10.790751 6018.334961>') +04:34:45.748 ENTITY : Create entity @"ENTITY:842333" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4425.594727 9.981750 11029.402344> +04:34:45.748 ENTITY : CreateComponent 'Hierarchy' +04:34:45.748 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842333" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4425.594727 9.981750 11029.402344>') +04:34:45.748 ENTITY : Create entity @"ENTITY:842335" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4426.584473 9.983749 11031.109375> +04:34:45.748 ENTITY : CreateComponent 'Hierarchy' +04:34:45.748 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842335" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4426.584473 9.983749 11031.109375>') +04:34:45.749 ENTITY : Create entity @"ENTITY:842337" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4427.572266 9.995750 11032.853516> +04:34:45.749 ENTITY : CreateComponent 'Hierarchy' +04:34:45.749 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842337" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4427.572266 9.995750 11032.853516>') +04:34:45.754 ENTITY : Create entity @"ENTITY:842591" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.946289 10.470250 1551.986084> +04:34:45.754 ENTITY : CreateComponent 'Hierarchy' +04:34:45.754 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842591" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.946289 10.470250 1551.986084>') +04:34:45.754 ENTITY : Create entity @"ENTITY:842593" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.430664 10.472250 1550.081421> +04:34:45.754 ENTITY : CreateComponent 'Hierarchy' +04:34:45.754 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842593" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.430664 10.472250 1550.081421>') +04:34:45.754 ENTITY : Create entity @"ENTITY:842595" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10008.926758 10.484250 1548.140869> +04:34:45.754 ENTITY : CreateComponent 'Hierarchy' +04:34:45.754 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842595" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10008.926758 10.484250 1548.140869>') +04:34:50.344 ENTITY : Create entity @"ENTITY:2305843009213693956" ('Factions', SCR_FactionManager) at <0.000000 0.000000 0.000000> @"{589540B35EBA8CDC}Prefabs/MP/Managers/Factions/FactionManager_USxUSSR.et" +04:34:50.344 RESOURCES : GetResourceObject @"{5168FEA3054D6D15}Prefabs/Vehicles/Wheeled/M151A2/M151A2_M2HB_MERDC.et" +04:34:50.344 WORLD : Entity prefab load @"{5168FEA3054D6D15}Prefabs/Vehicles/Wheeled/M151A2/M151A2_M2HB_MERDC.et" +04:34:50.344 RESOURCES : GetResourceObject @"{F6B23D17D5067C11}Prefabs/Vehicles/Wheeled/M151A2/M151A2_M2HB.et" +04:34:50.344 WORLD : Entity prefab load @"{F6B23D17D5067C11}Prefabs/Vehicles/Wheeled/M151A2/M151A2_M2HB.et" +04:34:50.344 RESOURCES : GetResourceObject @"{F649585ABB3706C4}Prefabs/Vehicles/Wheeled/M151A2/M151A2.et" +04:34:50.344 WORLD : Entity prefab load @"{F649585ABB3706C4}Prefabs/Vehicles/Wheeled/M151A2/M151A2.et" +04:34:50.344 WORLD (E): Unknown keyword/data 'SlidingTrackMaterial' at offset 19441(0x4bf1) +04:34:50.386 RESOURCES : GetResourceObject @"{F7B9B434FCFF00B3}Prefabs/Vehicles/Wheeled/Conflict_Variants/BRDM2_Conflict.et" +04:34:50.386 WORLD : Entity prefab load @"{F7B9B434FCFF00B3}Prefabs/Vehicles/Wheeled/Conflict_Variants/BRDM2_Conflict.et" +04:34:50.386 RESOURCES : GetResourceObject @"{254289B9C09904AB}Prefabs/Vehicles/Wheeled/BRDM2/BRDM2.et" +04:34:50.386 WORLD : Entity prefab load @"{254289B9C09904AB}Prefabs/Vehicles/Wheeled/BRDM2/BRDM2.et" +04:34:50.386 RESOURCES : GetResourceObject @"{532B5F3CF8496E59}Prefabs/Vehicles/Wheeled/BRDM2/BRDM2_base.et" +04:34:50.386 WORLD : Entity prefab load @"{532B5F3CF8496E59}Prefabs/Vehicles/Wheeled/BRDM2/BRDM2_base.et" +04:34:50.386 WORLD (E): Unknown keyword/data 'Parent' at offset 35955(0x8c73) +04:34:50.386 WORLD (E): Unknown keyword/data 'Parent' at offset 36915(0x9033) +04:34:50.387 RESOURCES : GetResourceObject @"{BD75A18920BD1278}Prefabs/Vehicles/Wheeled/Conflict_Variants/BTR70_Conflict.et" +04:34:50.387 WORLD : Entity prefab load @"{BD75A18920BD1278}Prefabs/Vehicles/Wheeled/Conflict_Variants/BTR70_Conflict.et" +04:34:50.387 RESOURCES : GetResourceObject @"{C012BB3488BEA0C2}Prefabs/Vehicles/Wheeled/BTR70/BTR70.et" +04:34:50.387 WORLD : Entity prefab load @"{C012BB3488BEA0C2}Prefabs/Vehicles/Wheeled/BTR70/BTR70.et" +04:34:50.387 RESOURCES : GetResourceObject @"{1C5FE7B7FF49BB8D}Prefabs/Vehicles/Wheeled/BTR70/BTR70_Base.et" +04:34:50.387 WORLD : Entity prefab load @"{1C5FE7B7FF49BB8D}Prefabs/Vehicles/Wheeled/BTR70/BTR70_Base.et" +04:34:50.387 WORLD (E): Unknown keyword/data 'Parent' at offset 42646(0xa696) +04:34:50.387 WORLD (E): Unknown keyword/data 'Parent' at offset 43645(0xaa7d) +04:34:50.387 WORLD (E): Unknown keyword/data 'Parent' at offset 44617(0xae49) +04:34:50.387 WORLD (E): Unknown keyword/data 'Parent' at offset 45590(0xb216) +04:34:52.772 WORLD : InitEntities 'world' +04:34:52.772 ENTITY : Init entity @"ENTITY:2305843009213693953" ('Rereintroduced', ERR_GameMode) at <1076.468018 51.000999 1325.246948> @"{978E045E53EF36C8}Prefabs/ERR/GameMode.et" +04:34:52.772 SCRIPT (W): SCR_PerceivedFactionManagerComponent trying to set fall back faction 'CIV' but this faction could not be found so it is null instead. +04:34:53.307 ENTITY : SpawnEntityPrefab @"{225E51284CC95CFA}Prefabs/Characters/Core/DefaultPlayerControllerMP.et" +04:34:53.307 ENTITY : Create entity @"ENTITY:4611686018427388381" ('SCR_PlayerController') at <0.000000 0.000000 0.000000> +04:34:53.307 ENTITY : EntityPrefabUse @"{225E51284CC95CFA}Prefabs/Characters/Core/DefaultPlayerControllerMP.et" +04:34:53.307 SCRIPT (W): Notification data in 'SCR_NotificationsLogDisplay' has duplicate notification info key: 'EDITOR_PERCEIVED_FACTION_PUNISHMENT_KILLING_SET'. There should only be one of each key! +04:34:53.308 SCRIPT (W): Notification data in 'SCR_NotificationsLogDisplay' has duplicate notification info key: 'EDITOR_PERCEIVED_FACTION_TYPE_DISABLED'. There should only be one of each key! +04:34:53.309 SCRIPT (W): Can't open config file "" +04:34:53.316 WORLD : InitEntities 'world' +04:34:53.316 ENTITY : Init entity @"ENTITY:4611686018427388381" ('SCR_PlayerController') at <0.000000 0.000000 0.000000> @"{225E51284CC95CFA}Prefabs/Characters/Core/DefaultPlayerControllerMP.et" +04:34:53.316 GUI : WidgetManager: CrateWidgets @"{3C9DCDD76AB83157}UI/layouts/HUD/HUDLayouts/HUDManager_Root.layout" +04:34:53.316 SCRIPT (W): Slot_WeaponInfo Has no Content! +04:34:53.317 SCRIPT (W): Slot_Chat Has no Content! +04:34:53.317 SCRIPT (W): Slot_VON Has no Content! +04:34:53.317 SCRIPT (W): Slot_AvailableActions Has no Content! +04:34:53.317 SCRIPT (W): Slot_Vehicle Has no Content! +04:34:53.317 SCRIPT (W): Slot_GameVersion Has no Content! +04:34:53.317 SCRIPT (W): Slot_Notifications Has no Content! +04:34:53.317 SCRIPT (W): Slot_Hints Has no Content! +04:34:53.331 SCRIPT (W): Ban Settings could not be loaded from BE Storage: Relying on default config +04:34:53.574 WORLD : UpdateEntities +04:34:53.575 WORLD : PostFrame +04:34:53.575 GUI : WidgetManager: CrateWidgets @"{D89BBA18F99053D6}UI/layouts/HUD/Chat/ChatHud.layout" +04:34:53.575 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +04:34:53.618 RESOURCES : GetResourceObject @"{20A6917D2114E29A}UI/layouts/HUD/Hint/HintInfoDisplay.layout" +04:34:53.618 GUI : Layout load @"{20A6917D2114E29A}UI/layouts/HUD/Hint/HintInfoDisplay.layout" +04:34:53.618 GUI : Widget prefab @"{EA1CC57D868E94F9}UI/layouts/HUD/Hint/Hint.layout" +04:34:53.618 GUI (W): Overridden prefab member (GUID: '{661AB14E0F471C66}' type: ButtonWidgetClass) no longer exists in prefab +04:34:55.243 SCRIPT (E): Rereintroduced [sites]: preparation failed: obstructed or unsafe transport parking: everon-supply-2 +04:34:55.252 SCRIPT (E): Rereintroduced: scenario preparation failed; spawning remains disabled: obstructed or unsafe transport parking: everon-supply-2 +04:34:55.273 SCRIPT (W): GM Budget got clamped at some point! +04:34:55.273 SCRIPT (W): GM Budget got clamped at some point! +04:34:55.273 SCRIPT (W): GM Budget got clamped at some point! +04:34:55.273 SCRIPT (W): GM Budget got clamped at some point! +04:34:55.273 SCRIPT (W): GM Budget got clamped at some point! diff --git a/docs/evidence/native-2026-09-19-043410-parking-failure/headless-launch.log.txt b/docs/evidence/native-2026-09-19-043410-parking-failure/headless-launch.log.txt new file mode 100644 index 0000000..b88b311 --- /dev/null +++ b/docs/evidence/native-2026-09-19-043410-parking-failure/headless-launch.log.txt @@ -0,0 +1,150 @@ +[gamescope] [Info] console: gamescope version 3.16.28 (gcc 16.2.1) +No CAP_SYS_NICE, falling back to regular-priority compute and threads. +Performance will be affected. +[gamescope] [Info] scriptmgr: Loading scripts from: '/usr/share/gamescope/scripts' +[gamescope] [Info] scriptmgr: Loading scripts from: '/usr/share/gamescope/scripts/00-gamescope' +[gamescope] [Info] scriptmgr: Loading scripts from: '/usr/share/gamescope/scripts/00-gamescope/common' +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/common/inspect.lua' (id: 0) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/common/modegen.lua' (id: 1) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/common/util.lua' (id: 2) +[gamescope] [Info] scriptmgr: Loading scripts from: '/usr/share/gamescope/scripts/00-gamescope/displays' +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/asus.rogally.lcd.lua' (id: 3) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/deckhd.steamdeck.deckhd-lcd.lua' (id: 4) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/gpd.win4.lcd.lua' (id: 5) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/lenovo.legiongo.lcd.lua' (id: 6) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/lenovo.legiongos.lcd.lua' (id: 7) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/onexplayer.f1.oled.lua' (id: 8) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/valve.steamdeck.lcd.lua' (id: 9) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/valve.steamdeck.oled.lua' (id: 10) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/zotac.zone.oled.lua' (id: 11) +[gamescope] [Info] scriptmgr: Loading scripts from: '/etc/gamescope/scripts' +[gamescope] [Warn] scriptmgr: Directory '/etc/gamescope/scripts' does not exist +[gamescope] [Info] scriptmgr: Loading scripts from: '/home/jakub/.config/gamescope/scripts' +[gamescope] [Warn] scriptmgr: Directory '/home/jakub/.config/gamescope/scripts' does not exist +[gamescope] [Info] vulkan: selecting physical device 'AMD Radeon RX 6950 XT (RADV NAVI21)': queue family 1 (general queue family 0) +[gamescope] [Info] vulkan: physical device supports DRM format modifiers +[gamescope] [Info] wlserver: [backend/headless/backend.c:60] Creating headless backend +[gamescope] [Info] vulkan: supported DRM formats for sampling usage: +[gamescope] [Info] vulkan: AR24 (0x34325241) +[gamescope] [Info] vulkan: XR24 (0x34325258) +[gamescope] [Info] vulkan: AB24 (0x34324241) +[gamescope] [Info] vulkan: XB24 (0x34324258) +[gamescope] [Info] vulkan: RG16 (0x36314752) +[gamescope] [Info] vulkan: NV12 (0x3231564E) +[gamescope] [Info] vulkan: AB4H (0x48344241) +[gamescope] [Info] vulkan: XB4H (0x48344258) +[gamescope] [Info] vulkan: AB48 (0x38344241) +[gamescope] [Info] vulkan: XB48 (0x38344258) +[gamescope] [Info] vulkan: AB30 (0x30334241) +[gamescope] [Info] vulkan: XB30 (0x30334258) +[gamescope] [Info] vulkan: AR30 (0x30335241) +[gamescope] [Info] vulkan: XR30 (0x30335258) +[gamescope] [Info] wlserver: Using explicit sync when available +[gamescope] [Info] wlserver: Running compositor on wayland display 'gamescope-0' +[gamescope] [Info] wlserver: [backend/headless/backend.c:17] Starting headless backend +[gamescope] [Info] wlserver: Successfully initialized libei for input emulation! +[gamescope] [Error] wlserver: [xwayland/sockets.c:47] Failed to bind socket @/tmp/.X11-unix/X0: Address already in use +[gamescope] [Info] wlserver: [xwayland/server.c:108] Starting Xwayland on :2 +The XKEYBOARD keymap compiler (xkbcomp) reports: +> Warning: Multiple symbols for level 1/group 1 on key +> Using F23, ignoring XF86TouchpadOff +> Warning: Symbol map for key redefined +> Using last definition for conflicting fields +> Warning: Symbol map for key redefined +> Using last definition for conflicting fields +> Warning: Could not resolve keysym XF86ElectronicPrivacyScreenOn +> Warning: Could not resolve keysym XF86ElectronicPrivacyScreenOff +> Warning: Could not resolve keysym XF86ActionOnSelection +> Warning: Could not resolve keysym XF86ContextualInsert +> Warning: Could not resolve keysym XF86ContextualQuery +Errors from xkbcomp are not fatal to the X server +[gamescope] [Info] pipewire: stream state changed: connecting +[gamescope] [Info] pipewire: stream state changed: paused +[gamescope] [Info] pipewire: stream available on node ID: 123 +[gamescope] [Info] vblank: Using timerfd. +fsync: up and running. +[Gamescope WSI] No application info given. +[Gamescope WSI] Executable name: explorer.exe +ATTENTION: default value of option vk_wsi_force_swapchain_to_current_extent overridden by environment. +[Gamescope WSI] Application info: + pApplicationName: xalia.exe + applicationVersion: 0 + pEngineName: DXVK + engineVersion: 12587008 + apiVersion: 4206592 +[Gamescope WSI] Executable name: xalia.exe +ATTENTION: default value of option vk_wsi_force_swapchain_to_current_extent overridden by environment. +[Gamescope WSI] No application info given. +[Gamescope WSI] Application info: + pApplicationName: ArmaReforgerWorkbenchSteamDiag.exe + applicationVersion: 1 + pEngineName: DXVK + engineVersion: 12587008 + apiVersion: 4206592 +[Gamescope WSI] Executable name: ArmaReforgerWorkbenchSteamDiag.exe +ATTENTION: default value of option vk_wsi_force_swapchain_to_current_extent overridden by environment. +[Gamescope WSI] No application info given. +The XKEYBOARD keymap compiler (xkbcomp) reports: +> Warning: Unsupported maximum keycode 709, clipping. +> X11 cannot support keycodes above 255. +> Warning: Virtual modifier Hyper multiply defined +> Using 0, ignoring 0 +> Warning: Virtual modifier ScrollLock multiply defined +> Using 0, ignoring 0 +Errors from xkbcomp are not fatal to the X server +ATTENTION: default value of option vk_wsi_force_swapchain_to_current_extent overridden by environment. +[Gamescope WSI] Application info: + pApplicationName: ArmaReforgerWorkbenchSteamDiag.exe + applicationVersion: 0 + pEngineName: DXVK + engineVersion: 12587008 + apiVersion: 4206592 +ATTENTION: default value of option vk_wsi_force_swapchain_to_current_extent overridden by environment. +[Gamescope WSI] Application info: + pApplicationName: ArmaReforgerWorkbenchSteamDiag.exe + applicationVersion: 0 + pEngineName: vkd3d + engineVersion: 12587008 + apiVersion: 4206592 +[Gamescope WSI] Forcing on VK_EXT_swapchain_maintenance1. +ATTENTION: default value of option vk_wsi_force_swapchain_to_current_extent overridden by environment. +[Gamescope WSI] No application info given. +ATTENTION: default value of option vk_wsi_force_swapchain_to_current_extent overridden by environment. +[Gamescope WSI] Application info: + pApplicationName: ArmaReforgerWorkbenchSteamDiag.exe + applicationVersion: 0 + pEngineName: vkd3d + engineVersion: 12587008 + apiVersion: 4206592 +[Gamescope WSI] Forcing on VK_EXT_swapchain_maintenance1. +[Gamescope WSI] Creating Gamescope surface: xid: 0x1a001a4 +[Gamescope WSI] Atom of T was wrong type. Expected XCB_ATOM_CARDINAL. +[Gamescope WSI] Made gamescope surface for xid: 0x1a001a4 +[Gamescope WSI] Surface state: + steam app id: 1874910 + window xid: 0x1a001a4 + wayland surface res id: 5 + layer client flags: 0x4 + server hdr output enabled: false + hdr formats exposed to client: false +[Gamescope WSI] Creating Gamescope surface: xid: 0x1a003a4 +[Gamescope WSI] Atom of T was wrong type. Expected XCB_ATOM_CARDINAL. +[Gamescope WSI] Made gamescope surface for xid: 0x1a003a4 +[Gamescope WSI] Surface state: + steam app id: 1874910 + window xid: 0x1a003a4 + wayland surface res id: 10 + layer client flags: 0x4 + server hdr output enabled: false + hdr formats exposed to client: false +[Gamescope WSI] Creating swapchain for xid: 0x1a003a4 - oldSwapchain: (nil) - provided minImageCount: 3 - minImageCount: 3 - format: VK_FORMAT_B8G8R8A8_UNORM - colorspace: VK_COLOR_SPACE_SRGB_NONLINEAR_KHR - flip: false +[Gamescope WSI] Created swapchain for xid: 0x1a003a4 swapchain: 0x555560eb7c40 - imageCount: 4 +[Gamescope WSI] Destroying swapchain: 0x555560eb7c40 +[Gamescope WSI] Destroyed swapchain: 0x555560eb7c40 +[Gamescope WSI] Creating swapchain for xid: 0x1a003a4 - oldSwapchain: (nil) - provided minImageCount: 3 - minImageCount: 3 - format: VK_FORMAT_B8G8R8A8_UNORM - colorspace: VK_COLOR_SPACE_SRGB_NONLINEAR_KHR - flip: false +[Gamescope WSI] Created swapchain for xid: 0x1a003a4 swapchain: 0x555560eb7c40 - imageCount: 4 +[Gamescope WSI] Destroying swapchain: 0x555560eb7c40 +[Gamescope WSI] Destroyed swapchain: 0x555560eb7c40 +[Gamescope WSI] Creating swapchain for xid: 0x1a003a4 - oldSwapchain: (nil) - provided minImageCount: 3 - minImageCount: 3 - format: VK_FORMAT_B8G8R8A8_UNORM - colorspace: VK_COLOR_SPACE_SRGB_NONLINEAR_KHR - flip: false +[Gamescope WSI] Created swapchain for xid: 0x1a003a4 swapchain: 0x555560e3c670 - imageCount: 4 +[gamescope] [Info] launch: Primary child shut down! diff --git a/docs/evidence/native-2026-09-19-043410-parking-failure/report.json b/docs/evidence/native-2026-09-19-043410-parking-failure/report.json new file mode 100644 index 0000000..1afa12c --- /dev/null +++ b/docs/evidence/native-2026-09-19-043410-parking-failure/report.json @@ -0,0 +1,22 @@ +{ + "log": "docs/evidence/native-2026-09-19-043410-parking-failure/console.log.txt", + "smoke_completions": 0, + "assertions_passed": 0, + "script_or_runtime_failures": [ + "04:34:55.243 SCRIPT (E): Rereintroduced [sites]: preparation failed: obstructed or unsafe transport parking: everon-supply-2", + "04:34:55.252 SCRIPT (E): Rereintroduced: scenario preparation failed; spawning remains disabled: obstructed or unsafe transport parking: everon-supply-2" + ], + "engine_errors": [ + "04:34:50.344 WORLD (E): Unknown keyword/data 'SlidingTrackMaterial' at offset 19441(0x4bf1)", + "04:34:50.386 WORLD (E): Unknown keyword/data 'Parent' at offset 35955(0x8c73)", + "04:34:50.386 WORLD (E): Unknown keyword/data 'Parent' at offset 36915(0x9033)", + "04:34:50.387 WORLD (E): Unknown keyword/data 'Parent' at offset 42646(0xa696)", + "04:34:50.387 WORLD (E): Unknown keyword/data 'Parent' at offset 43645(0xaa7d)", + "04:34:50.387 WORLD (E): Unknown keyword/data 'Parent' at offset 44617(0xae49)", + "04:34:50.387 WORLD (E): Unknown keyword/data 'Parent' at offset 45590(0xb216)", + "04:34:55.243 SCRIPT (E): Rereintroduced [sites]: preparation failed: obstructed or unsafe transport parking: everon-supply-2", + "04:34:55.252 SCRIPT (E): Rereintroduced: scenario preparation failed; spawning remains disabled: obstructed or unsafe transport parking: everon-supply-2" + ], + "missing_end_screen": [], + "scope": "scripted local Workbench integration only; no multiplayer, piloting or FPS claim" +} diff --git a/docs/evidence/native-2026-09-19-043410-parking-failure/runner.json.txt b/docs/evidence/native-2026-09-19-043410-parking-failure/runner.json.txt new file mode 100644 index 0000000..0568005 --- /dev/null +++ b/docs/evidence/native-2026-09-19-043410-parking-failure/runner.json.txt @@ -0,0 +1,9 @@ +{ + "result": "test-failed", + "session": "/tmp/erri-workbench-profile/logs/logs_2026-09-19_04-34-10", + "rounds_required": 1, + "project": "core", + "display": "headless Gamescope 1280x720/30Hz", + "dedicated_server": false, + "audio": "silent sink and per-test-stream mute" +} diff --git a/docs/evidence/native-2026-09-19-043410-parking-failure/script.log.txt b/docs/evidence/native-2026-09-19-043410-parking-failure/script.log.txt new file mode 100644 index 0000000..14dc096 --- /dev/null +++ b/docs/evidence/native-2026-09-19-043410-parking-failure/script.log.txt @@ -0,0 +1,67 @@ +--------------------------------------------- +Log Z:\tmp\erri-workbench-profile\logs\logs_2026-09-19_04-34-10\script.log started at 2026-09-19 04:34:13 (2026-09-19 02:34:13 UTC) + +04:34:13.250 SCRIPT : SCRIPT : Initializing scripts +04:34:13.250 SCRIPT : SCRIPT : ScriptProjectManager init +04:34:14.157 SCRIPT : SCRIPT : Compiling GameLib scripts +04:34:14.212 SCRIPT : Module: Workbench; loaded 18x files; 36x classes; used 125K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE"; CRC32: 90ce0460 +04:34:14.212 SCRIPT : Module: GameLib; loaded 465x files; 648x classes; used 828K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE"; CRC32: 4507af04 +04:34:14.213 SCRIPT : SCRIPT : Compiling Game scripts +04:34:15.353 SCRIPT : Compiling Game scripts +04:34:15.353 SCRIPT (W): @"Scripts/Game/Editor/Components/EditableEntity/SCR_EditableEntityComponent.c,785": 'GetPlayerPlatformKind' is obsolete +04:34:15.353 SCRIPT (W): @"Scripts/Game/Editor/Components/EditableEntity/SCR_EditableEntityComponent.c,786": 'GetPlayerPlatformId' is obsolete +04:34:15.608 SCRIPT (W): @"Scripts/Game/ERR/ERR_SiteService.c,132": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +04:34:15.617 SCRIPT (W): @"Scripts/Game/Workshop/SCR_AddonManager.c,876": 'GetRefCount' is obsolete: Will be removed +04:34:15.650 SCRIPT (W): @"Scripts/Game/Campaign/SCR_PlayerProfileManagerComponent.c,142": 'PlayerData' is obsolete +04:34:15.754 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,159": 'GetDSSession' is obsolete +04:34:15.754 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,162": 'RoomID' is obsolete +04:34:15.754 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,197": 'GetDSSession' is obsolete +04:34:15.754 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,201": 'RoomID' is obsolete +04:34:15.850 SCRIPT (W): @"Scripts/Game/DataCollection/SCR_DataCollectorComponent.c,481": 'GetStorage' is obsolete +04:34:15.850 SCRIPT (W): @"Scripts/Game/DataCollection/SCR_DataCollectorComponent.c,483": 'GetOnlineWritePrivilege' is obsolete +04:34:15.852 SCRIPT (W): @"Scripts/Game/Utilities/SCR_PlayerIdentityUtils.c,20": 'GetPlayerIdentityId' is obsolete +04:34:15.895 SCRIPT (W): @"Scripts/Game/ERR/ERR_ExtractionService.c,45": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +04:34:15.895 SCRIPT (W): @"Scripts/Game/ERR/ERR_ExtractionService.c,56": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +04:34:15.896 SCRIPT (W): @"Scripts/Game/UI/Menu/MainMenuUI.c,643": 'GetNotifyCount' is obsolete: Will be substitued by Notification Api. +04:34:15.896 SCRIPT (W): @"Scripts/Game/UI/Menu/MainMenuUI.c,645": 'GetNotifyItem' is obsolete: Will be substitued by Notification Api. +04:34:15.922 SCRIPT (W): @"Scripts/Game/ERR/ERR_NativeTransportProbe.c,82": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +04:34:15.953 SCRIPT (W): @"Scripts/Game/DataCollection/PlayerData/SCR_PlayerData.c,210": 'PlayerData' is obsolete +04:34:16.236 SCRIPT : Module: WorkbenchGame; loaded 171x files; 616x classes; used 2478K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE"; CRC32: db6febb9 +04:34:16.243 SCRIPT : Module: Game; loaded 5700x files; 11169x classes; used 32477K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE,ENABLE_BASE_DESTRUCTION,BUDGET_OPTIMIZATION_CHECKS,SHOW_DISCLAIMER,DEBUG,RESPAWN_TIMER_COMPONENT_DEBUG,GAME_MODE_DEBUG,DEBUG_CONFIGURABLE_DIALOGS,DISABLE_WEAPON_SWITCHING,SCRIPTED_AIM_MODIFIER_DEBUG"; CRC32: 89cb99a5 +04:34:17.157 SCRIPT : Unable to register a script command due keyword duplicity: ban +04:34:17.157 SCRIPT : Unable to register a script command due keyword duplicity: kick +04:34:36.293 SCRIPT : ERR SITE SURVEY: supply=6150/7050 elevationRange=0.625 min=202.875 max=203.5 +04:34:39.506 SCRIPT : Unable to register a script command due keyword duplicity: ban +04:34:39.506 SCRIPT : Unable to register a script command due keyword duplicity: kick +04:34:52.772 SCRIPT (W): SCR_PerceivedFactionManagerComponent trying to set fall back faction 'CIV' but this faction could not be found so it is null instead. +04:34:52.799 SCRIPT : ERR BASE SMOKE: core-only scripted escape; not manual or multiplayer acceptance +04:34:53.307 SCRIPT (W): Notification data in 'SCR_NotificationsLogDisplay' has duplicate notification info key: 'EDITOR_PERCEIVED_FACTION_PUNISHMENT_KILLING_SET'. There should only be one of each key! +04:34:53.308 SCRIPT (W): Notification data in 'SCR_NotificationsLogDisplay' has duplicate notification info key: 'EDITOR_PERCEIVED_FACTION_TYPE_DISABLED'. There should only be one of each key! +04:34:53.309 SCRIPT (W): Can't open config file "" +04:34:53.316 SCRIPT (W): Slot_WeaponInfo Has no Content! +04:34:53.317 SCRIPT (W): Slot_Chat Has no Content! +04:34:53.317 SCRIPT (W): Slot_VON Has no Content! +04:34:53.317 SCRIPT (W): Slot_AvailableActions Has no Content! +04:34:53.317 SCRIPT (W): Slot_Vehicle Has no Content! +04:34:53.317 SCRIPT (W): Slot_GameVersion Has no Content! +04:34:53.317 SCRIPT (W): Slot_Notifications Has no Content! +04:34:53.317 SCRIPT (W): Slot_Hints Has no Content! +04:34:53.331 SCRIPT (W): Ban Settings could not be loaded from BE Storage: Relying on default config +04:34:53.383 SCRIPT : ScenarioFramework: Available tasks are empty, no new tasks will be generated. +04:34:53.396 SCRIPT : SCR_BaseGameMode::OnGameStateChanged = GAME +04:34:53.575 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +04:34:55.123 SCRIPT : Rereintroduced [sites]: cache clearance position=<6086,211.538,7160> clear=1 +04:34:55.143 SCRIPT : Rereintroduced [sites]: authored everon-prison-1 at <6090,211.444,7160> +04:34:55.144 SCRIPT : Rereintroduced [sites]: cache clearance position=<6150,203.288,7050> clear=1 +04:34:55.176 SCRIPT : Rereintroduced [sites]: authored everon-supply-1 at <6150,203.288,7050> +04:34:55.179 SCRIPT : Rereintroduced [sites]: authored everon-radio-1 at <6500,159.756,7200> +04:34:55.236 SCRIPT : Rereintroduced [sites]: authored everon-extraction-1 at <7000,65.2562,7500> +04:34:55.236 SCRIPT : Rereintroduced [sites]: cache clearance position=<5960,220.256,7220> clear=1 +04:34:55.243 SCRIPT : Rereintroduced [sites]: transport parking=<5960,220.506,7232> radius=3 terrainRange=0.5625 obstructed=1 clear=0 +04:34:55.243 SCRIPT (E): Rereintroduced [sites]: preparation failed: obstructed or unsafe transport parking: everon-supply-2 +04:34:55.252 SCRIPT (E): Rereintroduced: scenario preparation failed; spawning remains disabled: obstructed or unsafe transport parking: everon-supply-2 +04:34:55.273 SCRIPT (W): GM Budget got clamped at some point! +04:34:55.273 SCRIPT (W): GM Budget got clamped at some point! +04:34:55.273 SCRIPT (W): GM Budget got clamped at some point! +04:34:55.273 SCRIPT (W): GM Budget got clamped at some point! +04:34:55.273 SCRIPT (W): GM Budget got clamped at some point! diff --git a/docs/evidence/native-2026-09-19-043410-parking-failure/source-sha256.json b/docs/evidence/native-2026-09-19-043410-parking-failure/source-sha256.json new file mode 100644 index 0000000..75e01f0 --- /dev/null +++ b/docs/evidence/native-2026-09-19-043410-parking-failure/source-sha256.json @@ -0,0 +1,114 @@ +{ + "addons/ai/Prefabs/ERR/MortarCrew.et": "05d3e7353ff9fe5523218a1487b31b7b742b0be8adbcb060c7099978cf008bce", + "addons/ai/Prefabs/ERR/MortarCrew.et.meta": "fdfd4fcd21a67c3d698fa4aadc4e5c76e665cebf4be86013bc389e493fab63cc", + "addons/ai/Scripts/Game/ERR/ERR_HQ.c": "ceafd6740ed277748744ce56ac0f0bb3a8521fcc060dafb2cdb99896aedf405a", + "addons/ai/Scripts/Game/ERR/ERR_HQJournal.c": "b3e402cfe92d415f37f666045afb062e6e11670ba03a0ca6f2d9fd4fc3520ac1", + "addons/ai/Scripts/Game/ERR/ERR_HQNetwork.c": "92ff2caca52e94c2cc9642dfc8509ce6e9349b257012bade8650bace9231128c", + "addons/ai/Scripts/Game/ERR/ERR_HQObservation.c": "36c978ec5f052213ac1236e1398d85063efbfd7ef60fe04f1fc11447fefe1d68", + "addons/ai/Scripts/Game/ERR/ERR_HQReport.c": "c4d16ccb571db4d9444c0a8d2be7318845d25ff90238b6d304e96a9ea19f1a08", + "addons/ai/Scripts/Game/ERR/ERR_HelicopterAvailability.c": "60eaef2f6d4b2fd44861c5a4434ef97e732e40a5ff7401e2da451ed2dd9c2762", + "addons/ai/Scripts/Game/ERR/ERR_MortarBattery.c": "66b8f16b692a0f75fc9d920f5224d9292a0f1dc7dd8b2dde912e676fa80ddc9c", + "addons/ai/Scripts/Game/ERR/ERR_MortarFiring.c": "657e96d1112b68c8ced37793e99f88e6078b38a579190e63d00b1f9a9a032e26", + "addons/ai/Scripts/Game/ERR/ERR_MortarPrediction.c": "470dd196ed64800c697d24c09d1344bacd2502587fac76af4ee0edae2563092d", + "addons/ai/Scripts/Game/ERR/ERR_MortarSalvo.c": "697c01f479df6c505a41d984a29c02002e3052114dafa2ec6252ae55e2979a2b", + "addons/ai/Scripts/Game/ERR/ERR_MortarSystem.c": "12d8fc39d47e03c3838e0642aa9e4a80baf60f250357493bff812d5c75812c86", + "addons/ai/Scripts/Game/ERR/ERR_SettlementSafety.c": "e5c0ebc95521a9a33a3f7d9cca6c551dda862a08b7af20b017877aba9584795b", + "addons/ai/Scripts/Game/ERR/ERR_SupportScenario.c": "71757018ec9716c4dc24f62a292a214919d3fd5daed3c16e03e56abd208e9f03", + "addons/ai/addon.gproj": "5f559db8f526700db11e6ae763f5245f19b7006fc68c56e4c09fb6f940bdf2a1", + "addons/chat/Missions/ERR_Everon.conf": "76f3ac0d21b585654beac7ddd68e3c8cbdd66dbfe909b17b04838fa813a7c29b", + "addons/chat/Missions/ERR_Everon.conf.meta": "0a23c98bf83873536c65fa17d38dea33a1d7b9e4ab210f90633ff688abcc551f", + "addons/chat/Scripts/Game/ERR/ERR_AdminCommands.c": "7ea6d6b240524cf0193c86fcab861fbdef9adca780acff11ee73f9ed0e99ce7b", + "addons/chat/Scripts/Game/ERR/ERR_NativeMortarProbe.c": "ddb892141500c192c0787b011d57dd8c07dd8c9a3ca5fdc407f6c271897bde0a", + "addons/chat/Scripts/Game/ERR/ERR_NativeRadioProbe.c": "84524163c63402755b4f834f74dfe6d8e5c397dc26031f532593c6f79f5a93b1", + "addons/chat/Scripts/Game/ERR/ERR_NativeSmoke.c": "0ab2fed95dcaa0442cf7feb25743308060d58497e347f17dbd25c8e970a9f81f", + "addons/chat/Scripts/WorkbenchGame/ERR/ERR_ValidateWorldPlugin.c": "81c92d408ce88cc9f98d6053f1d0c863427693ba748f00df9f1bf8079015ef94", + "addons/chat/addon.gproj": "ea1587e0174cf795334d306c71d99b06797fc891427cd57b6cab6e21cf0e4e0e", + "addons/core/Configs/ERR/EveronSites.conf": "9b7915dd0431090c11921ee3f00c92775d463f62631a2d89546421b688615d54", + "addons/core/Configs/ERR/EveronSites.conf.meta": "d5fe68025ef4e7c1e16082cf5873b7c7172eacbfaef4ab29b7e0e3c98f8dca56", + "addons/core/Configs/ERR/GameOverScreens.conf": "45231061911a1462d45fb6db0fecc2b0793f17b5ae71017174954ff4fbd20236", + "addons/core/Configs/ERR/GameOverScreens.conf.meta": "eb654b745c0b97b41c991694569ef4877a3c2315e0826f9556337cd68690843e", + "addons/core/Configs/ERR/VanillaFactions.conf": "f8b8b9898a16b4a4a55ab3c12d2547bef2dc433732c7643df980cb3aca715212", + "addons/core/Configs/ERR/VanillaFactions.conf.meta": "ac77725c0c21974991ef47a466b88122e939de8b46fd23e68889e7674cbb2bfd", + "addons/core/Missions/ERR_Everon_Base.conf": "1e6a0e9a756d15495201f71121626890f01efe6b00154c561672d4ec157960bd", + "addons/core/Missions/ERR_Everon_Base.conf.meta": "9b16267c644d815bcf98a3a3aaff30b93d7224fb24d3a2bac66730a28011f317", + "addons/core/Prefabs/ERR/Extraction.et": "1aa286ef253c5410f09fa641e4be91a7be8ec834487a7fbb74cfb45cab60ee1e", + "addons/core/Prefabs/ERR/Extraction.et.meta": "c2a838633001e2e3a202d39cb33aa744ebcd996017ad032359069641b5d13853", + "addons/core/Prefabs/ERR/FieldCover.et": "20f8095e69dbfe3db74ff19078e528ea75405362b335e03560ccd61f8df2e7f3", + "addons/core/Prefabs/ERR/FieldCover.et.meta": "83461ffa76244e1d69f20b053a9741ccdf7d127009182bd540a7e5ba6150c3d9", + "addons/core/Prefabs/ERR/GameMode.et": "385c97a5b8067091d92aa60c2d4fcf02002cf606b95523866ead65c96b8c0029", + "addons/core/Prefabs/ERR/GameMode.et.meta": "106769cd34525c9d440057072836cb7401a6752148c40edd7fe61c03bd58328c", + "addons/core/Prefabs/ERR/ObjectiveDocument.et": "2e72270bf186654af12d2c3ff9bf940690b03fb17fca44f873c1fde5d11384c0", + "addons/core/Prefabs/ERR/ObjectiveDocument.et.meta": "eaba9903be147b98a1106e2273e2270773df73b9b22f2cd4e20136a8e281382e", + "addons/core/Prefabs/ERR/Patrol.et": "c5685a8bc311cc5563fb3334beec9408d3d7a1069152fddeeb7df4f1b7f9e6ce", + "addons/core/Prefabs/ERR/Patrol.et.meta": "7c5da568fa2fcf0709ee2959253cb068d7c7ed7c2467af3b247a7e70efd96b69", + "addons/core/Prefabs/ERR/Prison.et": "1503db1441d8cd7a4f0b45c27ba9623b9fa39f0f81016e180bd2aa1379e1f42a", + "addons/core/Prefabs/ERR/Prison.et.meta": "2e426ef3de68f4107907854b51e818bc11d84649a01c538e3f18dd9ebec766bb", + "addons/core/Prefabs/ERR/PrisonDoor.et": "fc66be9d36f1f01084de59f1b0a1e8817f9e46547ead33d4fafaac0107446c40", + "addons/core/Prefabs/ERR/PrisonDoor.et.meta": "b8f3db52bf186426026668fbb9d633c3cbd4d438ab301fba880398f6a0e781c2", + "addons/core/Prefabs/ERR/PrisonWall.et": "8009d19365ae72a4749d7ad4fa04662575b06c65c6bf06507d380d57258b5eed", + "addons/core/Prefabs/ERR/PrisonWall.et.meta": "0294bc5dbb56f90f8153d62459bb0a6ad91d76a479812bbec9c7db182fdb58d6", + "addons/core/Prefabs/ERR/Radio.et": "b4b5cfe125b39019855816c9a1c508ca4d65d435b5546fdaa6c1fa3c8c9b1165", + "addons/core/Prefabs/ERR/Radio.et.meta": "bc91137b68ba550217914fb8892bb44d7e1920e4a1086f3e506623832a44212f", + "addons/core/Prefabs/ERR/SpectatorCamera.et": "b5b87d5b7b707f3745741aebe7c923067c8a74f8fbb2a4711834bab03bb5a812", + "addons/core/Prefabs/ERR/SpectatorCamera.et.meta": "2a16558f93915e31908a674509e9c89976470f78a84a1174a64b94b68b8f77ad", + "addons/core/Prefabs/ERR/SupplyCache.et": "bccf7afbaae97cfcdd78dd6dbbf4be5b2c045d348f50fe4581962e556c0044d7", + "addons/core/Prefabs/ERR/SupplyCache.et.meta": "2f5de3a4aab1e9d0e35521f48dc57b95bd6e449c383dec4f1c258e10295904cb", + "addons/core/Prefabs/ERR/SupplySite.et": "dc5decce5cabf39b6116e8794ec3960cb1e35761854fdbe69740da118787ded4", + "addons/core/Prefabs/ERR/SupplySite.et.meta": "b41944b12eb3528ff7a3ac94258b18c66ef161aa6a38894aee300a1ac4798630", + "addons/core/Scripts/Game/ERR/ERR_Actions.c": "adf93245e6d78c59b9839599d157a0d2b2b93ea93b3d1ae52e2904dd6c288266", + "addons/core/Scripts/Game/ERR/ERR_Actors.c": "b3c5aabb05f7cf35167bc09b5db51a4ffd89a46658805d6eedbfb80eee30273d", + "addons/core/Scripts/Game/ERR/ERR_AdminService.c": "047c14ce60cc0b167e202438f8f2b1063590e69ef88ea55b54598aea5f99c505", + "addons/core/Scripts/Game/ERR/ERR_DiscoveryMap.c": "2f4ea342fea0530061456be9cdce002d5e7a282e4e27eb88f3860e79f93612bf", + "addons/core/Scripts/Game/ERR/ERR_DiscoveryService.c": "6b5679447fe4a6d7d54c0545881ab56284f871556b3159207d421247f419eada", + "addons/core/Scripts/Game/ERR/ERR_DocumentComponent.c": "17bb76b80ebd3357e46d553c44674f602c7bd6901c92aec53ac8214194aa4ff2", + "addons/core/Scripts/Game/ERR/ERR_EscapeGameOverScreenInfo.c": "b1e1afb7795cb77c0bad94c85abf705b26b9dc2a9400905d80eafd56bdd009d3", + "addons/core/Scripts/Game/ERR/ERR_ExtractionService.c": "91357099b4e0401196b67d48963be54be30e56bdba57cdac67dc20b8ebb883e9", + "addons/core/Scripts/Game/ERR/ERR_FactionCatalog.c": "a5a8c53acf21259e14f59cb919535910f30dabff5a9179c664bc6a7a4d744d6e", + "addons/core/Scripts/Game/ERR/ERR_GameMode.c": "d766d1639378070bea64eef38baa4667f8b9f5f1a2a7b170f0fc5e8fd557917d", + "addons/core/Scripts/Game/ERR/ERR_Location.c": "d2035f56ded35743312ec6ca91a67f8623a466c91255e1893c570edf0954ff24", + "addons/core/Scripts/Game/ERR/ERR_MissionRules.c": "f7abc38ad8fdc375ce7fa63a65f0bade027d22b37e09de5e3f94ba8c3c63cc41", + "addons/core/Scripts/Game/ERR/ERR_NativeBaseSmoke.c": "85269598e0629409b1e4feb5b930218c2099df9aeaf4127b4db584300f3d7a65", + "addons/core/Scripts/Game/ERR/ERR_NativeContractsProbe.c": "d1556df885171cf967e96eef5d8981a2e9ee4e3938b7d32fdd0426f647bbabc0", + "addons/core/Scripts/Game/ERR/ERR_NativeDefinitionProbe.c": "d05ef8368ef5afa68e29f45843cb1878b5a09be768f8abdff2f4115c23759b01", + "addons/core/Scripts/Game/ERR/ERR_NativeExtractionProbe.c": "4b09385f73206de004f4f3c38a6192fd658a0d2012482dc5a84dff1599ceb972", + "addons/core/Scripts/Game/ERR/ERR_NativeObjectiveProbe.c": "451f46d9a51753841046698911ee9954088214b6df856776a316865466fbce0f", + "addons/core/Scripts/Game/ERR/ERR_NativeRadioDefenceProbe.c": "629917af38af5b5e34198ff5a5c0da7e48edf1c33d95bb278cceb3cc31028f5d", + "addons/core/Scripts/Game/ERR/ERR_NativeResultProbe.c": "b9a117eef2d5f65fbd792041a2b3e59e38e201bda8e0df8c503e1a1242cfc415", + "addons/core/Scripts/Game/ERR/ERR_NativeSiteSurvey.c": "ac0203753ade0cdff6d483132797a80e4520f14546c3f9dea288281cd4cd9c4f", + "addons/core/Scripts/Game/ERR/ERR_NativeStationTeardownDiagnostic.c": "c01cbdbfe25fd38916fa74f2c02333baaacd5228686fd6e40b33c27b3cea8ed8", + "addons/core/Scripts/Game/ERR/ERR_NativeTimeProbe.c": "c93d049785971e51246fcc07cf24804270a752a655505f2c38e48c80df5255ae", + "addons/core/Scripts/Game/ERR/ERR_NativeTransportProbe.c": "63ec0c5ce698114daa6314b2a6e3c3e98e76094117c477f9d0d072260686d193", + "addons/core/Scripts/Game/ERR/ERR_ObjectiveDetails.c": "900bdcd11075230e0d311ca8725c1d7938cb2a4efa71360709003d90092a7e69", + "addons/core/Scripts/Game/ERR/ERR_ObjectiveText.c": "bbb29949194637e6781316836c895e2c0fa7ccdb547d4d944a717da2ad73b0a2", + "addons/core/Scripts/Game/ERR/ERR_Objectives.c": "88d95a52fcba103483ea751571e1afeae0e6fc82115ed50d6fc195424726960f", + "addons/core/Scripts/Game/ERR/ERR_Observer.c": "b719e723369ab4f403950c85226e1336eb48e3c127e84530ac1c695eb86bd0f9", + "addons/core/Scripts/Game/ERR/ERR_PlayerAdminCommands.c": "a084d7dc097dfcde3d6cd9c2e326b9e2f8f2a519f77b30c4f56ab7a1429aa721", + "addons/core/Scripts/Game/ERR/ERR_PlayerEscapeResult.c": "3124ab4d2d6d471409a47aba0af528790734df53243c03fe0cdac3e407047c14", + "addons/core/Scripts/Game/ERR/ERR_PlayerGuide.c": "2c9c365b88651f8b12618443638bf52c04e497221592bd483c33447e30468f36", + "addons/core/Scripts/Game/ERR/ERR_PlayerRoster.c": "a737ba739b3f73a91cd05d808a1d45070e83b5152c003c3164e29842dda51995", + "addons/core/Scripts/Game/ERR/ERR_RadioDefenceService.c": "85eb9c1b65d5987799927b6d8786b7299fcff849bcb15b91f8a4d1aa95823fd1", + "addons/core/Scripts/Game/ERR/ERR_Resources.c": "8a5314944f75b23982c6b99697045e3c0538aa2137b2c947a5b2411e6076ac03", + "addons/core/Scripts/Game/ERR/ERR_ScenarioComponent.c": "abba03af68323d5715ba1e2497fc66f3c706e6a6a983c3a386228abdfddeec89", + "addons/core/Scripts/Game/ERR/ERR_Settings.c": "2aee784e44c732e09f59150896491ab325ef5e62aa6bad725be1fda955a3f614", + "addons/core/Scripts/Game/ERR/ERR_SiteDefinition.c": "75b5121ceab77f0956f0dc34bd077b11af5586350de52321800427f18cc94477", + "addons/core/Scripts/Game/ERR/ERR_SiteService.c": "5e9a719efc25ec90c8e1a0856604a8c11664d883aa099165402ddee18fe17a7a", + "addons/core/Scripts/Game/ERR/ERR_SpawnLogic.c": "f84f0c22562912c020e8be81748f36a883dd265d8d9786d0548f32bda5b4b92e", + "addons/core/Scripts/Game/ERR/ERR_Supplies.c": "752e8a56b0b8cde33cf532032cb0a203553017b686faac2e19bee06f7a9c0713", + "addons/core/Scripts/Game/ERR/ERR_TimeService.c": "d9f481b7da01e08d2c982a948c18ba6bde76889d7cc9d26d510708f4ba479453", + "addons/core/Scripts/WorkbenchGame/ERR/ERR_ValidateBaseWorldPlugin.c": "7f44aa64ea7b4f8b3640a37a4b781c43bf6adb80e4a3a702d9491131698056f6", + "addons/core/Worlds/ERR_Everon.ent": "22324bc7eb0d80dec8a1f3bd61a9df9201b72f749f4e751766b0c9d0b7d46b87", + "addons/core/Worlds/ERR_Everon.ent.meta": "19d1903ca72baa326b4724a6791d0da1104a1e53f3f31dc1ca41a856efd68e83", + "addons/core/Worlds/ERR_Everon_Layers/default.layer": "f1a058bd315c7d01d464715ac9f4e18ae3d2432551d094a9afbd4c9c5a2a9416", + "addons/core/addon.gproj": "231274e6b62302f32c65f9ff31de2ce8a9e51e1c8d12c87deeec82ae1f40de46", + "addons/intel/Scripts/Game/ERR/ERR_IntelService.c": "482839434b94e7f8c345d5fd96490aeebb765f3dd0c1bb25fceea2f435c0e722", + "addons/intel/addon.gproj": "d0ced242cefb220a5cccd6779d61fda9bc55581701b9f78bcf13c09d92ddbcbe", + "addons/map/Materials/ERRM_MapRenderTarget.emat": "9877c5b175c5f30dd80bea36c711b21ab38219aa7075adf9ae79932e1d4c76bc", + "addons/map/Materials/ERRM_MapRenderTarget.emat.meta": "5ee1a705f8011a44020ca2691f5ccc17d44bf596fef9a36e98d1f267eb58fab0", + "addons/map/Prefabs/Items/Equipment/ERRM_SharedFieldMap.et": "30dee8e9eab459ea32a7d835a9fb89d43df47708057cab829f067b25a24cd581", + "addons/map/Prefabs/Items/Equipment/ERRM_SharedFieldMap.et.meta": "59093e9072c50d99c86da7609c87541016da5bcf92b98d99db4c524e1c8e0e8d", + "addons/map/Scripts/Game/ERR/ERR_ScenarioMap.c": "75fa1d742129ef7f33c005cd48f56db7f49ee7bde3c5428532b0b501b032b0a3", + "addons/map/Scripts/Game/ERRMap/ERRM_SharedMapComponent.c": "fc1a0c7df4fc96da446d7542a45a10fbec1eda1e543ba2f0581cb772277a47c5", + "addons/map/UI/layouts/ERRMap/SharedMapRenderTarget.layout": "49a2da4181b94d42174f58c7f9b6bf2207116c99427d61ff1c212092ac7db4d2", + "addons/map/UI/layouts/ERRMap/SharedMapRenderTarget.layout.meta": "5c846445cc089e2e08899ba703059d4adb805ff30ab5a16409a3cd59718cbd54", + "addons/map/addon.gproj": "1b371e5e01ea9fa46e76570fecb8aaa3a9298e34cba7ccca8a6bdb5ca86eb46a" +} diff --git a/docs/evidence/native-2026-09-19-043631-parking-survey/console.log.txt b/docs/evidence/native-2026-09-19-043631-parking-survey/console.log.txt new file mode 100644 index 0000000..fc26be4 --- /dev/null +++ b/docs/evidence/native-2026-09-19-043631-parking-survey/console.log.txt @@ -0,0 +1,545 @@ +--------------------------------------------- +Log Z:\tmp\erri-workbench-profile\logs\logs_2026-09-19_04-36-31\console.log started at 2026-09-19 04:36:31 (2026-09-19 02:36:31 UTC) + +04:36:31.682 ENGINE : FileSystem: Adding relative directory 'Z:\tmp\erri-workbench-profile\logs\logs_2026-09-19_04-36-31' to filesystem under name logs +04:36:31.682 ENGINE : FileSystem: Adding relative directory 'Z:\tmp\erri-workbench-profile\profile' to filesystem under name profile +04:36:31.682 ENGINE : FileSystem: Current working directory: 'Z:\home\jakub\.local\share\Steam\steamapps\common\Arma Reforger Tools\Workbench\' +04:36:31.684 PROFILING : Workbench Create Engine took: 13.796200 ms +04:36:32.726 INIT : INIT : Workbench Init Engine +04:36:32.726 ENGINE : Initializing engine, version 192142 +04:36:32.726 ENGINE : CLI Params: -gproj Z:/home/jakub/devel/escapistsrereintroduced/addons/core/addon.gproj -addonsDir Z:/home/jakub/devel/escapistsrereintroduced/addons -profile Z:/tmp/erri-workbench-profile -logconsole -wbModule WorldEditor -load Worlds/ERR_Everon.ent -plugin ERR_ValidateBaseWorldPlugin -errPlay 1 -errBaseSmoke 1 -errSmokeOutcome transport-survey -noThrow +04:36:32.736 ENGINE : Addon dirs: +04:36:32.736 ENGINE : dir: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/core/' +04:36:32.736 ENGINE : dir: 'Z:/home/jakub/devel/escapistsrereintroduced/addons' +04:36:32.736 ENGINE : dir: './addons' +04:36:32.736 ENGINE : dir: 'Z:/tmp/erri-workbench-profile/addons' +04:36:32.736 ENGINE : Available addons: +04:36:32.736 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/core/addon.gproj' guid: '2528466DE220D91C' +04:36:32.736 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/ai/addon.gproj' guid: '5192138CB9D5B911' +04:36:32.736 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/chat/addon.gproj' guid: 'FA804F411BDDF2C6' +04:36:32.736 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/intel/addon.gproj' guid: 'D31039C7C53E348A' +04:36:32.736 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/map/addon.gproj' guid: '9AAEE9041D79809E' +04:36:32.736 ENGINE : gproj: './addons/core/core.gproj' guid: '5614BBCCBB55ED1C' (packed) +04:36:32.736 ENGINE : gproj: 'Z:/tmp/erri-workbench-profile/addons/ArmaReforger/ArmaReforger.gproj' guid: '58D0FB3206B6F859' (packed) +04:36:32.736 ENGINE : FileSystem: Adding relative directory 'Z:\home\jakub\devel\escapistsrereintroduced\addons\core' to filesystem under name ERR_Core +04:36:32.887 ENGINE : FileSystem: Adding package 'Z:/tmp/erri-workbench-profile/addons/ArmaReforger/' (pak count: 14) to filesystem under name ArmaReforger +04:36:32.891 ENGINE : FileSystem: Adding package './addons/core/' (pak count: 2) to filesystem under name core +04:36:32.891 ENGINE : CPU vendor : AuthenticAMD +04:36:32.891 ENGINE : CPU type : 2 +04:36:32.891 ENGINE : CPU name : AMD Ryzen 7 3800XT 8-Core Processor +04:36:32.891 ENGINE : CPU cache info : L1 [Inst 32KB, Data 32KB], L2 [Unif 512KB], L3 [Unif 16384KB] +04:36:32.891 ENGINE : CPU count logical : 16 +04:36:32.891 ENGINE : CPU count physical : 8 +04:36:32.891 ENGINE : CPU features : mmx sse sse2 sse3 ssse3 sse4_1 sse4_2 popcnt aesni pclmulqdq osxsave avx sha avx2 +04:36:32.891 RESOURCES : ResourceDB: loading cache (id=0 name=ERR_Core path=Z:\home\jakub\devel\escapistsrereintroduced\addons\core/resourceDatabase.rdb) +04:36:32.893 RESOURCES : ResourceDB: loading cache (id=1 name=ArmaReforger path=Z:/tmp/erri-workbench-profile/addons/ArmaReforger/resourceDatabase.rdb) +04:36:33.044 RESOURCES : ResourceDB: loading cache (id=2 name=core path=./addons/core/resourceDatabase.rdb) +04:36:33.045 RESOURCES : ResourceDB: loading cache (id=3 name=profile path=Z:\tmp\erri-workbench-profile\profile/resourceDatabase.rdb) +04:36:33.045 RESOURCES : ResourceDB: loading cache (id=4 name=logs path=Z:\tmp\erri-workbench-profile\logs\logs_2026-09-19_04-36-31/resourceDatabase.rdb) +04:36:33.197 RESOURCES : RESOURCES : ResourceDB: full scan +04:36:33.202 RESOURCES : RESOURCES : scanning... +04:36:33.202 RESOURCES : RESOURCES : scanning @"ERR_Core" +04:36:33.205 RESOURCES : RESOURCES : scanning @"ArmaReforger" +04:36:33.337 RESOURCES : RESOURCES : scanning @"core" +04:36:33.341 RESOURCES : RESOURCES : scanning @"profile" +04:36:33.341 RESOURCES : RESOURCES : scanning @"logs" +04:36:33.341 RESOURCES : RESOURCES : processing meta-files... +04:36:33.404 RESOURCES : RESOURCES : processing files... +04:36:33.414 INIT : Workbench startup +04:36:33.414 INIT : Workbench Init Engine +04:36:33.414 RESOURCES : ResourceDB: full scan +04:36:33.414 RESOURCES : processing files... +04:36:33.414 RESOURCES (W): resource not registered: @"$profile:rereintroduced.json". Setting null GUID +04:36:33.414 RESOURCES : RESOURCES : processing folders... +04:36:33.421 RESOURCES : RESOURCES : creating GUID-item mapping... +04:36:33.438 RESOURCES : RESOURCES : building tree... +04:36:33.497 PROFILING : ResourceDB: full scan took: 299.501200 ms +04:36:33.498 RESOURCES : ResourceDB: saving cache (id=0 name=ERR_Core path=Z:\home\jakub\devel\escapistsrereintroduced\addons\core/resourceDatabase.rdb) +04:36:33.499 RESOURCES : ResourceDB: written 3823/3823 bytes +04:36:33.499 RESOURCES : ResourceDB: cache successfully saved +04:36:33.500 RESOURCES : ResourceDB: saving cache (id=3 name=profile path=Z:\tmp\erri-workbench-profile\profile/resourceDatabase.rdb) +04:36:33.501 RESOURCES : ResourceDB: written 206/206 bytes +04:36:33.501 RESOURCES : ResourceDB: cache successfully saved +04:36:33.501 RESOURCES : ResourceDB: saving cache (id=4 name=logs path=Z:\tmp\erri-workbench-profile\logs\logs_2026-09-19_04-36-31/resourceDatabase.rdb) +04:36:33.503 RESOURCES : ResourceDB: written 81/81 bytes +04:36:33.503 RESOURCES : ResourceDB: cache successfully saved +04:36:33.503 ENGINE : GameProject load +04:36:33.503 ENGINE : Loaded addons: +04:36:33.503 ENGINE : gproj: './addons/core/core.gproj' guid: '5614BBCCBB55ED1C' +04:36:33.503 ENGINE : gproj: 'Z:/tmp/erri-workbench-profile/addons/ArmaReforger/ArmaReforger.gproj' guid: '58D0FB3206B6F859' +04:36:33.503 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/core/addon.gproj' guid: '2528466DE220D91C' +04:36:33.504 ENGINE : Loading custom engine user config '$profile:.save/app1874910_user76561198020202999/settings/ReforgerEngineSettings.conf' +04:36:33.505 INIT : GameProject engine user settings load @"$profile:.save/app1874910_user76561198020202999/settings/ReforgerEngineSettings.conf" +04:36:33.505 ENGINE : Engine user settings config loaded +04:36:33.505 PROFILING : Settings changed took: 0.002000 ms +04:36:33.609 RENDER : (OK) Adapter 'AMD Radeon RX 6950 XT (RADV NAVI21)' supports feature level 12_0 +04:36:33.610 RENDER : Basic screen setup: +04:36:33.610 RENDER : Back buffer format : TEXFMT_R8G8B8A8_SRGB (29) +04:36:33.610 RENDER : MSAA : none +04:36:33.624 RENDER : AMD AGS library initialized, version 6.1.0 x DLL 6.1.0 +04:36:33.624 RENDER : Extendeded AMD info for AMD Radeon RX 6950 XT (RADV NAVI21) (primary device) +04:36:33.624 RENDER : * architecture RDNA2, 80 CUs, 40 WGPs (for RDNA), 64 ROPs +04:36:33.624 RENDER : * core clocks 2720 MHz, memory 1124 MHz +04:36:33.624 RENDER : * TFlops 27.9, memory bandwidth (562.0 GB/s) +04:36:33.624 RENDER : AMD AGS correctly initialized +04:36:33.624 RENDER : GPU_ATI (0x1002) (AMD Radeon RX 6950 XT (RADV NAVI21)) with 1 GPU detected, VRAM 16128MB (fast 0MB), shared 64362MB, driver version 99.19.02-230831a-396538C-AMD-Software-Adrenalin-Edition +04:36:33.624 RENDER : Detected output devices: +04:36:33.624 RENDER : * 1 device/s connected to AMD Radeon RX 6950 XT (RADV NAVI21): +04:36:33.624 RENDER : Generic Non-PnP Monitor (\\.\DISPLAY1), 1280x720 (offset 0x0), 30Hz +04:36:33.624 RENDER : Concurrent frames limit 2 +04:36:33.698 RENDER : DX12 device successfully created by AMD AGS library +04:36:33.698 RENDER : * user markers not supported in this version AMD SW +04:36:33.698 RENDER : Graphics device features +04:36:33.698 RENDER : Needed: +04:36:33.698 RENDER : * Highest supported shader model: 6.8 (6.0 needed) +04:36:33.698 RENDER : Optional: +04:36:33.698 RENDER : * Allow tearing (VSYNC) : 1 +04:36:33.698 RENDER : * 16 bits : 1 +04:36:33.698 RENDER : * Resource heap tier : 3 +04:36:33.698 RENDER : * Persistent heaps (DRED) : 1 +04:36:33.698 RENDER : * DRED 1.2 is supported by compiler +04:36:33.722 RENDER : Main RT format setup. +04:36:33.722 RENDER : Main RT format for quality 0 : TEXFMT_R11G11B10_FLOAT (26) +04:36:33.722 RENDER : Main RT format for quality 1 : TEXFMT_R16G16B16A16_FLOAT (10) +04:36:33.724 ENGINE : Job system settings: coreCount=16, shortJobContextCount=16, shortJobThreadCount=15, longJobThreadCount=16 +04:36:33.751 PROFILING : Settings changed took: 0.023900 ms +04:36:34.189 AUDIO : Endpoint: Speakers (PulseAudio Output) +04:36:34.190 AUDIO : Format: Channels: 2, Sample rate: 48kHz, Avg. bytes: 384kB, Sample bits: 32, Block align: 8B +04:36:34.190 AUDIO : Audio client: +04:36:34.190 AUDIO : Format: Channels: 2, Sample rate: 48kHz, Buffer size: 1536B, Frame: 512 +04:36:34.193 RENDER : RENDER : Reload shaders +04:36:34.193 RENDER : Enfusion shader version 13 +04:36:34.193 INIT : INIT : ShaderListReload +04:36:34.193 PROFILING : ShaderListReload took: 0.000300 ms +04:36:34.332 AUDIO : Endpoint: Speakers (PulseAudio Output) +04:36:34.332 AUDIO : Format: Channels: 2, Sample rate: 48kHz, Avg. bytes: 384kB, Sample bits: 32, Block align: 8B +04:36:34.333 AUDIO : Audio client: +04:36:34.333 AUDIO : Format: Channels: 2, Sample rate: 48kHz, Buffer size: 1536B, Frame: 512 +04:36:34.443 RENDER : Loaded 3752 newer shader binaries +04:36:34.443 PROFILING : Reload shaders took: 250.015300 ms +04:36:34.443 ENGINE : Initializing inputs. +04:36:34.456 NETWORK : Initializing networking. +04:36:34.456 NETWORK : Using new GameRplScheduler. +04:36:34.457 SCRIPT : SCRIPT : Initializing scripts +04:36:34.457 SCRIPT : SCRIPT : ScriptProjectManager init +04:36:35.288 PROFILING : ScriptProjectManager init took: 831.001500 ms +04:36:35.322 PROFILING : Initializing scripts took: 865.669500 ms +04:36:35.343 ENGINE : Enfusion engine successfully created. +04:36:35.343 PROFILING : Workbench Init Engine took: 2617.634800 ms +04:36:35.343 INIT : INIT : Workbench Create Game +04:36:35.355 GUI : Using default language (en_us) +04:36:35.355 GUI : Loading 'en_us' localization file. +04:36:35.355 INIT : INIT : Loading StringTable +04:36:35.378 PROFILING : Loading StringTable took: 23.239400 ms +04:36:35.378 SCRIPT : SCRIPT : Compiling GameLib scripts +04:36:35.434 SCRIPT : Module: Workbench; loaded 18x files; 36x classes; used 125K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE"; CRC32: 90ce0460 +04:36:35.434 SCRIPT : Module: GameLib; loaded 465x files; 648x classes; used 828K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE"; CRC32: 4507af04 +04:36:35.435 PROFILING : Compiling GameLib scripts took: 56.731400 ms +04:36:35.435 SCRIPT : SCRIPT : Compiling Game scripts +04:36:36.519 INIT : Workbench Create Game +04:36:36.519 SCRIPT : Compiling Game scripts +04:36:36.519 SCRIPT (W): @"Scripts/Game/Editor/Components/EditableEntity/SCR_EditableEntityComponent.c,785": 'GetPlayerPlatformKind' is obsolete +04:36:36.520 SCRIPT (W): @"Scripts/Game/Editor/Components/EditableEntity/SCR_EditableEntityComponent.c,786": 'GetPlayerPlatformId' is obsolete +04:36:36.782 SCRIPT (W): @"Scripts/Game/ERR/ERR_SiteService.c,132": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +04:36:36.793 SCRIPT (W): @"Scripts/Game/Workshop/SCR_AddonManager.c,876": 'GetRefCount' is obsolete: Will be removed +04:36:36.822 SCRIPT (W): @"Scripts/Game/Campaign/SCR_PlayerProfileManagerComponent.c,142": 'PlayerData' is obsolete +04:36:36.922 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,159": 'GetDSSession' is obsolete +04:36:36.922 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,162": 'RoomID' is obsolete +04:36:36.922 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,197": 'GetDSSession' is obsolete +04:36:36.922 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,201": 'RoomID' is obsolete +04:36:37.017 SCRIPT (W): @"Scripts/Game/DataCollection/SCR_DataCollectorComponent.c,481": 'GetStorage' is obsolete +04:36:37.017 SCRIPT (W): @"Scripts/Game/DataCollection/SCR_DataCollectorComponent.c,483": 'GetOnlineWritePrivilege' is obsolete +04:36:37.019 SCRIPT (W): @"Scripts/Game/Utilities/SCR_PlayerIdentityUtils.c,20": 'GetPlayerIdentityId' is obsolete +04:36:37.061 SCRIPT (W): @"Scripts/Game/ERR/ERR_ExtractionService.c,45": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +04:36:37.061 SCRIPT (W): @"Scripts/Game/ERR/ERR_ExtractionService.c,56": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +04:36:37.063 SCRIPT (W): @"Scripts/Game/UI/Menu/MainMenuUI.c,643": 'GetNotifyCount' is obsolete: Will be substitued by Notification Api. +04:36:37.063 SCRIPT (W): @"Scripts/Game/UI/Menu/MainMenuUI.c,645": 'GetNotifyItem' is obsolete: Will be substitued by Notification Api. +04:36:37.089 SCRIPT (W): @"Scripts/Game/ERR/ERR_NativeTransportProbe.c,82": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +04:36:37.120 SCRIPT (W): @"Scripts/Game/DataCollection/PlayerData/SCR_PlayerData.c,210": 'PlayerData' is obsolete +04:36:37.383 SCRIPT : Module: WorkbenchGame; loaded 171x files; 616x classes; used 2478K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE"; CRC32: db6febb9 +04:36:37.390 SCRIPT : Module: Game; loaded 5701x files; 11171x classes; used 32479K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE,ENABLE_BASE_DESTRUCTION,BUDGET_OPTIMIZATION_CHECKS,SHOW_DISCLAIMER,DEBUG,RESPAWN_TIMER_COMPONENT_DEBUG,GAME_MODE_DEBUG,DEBUG_CONFIGURABLE_DIALOGS,DISABLE_WEAPON_SWITCHING,SCRIPTED_AIM_MODIFIER_DEBUG"; CRC32: f5e7569e +04:36:37.427 PROFILING : Compiling Game scripts took: 1991.991000 ms +04:36:37.432 INIT : Creating game instance(ArmaReforgerScripted), version 1.8.0.13 built 2026-08-21 14:30:18 UTC. +04:36:37.471 ENGINE : Game successfully created. +04:36:37.472 PROFILING : Workbench Create Game took: 2129.030400 ms +04:36:37.480 DEFAULT : Using thumbnail cache directory: C:/users/steamuser/AppData/Local/Temp/Arma Reforger Workbench/Projects/ERR_Core/thumbnails +04:36:38.313 INIT : INIT : Workbench Reload Game +04:36:38.315 ENGINE : Game destroyed. +04:36:38.323 GUI : Using default language (en_us) +04:36:38.323 GUI : Loading 'en_us' localization file. +04:36:38.323 INIT : INIT : Loading StringTable +04:36:38.333 PROFILING : Loading StringTable took: 9.646700 ms +04:36:38.333 INIT : Creating game instance(ArmaReforgerScripted), version 1.8.0.13 built 2026-08-21 14:30:18 UTC. +04:36:38.340 SCRIPT : Unable to register a script command due keyword duplicity: ban +04:36:38.340 SCRIPT : Unable to register a script command due keyword duplicity: kick +04:36:38.340 ENGINE : Game successfully created. +04:36:38.340 ENGINE : Game successfully initialized. +04:36:38.340 PROFILING : Workbench Reload Game took: 26.552000 ms +04:36:39.031 WORLD : WORLD : Entities load '$ERR_Core:Worlds/ERR_Everon.ent' +04:36:40.058 PROFILING : Entities load took: 1026.567500 ms +04:36:40.068 WORLD : WORLD : CreateEntities +04:36:40.072 WORLD : WORLD : NotifyBeforeEntitiesCreated +04:36:40.073 PROFILING : NotifyBeforeEntitiesCreated took: 0.002700 ms +04:36:40.073 WORLD : WORLD : Wait for preloading data +04:36:40.073 PROFILING : Wait for preloading data took: 0.002400 ms +04:36:40.184 ENTITY : Create entity @"ENTITY:2" ('Eden', GenericTerrainEntity) at <0.000000 0.000000 0.000000> @"{5AD924374E8C7AF6}Prefabs/World/Game/Eden/GenericTerrain_Eden.et" +04:36:40.184 PROFILING : PROFILING : Terrain load +04:36:41.750 PROFILING : Terrain load took: 1566.145600 ms +04:36:45.628 WORLD : CreateEntities +04:36:45.629 ENTITY : Create entity @"ENTITY:610406" ('StaticModelEntity','Assets/Structures/Infrastructure/Towers/TransmitterTower_01/TransmitterTower_01_small.xob') at <1931.796021 81.777000 5138.725098> @"{6A004A8F0571D456}Prefabs/Structures/Infrastructure/Towers/TransmitterTower_01/TransmitterTower_01_small.et" +04:36:45.629 ENTITY : CreateComponent 'ScriptedRadioComponent' +04:36:45.629 DEFAULT (W): World doesn't contain RadioManagerEntity to support any BaseRadioComponent. +04:36:55.172 WORLD : WORLD : NotifyBeforeEntitiesInitialized +04:36:55.172 PROFILING : NotifyBeforeEntitiesInitialized took: 0.006700 ms +04:36:55.639 WORLD : WORLD : NotifyEntitiesInitialized +04:36:55.639 TERRAIN : TERRAIN : Initializing road networks... +04:36:55.641 PROFILING : Initializing road networks... took: 2.116400 ms +04:36:55.642 PROFILING : NotifyEntitiesInitialized took: 2.392300 ms +04:36:55.642 PROFILING : CreateEntities took: 15573.318300 ms +04:36:55.813 PROFILING : * WorldEditor: LoadWorld: 16786.959400 ms +04:36:57.261 TERRAIN : Loading tile map config (worlds/Eden/Eden/tileMap.conf) +04:36:57.261 TERRAIN : Loading minimap config (worlds/Eden/Eden/miniMap.conf) +04:36:57.262 TERRAIN : The default minimap texture ('worlds/Eden/EdenRasterized.edds') not found. Trying 'worlds/Eden/Eden.edds'... +04:36:57.263 TERRAIN : The default minimap texture ('worlds/Eden/Eden.edds') not found. Skipping... +04:36:57.353 SCRIPT : ERR SITE SURVEY: supply=6150/7050 elevationRange=0.625 min=202.875 max=203.5 +04:36:57.377 BACKEND : Attempting online Game Config instead. +04:37:00.492 INIT : INIT : Workbench Reload Game +04:37:00.494 ENGINE : Game destroyed. +04:37:00.501 GUI : Using default language (en_us) +04:37:00.501 GUI : Loading 'en_us' localization file. +04:37:00.501 INIT : INIT : Loading StringTable +04:37:00.521 PROFILING : Loading StringTable took: 19.526900 ms +04:37:00.521 INIT : Creating game instance(ArmaReforgerScripted), version 1.8.0.13 built 2026-08-21 14:30:18 UTC. +04:37:00.528 SCRIPT : Unable to register a script command due keyword duplicity: ban +04:37:00.528 SCRIPT : Unable to register a script command due keyword duplicity: kick +04:37:00.528 ENGINE : Game successfully created. +04:37:00.528 ENGINE : Game successfully initialized. +04:37:00.528 PROFILING : Workbench Reload Game took: 36.559100 ms +04:37:00.533 DEFAULT (W): LogiLED: Cannot initialize! (service not running or no compatible device detected) +04:37:00.584 PLATFORM : Save data from container 'settings' have been loaded +04:37:00.675 PLATFORM : Save data from container 'sessions' have been loaded +04:37:00.675 PLATFORM : GameProject user settings load from profile @"ReforgerGameSettings.conf" +04:37:00.675 ENGINE : Game user settings config loaded +04:37:00.773 DEFAULT : [SaveGameManager] Starting new playthrough nr.0 '' for mission '{B6C516F86302C679}Worlds/ERR_Everon.ent'. +04:37:00.782 WORLD : WORLD : Game::LoadEntities +04:37:00.782 WORLD : WORLD : Initializing world systems @"{1C60D2EDA2B468B8}Configs/Systems/BaseGameModeSystems.conf" +04:37:00.783 NETWORK : Enabled lag compensation, 29 frames with 100 FPS and 280 ms rewind limits. +04:37:00.783 WORLD : WORLD : CreateEntities +04:37:00.783 WORLD : WORLD : CreateEntities +04:37:00.783 WORLD : WORLD : NotifyBeforeEntitiesCreated +04:37:00.788 RESOURCES : Loaded mission headers from 7 addon(s)! +04:37:00.788 PROFILING : NotifyBeforeEntitiesCreated took: 5.308200 ms +04:37:00.788 WORLD : WORLD : Wait for preloading data +04:37:00.788 PROFILING : Wait for preloading data took: 0.000900 ms +04:37:05.278 WORLD : Game::LoadEntities +04:37:05.278 WORLD : CreateEntities +04:37:05.278 WORLD : CreateEntities +04:37:05.278 ENTITY : Create entity @"ENTITY:610406" ('StaticModelEntity','Assets/Structures/Infrastructure/Towers/TransmitterTower_01/TransmitterTower_01_small.xob') at <1931.796021 81.777000 5138.725098> @"{6A004A8F0571D456}Prefabs/Structures/Infrastructure/Towers/TransmitterTower_01/TransmitterTower_01_small.et" +04:37:05.278 ENTITY : CreateComponent 'ScriptedRadioComponent' +04:37:05.278 DEFAULT (W): World doesn't contain RadioManagerEntity to support any BaseRadioComponent. +04:37:06.685 ENTITY : Create entity @"ENTITY:842066" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1080.213013 10.776751 6018.347168> +04:37:06.685 ENTITY : CreateComponent 'Hierarchy' +04:37:06.685 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842066" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1080.213013 10.776751 6018.347168>') +04:37:06.685 ENTITY : Create entity @"ENTITY:842068" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1082.185913 10.778749 6018.331055> +04:37:06.685 ENTITY : CreateComponent 'Hierarchy' +04:37:06.685 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842068" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1082.185913 10.778749 6018.331055>') +04:37:06.685 ENTITY : Create entity @"ENTITY:842070" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1084.190918 10.790751 6018.334961> +04:37:06.685 ENTITY : CreateComponent 'Hierarchy' +04:37:06.685 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842070" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1084.190918 10.790751 6018.334961>') +04:37:06.690 ENTITY : Create entity @"ENTITY:842333" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4425.594727 9.981750 11029.402344> +04:37:06.690 ENTITY : CreateComponent 'Hierarchy' +04:37:06.690 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842333" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4425.594727 9.981750 11029.402344>') +04:37:06.690 ENTITY : Create entity @"ENTITY:842335" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4426.584473 9.983749 11031.109375> +04:37:06.690 ENTITY : CreateComponent 'Hierarchy' +04:37:06.690 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842335" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4426.584473 9.983749 11031.109375>') +04:37:06.690 ENTITY : Create entity @"ENTITY:842337" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4427.572266 9.995750 11032.853516> +04:37:06.690 ENTITY : CreateComponent 'Hierarchy' +04:37:06.690 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842337" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4427.572266 9.995750 11032.853516>') +04:37:06.694 ENTITY : Create entity @"ENTITY:842591" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.946289 10.470250 1551.986084> +04:37:06.694 ENTITY : CreateComponent 'Hierarchy' +04:37:06.694 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842591" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.946289 10.470250 1551.986084>') +04:37:06.694 ENTITY : Create entity @"ENTITY:842593" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.430664 10.472250 1550.081421> +04:37:06.694 ENTITY : CreateComponent 'Hierarchy' +04:37:06.694 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842593" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.430664 10.472250 1550.081421>') +04:37:06.694 ENTITY : Create entity @"ENTITY:842595" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10008.926758 10.484250 1548.140869> +04:37:06.694 ENTITY : CreateComponent 'Hierarchy' +04:37:06.694 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842595" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10008.926758 10.484250 1548.140869>') +04:37:11.109 ENTITY : Create entity @"ENTITY:2305843009213693956" ('Factions', SCR_FactionManager) at <0.000000 0.000000 0.000000> @"{589540B35EBA8CDC}Prefabs/MP/Managers/Factions/FactionManager_USxUSSR.et" +04:37:11.109 RESOURCES : GetResourceObject @"{5168FEA3054D6D15}Prefabs/Vehicles/Wheeled/M151A2/M151A2_M2HB_MERDC.et" +04:37:11.109 WORLD : Entity prefab load @"{5168FEA3054D6D15}Prefabs/Vehicles/Wheeled/M151A2/M151A2_M2HB_MERDC.et" +04:37:11.109 RESOURCES : GetResourceObject @"{F6B23D17D5067C11}Prefabs/Vehicles/Wheeled/M151A2/M151A2_M2HB.et" +04:37:11.109 WORLD : Entity prefab load @"{F6B23D17D5067C11}Prefabs/Vehicles/Wheeled/M151A2/M151A2_M2HB.et" +04:37:11.109 RESOURCES : GetResourceObject @"{F649585ABB3706C4}Prefabs/Vehicles/Wheeled/M151A2/M151A2.et" +04:37:11.109 WORLD : Entity prefab load @"{F649585ABB3706C4}Prefabs/Vehicles/Wheeled/M151A2/M151A2.et" +04:37:11.109 WORLD (E): Unknown keyword/data 'SlidingTrackMaterial' at offset 19441(0x4bf1) +04:37:11.151 RESOURCES : GetResourceObject @"{F7B9B434FCFF00B3}Prefabs/Vehicles/Wheeled/Conflict_Variants/BRDM2_Conflict.et" +04:37:11.151 WORLD : Entity prefab load @"{F7B9B434FCFF00B3}Prefabs/Vehicles/Wheeled/Conflict_Variants/BRDM2_Conflict.et" +04:37:11.151 RESOURCES : GetResourceObject @"{254289B9C09904AB}Prefabs/Vehicles/Wheeled/BRDM2/BRDM2.et" +04:37:11.151 WORLD : Entity prefab load @"{254289B9C09904AB}Prefabs/Vehicles/Wheeled/BRDM2/BRDM2.et" +04:37:11.151 RESOURCES : GetResourceObject @"{532B5F3CF8496E59}Prefabs/Vehicles/Wheeled/BRDM2/BRDM2_base.et" +04:37:11.151 WORLD : Entity prefab load @"{532B5F3CF8496E59}Prefabs/Vehicles/Wheeled/BRDM2/BRDM2_base.et" +04:37:11.151 WORLD (E): Unknown keyword/data 'Parent' at offset 35955(0x8c73) +04:37:11.151 WORLD (E): Unknown keyword/data 'Parent' at offset 36915(0x9033) +04:37:11.152 RESOURCES : GetResourceObject @"{BD75A18920BD1278}Prefabs/Vehicles/Wheeled/Conflict_Variants/BTR70_Conflict.et" +04:37:11.152 WORLD : Entity prefab load @"{BD75A18920BD1278}Prefabs/Vehicles/Wheeled/Conflict_Variants/BTR70_Conflict.et" +04:37:11.152 RESOURCES : GetResourceObject @"{C012BB3488BEA0C2}Prefabs/Vehicles/Wheeled/BTR70/BTR70.et" +04:37:11.152 WORLD : Entity prefab load @"{C012BB3488BEA0C2}Prefabs/Vehicles/Wheeled/BTR70/BTR70.et" +04:37:11.152 RESOURCES : GetResourceObject @"{1C5FE7B7FF49BB8D}Prefabs/Vehicles/Wheeled/BTR70/BTR70_Base.et" +04:37:11.152 WORLD : Entity prefab load @"{1C5FE7B7FF49BB8D}Prefabs/Vehicles/Wheeled/BTR70/BTR70_Base.et" +04:37:11.152 WORLD (E): Unknown keyword/data 'Parent' at offset 42646(0xa696) +04:37:11.152 WORLD (E): Unknown keyword/data 'Parent' at offset 43645(0xaa7d) +04:37:11.152 WORLD (E): Unknown keyword/data 'Parent' at offset 44617(0xae49) +04:37:11.152 WORLD (E): Unknown keyword/data 'Parent' at offset 45590(0xb216) +04:37:11.458 WORLD : WORLD : NotifyBeforeEntitiesInitialized +04:37:11.458 PROFILING : NotifyBeforeEntitiesInitialized took: 0.036200 ms +04:37:13.383 WORLD : InitEntities 'world' +04:37:13.383 ENTITY : Init entity @"ENTITY:2305843009213693953" ('Rereintroduced', ERR_GameMode) at <1076.468018 51.000999 1325.246948> @"{978E045E53EF36C8}Prefabs/ERR/GameMode.et" +04:37:13.383 SCRIPT (W): SCR_PerceivedFactionManagerComponent trying to set fall back faction 'CIV' but this faction could not be found so it is null instead. +04:37:13.409 WORLD : InitEntities 'world' +04:37:13.409 ENTITY : Init entity @"ENTITY:2305843009213693953" ('Rereintroduced', ERR_GameMode) at <1076.468018 51.000999 1325.246948> @"{978E045E53EF36C8}Prefabs/ERR/GameMode.et" +04:37:13.409 SCRIPT : ERR BASE SMOKE: core-only scripted escape; not manual or multiplayer acceptance +04:37:13.410 WORLD : WORLD : NotifyEntitiesInitialized +04:37:13.410 TERRAIN : TERRAIN : Initializing road networks... +04:37:13.413 PROFILING : Initializing road networks... took: 2.845300 ms +04:37:13.413 DEFAULT : DEFAULT : WorldVolumesCollection +04:37:13.476 PROFILING : WorldVolumesCollection took: 63.315100 ms +04:37:13.476 INIT : INIT : SoundWorldInit +04:37:13.491 PROFILING : SoundWorldInit took: 14.505500 ms +04:37:13.491 PROFILING : NotifyEntitiesInitialized took: 81.000000 ms +04:37:13.491 PROFILING : CreateEntities took: 12707.642200 ms +04:37:13.491 PROFILING : CreateEntities took: 12707.810200 ms +04:37:13.492 WORLD : WORLD : Wait for preloading data around camera +04:37:13.492 PROFILING : Wait for preloading data around camera took: 0.000800 ms +04:37:13.492 WORLD : WORLD : EOnActivate +04:37:13.525 PROFILING : EOnActivate took: 33.326400 ms +04:37:13.525 PROFILING : Game::LoadEntities took: 12743.199800 ms +04:37:13.870 DEFAULT : Entered offline game state. +04:37:13.974 NETWORK : Player connected: connectionID=2147483646 +04:37:13.974 NETWORK : ### Connecting player: connectionID=2147483646, Name= +04:37:13.975 NETWORK : ### Creating player: PlayerId=1, Name=jakub +04:37:13.980 ENTITY : SpawnEntityPrefab @"{225E51284CC95CFA}Prefabs/Characters/Core/DefaultPlayerControllerMP.et" +04:37:13.980 ENTITY : Create entity @"ENTITY:4611686018427388381" ('SCR_PlayerController') at <0.000000 0.000000 0.000000> +04:37:13.980 ENTITY : EntityPrefabUse @"{225E51284CC95CFA}Prefabs/Characters/Core/DefaultPlayerControllerMP.et" +04:37:13.980 SCRIPT (W): Notification data in 'SCR_NotificationsLogDisplay' has duplicate notification info key: 'EDITOR_PERCEIVED_FACTION_PUNISHMENT_KILLING_SET'. There should only be one of each key! +04:37:13.981 SCRIPT (W): Notification data in 'SCR_NotificationsLogDisplay' has duplicate notification info key: 'EDITOR_PERCEIVED_FACTION_TYPE_DISABLED'. There should only be one of each key! +04:37:13.983 SCRIPT (W): Can't open config file "" +04:37:13.989 WORLD : InitEntities 'world' +04:37:13.989 ENTITY : Init entity @"ENTITY:4611686018427388381" ('SCR_PlayerController') at <0.000000 0.000000 0.000000> @"{225E51284CC95CFA}Prefabs/Characters/Core/DefaultPlayerControllerMP.et" +04:37:13.989 GUI : WidgetManager: CrateWidgets @"{3C9DCDD76AB83157}UI/layouts/HUD/HUDLayouts/HUDManager_Root.layout" +04:37:13.990 SCRIPT (W): Slot_WeaponInfo Has no Content! +04:37:13.990 SCRIPT (W): Slot_Chat Has no Content! +04:37:13.990 SCRIPT (W): Slot_VON Has no Content! +04:37:13.990 SCRIPT (W): Slot_AvailableActions Has no Content! +04:37:13.990 SCRIPT (W): Slot_Vehicle Has no Content! +04:37:13.990 SCRIPT (W): Slot_GameVersion Has no Content! +04:37:13.990 SCRIPT (W): Slot_Notifications Has no Content! +04:37:13.990 SCRIPT (W): Slot_Hints Has no Content! +04:37:14.006 NETWORK : ### Updating player: PlayerId=1, Name=jakub, rplIdentity=0xFFFFFFFE, IdentityId=00000000-0000-0000-0000-000000000000 +04:37:14.007 SCRIPT (W): Ban Settings could not be loaded from BE Storage: Relying on default config +04:37:14.007 NETWORK : Players connecting: 0 +04:37:14.007 NETWORK : Players connected: 1 / 1 +04:37:14.038 DEFAULT : Using autosave directory: C:/users/steamuser/AppData/Local/Temp/Arma Reforger Workbench/Projects/ERR_Core/autosaves +04:37:14.039 PROFILING : Workbench startup took: 42431.683100 ms +04:37:14.061 WORLD : Frame start +04:37:14.062 SCRIPT : ScenarioFramework: Available tasks are empty, no new tasks will be generated. +04:37:14.076 WORLD : UpdateEntities +04:37:14.076 WORLD : Frame +04:37:14.076 SCRIPT : SCR_BaseGameMode::OnGameStateChanged = GAME +04:37:14.262 WORLD : UpdateEntities +04:37:14.262 WORLD : PostFrame +04:37:14.262 GUI : WidgetManager: CrateWidgets @"{D89BBA18F99053D6}UI/layouts/HUD/Chat/ChatHud.layout" +04:37:14.262 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +04:37:14.310 RESOURCES : GetResourceObject @"{20A6917D2114E29A}UI/layouts/HUD/Hint/HintInfoDisplay.layout" +04:37:14.310 GUI : Layout load @"{20A6917D2114E29A}UI/layouts/HUD/Hint/HintInfoDisplay.layout" +04:37:14.310 GUI : Widget prefab @"{EA1CC57D868E94F9}UI/layouts/HUD/Hint/Hint.layout" +04:37:14.311 GUI (W): Overridden prefab member (GUID: '{661AB14E0F471C66}' type: ButtonWidgetClass) no longer exists in prefab +04:37:14.463 RENDER : RENDER : ObjectsHeightMap::Build +04:37:14.463 RENDER : RENDER : MeshOccupancyGridManager::GenerateAllForWorld +04:37:14.638 PROFILING : MeshOccupancyGridManager::GenerateAllForWorld took: 174.371000 ms +04:37:14.646 PROFILING : ObjectsHeightMap::Build took: 182.679500 ms +04:37:15.806 SCRIPT : Rereintroduced [sites]: cache clearance position=<6086,211.538,7160> clear=1 +04:37:15.825 SCRIPT : Rereintroduced [sites]: authored everon-prison-1 at <6090,211.444,7160> +04:37:15.825 SCRIPT : Rereintroduced [sites]: cache clearance position=<6150,203.288,7050> clear=1 +04:37:15.854 SCRIPT : Rereintroduced [sites]: authored everon-supply-1 at <6150,203.288,7050> +04:37:15.857 SCRIPT : Rereintroduced [sites]: authored everon-radio-1 at <6500,159.756,7200> +04:37:15.904 SCRIPT : Rereintroduced [sites]: authored everon-extraction-1 at <7000,65.2562,7500> +04:37:15.904 SCRIPT : Rereintroduced [sites]: cache clearance position=<5960,220.256,7220> clear=1 +04:37:15.910 SCRIPT : Rereintroduced [sites]: authored everon-supply-2 at <5960,220.256,7220> +04:37:15.910 SCRIPT : Rereintroduced [sites]: cache clearance position=<6340,175.788,7400> clear=1 +04:37:15.912 SCRIPT : Rereintroduced [sites]: authored everon-medical-1 at <6340,175.788,7400> +04:37:15.912 SCRIPT : Rereintroduced [sites]: cache clearance position=<6740,140.6,7300> clear=1 +04:37:15.916 SCRIPT : Rereintroduced [sites]: cache clearance position=<6740,140.913,7296> clear=1 +04:37:15.917 SCRIPT : Rereintroduced [sites]: cache clearance position=<6736,140.975,7300> clear=1 +04:37:15.918 SCRIPT : Rereintroduced [sites]: cache clearance position=<6744,140.288,7300> clear=1 +04:37:15.919 SCRIPT : Rereintroduced [sites]: authored everon-outpost-1 at <6740,140.6,7300> +04:37:16.055 SCRIPT : Rereintroduced [sites]: 7 sites and 117 physical stock items ready +04:37:16.056 SCRIPT : Rereintroduced [time]: started at 14:00 with 1x progression +04:37:16.057 SCRIPT : Rereintroduced [mission]: phase 0 -> 1 +04:37:16.304 SCRIPT : INFO: Faction: player jakub (playerID = 1 | UUID = 00000000-0000-0000-0000-000000000000) has joined faction #AR-Faction_US (US) +04:37:16.381 SCRIPT : Rereintroduced [spawn]: player 1 at <6090,211.344,7160> +04:37:16.457 SCRIPT : Rereintroduced [sites]: transport parking=<5920,224.381,7180> radius=3 terrainRange=0.703125 obstructed=1 clear=0 +04:37:16.457 SCRIPT : Rereintroduced [sites]: transport parking=<5920,224.506,7188> radius=3 terrainRange=1.03125 obstructed=1 clear=0 +04:37:16.457 SCRIPT : Rereintroduced [sites]: transport parking=<5920,224.569,7196> radius=3 terrainRange=1.07812 obstructed=1 clear=0 +04:37:16.457 SCRIPT : Rereintroduced [sites]: transport parking=<5920,224.631,7204> radius=3 terrainRange=1.20312 obstructed=1 clear=0 +04:37:16.457 SCRIPT : Rereintroduced [sites]: transport parking=<5920,224.756,7212> radius=3 terrainRange=1.20312 obstructed=1 clear=0 +04:37:16.458 SCRIPT : Rereintroduced [sites]: transport parking=<5920,224.819,7220> radius=3 terrainRange=1.21875 obstructed=1 clear=0 +04:37:16.458 SCRIPT : Rereintroduced [sites]: transport parking=<5920,225.194,7228> radius=3 terrainRange=1.23438 obstructed=1 clear=0 +04:37:16.458 SCRIPT : Rereintroduced [sites]: transport parking=<5920,224.569,7236> radius=3 terrainRange=1.1875 obstructed=1 clear=0 +04:37:16.458 SCRIPT : Rereintroduced [sites]: transport parking=<5920,223.694,7244> radius=3 terrainRange=0.875 obstructed=1 clear=0 +04:37:16.458 SCRIPT : Rereintroduced [sites]: transport parking=<5920,223.319,7252> radius=3 terrainRange=0.625 obstructed=1 clear=0 +04:37:16.458 SCRIPT : Rereintroduced [sites]: transport parking=<5920,223.256,7260> radius=3 terrainRange=0.78125 obstructed=1 clear=0 +04:37:16.458 SCRIPT : Rereintroduced [sites]: transport parking=<5928,223.538,7180> radius=3 terrainRange=0.5625 obstructed=1 clear=0 +04:37:16.459 SCRIPT : Rereintroduced [sites]: transport parking=<5928,223.475,7188> radius=3 terrainRange=0.53125 obstructed=1 clear=0 +04:37:16.459 SCRIPT : Rereintroduced [sites]: transport parking=<5928,223.506,7196> radius=3 terrainRange=0.65625 obstructed=1 clear=0 +04:37:16.459 SCRIPT : Rereintroduced [sites]: transport parking=<5928,223.413,7204> radius=3 terrainRange=0.859375 obstructed=1 clear=0 +04:37:16.459 SCRIPT : Rereintroduced [sites]: transport parking=<5928,223.569,7212> radius=3 terrainRange=1.1875 obstructed=1 clear=0 +04:37:16.459 SCRIPT : Rereintroduced [sites]: transport parking=<5928,223.725,7220> radius=3 terrainRange=1.25 obstructed=1 clear=0 +04:37:16.459 SCRIPT : Rereintroduced [sites]: transport parking=<5928,223.413,7228> radius=3 terrainRange=1.14062 obstructed=1 clear=0 +04:37:16.459 SCRIPT : Rereintroduced [sites]: transport parking=<5928,223.319,7236> radius=3 terrainRange=1.5 obstructed=1 clear=0 +04:37:16.460 SCRIPT : Rereintroduced [sites]: transport parking=<5928,222.944,7244> radius=3 terrainRange=1.04688 obstructed=1 clear=0 +04:37:16.460 SCRIPT : Rereintroduced [sites]: transport parking=<5928,222.694,7252> radius=3 terrainRange=0.6875 obstructed=1 clear=0 +04:37:16.460 SCRIPT : Rereintroduced [sites]: transport parking=<5928,222.538,7260> radius=3 terrainRange=0.5625 obstructed=1 clear=0 +04:37:16.460 SCRIPT : Rereintroduced [sites]: transport parking=<5936,223.038,7180> radius=3 terrainRange=0.46875 obstructed=1 clear=0 +04:37:16.460 SCRIPT : Rereintroduced [sites]: transport parking=<5936,223.194,7188> radius=3 terrainRange=0.234375 obstructed=1 clear=0 +04:37:16.460 SCRIPT : Rereintroduced [sites]: transport parking=<5936,223.069,7196> radius=3 terrainRange=0.53125 obstructed=1 clear=0 +04:37:16.461 SCRIPT : Rereintroduced [sites]: transport parking=<5936,222.569,7204> radius=3 terrainRange=0.8125 obstructed=1 clear=0 +04:37:16.461 SCRIPT : Rereintroduced [sites]: transport parking=<5936,222.506,7212> radius=3 terrainRange=0.671875 obstructed=1 clear=0 +04:37:16.461 SCRIPT : Rereintroduced [sites]: transport parking=<5936,222.756,7220> radius=3 terrainRange=0.9375 obstructed=1 clear=0 +04:37:16.461 SCRIPT : Rereintroduced [sites]: transport parking=<5936,222.631,7228> radius=3 terrainRange=0.890625 obstructed=1 clear=0 +04:37:16.461 SCRIPT : Rereintroduced [sites]: transport parking=<5936,222.475,7236> radius=3 terrainRange=1 obstructed=1 clear=0 +04:37:16.461 SCRIPT : Rereintroduced [sites]: transport parking=<5936,221.975,7244> radius=3 terrainRange=0.65625 obstructed=1 clear=0 +04:37:16.462 SCRIPT : Rereintroduced [sites]: transport parking=<5936,222.006,7252> radius=3 terrainRange=0.8125 obstructed=1 clear=0 +04:37:16.462 SCRIPT : Rereintroduced [sites]: transport parking=<5936,221.819,7260> radius=3 terrainRange=0.703125 obstructed=1 clear=0 +04:37:16.462 SCRIPT : Rereintroduced [sites]: transport parking=<5944,222.413,7180> radius=3 terrainRange=0.953125 obstructed=1 clear=0 +04:37:16.462 SCRIPT : Rereintroduced [sites]: transport parking=<5944,222.881,7188> radius=3 terrainRange=0.734375 obstructed=1 clear=0 +04:37:16.462 SCRIPT : Rereintroduced [sites]: transport parking=<5944,222.725,7196> radius=3 terrainRange=1.34375 obstructed=1 clear=0 +04:37:16.462 SCRIPT : Rereintroduced [sites]: transport parking=<5944,221.725,7204> radius=3 terrainRange=0.65625 obstructed=1 clear=0 +04:37:16.462 SCRIPT : Rereintroduced [sites]: transport parking=<5944,221.725,7212> radius=3 terrainRange=0.765625 obstructed=1 clear=0 +04:37:16.463 SCRIPT : Rereintroduced [sites]: transport parking=<5944,221.663,7220> radius=3 terrainRange=0.625 obstructed=1 clear=0 +04:37:16.463 SCRIPT : Rereintroduced [sites]: transport parking=<5944,221.756,7228> radius=3 terrainRange=0.640625 obstructed=1 clear=0 +04:37:16.463 SCRIPT : Rereintroduced [sites]: transport parking=<5944,221.756,7236> radius=3 terrainRange=0.53125 obstructed=1 clear=0 +04:37:16.463 SCRIPT : Rereintroduced [sites]: transport parking=<5944,221.631,7244> radius=3 terrainRange=0.421875 obstructed=1 clear=0 +04:37:16.463 SCRIPT : Rereintroduced [sites]: transport parking=<5944,221.319,7252> radius=3 terrainRange=0.5625 obstructed=1 clear=0 +04:37:16.463 SCRIPT : Rereintroduced [sites]: transport parking=<5944,220.694,7260> radius=3 terrainRange=1.14062 obstructed=1 clear=0 +04:37:16.463 SCRIPT : Rereintroduced [sites]: transport parking=<5952,221.381,7180> radius=3 terrainRange=1.23438 obstructed=1 clear=0 +04:37:16.464 SCRIPT : Rereintroduced [sites]: transport parking=<5952,221.819,7188> radius=3 terrainRange=1.21875 obstructed=1 clear=0 +04:37:16.464 SCRIPT : Rereintroduced [sites]: transport parking=<5952,221.538,7196> radius=3 terrainRange=1.14062 obstructed=1 clear=0 +04:37:16.464 SCRIPT : Rereintroduced [sites]: transport parking=<5952,221.225,7204> radius=3 terrainRange=0.921875 obstructed=1 clear=0 +04:37:16.464 SCRIPT : Rereintroduced [sites]: transport parking=<5952,220.975,7212> radius=3 terrainRange=0.640625 obstructed=0 clear=1 +04:37:16.464 SCRIPT : ERR PARKING CANDIDATE: offset=<-8,0,-8> position=<5952,220.975,7212> +04:37:16.464 SCRIPT : Rereintroduced [sites]: transport parking=<5952,220.944,7220> radius=3 terrainRange=0.5625 obstructed=0 clear=1 +04:37:16.464 SCRIPT : ERR PARKING CANDIDATE: offset=<-8,0,0> position=<5952,220.944,7220> +04:37:16.464 SCRIPT : Rereintroduced [sites]: transport parking=<5952,221.038,7228> radius=3 terrainRange=0.59375 obstructed=1 clear=0 +04:37:16.465 SCRIPT : Rereintroduced [sites]: transport parking=<5952,221.163,7236> radius=3 terrainRange=0.484375 obstructed=0 clear=1 +04:37:16.465 SCRIPT : ERR PARKING CANDIDATE: offset=<-8,0,16> position=<5952,221.163,7236> +04:37:16.465 SCRIPT : Rereintroduced [sites]: transport parking=<5952,221.163,7244> radius=3 terrainRange=0.53125 obstructed=0 clear=1 +04:37:16.465 SCRIPT : ERR PARKING CANDIDATE: offset=<-8,0,24> position=<5952,221.163,7244> +04:37:16.465 SCRIPT : Rereintroduced [sites]: transport parking=<5952,220.881,7252> radius=3 terrainRange=1.125 obstructed=1 clear=0 +04:37:16.465 SCRIPT : Rereintroduced [sites]: transport parking=<5952,219.631,7260> radius=3 terrainRange=1.95312 obstructed=1 clear=0 +04:37:16.465 SCRIPT : Rereintroduced [sites]: transport parking=<5960,220.381,7180> radius=3 terrainRange=0.84375 obstructed=0 clear=1 +04:37:16.466 SCRIPT : ERR PARKING CANDIDATE: offset=<0,0,-40> position=<5960,220.381,7180> +04:37:16.466 SCRIPT : Rereintroduced [sites]: transport parking=<5960,220.85,7188> radius=3 terrainRange=0.859375 obstructed=1 clear=0 +04:37:16.466 SCRIPT : Rereintroduced [sites]: transport parking=<5960,220.569,7196> radius=3 terrainRange=1.04688 obstructed=1 clear=0 +04:37:16.466 SCRIPT : Rereintroduced [sites]: transport parking=<5960,220.413,7204> radius=3 terrainRange=0.765625 obstructed=0 clear=1 +04:37:16.466 SCRIPT : ERR PARKING CANDIDATE: offset=<0,0,-16> position=<5960,220.413,7204> +04:37:16.466 SCRIPT : Rereintroduced [sites]: transport parking=<5960,220.256,7212> radius=3 terrainRange=0.625 obstructed=0 clear=1 +04:37:16.466 SCRIPT : ERR PARKING CANDIDATE: offset=<0,0,-8> position=<5960,220.256,7212> +04:37:16.467 SCRIPT : Rereintroduced [sites]: transport parking=<5960,220.413,7228> radius=3 terrainRange=0.609375 obstructed=0 clear=1 +04:37:16.467 SCRIPT : ERR PARKING CANDIDATE: offset=<0,0,8> position=<5960,220.413,7228> +04:37:16.467 SCRIPT : Rereintroduced [sites]: transport parking=<5960,220.538,7236> radius=3 terrainRange=0.53125 obstructed=1 clear=0 +04:37:16.467 SCRIPT : Rereintroduced [sites]: transport parking=<5960,220.475,7244> radius=3 terrainRange=0.796875 obstructed=1 clear=0 +04:37:16.467 SCRIPT : Rereintroduced [sites]: transport parking=<5960,219.788,7252> radius=3 terrainRange=1.90625 obstructed=1 clear=0 +04:37:16.467 SCRIPT : Rereintroduced [sites]: transport parking=<5960,218.225,7260> radius=3 terrainRange=1.8125 obstructed=0 clear=0 +04:37:16.468 SCRIPT : Rereintroduced [sites]: transport parking=<5968,219.881,7180> radius=3 terrainRange=0.609375 obstructed=1 clear=0 +04:37:16.468 SCRIPT : Rereintroduced [sites]: transport parking=<5968,219.725,7188> radius=3 terrainRange=0.921875 obstructed=1 clear=0 +04:37:16.468 SCRIPT : Rereintroduced [sites]: transport parking=<5968,219.663,7196> radius=3 terrainRange=0.703125 obstructed=0 clear=1 +04:37:16.468 SCRIPT : ERR PARKING CANDIDATE: offset=<8,0,-24> position=<5968,219.663,7196> +04:37:16.468 SCRIPT : Rereintroduced [sites]: transport parking=<5968,219.569,7204> radius=3 terrainRange=0.625 obstructed=0 clear=1 +04:37:16.468 SCRIPT : ERR PARKING CANDIDATE: offset=<8,0,-16> position=<5968,219.569,7204> +04:37:16.468 SCRIPT : Rereintroduced [sites]: transport parking=<5968,219.538,7212> radius=3 terrainRange=0.546875 obstructed=0 clear=1 +04:37:16.469 SCRIPT : ERR PARKING CANDIDATE: offset=<8,0,-8> position=<5968,219.538,7212> +04:37:16.469 SCRIPT : Rereintroduced [sites]: transport parking=<5968,219.6,7220> radius=3 terrainRange=0.59375 obstructed=0 clear=1 +04:37:16.469 SCRIPT : ERR PARKING CANDIDATE: offset=<8,0,0> position=<5968,219.6,7220> +04:37:16.469 SCRIPT : Rereintroduced [sites]: transport parking=<5968,219.788,7228> radius=3 terrainRange=0.5625 obstructed=0 clear=1 +04:37:16.469 SCRIPT : ERR PARKING CANDIDATE: offset=<8,0,8> position=<5968,219.788,7228> +04:37:16.469 SCRIPT : Rereintroduced [sites]: transport parking=<5968,219.819,7236> radius=3 terrainRange=0.6875 obstructed=1 clear=0 +04:37:16.469 SCRIPT : Rereintroduced [sites]: transport parking=<5968,219.506,7244> radius=3 terrainRange=1.54688 obstructed=1 clear=0 +04:37:16.470 SCRIPT : Rereintroduced [sites]: transport parking=<5968,218.131,7252> radius=3 terrainRange=2.39062 obstructed=0 clear=0 +04:37:16.470 SCRIPT : Rereintroduced [sites]: transport parking=<5968,217.163,7260> radius=3 terrainRange=1.14062 obstructed=0 clear=0 +04:37:16.470 SCRIPT : Rereintroduced [sites]: transport parking=<5976,219.225,7180> radius=3 terrainRange=0.90625 obstructed=0 clear=1 +04:37:16.470 SCRIPT : ERR PARKING CANDIDATE: offset=<16,0,-40> position=<5976,219.225,7180> +04:37:16.470 SCRIPT : Rereintroduced [sites]: transport parking=<5976,218.913,7188> radius=3 terrainRange=0.640625 obstructed=0 clear=1 +04:37:16.470 SCRIPT : ERR PARKING CANDIDATE: offset=<16,0,-32> position=<5976,218.913,7188> +04:37:16.470 SCRIPT : Rereintroduced [sites]: transport parking=<5976,218.881,7196> radius=3 terrainRange=0.578125 obstructed=0 clear=1 +04:37:16.470 SCRIPT : ERR PARKING CANDIDATE: offset=<16,0,-24> position=<5976,218.881,7196> +04:37:16.471 SCRIPT : Rereintroduced [sites]: transport parking=<5976,218.85,7204> radius=3 terrainRange=0.53125 obstructed=0 clear=1 +04:37:16.471 SCRIPT : ERR PARKING CANDIDATE: offset=<16,0,-16> position=<5976,218.85,7204> +04:37:16.471 SCRIPT : Rereintroduced [sites]: transport parking=<5976,218.913,7212> radius=3 terrainRange=0.484375 obstructed=0 clear=1 +04:37:16.471 SCRIPT : ERR PARKING CANDIDATE: offset=<16,0,-8> position=<5976,218.913,7212> +04:37:16.471 SCRIPT : Rereintroduced [sites]: transport parking=<5976,219.038,7220> radius=3 terrainRange=0.5 obstructed=0 clear=1 +04:37:16.471 SCRIPT : ERR PARKING CANDIDATE: offset=<16,0,0> position=<5976,219.038,7220> +04:37:16.471 SCRIPT : Rereintroduced [sites]: transport parking=<5976,219.194,7228> radius=3 terrainRange=0.578125 obstructed=0 clear=1 +04:37:16.472 SCRIPT : ERR PARKING CANDIDATE: offset=<16,0,8> position=<5976,219.194,7228> +04:37:16.472 SCRIPT : Rereintroduced [sites]: transport parking=<5976,218.944,7236> radius=3 terrainRange=1.35938 obstructed=1 clear=0 +04:37:16.472 SCRIPT : Rereintroduced [sites]: transport parking=<5976,217.881,7244> radius=3 terrainRange=2.25 obstructed=1 clear=0 +04:37:16.472 SCRIPT : Rereintroduced [sites]: transport parking=<5976,216.506,7252> radius=3 terrainRange=1.64062 obstructed=0 clear=0 +04:37:16.472 SCRIPT : Rereintroduced [sites]: transport parking=<5976,216.194,7260> radius=3 terrainRange=0.671875 obstructed=0 clear=1 +04:37:16.472 SCRIPT : ERR PARKING CANDIDATE: offset=<16,0,40> position=<5976,216.194,7260> +04:37:16.472 SCRIPT : Rereintroduced [sites]: transport parking=<5984,218.444,7180> radius=3 terrainRange=0.4375 obstructed=0 clear=1 +04:37:16.472 SCRIPT : ERR PARKING CANDIDATE: offset=<24,0,-40> position=<5984,218.444,7180> +04:37:16.473 SCRIPT : Rereintroduced [sites]: transport parking=<5984,218.288,7188> radius=3 terrainRange=0.5 obstructed=0 clear=1 +04:37:16.473 SCRIPT : ERR PARKING CANDIDATE: offset=<24,0,-32> position=<5984,218.288,7188> +04:37:16.473 SCRIPT : Rereintroduced [sites]: transport parking=<5984,218.194,7196> radius=3 terrainRange=0.453125 obstructed=0 clear=1 +04:37:16.473 SCRIPT : ERR PARKING CANDIDATE: offset=<24,0,-24> position=<5984,218.194,7196> +04:37:16.473 SCRIPT : Rereintroduced [sites]: transport parking=<5984,218.256,7204> radius=3 terrainRange=0.453125 obstructed=0 clear=1 +04:37:16.473 SCRIPT : ERR PARKING CANDIDATE: offset=<24,0,-16> position=<5984,218.256,7204> +04:37:16.473 SCRIPT : Rereintroduced [sites]: transport parking=<5984,218.444,7212> radius=3 terrainRange=0.4375 obstructed=0 clear=1 +04:37:16.474 SCRIPT : ERR PARKING CANDIDATE: offset=<24,0,-8> position=<5984,218.444,7212> +04:37:16.474 SCRIPT : Rereintroduced [sites]: transport parking=<5984,218.6,7220> radius=3 terrainRange=0.390625 obstructed=1 clear=0 +04:37:16.474 SCRIPT : Rereintroduced [sites]: transport parking=<5984,218.475,7228> radius=3 terrainRange=1.09375 obstructed=1 clear=0 +04:37:16.474 SCRIPT : Rereintroduced [sites]: transport parking=<5984,217.506,7236> radius=3 terrainRange=1.98438 obstructed=1 clear=0 +04:37:16.474 SCRIPT : Rereintroduced [sites]: transport parking=<5984,216.288,7244> radius=3 terrainRange=1.59375 obstructed=1 clear=0 +04:37:16.474 SCRIPT : Rereintroduced [sites]: transport parking=<5984,215.631,7252> radius=3 terrainRange=0.765625 obstructed=0 clear=1 +04:37:16.474 SCRIPT : ERR PARKING CANDIDATE: offset=<24,0,32> position=<5984,215.631,7252> +04:37:16.475 SCRIPT : Rereintroduced [sites]: transport parking=<5984,215.538,7260> radius=3 terrainRange=0.546875 obstructed=0 clear=1 +04:37:16.475 SCRIPT : ERR PARKING CANDIDATE: offset=<24,0,40> position=<5984,215.538,7260> +04:37:16.475 SCRIPT : Rereintroduced [sites]: transport parking=<5992,218.006,7180> radius=3 terrainRange=0.34375 obstructed=0 clear=1 +04:37:16.475 SCRIPT : ERR PARKING CANDIDATE: offset=<32,0,-40> position=<5992,218.006,7180> +04:37:16.475 SCRIPT : Rereintroduced [sites]: transport parking=<5992,217.85,7188> radius=3 terrainRange=0.4375 obstructed=0 clear=1 +04:37:16.475 SCRIPT : ERR PARKING CANDIDATE: offset=<32,0,-32> position=<5992,217.85,7188> +04:37:16.475 SCRIPT : Rereintroduced [sites]: transport parking=<5992,217.725,7196> radius=3 terrainRange=0.265625 obstructed=0 clear=1 +04:37:16.475 SCRIPT : ERR PARKING CANDIDATE: offset=<32,0,-24> position=<5992,217.725,7196> +04:37:16.476 SCRIPT : Rereintroduced [sites]: transport parking=<5992,217.913,7204> radius=3 terrainRange=0.375 obstructed=0 clear=1 +04:37:16.476 SCRIPT : ERR PARKING CANDIDATE: offset=<32,0,-16> position=<5992,217.913,7204> +04:37:16.476 SCRIPT : Rereintroduced [sites]: transport parking=<5992,218.163,7212> radius=3 terrainRange=0.3125 obstructed=0 clear=1 +04:37:16.476 SCRIPT : ERR PARKING CANDIDATE: offset=<32,0,-8> position=<5992,218.163,7212> +04:37:16.476 SCRIPT : Rereintroduced [sites]: transport parking=<5992,218.1,7220> radius=3 terrainRange=1 obstructed=1 clear=0 +04:37:16.476 SCRIPT : Rereintroduced [sites]: transport parking=<5992,217.225,7228> radius=3 terrainRange=1.89062 obstructed=1 clear=0 +04:37:16.476 SCRIPT : Rereintroduced [sites]: transport parking=<5992,216.131,7236> radius=3 terrainRange=1.42188 obstructed=1 clear=0 +04:37:16.477 SCRIPT : Rereintroduced [sites]: transport parking=<5992,215.475,7244> radius=3 terrainRange=0.796875 obstructed=0 clear=1 +04:37:16.477 SCRIPT : ERR PARKING CANDIDATE: offset=<32,0,24> position=<5992,215.475,7244> +04:37:16.477 SCRIPT : Rereintroduced [sites]: transport parking=<5992,215.131,7252> radius=3 terrainRange=0.59375 obstructed=0 clear=1 +04:37:16.477 SCRIPT : ERR PARKING CANDIDATE: offset=<32,0,32> position=<5992,215.131,7252> +04:37:16.477 SCRIPT : Rereintroduced [sites]: transport parking=<5992,214.85,7260> radius=3 terrainRange=0.734375 obstructed=0 clear=1 +04:37:16.477 SCRIPT : ERR PARKING CANDIDATE: offset=<32,0,40> position=<5992,214.85,7260> +04:37:16.477 SCRIPT : Rereintroduced [sites]: transport parking=<6000,217.569,7180> radius=3 terrainRange=0.453125 obstructed=0 clear=1 +04:37:16.478 SCRIPT : ERR PARKING CANDIDATE: offset=<40,0,-40> position=<6000,217.569,7180> +04:37:16.478 SCRIPT : Rereintroduced [sites]: transport parking=<6000,217.538,7188> radius=3 terrainRange=0.34375 obstructed=0 clear=1 +04:37:16.478 SCRIPT : ERR PARKING CANDIDATE: offset=<40,0,-32> position=<6000,217.538,7188> +04:37:16.478 SCRIPT : Rereintroduced [sites]: transport parking=<6000,217.475,7196> radius=3 terrainRange=0.25 obstructed=0 clear=1 +04:37:16.478 SCRIPT : ERR PARKING CANDIDATE: offset=<40,0,-24> position=<6000,217.475,7196> +04:37:16.478 SCRIPT : Rereintroduced [sites]: transport parking=<6000,217.631,7204> radius=3 terrainRange=0.375 obstructed=1 clear=0 +04:37:16.479 SCRIPT : Rereintroduced [sites]: transport parking=<6000,217.756,7212> radius=3 terrainRange=1.28125 obstructed=1 clear=0 +04:37:16.479 SCRIPT : Rereintroduced [sites]: transport parking=<6000,216.694,7220> radius=3 terrainRange=2.14062 obstructed=1 clear=0 +04:37:16.479 SCRIPT : Rereintroduced [sites]: transport parking=<6000,215.694,7228> radius=3 terrainRange=1.32812 obstructed=1 clear=0 +04:37:16.479 SCRIPT : Rereintroduced [sites]: transport parking=<6000,215.413,7236> radius=3 terrainRange=0.71875 obstructed=0 clear=1 +04:37:16.479 SCRIPT : ERR PARKING CANDIDATE: offset=<40,0,16> position=<6000,215.413,7236> +04:37:16.479 SCRIPT : Rereintroduced [sites]: transport parking=<6000,215.069,7244> radius=3 terrainRange=0.640625 obstructed=0 clear=1 +04:37:16.479 SCRIPT : ERR PARKING CANDIDATE: offset=<40,0,24> position=<6000,215.069,7244> +04:37:16.480 SCRIPT : Rereintroduced [sites]: transport parking=<6000,214.631,7252> radius=3 terrainRange=0.84375 obstructed=0 clear=1 +04:37:16.480 SCRIPT : ERR PARKING CANDIDATE: offset=<40,0,32> position=<6000,214.631,7252> +04:37:16.480 SCRIPT : Rereintroduced [sites]: transport parking=<6000,214.1,7260> radius=3 terrainRange=0.875 obstructed=0 clear=1 +04:37:16.480 SCRIPT : ERR PARKING CANDIDATE: offset=<40,0,40> position=<6000,214.1,7260> +04:37:16.480 SCRIPT : ERR PARKING SURVEY: clear=43; no scenery removed and no transport spawned +04:37:16.480 SCRIPT : ERR SMOKE PASS: transport parking survey completed +04:37:16.480 SCRIPT : ERR SMOKE COMPLETE: bounded transport parking survey diff --git a/docs/evidence/native-2026-09-19-043631-parking-survey/error.log.txt b/docs/evidence/native-2026-09-19-043631-parking-survey/error.log.txt new file mode 100644 index 0000000..0cd68df --- /dev/null +++ b/docs/evidence/native-2026-09-19-043631-parking-survey/error.log.txt @@ -0,0 +1,121 @@ +--------------------------------------------- +Log Z:\tmp\erri-workbench-profile\logs\logs_2026-09-19_04-36-31\error.log started at 2026-09-19 04:36:33 (2026-09-19 02:36:33 UTC) + +04:36:33.414 INIT : Workbench startup +04:36:33.414 INIT : Workbench Init Engine +04:36:33.414 RESOURCES : ResourceDB: full scan +04:36:33.414 RESOURCES : processing files... +04:36:33.414 RESOURCES (W): resource not registered: @"$profile:rereintroduced.json". Setting null GUID +04:36:36.519 INIT : Workbench Create Game +04:36:36.519 SCRIPT : Compiling Game scripts +04:36:36.519 SCRIPT (W): @"Scripts/Game/Editor/Components/EditableEntity/SCR_EditableEntityComponent.c,785": 'GetPlayerPlatformKind' is obsolete +04:36:36.520 SCRIPT (W): @"Scripts/Game/Editor/Components/EditableEntity/SCR_EditableEntityComponent.c,786": 'GetPlayerPlatformId' is obsolete +04:36:36.782 SCRIPT (W): @"Scripts/Game/ERR/ERR_SiteService.c,132": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +04:36:36.793 SCRIPT (W): @"Scripts/Game/Workshop/SCR_AddonManager.c,876": 'GetRefCount' is obsolete: Will be removed +04:36:36.822 SCRIPT (W): @"Scripts/Game/Campaign/SCR_PlayerProfileManagerComponent.c,142": 'PlayerData' is obsolete +04:36:36.922 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,159": 'GetDSSession' is obsolete +04:36:36.922 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,162": 'RoomID' is obsolete +04:36:36.922 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,197": 'GetDSSession' is obsolete +04:36:36.922 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,201": 'RoomID' is obsolete +04:36:37.017 SCRIPT (W): @"Scripts/Game/DataCollection/SCR_DataCollectorComponent.c,481": 'GetStorage' is obsolete +04:36:37.017 SCRIPT (W): @"Scripts/Game/DataCollection/SCR_DataCollectorComponent.c,483": 'GetOnlineWritePrivilege' is obsolete +04:36:37.019 SCRIPT (W): @"Scripts/Game/Utilities/SCR_PlayerIdentityUtils.c,20": 'GetPlayerIdentityId' is obsolete +04:36:37.061 SCRIPT (W): @"Scripts/Game/ERR/ERR_ExtractionService.c,45": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +04:36:37.061 SCRIPT (W): @"Scripts/Game/ERR/ERR_ExtractionService.c,56": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +04:36:37.063 SCRIPT (W): @"Scripts/Game/UI/Menu/MainMenuUI.c,643": 'GetNotifyCount' is obsolete: Will be substitued by Notification Api. +04:36:37.063 SCRIPT (W): @"Scripts/Game/UI/Menu/MainMenuUI.c,645": 'GetNotifyItem' is obsolete: Will be substitued by Notification Api. +04:36:37.089 SCRIPT (W): @"Scripts/Game/ERR/ERR_NativeTransportProbe.c,82": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +04:36:37.120 SCRIPT (W): @"Scripts/Game/DataCollection/PlayerData/SCR_PlayerData.c,210": 'PlayerData' is obsolete +04:36:45.628 WORLD : CreateEntities +04:36:45.629 ENTITY : Create entity @"ENTITY:610406" ('StaticModelEntity','Assets/Structures/Infrastructure/Towers/TransmitterTower_01/TransmitterTower_01_small.xob') at <1931.796021 81.777000 5138.725098> @"{6A004A8F0571D456}Prefabs/Structures/Infrastructure/Towers/TransmitterTower_01/TransmitterTower_01_small.et" +04:36:45.629 ENTITY : CreateComponent 'ScriptedRadioComponent' +04:36:45.629 DEFAULT (W): World doesn't contain RadioManagerEntity to support any BaseRadioComponent. +04:37:00.533 DEFAULT (W): LogiLED: Cannot initialize! (service not running or no compatible device detected) +04:37:05.278 WORLD : Game::LoadEntities +04:37:05.278 WORLD : CreateEntities +04:37:05.278 WORLD : CreateEntities +04:37:05.278 ENTITY : Create entity @"ENTITY:610406" ('StaticModelEntity','Assets/Structures/Infrastructure/Towers/TransmitterTower_01/TransmitterTower_01_small.xob') at <1931.796021 81.777000 5138.725098> @"{6A004A8F0571D456}Prefabs/Structures/Infrastructure/Towers/TransmitterTower_01/TransmitterTower_01_small.et" +04:37:05.278 ENTITY : CreateComponent 'ScriptedRadioComponent' +04:37:05.278 DEFAULT (W): World doesn't contain RadioManagerEntity to support any BaseRadioComponent. +04:37:06.685 ENTITY : Create entity @"ENTITY:842066" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1080.213013 10.776751 6018.347168> +04:37:06.685 ENTITY : CreateComponent 'Hierarchy' +04:37:06.685 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842066" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1080.213013 10.776751 6018.347168>') +04:37:06.685 ENTITY : Create entity @"ENTITY:842068" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1082.185913 10.778749 6018.331055> +04:37:06.685 ENTITY : CreateComponent 'Hierarchy' +04:37:06.685 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842068" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1082.185913 10.778749 6018.331055>') +04:37:06.685 ENTITY : Create entity @"ENTITY:842070" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1084.190918 10.790751 6018.334961> +04:37:06.685 ENTITY : CreateComponent 'Hierarchy' +04:37:06.685 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842070" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1084.190918 10.790751 6018.334961>') +04:37:06.690 ENTITY : Create entity @"ENTITY:842333" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4425.594727 9.981750 11029.402344> +04:37:06.690 ENTITY : CreateComponent 'Hierarchy' +04:37:06.690 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842333" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4425.594727 9.981750 11029.402344>') +04:37:06.690 ENTITY : Create entity @"ENTITY:842335" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4426.584473 9.983749 11031.109375> +04:37:06.690 ENTITY : CreateComponent 'Hierarchy' +04:37:06.690 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842335" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4426.584473 9.983749 11031.109375>') +04:37:06.690 ENTITY : Create entity @"ENTITY:842337" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4427.572266 9.995750 11032.853516> +04:37:06.690 ENTITY : CreateComponent 'Hierarchy' +04:37:06.690 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842337" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4427.572266 9.995750 11032.853516>') +04:37:06.694 ENTITY : Create entity @"ENTITY:842591" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.946289 10.470250 1551.986084> +04:37:06.694 ENTITY : CreateComponent 'Hierarchy' +04:37:06.694 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842591" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.946289 10.470250 1551.986084>') +04:37:06.694 ENTITY : Create entity @"ENTITY:842593" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.430664 10.472250 1550.081421> +04:37:06.694 ENTITY : CreateComponent 'Hierarchy' +04:37:06.694 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842593" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.430664 10.472250 1550.081421>') +04:37:06.694 ENTITY : Create entity @"ENTITY:842595" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10008.926758 10.484250 1548.140869> +04:37:06.694 ENTITY : CreateComponent 'Hierarchy' +04:37:06.694 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842595" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10008.926758 10.484250 1548.140869>') +04:37:11.109 ENTITY : Create entity @"ENTITY:2305843009213693956" ('Factions', SCR_FactionManager) at <0.000000 0.000000 0.000000> @"{589540B35EBA8CDC}Prefabs/MP/Managers/Factions/FactionManager_USxUSSR.et" +04:37:11.109 RESOURCES : GetResourceObject @"{5168FEA3054D6D15}Prefabs/Vehicles/Wheeled/M151A2/M151A2_M2HB_MERDC.et" +04:37:11.109 WORLD : Entity prefab load @"{5168FEA3054D6D15}Prefabs/Vehicles/Wheeled/M151A2/M151A2_M2HB_MERDC.et" +04:37:11.109 RESOURCES : GetResourceObject @"{F6B23D17D5067C11}Prefabs/Vehicles/Wheeled/M151A2/M151A2_M2HB.et" +04:37:11.109 WORLD : Entity prefab load @"{F6B23D17D5067C11}Prefabs/Vehicles/Wheeled/M151A2/M151A2_M2HB.et" +04:37:11.109 RESOURCES : GetResourceObject @"{F649585ABB3706C4}Prefabs/Vehicles/Wheeled/M151A2/M151A2.et" +04:37:11.109 WORLD : Entity prefab load @"{F649585ABB3706C4}Prefabs/Vehicles/Wheeled/M151A2/M151A2.et" +04:37:11.109 WORLD (E): Unknown keyword/data 'SlidingTrackMaterial' at offset 19441(0x4bf1) +04:37:11.151 RESOURCES : GetResourceObject @"{F7B9B434FCFF00B3}Prefabs/Vehicles/Wheeled/Conflict_Variants/BRDM2_Conflict.et" +04:37:11.151 WORLD : Entity prefab load @"{F7B9B434FCFF00B3}Prefabs/Vehicles/Wheeled/Conflict_Variants/BRDM2_Conflict.et" +04:37:11.151 RESOURCES : GetResourceObject @"{254289B9C09904AB}Prefabs/Vehicles/Wheeled/BRDM2/BRDM2.et" +04:37:11.151 WORLD : Entity prefab load @"{254289B9C09904AB}Prefabs/Vehicles/Wheeled/BRDM2/BRDM2.et" +04:37:11.151 RESOURCES : GetResourceObject @"{532B5F3CF8496E59}Prefabs/Vehicles/Wheeled/BRDM2/BRDM2_base.et" +04:37:11.151 WORLD : Entity prefab load @"{532B5F3CF8496E59}Prefabs/Vehicles/Wheeled/BRDM2/BRDM2_base.et" +04:37:11.151 WORLD (E): Unknown keyword/data 'Parent' at offset 35955(0x8c73) +04:37:11.151 WORLD (E): Unknown keyword/data 'Parent' at offset 36915(0x9033) +04:37:11.152 RESOURCES : GetResourceObject @"{BD75A18920BD1278}Prefabs/Vehicles/Wheeled/Conflict_Variants/BTR70_Conflict.et" +04:37:11.152 WORLD : Entity prefab load @"{BD75A18920BD1278}Prefabs/Vehicles/Wheeled/Conflict_Variants/BTR70_Conflict.et" +04:37:11.152 RESOURCES : GetResourceObject @"{C012BB3488BEA0C2}Prefabs/Vehicles/Wheeled/BTR70/BTR70.et" +04:37:11.152 WORLD : Entity prefab load @"{C012BB3488BEA0C2}Prefabs/Vehicles/Wheeled/BTR70/BTR70.et" +04:37:11.152 RESOURCES : GetResourceObject @"{1C5FE7B7FF49BB8D}Prefabs/Vehicles/Wheeled/BTR70/BTR70_Base.et" +04:37:11.152 WORLD : Entity prefab load @"{1C5FE7B7FF49BB8D}Prefabs/Vehicles/Wheeled/BTR70/BTR70_Base.et" +04:37:11.152 WORLD (E): Unknown keyword/data 'Parent' at offset 42646(0xa696) +04:37:11.152 WORLD (E): Unknown keyword/data 'Parent' at offset 43645(0xaa7d) +04:37:11.152 WORLD (E): Unknown keyword/data 'Parent' at offset 44617(0xae49) +04:37:11.152 WORLD (E): Unknown keyword/data 'Parent' at offset 45590(0xb216) +04:37:13.383 WORLD : InitEntities 'world' +04:37:13.383 ENTITY : Init entity @"ENTITY:2305843009213693953" ('Rereintroduced', ERR_GameMode) at <1076.468018 51.000999 1325.246948> @"{978E045E53EF36C8}Prefabs/ERR/GameMode.et" +04:37:13.383 SCRIPT (W): SCR_PerceivedFactionManagerComponent trying to set fall back faction 'CIV' but this faction could not be found so it is null instead. +04:37:13.980 ENTITY : SpawnEntityPrefab @"{225E51284CC95CFA}Prefabs/Characters/Core/DefaultPlayerControllerMP.et" +04:37:13.980 ENTITY : Create entity @"ENTITY:4611686018427388381" ('SCR_PlayerController') at <0.000000 0.000000 0.000000> +04:37:13.980 ENTITY : EntityPrefabUse @"{225E51284CC95CFA}Prefabs/Characters/Core/DefaultPlayerControllerMP.et" +04:37:13.980 SCRIPT (W): Notification data in 'SCR_NotificationsLogDisplay' has duplicate notification info key: 'EDITOR_PERCEIVED_FACTION_PUNISHMENT_KILLING_SET'. There should only be one of each key! +04:37:13.981 SCRIPT (W): Notification data in 'SCR_NotificationsLogDisplay' has duplicate notification info key: 'EDITOR_PERCEIVED_FACTION_TYPE_DISABLED'. There should only be one of each key! +04:37:13.983 SCRIPT (W): Can't open config file "" +04:37:13.989 WORLD : InitEntities 'world' +04:37:13.989 ENTITY : Init entity @"ENTITY:4611686018427388381" ('SCR_PlayerController') at <0.000000 0.000000 0.000000> @"{225E51284CC95CFA}Prefabs/Characters/Core/DefaultPlayerControllerMP.et" +04:37:13.989 GUI : WidgetManager: CrateWidgets @"{3C9DCDD76AB83157}UI/layouts/HUD/HUDLayouts/HUDManager_Root.layout" +04:37:13.990 SCRIPT (W): Slot_WeaponInfo Has no Content! +04:37:13.990 SCRIPT (W): Slot_Chat Has no Content! +04:37:13.990 SCRIPT (W): Slot_VON Has no Content! +04:37:13.990 SCRIPT (W): Slot_AvailableActions Has no Content! +04:37:13.990 SCRIPT (W): Slot_Vehicle Has no Content! +04:37:13.990 SCRIPT (W): Slot_GameVersion Has no Content! +04:37:13.990 SCRIPT (W): Slot_Notifications Has no Content! +04:37:13.990 SCRIPT (W): Slot_Hints Has no Content! +04:37:14.007 SCRIPT (W): Ban Settings could not be loaded from BE Storage: Relying on default config +04:37:14.262 WORLD : UpdateEntities +04:37:14.262 WORLD : PostFrame +04:37:14.262 GUI : WidgetManager: CrateWidgets @"{D89BBA18F99053D6}UI/layouts/HUD/Chat/ChatHud.layout" +04:37:14.262 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +04:37:14.310 RESOURCES : GetResourceObject @"{20A6917D2114E29A}UI/layouts/HUD/Hint/HintInfoDisplay.layout" +04:37:14.310 GUI : Layout load @"{20A6917D2114E29A}UI/layouts/HUD/Hint/HintInfoDisplay.layout" +04:37:14.310 GUI : Widget prefab @"{EA1CC57D868E94F9}UI/layouts/HUD/Hint/Hint.layout" +04:37:14.311 GUI (W): Overridden prefab member (GUID: '{661AB14E0F471C66}' type: ButtonWidgetClass) no longer exists in prefab diff --git a/docs/evidence/native-2026-09-19-043631-parking-survey/headless-launch.log.txt b/docs/evidence/native-2026-09-19-043631-parking-survey/headless-launch.log.txt new file mode 100644 index 0000000..8fbbeab --- /dev/null +++ b/docs/evidence/native-2026-09-19-043631-parking-survey/headless-launch.log.txt @@ -0,0 +1,150 @@ +[gamescope] [Info] console: gamescope version 3.16.28 (gcc 16.2.1) +No CAP_SYS_NICE, falling back to regular-priority compute and threads. +Performance will be affected. +[gamescope] [Info] scriptmgr: Loading scripts from: '/usr/share/gamescope/scripts' +[gamescope] [Info] scriptmgr: Loading scripts from: '/usr/share/gamescope/scripts/00-gamescope' +[gamescope] [Info] scriptmgr: Loading scripts from: '/usr/share/gamescope/scripts/00-gamescope/common' +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/common/inspect.lua' (id: 0) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/common/modegen.lua' (id: 1) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/common/util.lua' (id: 2) +[gamescope] [Info] scriptmgr: Loading scripts from: '/usr/share/gamescope/scripts/00-gamescope/displays' +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/asus.rogally.lcd.lua' (id: 3) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/deckhd.steamdeck.deckhd-lcd.lua' (id: 4) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/gpd.win4.lcd.lua' (id: 5) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/lenovo.legiongo.lcd.lua' (id: 6) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/lenovo.legiongos.lcd.lua' (id: 7) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/onexplayer.f1.oled.lua' (id: 8) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/valve.steamdeck.lcd.lua' (id: 9) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/valve.steamdeck.oled.lua' (id: 10) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/zotac.zone.oled.lua' (id: 11) +[gamescope] [Info] scriptmgr: Loading scripts from: '/etc/gamescope/scripts' +[gamescope] [Warn] scriptmgr: Directory '/etc/gamescope/scripts' does not exist +[gamescope] [Info] scriptmgr: Loading scripts from: '/home/jakub/.config/gamescope/scripts' +[gamescope] [Warn] scriptmgr: Directory '/home/jakub/.config/gamescope/scripts' does not exist +[gamescope] [Info] vulkan: selecting physical device 'AMD Radeon RX 6950 XT (RADV NAVI21)': queue family 1 (general queue family 0) +[gamescope] [Info] vulkan: physical device supports DRM format modifiers +[gamescope] [Info] wlserver: [backend/headless/backend.c:60] Creating headless backend +[gamescope] [Info] vulkan: supported DRM formats for sampling usage: +[gamescope] [Info] vulkan: AR24 (0x34325241) +[gamescope] [Info] vulkan: XR24 (0x34325258) +[gamescope] [Info] vulkan: AB24 (0x34324241) +[gamescope] [Info] vulkan: XB24 (0x34324258) +[gamescope] [Info] vulkan: RG16 (0x36314752) +[gamescope] [Info] vulkan: NV12 (0x3231564E) +[gamescope] [Info] vulkan: AB4H (0x48344241) +[gamescope] [Info] vulkan: XB4H (0x48344258) +[gamescope] [Info] vulkan: AB48 (0x38344241) +[gamescope] [Info] vulkan: XB48 (0x38344258) +[gamescope] [Info] vulkan: AB30 (0x30334241) +[gamescope] [Info] vulkan: XB30 (0x30334258) +[gamescope] [Info] vulkan: AR30 (0x30335241) +[gamescope] [Info] vulkan: XR30 (0x30335258) +[gamescope] [Info] wlserver: Using explicit sync when available +[gamescope] [Info] wlserver: Running compositor on wayland display 'gamescope-0' +[gamescope] [Info] wlserver: [backend/headless/backend.c:17] Starting headless backend +[gamescope] [Info] wlserver: Successfully initialized libei for input emulation! +[gamescope] [Error] wlserver: [xwayland/sockets.c:47] Failed to bind socket @/tmp/.X11-unix/X0: Address already in use +[gamescope] [Info] wlserver: [xwayland/server.c:108] Starting Xwayland on :2 +The XKEYBOARD keymap compiler (xkbcomp) reports: +> Warning: Multiple symbols for level 1/group 1 on key +> Using F23, ignoring XF86TouchpadOff +> Warning: Symbol map for key redefined +> Using last definition for conflicting fields +> Warning: Symbol map for key redefined +> Using last definition for conflicting fields +> Warning: Could not resolve keysym XF86ElectronicPrivacyScreenOn +> Warning: Could not resolve keysym XF86ElectronicPrivacyScreenOff +> Warning: Could not resolve keysym XF86ActionOnSelection +> Warning: Could not resolve keysym XF86ContextualInsert +> Warning: Could not resolve keysym XF86ContextualQuery +Errors from xkbcomp are not fatal to the X server +[gamescope] [Info] pipewire: stream state changed: connecting +[gamescope] [Info] pipewire: stream state changed: paused +[gamescope] [Info] pipewire: stream available on node ID: 123 +[gamescope] [Info] vblank: Using timerfd. +fsync: up and running. +[Gamescope WSI] No application info given. +[Gamescope WSI] Executable name: explorer.exe +ATTENTION: default value of option vk_wsi_force_swapchain_to_current_extent overridden by environment. +[Gamescope WSI] Application info: + pApplicationName: xalia.exe + applicationVersion: 0 + pEngineName: DXVK + engineVersion: 12587008 + apiVersion: 4206592 +[Gamescope WSI] Executable name: xalia.exe +ATTENTION: default value of option vk_wsi_force_swapchain_to_current_extent overridden by environment. +[Gamescope WSI] No application info given. +[Gamescope WSI] Application info: + pApplicationName: ArmaReforgerWorkbenchSteamDiag.exe + applicationVersion: 1 + pEngineName: DXVK + engineVersion: 12587008 + apiVersion: 4206592 +[Gamescope WSI] Executable name: ArmaReforgerWorkbenchSteamDiag.exe +ATTENTION: default value of option vk_wsi_force_swapchain_to_current_extent overridden by environment. +[Gamescope WSI] No application info given. +The XKEYBOARD keymap compiler (xkbcomp) reports: +> Warning: Unsupported maximum keycode 709, clipping. +> X11 cannot support keycodes above 255. +> Warning: Virtual modifier Hyper multiply defined +> Using 0, ignoring 0 +> Warning: Virtual modifier ScrollLock multiply defined +> Using 0, ignoring 0 +Errors from xkbcomp are not fatal to the X server +ATTENTION: default value of option vk_wsi_force_swapchain_to_current_extent overridden by environment. +[Gamescope WSI] Application info: + pApplicationName: ArmaReforgerWorkbenchSteamDiag.exe + applicationVersion: 0 + pEngineName: DXVK + engineVersion: 12587008 + apiVersion: 4206592 +ATTENTION: default value of option vk_wsi_force_swapchain_to_current_extent overridden by environment. +[Gamescope WSI] Application info: + pApplicationName: ArmaReforgerWorkbenchSteamDiag.exe + applicationVersion: 0 + pEngineName: vkd3d + engineVersion: 12587008 + apiVersion: 4206592 +[Gamescope WSI] Forcing on VK_EXT_swapchain_maintenance1. +ATTENTION: default value of option vk_wsi_force_swapchain_to_current_extent overridden by environment. +[Gamescope WSI] No application info given. +ATTENTION: default value of option vk_wsi_force_swapchain_to_current_extent overridden by environment. +[Gamescope WSI] Application info: + pApplicationName: ArmaReforgerWorkbenchSteamDiag.exe + applicationVersion: 0 + pEngineName: vkd3d + engineVersion: 12587008 + apiVersion: 4206592 +[Gamescope WSI] Forcing on VK_EXT_swapchain_maintenance1. +[Gamescope WSI] Creating Gamescope surface: xid: 0x1a001a4 +[Gamescope WSI] Atom of T was wrong type. Expected XCB_ATOM_CARDINAL. +[Gamescope WSI] Made gamescope surface for xid: 0x1a001a4 +[Gamescope WSI] Surface state: + steam app id: 1874910 + window xid: 0x1a001a4 + wayland surface res id: 5 + layer client flags: 0x4 + server hdr output enabled: false + hdr formats exposed to client: false +[Gamescope WSI] Creating Gamescope surface: xid: 0x1a003a4 +[Gamescope WSI] Atom of T was wrong type. Expected XCB_ATOM_CARDINAL. +[Gamescope WSI] Made gamescope surface for xid: 0x1a003a4 +[Gamescope WSI] Surface state: + steam app id: 1874910 + window xid: 0x1a003a4 + wayland surface res id: 10 + layer client flags: 0x4 + server hdr output enabled: false + hdr formats exposed to client: false +[Gamescope WSI] Creating swapchain for xid: 0x1a003a4 - oldSwapchain: (nil) - provided minImageCount: 3 - minImageCount: 3 - format: VK_FORMAT_B8G8R8A8_UNORM - colorspace: VK_COLOR_SPACE_SRGB_NONLINEAR_KHR - flip: false +[Gamescope WSI] Created swapchain for xid: 0x1a003a4 swapchain: 0x5555560e9eb0 - imageCount: 4 +[Gamescope WSI] Destroying swapchain: 0x5555560e9eb0 +[Gamescope WSI] Destroyed swapchain: 0x5555560e9eb0 +[Gamescope WSI] Creating swapchain for xid: 0x1a003a4 - oldSwapchain: (nil) - provided minImageCount: 3 - minImageCount: 3 - format: VK_FORMAT_B8G8R8A8_UNORM - colorspace: VK_COLOR_SPACE_SRGB_NONLINEAR_KHR - flip: false +[Gamescope WSI] Created swapchain for xid: 0x1a003a4 swapchain: 0x5555560e9eb0 - imageCount: 4 +[Gamescope WSI] Destroying swapchain: 0x5555560e9eb0 +[Gamescope WSI] Destroyed swapchain: 0x5555560e9eb0 +[Gamescope WSI] Creating swapchain for xid: 0x1a003a4 - oldSwapchain: (nil) - provided minImageCount: 3 - minImageCount: 3 - format: VK_FORMAT_B8G8R8A8_UNORM - colorspace: VK_COLOR_SPACE_SRGB_NONLINEAR_KHR - flip: false +[Gamescope WSI] Created swapchain for xid: 0x1a003a4 swapchain: 0x5555560e9eb0 - imageCount: 4 +[gamescope] [Info] launch: Primary child shut down! diff --git a/docs/evidence/native-2026-09-19-043631-parking-survey/report.json b/docs/evidence/native-2026-09-19-043631-parking-survey/report.json new file mode 100644 index 0000000..a59611b --- /dev/null +++ b/docs/evidence/native-2026-09-19-043631-parking-survey/report.json @@ -0,0 +1,17 @@ +{ + "log": "docs/evidence/native-2026-09-19-043631-parking-survey/console.log.txt", + "smoke_completions": 1, + "assertions_passed": 1, + "script_or_runtime_failures": [], + "engine_errors": [ + "04:37:11.109 WORLD (E): Unknown keyword/data 'SlidingTrackMaterial' at offset 19441(0x4bf1)", + "04:37:11.151 WORLD (E): Unknown keyword/data 'Parent' at offset 35955(0x8c73)", + "04:37:11.151 WORLD (E): Unknown keyword/data 'Parent' at offset 36915(0x9033)", + "04:37:11.152 WORLD (E): Unknown keyword/data 'Parent' at offset 42646(0xa696)", + "04:37:11.152 WORLD (E): Unknown keyword/data 'Parent' at offset 43645(0xaa7d)", + "04:37:11.152 WORLD (E): Unknown keyword/data 'Parent' at offset 44617(0xae49)", + "04:37:11.152 WORLD (E): Unknown keyword/data 'Parent' at offset 45590(0xb216)" + ], + "missing_end_screen": [], + "scope": "scripted local Workbench integration only; no multiplayer, piloting or FPS claim" +} diff --git a/docs/evidence/native-2026-09-19-043631-parking-survey/runner.json.txt b/docs/evidence/native-2026-09-19-043631-parking-survey/runner.json.txt new file mode 100644 index 0000000..8416fc7 --- /dev/null +++ b/docs/evidence/native-2026-09-19-043631-parking-survey/runner.json.txt @@ -0,0 +1,9 @@ +{ + "result": "smoke-completed", + "session": "/tmp/erri-workbench-profile/logs/logs_2026-09-19_04-36-31", + "rounds_required": 1, + "project": "core", + "display": "headless Gamescope 1280x720/30Hz", + "dedicated_server": false, + "audio": "silent sink and per-test-stream mute" +} diff --git a/docs/evidence/native-2026-09-19-043631-parking-survey/script.log.txt b/docs/evidence/native-2026-09-19-043631-parking-survey/script.log.txt new file mode 100644 index 0000000..e05a930 --- /dev/null +++ b/docs/evidence/native-2026-09-19-043631-parking-survey/script.log.txt @@ -0,0 +1,238 @@ +--------------------------------------------- +Log Z:\tmp\erri-workbench-profile\logs\logs_2026-09-19_04-36-31\script.log started at 2026-09-19 04:36:34 (2026-09-19 02:36:34 UTC) + +04:36:34.457 SCRIPT : SCRIPT : Initializing scripts +04:36:34.457 SCRIPT : SCRIPT : ScriptProjectManager init +04:36:35.378 SCRIPT : SCRIPT : Compiling GameLib scripts +04:36:35.434 SCRIPT : Module: Workbench; loaded 18x files; 36x classes; used 125K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE"; CRC32: 90ce0460 +04:36:35.434 SCRIPT : Module: GameLib; loaded 465x files; 648x classes; used 828K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE"; CRC32: 4507af04 +04:36:35.435 SCRIPT : SCRIPT : Compiling Game scripts +04:36:36.519 SCRIPT : Compiling Game scripts +04:36:36.519 SCRIPT (W): @"Scripts/Game/Editor/Components/EditableEntity/SCR_EditableEntityComponent.c,785": 'GetPlayerPlatformKind' is obsolete +04:36:36.520 SCRIPT (W): @"Scripts/Game/Editor/Components/EditableEntity/SCR_EditableEntityComponent.c,786": 'GetPlayerPlatformId' is obsolete +04:36:36.782 SCRIPT (W): @"Scripts/Game/ERR/ERR_SiteService.c,132": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +04:36:36.793 SCRIPT (W): @"Scripts/Game/Workshop/SCR_AddonManager.c,876": 'GetRefCount' is obsolete: Will be removed +04:36:36.822 SCRIPT (W): @"Scripts/Game/Campaign/SCR_PlayerProfileManagerComponent.c,142": 'PlayerData' is obsolete +04:36:36.922 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,159": 'GetDSSession' is obsolete +04:36:36.922 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,162": 'RoomID' is obsolete +04:36:36.922 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,197": 'GetDSSession' is obsolete +04:36:36.922 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,201": 'RoomID' is obsolete +04:36:37.017 SCRIPT (W): @"Scripts/Game/DataCollection/SCR_DataCollectorComponent.c,481": 'GetStorage' is obsolete +04:36:37.017 SCRIPT (W): @"Scripts/Game/DataCollection/SCR_DataCollectorComponent.c,483": 'GetOnlineWritePrivilege' is obsolete +04:36:37.019 SCRIPT (W): @"Scripts/Game/Utilities/SCR_PlayerIdentityUtils.c,20": 'GetPlayerIdentityId' is obsolete +04:36:37.061 SCRIPT (W): @"Scripts/Game/ERR/ERR_ExtractionService.c,45": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +04:36:37.061 SCRIPT (W): @"Scripts/Game/ERR/ERR_ExtractionService.c,56": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +04:36:37.063 SCRIPT (W): @"Scripts/Game/UI/Menu/MainMenuUI.c,643": 'GetNotifyCount' is obsolete: Will be substitued by Notification Api. +04:36:37.063 SCRIPT (W): @"Scripts/Game/UI/Menu/MainMenuUI.c,645": 'GetNotifyItem' is obsolete: Will be substitued by Notification Api. +04:36:37.089 SCRIPT (W): @"Scripts/Game/ERR/ERR_NativeTransportProbe.c,82": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +04:36:37.120 SCRIPT (W): @"Scripts/Game/DataCollection/PlayerData/SCR_PlayerData.c,210": 'PlayerData' is obsolete +04:36:37.383 SCRIPT : Module: WorkbenchGame; loaded 171x files; 616x classes; used 2478K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE"; CRC32: db6febb9 +04:36:37.390 SCRIPT : Module: Game; loaded 5701x files; 11171x classes; used 32479K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE,ENABLE_BASE_DESTRUCTION,BUDGET_OPTIMIZATION_CHECKS,SHOW_DISCLAIMER,DEBUG,RESPAWN_TIMER_COMPONENT_DEBUG,GAME_MODE_DEBUG,DEBUG_CONFIGURABLE_DIALOGS,DISABLE_WEAPON_SWITCHING,SCRIPTED_AIM_MODIFIER_DEBUG"; CRC32: f5e7569e +04:36:38.340 SCRIPT : Unable to register a script command due keyword duplicity: ban +04:36:38.340 SCRIPT : Unable to register a script command due keyword duplicity: kick +04:36:57.353 SCRIPT : ERR SITE SURVEY: supply=6150/7050 elevationRange=0.625 min=202.875 max=203.5 +04:37:00.528 SCRIPT : Unable to register a script command due keyword duplicity: ban +04:37:00.528 SCRIPT : Unable to register a script command due keyword duplicity: kick +04:37:13.383 SCRIPT (W): SCR_PerceivedFactionManagerComponent trying to set fall back faction 'CIV' but this faction could not be found so it is null instead. +04:37:13.409 SCRIPT : ERR BASE SMOKE: core-only scripted escape; not manual or multiplayer acceptance +04:37:13.980 SCRIPT (W): Notification data in 'SCR_NotificationsLogDisplay' has duplicate notification info key: 'EDITOR_PERCEIVED_FACTION_PUNISHMENT_KILLING_SET'. There should only be one of each key! +04:37:13.981 SCRIPT (W): Notification data in 'SCR_NotificationsLogDisplay' has duplicate notification info key: 'EDITOR_PERCEIVED_FACTION_TYPE_DISABLED'. There should only be one of each key! +04:37:13.983 SCRIPT (W): Can't open config file "" +04:37:13.990 SCRIPT (W): Slot_WeaponInfo Has no Content! +04:37:13.990 SCRIPT (W): Slot_Chat Has no Content! +04:37:13.990 SCRIPT (W): Slot_VON Has no Content! +04:37:13.990 SCRIPT (W): Slot_AvailableActions Has no Content! +04:37:13.990 SCRIPT (W): Slot_Vehicle Has no Content! +04:37:13.990 SCRIPT (W): Slot_GameVersion Has no Content! +04:37:13.990 SCRIPT (W): Slot_Notifications Has no Content! +04:37:13.990 SCRIPT (W): Slot_Hints Has no Content! +04:37:14.007 SCRIPT (W): Ban Settings could not be loaded from BE Storage: Relying on default config +04:37:14.062 SCRIPT : ScenarioFramework: Available tasks are empty, no new tasks will be generated. +04:37:14.076 SCRIPT : SCR_BaseGameMode::OnGameStateChanged = GAME +04:37:14.262 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +04:37:15.806 SCRIPT : Rereintroduced [sites]: cache clearance position=<6086,211.538,7160> clear=1 +04:37:15.825 SCRIPT : Rereintroduced [sites]: authored everon-prison-1 at <6090,211.444,7160> +04:37:15.825 SCRIPT : Rereintroduced [sites]: cache clearance position=<6150,203.288,7050> clear=1 +04:37:15.854 SCRIPT : Rereintroduced [sites]: authored everon-supply-1 at <6150,203.288,7050> +04:37:15.857 SCRIPT : Rereintroduced [sites]: authored everon-radio-1 at <6500,159.756,7200> +04:37:15.904 SCRIPT : Rereintroduced [sites]: authored everon-extraction-1 at <7000,65.2562,7500> +04:37:15.904 SCRIPT : Rereintroduced [sites]: cache clearance position=<5960,220.256,7220> clear=1 +04:37:15.910 SCRIPT : Rereintroduced [sites]: authored everon-supply-2 at <5960,220.256,7220> +04:37:15.910 SCRIPT : Rereintroduced [sites]: cache clearance position=<6340,175.788,7400> clear=1 +04:37:15.912 SCRIPT : Rereintroduced [sites]: authored everon-medical-1 at <6340,175.788,7400> +04:37:15.912 SCRIPT : Rereintroduced [sites]: cache clearance position=<6740,140.6,7300> clear=1 +04:37:15.916 SCRIPT : Rereintroduced [sites]: cache clearance position=<6740,140.913,7296> clear=1 +04:37:15.917 SCRIPT : Rereintroduced [sites]: cache clearance position=<6736,140.975,7300> clear=1 +04:37:15.918 SCRIPT : Rereintroduced [sites]: cache clearance position=<6744,140.288,7300> clear=1 +04:37:15.919 SCRIPT : Rereintroduced [sites]: authored everon-outpost-1 at <6740,140.6,7300> +04:37:16.055 SCRIPT : Rereintroduced [sites]: 7 sites and 117 physical stock items ready +04:37:16.056 SCRIPT : Rereintroduced [time]: started at 14:00 with 1x progression +04:37:16.057 SCRIPT : Rereintroduced [mission]: phase 0 -> 1 +04:37:16.304 SCRIPT : INFO: Faction: player jakub (playerID = 1 | UUID = 00000000-0000-0000-0000-000000000000) has joined faction #AR-Faction_US (US) +04:37:16.381 SCRIPT : Rereintroduced [spawn]: player 1 at <6090,211.344,7160> +04:37:16.457 SCRIPT : Rereintroduced [sites]: transport parking=<5920,224.381,7180> radius=3 terrainRange=0.703125 obstructed=1 clear=0 +04:37:16.457 SCRIPT : Rereintroduced [sites]: transport parking=<5920,224.506,7188> radius=3 terrainRange=1.03125 obstructed=1 clear=0 +04:37:16.457 SCRIPT : Rereintroduced [sites]: transport parking=<5920,224.569,7196> radius=3 terrainRange=1.07812 obstructed=1 clear=0 +04:37:16.457 SCRIPT : Rereintroduced [sites]: transport parking=<5920,224.631,7204> radius=3 terrainRange=1.20312 obstructed=1 clear=0 +04:37:16.457 SCRIPT : Rereintroduced [sites]: transport parking=<5920,224.756,7212> radius=3 terrainRange=1.20312 obstructed=1 clear=0 +04:37:16.458 SCRIPT : Rereintroduced [sites]: transport parking=<5920,224.819,7220> radius=3 terrainRange=1.21875 obstructed=1 clear=0 +04:37:16.458 SCRIPT : Rereintroduced [sites]: transport parking=<5920,225.194,7228> radius=3 terrainRange=1.23438 obstructed=1 clear=0 +04:37:16.458 SCRIPT : Rereintroduced [sites]: transport parking=<5920,224.569,7236> radius=3 terrainRange=1.1875 obstructed=1 clear=0 +04:37:16.458 SCRIPT : Rereintroduced [sites]: transport parking=<5920,223.694,7244> radius=3 terrainRange=0.875 obstructed=1 clear=0 +04:37:16.458 SCRIPT : Rereintroduced [sites]: transport parking=<5920,223.319,7252> radius=3 terrainRange=0.625 obstructed=1 clear=0 +04:37:16.458 SCRIPT : Rereintroduced [sites]: transport parking=<5920,223.256,7260> radius=3 terrainRange=0.78125 obstructed=1 clear=0 +04:37:16.458 SCRIPT : Rereintroduced [sites]: transport parking=<5928,223.538,7180> radius=3 terrainRange=0.5625 obstructed=1 clear=0 +04:37:16.459 SCRIPT : Rereintroduced [sites]: transport parking=<5928,223.475,7188> radius=3 terrainRange=0.53125 obstructed=1 clear=0 +04:37:16.459 SCRIPT : Rereintroduced [sites]: transport parking=<5928,223.506,7196> radius=3 terrainRange=0.65625 obstructed=1 clear=0 +04:37:16.459 SCRIPT : Rereintroduced [sites]: transport parking=<5928,223.413,7204> radius=3 terrainRange=0.859375 obstructed=1 clear=0 +04:37:16.459 SCRIPT : Rereintroduced [sites]: transport parking=<5928,223.569,7212> radius=3 terrainRange=1.1875 obstructed=1 clear=0 +04:37:16.459 SCRIPT : Rereintroduced [sites]: transport parking=<5928,223.725,7220> radius=3 terrainRange=1.25 obstructed=1 clear=0 +04:37:16.459 SCRIPT : Rereintroduced [sites]: transport parking=<5928,223.413,7228> radius=3 terrainRange=1.14062 obstructed=1 clear=0 +04:37:16.460 SCRIPT : Rereintroduced [sites]: transport parking=<5928,223.319,7236> radius=3 terrainRange=1.5 obstructed=1 clear=0 +04:37:16.460 SCRIPT : Rereintroduced [sites]: transport parking=<5928,222.944,7244> radius=3 terrainRange=1.04688 obstructed=1 clear=0 +04:37:16.460 SCRIPT : Rereintroduced [sites]: transport parking=<5928,222.694,7252> radius=3 terrainRange=0.6875 obstructed=1 clear=0 +04:37:16.460 SCRIPT : Rereintroduced [sites]: transport parking=<5928,222.538,7260> radius=3 terrainRange=0.5625 obstructed=1 clear=0 +04:37:16.460 SCRIPT : Rereintroduced [sites]: transport parking=<5936,223.038,7180> radius=3 terrainRange=0.46875 obstructed=1 clear=0 +04:37:16.460 SCRIPT : Rereintroduced [sites]: transport parking=<5936,223.194,7188> radius=3 terrainRange=0.234375 obstructed=1 clear=0 +04:37:16.461 SCRIPT : Rereintroduced [sites]: transport parking=<5936,223.069,7196> radius=3 terrainRange=0.53125 obstructed=1 clear=0 +04:37:16.461 SCRIPT : Rereintroduced [sites]: transport parking=<5936,222.569,7204> radius=3 terrainRange=0.8125 obstructed=1 clear=0 +04:37:16.461 SCRIPT : Rereintroduced [sites]: transport parking=<5936,222.506,7212> radius=3 terrainRange=0.671875 obstructed=1 clear=0 +04:37:16.461 SCRIPT : Rereintroduced [sites]: transport parking=<5936,222.756,7220> radius=3 terrainRange=0.9375 obstructed=1 clear=0 +04:37:16.461 SCRIPT : Rereintroduced [sites]: transport parking=<5936,222.631,7228> radius=3 terrainRange=0.890625 obstructed=1 clear=0 +04:37:16.461 SCRIPT : Rereintroduced [sites]: transport parking=<5936,222.475,7236> radius=3 terrainRange=1 obstructed=1 clear=0 +04:37:16.461 SCRIPT : Rereintroduced [sites]: transport parking=<5936,221.975,7244> radius=3 terrainRange=0.65625 obstructed=1 clear=0 +04:37:16.462 SCRIPT : Rereintroduced [sites]: transport parking=<5936,222.006,7252> radius=3 terrainRange=0.8125 obstructed=1 clear=0 +04:37:16.462 SCRIPT : Rereintroduced [sites]: transport parking=<5936,221.819,7260> radius=3 terrainRange=0.703125 obstructed=1 clear=0 +04:37:16.462 SCRIPT : Rereintroduced [sites]: transport parking=<5944,222.413,7180> radius=3 terrainRange=0.953125 obstructed=1 clear=0 +04:37:16.462 SCRIPT : Rereintroduced [sites]: transport parking=<5944,222.881,7188> radius=3 terrainRange=0.734375 obstructed=1 clear=0 +04:37:16.462 SCRIPT : Rereintroduced [sites]: transport parking=<5944,222.725,7196> radius=3 terrainRange=1.34375 obstructed=1 clear=0 +04:37:16.462 SCRIPT : Rereintroduced [sites]: transport parking=<5944,221.725,7204> radius=3 terrainRange=0.65625 obstructed=1 clear=0 +04:37:16.462 SCRIPT : Rereintroduced [sites]: transport parking=<5944,221.725,7212> radius=3 terrainRange=0.765625 obstructed=1 clear=0 +04:37:16.463 SCRIPT : Rereintroduced [sites]: transport parking=<5944,221.663,7220> radius=3 terrainRange=0.625 obstructed=1 clear=0 +04:37:16.463 SCRIPT : Rereintroduced [sites]: transport parking=<5944,221.756,7228> radius=3 terrainRange=0.640625 obstructed=1 clear=0 +04:37:16.463 SCRIPT : Rereintroduced [sites]: transport parking=<5944,221.756,7236> radius=3 terrainRange=0.53125 obstructed=1 clear=0 +04:37:16.463 SCRIPT : Rereintroduced [sites]: transport parking=<5944,221.631,7244> radius=3 terrainRange=0.421875 obstructed=1 clear=0 +04:37:16.463 SCRIPT : Rereintroduced [sites]: transport parking=<5944,221.319,7252> radius=3 terrainRange=0.5625 obstructed=1 clear=0 +04:37:16.463 SCRIPT : Rereintroduced [sites]: transport parking=<5944,220.694,7260> radius=3 terrainRange=1.14062 obstructed=1 clear=0 +04:37:16.463 SCRIPT : Rereintroduced [sites]: transport parking=<5952,221.381,7180> radius=3 terrainRange=1.23438 obstructed=1 clear=0 +04:37:16.464 SCRIPT : Rereintroduced [sites]: transport parking=<5952,221.819,7188> radius=3 terrainRange=1.21875 obstructed=1 clear=0 +04:37:16.464 SCRIPT : Rereintroduced [sites]: transport parking=<5952,221.538,7196> radius=3 terrainRange=1.14062 obstructed=1 clear=0 +04:37:16.464 SCRIPT : Rereintroduced [sites]: transport parking=<5952,221.225,7204> radius=3 terrainRange=0.921875 obstructed=1 clear=0 +04:37:16.464 SCRIPT : Rereintroduced [sites]: transport parking=<5952,220.975,7212> radius=3 terrainRange=0.640625 obstructed=0 clear=1 +04:37:16.464 SCRIPT : ERR PARKING CANDIDATE: offset=<-8,0,-8> position=<5952,220.975,7212> +04:37:16.464 SCRIPT : Rereintroduced [sites]: transport parking=<5952,220.944,7220> radius=3 terrainRange=0.5625 obstructed=0 clear=1 +04:37:16.464 SCRIPT : ERR PARKING CANDIDATE: offset=<-8,0,0> position=<5952,220.944,7220> +04:37:16.464 SCRIPT : Rereintroduced [sites]: transport parking=<5952,221.038,7228> radius=3 terrainRange=0.59375 obstructed=1 clear=0 +04:37:16.465 SCRIPT : Rereintroduced [sites]: transport parking=<5952,221.163,7236> radius=3 terrainRange=0.484375 obstructed=0 clear=1 +04:37:16.465 SCRIPT : ERR PARKING CANDIDATE: offset=<-8,0,16> position=<5952,221.163,7236> +04:37:16.465 SCRIPT : Rereintroduced [sites]: transport parking=<5952,221.163,7244> radius=3 terrainRange=0.53125 obstructed=0 clear=1 +04:37:16.465 SCRIPT : ERR PARKING CANDIDATE: offset=<-8,0,24> position=<5952,221.163,7244> +04:37:16.465 SCRIPT : Rereintroduced [sites]: transport parking=<5952,220.881,7252> radius=3 terrainRange=1.125 obstructed=1 clear=0 +04:37:16.465 SCRIPT : Rereintroduced [sites]: transport parking=<5952,219.631,7260> radius=3 terrainRange=1.95312 obstructed=1 clear=0 +04:37:16.465 SCRIPT : Rereintroduced [sites]: transport parking=<5960,220.381,7180> radius=3 terrainRange=0.84375 obstructed=0 clear=1 +04:37:16.466 SCRIPT : ERR PARKING CANDIDATE: offset=<0,0,-40> position=<5960,220.381,7180> +04:37:16.466 SCRIPT : Rereintroduced [sites]: transport parking=<5960,220.85,7188> radius=3 terrainRange=0.859375 obstructed=1 clear=0 +04:37:16.466 SCRIPT : Rereintroduced [sites]: transport parking=<5960,220.569,7196> radius=3 terrainRange=1.04688 obstructed=1 clear=0 +04:37:16.466 SCRIPT : Rereintroduced [sites]: transport parking=<5960,220.413,7204> radius=3 terrainRange=0.765625 obstructed=0 clear=1 +04:37:16.466 SCRIPT : ERR PARKING CANDIDATE: offset=<0,0,-16> position=<5960,220.413,7204> +04:37:16.466 SCRIPT : Rereintroduced [sites]: transport parking=<5960,220.256,7212> radius=3 terrainRange=0.625 obstructed=0 clear=1 +04:37:16.466 SCRIPT : ERR PARKING CANDIDATE: offset=<0,0,-8> position=<5960,220.256,7212> +04:37:16.467 SCRIPT : Rereintroduced [sites]: transport parking=<5960,220.413,7228> radius=3 terrainRange=0.609375 obstructed=0 clear=1 +04:37:16.467 SCRIPT : ERR PARKING CANDIDATE: offset=<0,0,8> position=<5960,220.413,7228> +04:37:16.467 SCRIPT : Rereintroduced [sites]: transport parking=<5960,220.538,7236> radius=3 terrainRange=0.53125 obstructed=1 clear=0 +04:37:16.467 SCRIPT : Rereintroduced [sites]: transport parking=<5960,220.475,7244> radius=3 terrainRange=0.796875 obstructed=1 clear=0 +04:37:16.467 SCRIPT : Rereintroduced [sites]: transport parking=<5960,219.788,7252> radius=3 terrainRange=1.90625 obstructed=1 clear=0 +04:37:16.467 SCRIPT : Rereintroduced [sites]: transport parking=<5960,218.225,7260> radius=3 terrainRange=1.8125 obstructed=0 clear=0 +04:37:16.468 SCRIPT : Rereintroduced [sites]: transport parking=<5968,219.881,7180> radius=3 terrainRange=0.609375 obstructed=1 clear=0 +04:37:16.468 SCRIPT : Rereintroduced [sites]: transport parking=<5968,219.725,7188> radius=3 terrainRange=0.921875 obstructed=1 clear=0 +04:37:16.468 SCRIPT : Rereintroduced [sites]: transport parking=<5968,219.663,7196> radius=3 terrainRange=0.703125 obstructed=0 clear=1 +04:37:16.468 SCRIPT : ERR PARKING CANDIDATE: offset=<8,0,-24> position=<5968,219.663,7196> +04:37:16.468 SCRIPT : Rereintroduced [sites]: transport parking=<5968,219.569,7204> radius=3 terrainRange=0.625 obstructed=0 clear=1 +04:37:16.468 SCRIPT : ERR PARKING CANDIDATE: offset=<8,0,-16> position=<5968,219.569,7204> +04:37:16.468 SCRIPT : Rereintroduced [sites]: transport parking=<5968,219.538,7212> radius=3 terrainRange=0.546875 obstructed=0 clear=1 +04:37:16.469 SCRIPT : ERR PARKING CANDIDATE: offset=<8,0,-8> position=<5968,219.538,7212> +04:37:16.469 SCRIPT : Rereintroduced [sites]: transport parking=<5968,219.6,7220> radius=3 terrainRange=0.59375 obstructed=0 clear=1 +04:37:16.469 SCRIPT : ERR PARKING CANDIDATE: offset=<8,0,0> position=<5968,219.6,7220> +04:37:16.469 SCRIPT : Rereintroduced [sites]: transport parking=<5968,219.788,7228> radius=3 terrainRange=0.5625 obstructed=0 clear=1 +04:37:16.469 SCRIPT : ERR PARKING CANDIDATE: offset=<8,0,8> position=<5968,219.788,7228> +04:37:16.469 SCRIPT : Rereintroduced [sites]: transport parking=<5968,219.819,7236> radius=3 terrainRange=0.6875 obstructed=1 clear=0 +04:37:16.469 SCRIPT : Rereintroduced [sites]: transport parking=<5968,219.506,7244> radius=3 terrainRange=1.54688 obstructed=1 clear=0 +04:37:16.470 SCRIPT : Rereintroduced [sites]: transport parking=<5968,218.131,7252> radius=3 terrainRange=2.39062 obstructed=0 clear=0 +04:37:16.470 SCRIPT : Rereintroduced [sites]: transport parking=<5968,217.163,7260> radius=3 terrainRange=1.14062 obstructed=0 clear=0 +04:37:16.470 SCRIPT : Rereintroduced [sites]: transport parking=<5976,219.225,7180> radius=3 terrainRange=0.90625 obstructed=0 clear=1 +04:37:16.470 SCRIPT : ERR PARKING CANDIDATE: offset=<16,0,-40> position=<5976,219.225,7180> +04:37:16.470 SCRIPT : Rereintroduced [sites]: transport parking=<5976,218.913,7188> radius=3 terrainRange=0.640625 obstructed=0 clear=1 +04:37:16.470 SCRIPT : ERR PARKING CANDIDATE: offset=<16,0,-32> position=<5976,218.913,7188> +04:37:16.470 SCRIPT : Rereintroduced [sites]: transport parking=<5976,218.881,7196> radius=3 terrainRange=0.578125 obstructed=0 clear=1 +04:37:16.471 SCRIPT : ERR PARKING CANDIDATE: offset=<16,0,-24> position=<5976,218.881,7196> +04:37:16.471 SCRIPT : Rereintroduced [sites]: transport parking=<5976,218.85,7204> radius=3 terrainRange=0.53125 obstructed=0 clear=1 +04:37:16.471 SCRIPT : ERR PARKING CANDIDATE: offset=<16,0,-16> position=<5976,218.85,7204> +04:37:16.471 SCRIPT : Rereintroduced [sites]: transport parking=<5976,218.913,7212> radius=3 terrainRange=0.484375 obstructed=0 clear=1 +04:37:16.471 SCRIPT : ERR PARKING CANDIDATE: offset=<16,0,-8> position=<5976,218.913,7212> +04:37:16.471 SCRIPT : Rereintroduced [sites]: transport parking=<5976,219.038,7220> radius=3 terrainRange=0.5 obstructed=0 clear=1 +04:37:16.471 SCRIPT : ERR PARKING CANDIDATE: offset=<16,0,0> position=<5976,219.038,7220> +04:37:16.471 SCRIPT : Rereintroduced [sites]: transport parking=<5976,219.194,7228> radius=3 terrainRange=0.578125 obstructed=0 clear=1 +04:37:16.472 SCRIPT : ERR PARKING CANDIDATE: offset=<16,0,8> position=<5976,219.194,7228> +04:37:16.472 SCRIPT : Rereintroduced [sites]: transport parking=<5976,218.944,7236> radius=3 terrainRange=1.35938 obstructed=1 clear=0 +04:37:16.472 SCRIPT : Rereintroduced [sites]: transport parking=<5976,217.881,7244> radius=3 terrainRange=2.25 obstructed=1 clear=0 +04:37:16.472 SCRIPT : Rereintroduced [sites]: transport parking=<5976,216.506,7252> radius=3 terrainRange=1.64062 obstructed=0 clear=0 +04:37:16.472 SCRIPT : Rereintroduced [sites]: transport parking=<5976,216.194,7260> radius=3 terrainRange=0.671875 obstructed=0 clear=1 +04:37:16.472 SCRIPT : ERR PARKING CANDIDATE: offset=<16,0,40> position=<5976,216.194,7260> +04:37:16.472 SCRIPT : Rereintroduced [sites]: transport parking=<5984,218.444,7180> radius=3 terrainRange=0.4375 obstructed=0 clear=1 +04:37:16.472 SCRIPT : ERR PARKING CANDIDATE: offset=<24,0,-40> position=<5984,218.444,7180> +04:37:16.473 SCRIPT : Rereintroduced [sites]: transport parking=<5984,218.288,7188> radius=3 terrainRange=0.5 obstructed=0 clear=1 +04:37:16.473 SCRIPT : ERR PARKING CANDIDATE: offset=<24,0,-32> position=<5984,218.288,7188> +04:37:16.473 SCRIPT : Rereintroduced [sites]: transport parking=<5984,218.194,7196> radius=3 terrainRange=0.453125 obstructed=0 clear=1 +04:37:16.473 SCRIPT : ERR PARKING CANDIDATE: offset=<24,0,-24> position=<5984,218.194,7196> +04:37:16.473 SCRIPT : Rereintroduced [sites]: transport parking=<5984,218.256,7204> radius=3 terrainRange=0.453125 obstructed=0 clear=1 +04:37:16.473 SCRIPT : ERR PARKING CANDIDATE: offset=<24,0,-16> position=<5984,218.256,7204> +04:37:16.473 SCRIPT : Rereintroduced [sites]: transport parking=<5984,218.444,7212> radius=3 terrainRange=0.4375 obstructed=0 clear=1 +04:37:16.474 SCRIPT : ERR PARKING CANDIDATE: offset=<24,0,-8> position=<5984,218.444,7212> +04:37:16.474 SCRIPT : Rereintroduced [sites]: transport parking=<5984,218.6,7220> radius=3 terrainRange=0.390625 obstructed=1 clear=0 +04:37:16.474 SCRIPT : Rereintroduced [sites]: transport parking=<5984,218.475,7228> radius=3 terrainRange=1.09375 obstructed=1 clear=0 +04:37:16.474 SCRIPT : Rereintroduced [sites]: transport parking=<5984,217.506,7236> radius=3 terrainRange=1.98438 obstructed=1 clear=0 +04:37:16.474 SCRIPT : Rereintroduced [sites]: transport parking=<5984,216.288,7244> radius=3 terrainRange=1.59375 obstructed=1 clear=0 +04:37:16.474 SCRIPT : Rereintroduced [sites]: transport parking=<5984,215.631,7252> radius=3 terrainRange=0.765625 obstructed=0 clear=1 +04:37:16.474 SCRIPT : ERR PARKING CANDIDATE: offset=<24,0,32> position=<5984,215.631,7252> +04:37:16.475 SCRIPT : Rereintroduced [sites]: transport parking=<5984,215.538,7260> radius=3 terrainRange=0.546875 obstructed=0 clear=1 +04:37:16.475 SCRIPT : ERR PARKING CANDIDATE: offset=<24,0,40> position=<5984,215.538,7260> +04:37:16.475 SCRIPT : Rereintroduced [sites]: transport parking=<5992,218.006,7180> radius=3 terrainRange=0.34375 obstructed=0 clear=1 +04:37:16.475 SCRIPT : ERR PARKING CANDIDATE: offset=<32,0,-40> position=<5992,218.006,7180> +04:37:16.475 SCRIPT : Rereintroduced [sites]: transport parking=<5992,217.85,7188> radius=3 terrainRange=0.4375 obstructed=0 clear=1 +04:37:16.475 SCRIPT : ERR PARKING CANDIDATE: offset=<32,0,-32> position=<5992,217.85,7188> +04:37:16.475 SCRIPT : Rereintroduced [sites]: transport parking=<5992,217.725,7196> radius=3 terrainRange=0.265625 obstructed=0 clear=1 +04:37:16.476 SCRIPT : ERR PARKING CANDIDATE: offset=<32,0,-24> position=<5992,217.725,7196> +04:37:16.476 SCRIPT : Rereintroduced [sites]: transport parking=<5992,217.913,7204> radius=3 terrainRange=0.375 obstructed=0 clear=1 +04:37:16.476 SCRIPT : ERR PARKING CANDIDATE: offset=<32,0,-16> position=<5992,217.913,7204> +04:37:16.476 SCRIPT : Rereintroduced [sites]: transport parking=<5992,218.163,7212> radius=3 terrainRange=0.3125 obstructed=0 clear=1 +04:37:16.476 SCRIPT : ERR PARKING CANDIDATE: offset=<32,0,-8> position=<5992,218.163,7212> +04:37:16.476 SCRIPT : Rereintroduced [sites]: transport parking=<5992,218.1,7220> radius=3 terrainRange=1 obstructed=1 clear=0 +04:37:16.476 SCRIPT : Rereintroduced [sites]: transport parking=<5992,217.225,7228> radius=3 terrainRange=1.89062 obstructed=1 clear=0 +04:37:16.476 SCRIPT : Rereintroduced [sites]: transport parking=<5992,216.131,7236> radius=3 terrainRange=1.42188 obstructed=1 clear=0 +04:37:16.477 SCRIPT : Rereintroduced [sites]: transport parking=<5992,215.475,7244> radius=3 terrainRange=0.796875 obstructed=0 clear=1 +04:37:16.477 SCRIPT : ERR PARKING CANDIDATE: offset=<32,0,24> position=<5992,215.475,7244> +04:37:16.477 SCRIPT : Rereintroduced [sites]: transport parking=<5992,215.131,7252> radius=3 terrainRange=0.59375 obstructed=0 clear=1 +04:37:16.477 SCRIPT : ERR PARKING CANDIDATE: offset=<32,0,32> position=<5992,215.131,7252> +04:37:16.477 SCRIPT : Rereintroduced [sites]: transport parking=<5992,214.85,7260> radius=3 terrainRange=0.734375 obstructed=0 clear=1 +04:37:16.477 SCRIPT : ERR PARKING CANDIDATE: offset=<32,0,40> position=<5992,214.85,7260> +04:37:16.477 SCRIPT : Rereintroduced [sites]: transport parking=<6000,217.569,7180> radius=3 terrainRange=0.453125 obstructed=0 clear=1 +04:37:16.478 SCRIPT : ERR PARKING CANDIDATE: offset=<40,0,-40> position=<6000,217.569,7180> +04:37:16.478 SCRIPT : Rereintroduced [sites]: transport parking=<6000,217.538,7188> radius=3 terrainRange=0.34375 obstructed=0 clear=1 +04:37:16.478 SCRIPT : ERR PARKING CANDIDATE: offset=<40,0,-32> position=<6000,217.538,7188> +04:37:16.478 SCRIPT : Rereintroduced [sites]: transport parking=<6000,217.475,7196> radius=3 terrainRange=0.25 obstructed=0 clear=1 +04:37:16.478 SCRIPT : ERR PARKING CANDIDATE: offset=<40,0,-24> position=<6000,217.475,7196> +04:37:16.478 SCRIPT : Rereintroduced [sites]: transport parking=<6000,217.631,7204> radius=3 terrainRange=0.375 obstructed=1 clear=0 +04:37:16.479 SCRIPT : Rereintroduced [sites]: transport parking=<6000,217.756,7212> radius=3 terrainRange=1.28125 obstructed=1 clear=0 +04:37:16.479 SCRIPT : Rereintroduced [sites]: transport parking=<6000,216.694,7220> radius=3 terrainRange=2.14062 obstructed=1 clear=0 +04:37:16.479 SCRIPT : Rereintroduced [sites]: transport parking=<6000,215.694,7228> radius=3 terrainRange=1.32812 obstructed=1 clear=0 +04:37:16.479 SCRIPT : Rereintroduced [sites]: transport parking=<6000,215.413,7236> radius=3 terrainRange=0.71875 obstructed=0 clear=1 +04:37:16.479 SCRIPT : ERR PARKING CANDIDATE: offset=<40,0,16> position=<6000,215.413,7236> +04:37:16.479 SCRIPT : Rereintroduced [sites]: transport parking=<6000,215.069,7244> radius=3 terrainRange=0.640625 obstructed=0 clear=1 +04:37:16.479 SCRIPT : ERR PARKING CANDIDATE: offset=<40,0,24> position=<6000,215.069,7244> +04:37:16.480 SCRIPT : Rereintroduced [sites]: transport parking=<6000,214.631,7252> radius=3 terrainRange=0.84375 obstructed=0 clear=1 +04:37:16.480 SCRIPT : ERR PARKING CANDIDATE: offset=<40,0,32> position=<6000,214.631,7252> +04:37:16.480 SCRIPT : Rereintroduced [sites]: transport parking=<6000,214.1,7260> radius=3 terrainRange=0.875 obstructed=0 clear=1 +04:37:16.480 SCRIPT : ERR PARKING CANDIDATE: offset=<40,0,40> position=<6000,214.1,7260> +04:37:16.480 SCRIPT : ERR PARKING SURVEY: clear=43; no scenery removed and no transport spawned +04:37:16.480 SCRIPT : ERR SMOKE PASS: transport parking survey completed +04:37:16.480 SCRIPT : ERR SMOKE COMPLETE: bounded transport parking survey diff --git a/docs/evidence/native-2026-09-19-043631-parking-survey/source-sha256.json b/docs/evidence/native-2026-09-19-043631-parking-survey/source-sha256.json new file mode 100644 index 0000000..0a9847a --- /dev/null +++ b/docs/evidence/native-2026-09-19-043631-parking-survey/source-sha256.json @@ -0,0 +1,115 @@ +{ + "addons/ai/Prefabs/ERR/MortarCrew.et": "05d3e7353ff9fe5523218a1487b31b7b742b0be8adbcb060c7099978cf008bce", + "addons/ai/Prefabs/ERR/MortarCrew.et.meta": "fdfd4fcd21a67c3d698fa4aadc4e5c76e665cebf4be86013bc389e493fab63cc", + "addons/ai/Scripts/Game/ERR/ERR_HQ.c": "ceafd6740ed277748744ce56ac0f0bb3a8521fcc060dafb2cdb99896aedf405a", + "addons/ai/Scripts/Game/ERR/ERR_HQJournal.c": "b3e402cfe92d415f37f666045afb062e6e11670ba03a0ca6f2d9fd4fc3520ac1", + "addons/ai/Scripts/Game/ERR/ERR_HQNetwork.c": "92ff2caca52e94c2cc9642dfc8509ce6e9349b257012bade8650bace9231128c", + "addons/ai/Scripts/Game/ERR/ERR_HQObservation.c": "36c978ec5f052213ac1236e1398d85063efbfd7ef60fe04f1fc11447fefe1d68", + "addons/ai/Scripts/Game/ERR/ERR_HQReport.c": "c4d16ccb571db4d9444c0a8d2be7318845d25ff90238b6d304e96a9ea19f1a08", + "addons/ai/Scripts/Game/ERR/ERR_HelicopterAvailability.c": "60eaef2f6d4b2fd44861c5a4434ef97e732e40a5ff7401e2da451ed2dd9c2762", + "addons/ai/Scripts/Game/ERR/ERR_MortarBattery.c": "66b8f16b692a0f75fc9d920f5224d9292a0f1dc7dd8b2dde912e676fa80ddc9c", + "addons/ai/Scripts/Game/ERR/ERR_MortarFiring.c": "657e96d1112b68c8ced37793e99f88e6078b38a579190e63d00b1f9a9a032e26", + "addons/ai/Scripts/Game/ERR/ERR_MortarPrediction.c": "470dd196ed64800c697d24c09d1344bacd2502587fac76af4ee0edae2563092d", + "addons/ai/Scripts/Game/ERR/ERR_MortarSalvo.c": "697c01f479df6c505a41d984a29c02002e3052114dafa2ec6252ae55e2979a2b", + "addons/ai/Scripts/Game/ERR/ERR_MortarSystem.c": "12d8fc39d47e03c3838e0642aa9e4a80baf60f250357493bff812d5c75812c86", + "addons/ai/Scripts/Game/ERR/ERR_SettlementSafety.c": "e5c0ebc95521a9a33a3f7d9cca6c551dda862a08b7af20b017877aba9584795b", + "addons/ai/Scripts/Game/ERR/ERR_SupportScenario.c": "71757018ec9716c4dc24f62a292a214919d3fd5daed3c16e03e56abd208e9f03", + "addons/ai/addon.gproj": "5f559db8f526700db11e6ae763f5245f19b7006fc68c56e4c09fb6f940bdf2a1", + "addons/chat/Missions/ERR_Everon.conf": "76f3ac0d21b585654beac7ddd68e3c8cbdd66dbfe909b17b04838fa813a7c29b", + "addons/chat/Missions/ERR_Everon.conf.meta": "0a23c98bf83873536c65fa17d38dea33a1d7b9e4ab210f90633ff688abcc551f", + "addons/chat/Scripts/Game/ERR/ERR_AdminCommands.c": "7ea6d6b240524cf0193c86fcab861fbdef9adca780acff11ee73f9ed0e99ce7b", + "addons/chat/Scripts/Game/ERR/ERR_NativeMortarProbe.c": "ddb892141500c192c0787b011d57dd8c07dd8c9a3ca5fdc407f6c271897bde0a", + "addons/chat/Scripts/Game/ERR/ERR_NativeRadioProbe.c": "84524163c63402755b4f834f74dfe6d8e5c397dc26031f532593c6f79f5a93b1", + "addons/chat/Scripts/Game/ERR/ERR_NativeSmoke.c": "0ab2fed95dcaa0442cf7feb25743308060d58497e347f17dbd25c8e970a9f81f", + "addons/chat/Scripts/WorkbenchGame/ERR/ERR_ValidateWorldPlugin.c": "81c92d408ce88cc9f98d6053f1d0c863427693ba748f00df9f1bf8079015ef94", + "addons/chat/addon.gproj": "ea1587e0174cf795334d306c71d99b06797fc891427cd57b6cab6e21cf0e4e0e", + "addons/core/Configs/ERR/EveronSites.conf": "9b7915dd0431090c11921ee3f00c92775d463f62631a2d89546421b688615d54", + "addons/core/Configs/ERR/EveronSites.conf.meta": "d5fe68025ef4e7c1e16082cf5873b7c7172eacbfaef4ab29b7e0e3c98f8dca56", + "addons/core/Configs/ERR/GameOverScreens.conf": "45231061911a1462d45fb6db0fecc2b0793f17b5ae71017174954ff4fbd20236", + "addons/core/Configs/ERR/GameOverScreens.conf.meta": "eb654b745c0b97b41c991694569ef4877a3c2315e0826f9556337cd68690843e", + "addons/core/Configs/ERR/VanillaFactions.conf": "f8b8b9898a16b4a4a55ab3c12d2547bef2dc433732c7643df980cb3aca715212", + "addons/core/Configs/ERR/VanillaFactions.conf.meta": "ac77725c0c21974991ef47a466b88122e939de8b46fd23e68889e7674cbb2bfd", + "addons/core/Missions/ERR_Everon_Base.conf": "1e6a0e9a756d15495201f71121626890f01efe6b00154c561672d4ec157960bd", + "addons/core/Missions/ERR_Everon_Base.conf.meta": "9b16267c644d815bcf98a3a3aaff30b93d7224fb24d3a2bac66730a28011f317", + "addons/core/Prefabs/ERR/Extraction.et": "1aa286ef253c5410f09fa641e4be91a7be8ec834487a7fbb74cfb45cab60ee1e", + "addons/core/Prefabs/ERR/Extraction.et.meta": "c2a838633001e2e3a202d39cb33aa744ebcd996017ad032359069641b5d13853", + "addons/core/Prefabs/ERR/FieldCover.et": "20f8095e69dbfe3db74ff19078e528ea75405362b335e03560ccd61f8df2e7f3", + "addons/core/Prefabs/ERR/FieldCover.et.meta": "83461ffa76244e1d69f20b053a9741ccdf7d127009182bd540a7e5ba6150c3d9", + "addons/core/Prefabs/ERR/GameMode.et": "385c97a5b8067091d92aa60c2d4fcf02002cf606b95523866ead65c96b8c0029", + "addons/core/Prefabs/ERR/GameMode.et.meta": "106769cd34525c9d440057072836cb7401a6752148c40edd7fe61c03bd58328c", + "addons/core/Prefabs/ERR/ObjectiveDocument.et": "2e72270bf186654af12d2c3ff9bf940690b03fb17fca44f873c1fde5d11384c0", + "addons/core/Prefabs/ERR/ObjectiveDocument.et.meta": "eaba9903be147b98a1106e2273e2270773df73b9b22f2cd4e20136a8e281382e", + "addons/core/Prefabs/ERR/Patrol.et": "c5685a8bc311cc5563fb3334beec9408d3d7a1069152fddeeb7df4f1b7f9e6ce", + "addons/core/Prefabs/ERR/Patrol.et.meta": "7c5da568fa2fcf0709ee2959253cb068d7c7ed7c2467af3b247a7e70efd96b69", + "addons/core/Prefabs/ERR/Prison.et": "1503db1441d8cd7a4f0b45c27ba9623b9fa39f0f81016e180bd2aa1379e1f42a", + "addons/core/Prefabs/ERR/Prison.et.meta": "2e426ef3de68f4107907854b51e818bc11d84649a01c538e3f18dd9ebec766bb", + "addons/core/Prefabs/ERR/PrisonDoor.et": "fc66be9d36f1f01084de59f1b0a1e8817f9e46547ead33d4fafaac0107446c40", + "addons/core/Prefabs/ERR/PrisonDoor.et.meta": "b8f3db52bf186426026668fbb9d633c3cbd4d438ab301fba880398f6a0e781c2", + "addons/core/Prefabs/ERR/PrisonWall.et": "8009d19365ae72a4749d7ad4fa04662575b06c65c6bf06507d380d57258b5eed", + "addons/core/Prefabs/ERR/PrisonWall.et.meta": "0294bc5dbb56f90f8153d62459bb0a6ad91d76a479812bbec9c7db182fdb58d6", + "addons/core/Prefabs/ERR/Radio.et": "b4b5cfe125b39019855816c9a1c508ca4d65d435b5546fdaa6c1fa3c8c9b1165", + "addons/core/Prefabs/ERR/Radio.et.meta": "bc91137b68ba550217914fb8892bb44d7e1920e4a1086f3e506623832a44212f", + "addons/core/Prefabs/ERR/SpectatorCamera.et": "b5b87d5b7b707f3745741aebe7c923067c8a74f8fbb2a4711834bab03bb5a812", + "addons/core/Prefabs/ERR/SpectatorCamera.et.meta": "2a16558f93915e31908a674509e9c89976470f78a84a1174a64b94b68b8f77ad", + "addons/core/Prefabs/ERR/SupplyCache.et": "bccf7afbaae97cfcdd78dd6dbbf4be5b2c045d348f50fe4581962e556c0044d7", + "addons/core/Prefabs/ERR/SupplyCache.et.meta": "2f5de3a4aab1e9d0e35521f48dc57b95bd6e449c383dec4f1c258e10295904cb", + "addons/core/Prefabs/ERR/SupplySite.et": "dc5decce5cabf39b6116e8794ec3960cb1e35761854fdbe69740da118787ded4", + "addons/core/Prefabs/ERR/SupplySite.et.meta": "b41944b12eb3528ff7a3ac94258b18c66ef161aa6a38894aee300a1ac4798630", + "addons/core/Scripts/Game/ERR/ERR_Actions.c": "adf93245e6d78c59b9839599d157a0d2b2b93ea93b3d1ae52e2904dd6c288266", + "addons/core/Scripts/Game/ERR/ERR_Actors.c": "b3c5aabb05f7cf35167bc09b5db51a4ffd89a46658805d6eedbfb80eee30273d", + "addons/core/Scripts/Game/ERR/ERR_AdminService.c": "047c14ce60cc0b167e202438f8f2b1063590e69ef88ea55b54598aea5f99c505", + "addons/core/Scripts/Game/ERR/ERR_DiscoveryMap.c": "2f4ea342fea0530061456be9cdce002d5e7a282e4e27eb88f3860e79f93612bf", + "addons/core/Scripts/Game/ERR/ERR_DiscoveryService.c": "6b5679447fe4a6d7d54c0545881ab56284f871556b3159207d421247f419eada", + "addons/core/Scripts/Game/ERR/ERR_DocumentComponent.c": "17bb76b80ebd3357e46d553c44674f602c7bd6901c92aec53ac8214194aa4ff2", + "addons/core/Scripts/Game/ERR/ERR_EscapeGameOverScreenInfo.c": "b1e1afb7795cb77c0bad94c85abf705b26b9dc2a9400905d80eafd56bdd009d3", + "addons/core/Scripts/Game/ERR/ERR_ExtractionService.c": "91357099b4e0401196b67d48963be54be30e56bdba57cdac67dc20b8ebb883e9", + "addons/core/Scripts/Game/ERR/ERR_FactionCatalog.c": "a5a8c53acf21259e14f59cb919535910f30dabff5a9179c664bc6a7a4d744d6e", + "addons/core/Scripts/Game/ERR/ERR_GameMode.c": "d766d1639378070bea64eef38baa4667f8b9f5f1a2a7b170f0fc5e8fd557917d", + "addons/core/Scripts/Game/ERR/ERR_Location.c": "d2035f56ded35743312ec6ca91a67f8623a466c91255e1893c570edf0954ff24", + "addons/core/Scripts/Game/ERR/ERR_MissionRules.c": "f7abc38ad8fdc375ce7fa63a65f0bade027d22b37e09de5e3f94ba8c3c63cc41", + "addons/core/Scripts/Game/ERR/ERR_NativeBaseSmoke.c": "60a573d974b4862b1b66e9cb0ef2ee7d056f698cf1e4f5af5233bde7c59e931f", + "addons/core/Scripts/Game/ERR/ERR_NativeContractsProbe.c": "d1556df885171cf967e96eef5d8981a2e9ee4e3938b7d32fdd0426f647bbabc0", + "addons/core/Scripts/Game/ERR/ERR_NativeDefinitionProbe.c": "d05ef8368ef5afa68e29f45843cb1878b5a09be768f8abdff2f4115c23759b01", + "addons/core/Scripts/Game/ERR/ERR_NativeExtractionProbe.c": "4b09385f73206de004f4f3c38a6192fd658a0d2012482dc5a84dff1599ceb972", + "addons/core/Scripts/Game/ERR/ERR_NativeObjectiveProbe.c": "451f46d9a51753841046698911ee9954088214b6df856776a316865466fbce0f", + "addons/core/Scripts/Game/ERR/ERR_NativeRadioDefenceProbe.c": "629917af38af5b5e34198ff5a5c0da7e48edf1c33d95bb278cceb3cc31028f5d", + "addons/core/Scripts/Game/ERR/ERR_NativeResultProbe.c": "b9a117eef2d5f65fbd792041a2b3e59e38e201bda8e0df8c503e1a1242cfc415", + "addons/core/Scripts/Game/ERR/ERR_NativeSiteSurvey.c": "ac0203753ade0cdff6d483132797a80e4520f14546c3f9dea288281cd4cd9c4f", + "addons/core/Scripts/Game/ERR/ERR_NativeStationTeardownDiagnostic.c": "c01cbdbfe25fd38916fa74f2c02333baaacd5228686fd6e40b33c27b3cea8ed8", + "addons/core/Scripts/Game/ERR/ERR_NativeTimeProbe.c": "c93d049785971e51246fcc07cf24804270a752a655505f2c38e48c80df5255ae", + "addons/core/Scripts/Game/ERR/ERR_NativeTransportProbe.c": "63ec0c5ce698114daa6314b2a6e3c3e98e76094117c477f9d0d072260686d193", + "addons/core/Scripts/Game/ERR/ERR_NativeTransportSurvey.c": "3e94493bf54d15be2bceb106ad18873e14e6755af09c05f07db7fb26fb7adff5", + "addons/core/Scripts/Game/ERR/ERR_ObjectiveDetails.c": "900bdcd11075230e0d311ca8725c1d7938cb2a4efa71360709003d90092a7e69", + "addons/core/Scripts/Game/ERR/ERR_ObjectiveText.c": "bbb29949194637e6781316836c895e2c0fa7ccdb547d4d944a717da2ad73b0a2", + "addons/core/Scripts/Game/ERR/ERR_Objectives.c": "88d95a52fcba103483ea751571e1afeae0e6fc82115ed50d6fc195424726960f", + "addons/core/Scripts/Game/ERR/ERR_Observer.c": "b719e723369ab4f403950c85226e1336eb48e3c127e84530ac1c695eb86bd0f9", + "addons/core/Scripts/Game/ERR/ERR_PlayerAdminCommands.c": "a084d7dc097dfcde3d6cd9c2e326b9e2f8f2a519f77b30c4f56ab7a1429aa721", + "addons/core/Scripts/Game/ERR/ERR_PlayerEscapeResult.c": "3124ab4d2d6d471409a47aba0af528790734df53243c03fe0cdac3e407047c14", + "addons/core/Scripts/Game/ERR/ERR_PlayerGuide.c": "2c9c365b88651f8b12618443638bf52c04e497221592bd483c33447e30468f36", + "addons/core/Scripts/Game/ERR/ERR_PlayerRoster.c": "a737ba739b3f73a91cd05d808a1d45070e83b5152c003c3164e29842dda51995", + "addons/core/Scripts/Game/ERR/ERR_RadioDefenceService.c": "85eb9c1b65d5987799927b6d8786b7299fcff849bcb15b91f8a4d1aa95823fd1", + "addons/core/Scripts/Game/ERR/ERR_Resources.c": "8a5314944f75b23982c6b99697045e3c0538aa2137b2c947a5b2411e6076ac03", + "addons/core/Scripts/Game/ERR/ERR_ScenarioComponent.c": "abba03af68323d5715ba1e2497fc66f3c706e6a6a983c3a386228abdfddeec89", + "addons/core/Scripts/Game/ERR/ERR_Settings.c": "2aee784e44c732e09f59150896491ab325ef5e62aa6bad725be1fda955a3f614", + "addons/core/Scripts/Game/ERR/ERR_SiteDefinition.c": "75b5121ceab77f0956f0dc34bd077b11af5586350de52321800427f18cc94477", + "addons/core/Scripts/Game/ERR/ERR_SiteService.c": "576792875407891d1bb78545abb6d669e10ef51afe5b181f4aa7827fc233a0ee", + "addons/core/Scripts/Game/ERR/ERR_SpawnLogic.c": "f84f0c22562912c020e8be81748f36a883dd265d8d9786d0548f32bda5b4b92e", + "addons/core/Scripts/Game/ERR/ERR_Supplies.c": "752e8a56b0b8cde33cf532032cb0a203553017b686faac2e19bee06f7a9c0713", + "addons/core/Scripts/Game/ERR/ERR_TimeService.c": "d9f481b7da01e08d2c982a948c18ba6bde76889d7cc9d26d510708f4ba479453", + "addons/core/Scripts/WorkbenchGame/ERR/ERR_ValidateBaseWorldPlugin.c": "7f44aa64ea7b4f8b3640a37a4b781c43bf6adb80e4a3a702d9491131698056f6", + "addons/core/Worlds/ERR_Everon.ent": "22324bc7eb0d80dec8a1f3bd61a9df9201b72f749f4e751766b0c9d0b7d46b87", + "addons/core/Worlds/ERR_Everon.ent.meta": "19d1903ca72baa326b4724a6791d0da1104a1e53f3f31dc1ca41a856efd68e83", + "addons/core/Worlds/ERR_Everon_Layers/default.layer": "f1a058bd315c7d01d464715ac9f4e18ae3d2432551d094a9afbd4c9c5a2a9416", + "addons/core/addon.gproj": "231274e6b62302f32c65f9ff31de2ce8a9e51e1c8d12c87deeec82ae1f40de46", + "addons/intel/Scripts/Game/ERR/ERR_IntelService.c": "482839434b94e7f8c345d5fd96490aeebb765f3dd0c1bb25fceea2f435c0e722", + "addons/intel/addon.gproj": "d0ced242cefb220a5cccd6779d61fda9bc55581701b9f78bcf13c09d92ddbcbe", + "addons/map/Materials/ERRM_MapRenderTarget.emat": "9877c5b175c5f30dd80bea36c711b21ab38219aa7075adf9ae79932e1d4c76bc", + "addons/map/Materials/ERRM_MapRenderTarget.emat.meta": "5ee1a705f8011a44020ca2691f5ccc17d44bf596fef9a36e98d1f267eb58fab0", + "addons/map/Prefabs/Items/Equipment/ERRM_SharedFieldMap.et": "30dee8e9eab459ea32a7d835a9fb89d43df47708057cab829f067b25a24cd581", + "addons/map/Prefabs/Items/Equipment/ERRM_SharedFieldMap.et.meta": "59093e9072c50d99c86da7609c87541016da5bcf92b98d99db4c524e1c8e0e8d", + "addons/map/Scripts/Game/ERR/ERR_ScenarioMap.c": "75fa1d742129ef7f33c005cd48f56db7f49ee7bde3c5428532b0b501b032b0a3", + "addons/map/Scripts/Game/ERRMap/ERRM_SharedMapComponent.c": "fc1a0c7df4fc96da446d7542a45a10fbec1eda1e543ba2f0581cb772277a47c5", + "addons/map/UI/layouts/ERRMap/SharedMapRenderTarget.layout": "49a2da4181b94d42174f58c7f9b6bf2207116c99427d61ff1c212092ac7db4d2", + "addons/map/UI/layouts/ERRMap/SharedMapRenderTarget.layout.meta": "5c846445cc089e2e08899ba703059d4adb805ff30ab5a16409a3cd59718cbd54", + "addons/map/addon.gproj": "1b371e5e01ea9fa46e76570fecb8aaa3a9298e34cba7ccca8a6bdb5ca86eb46a" +} diff --git a/docs/evidence/native-2026-09-19-043806-transport-readiness-failure/console.log.txt b/docs/evidence/native-2026-09-19-043806-transport-readiness-failure/console.log.txt new file mode 100644 index 0000000..64a5961 --- /dev/null +++ b/docs/evidence/native-2026-09-19-043806-transport-readiness-failure/console.log.txt @@ -0,0 +1,377 @@ +--------------------------------------------- +Log Z:\tmp\erri-workbench-profile\logs\logs_2026-09-19_04-38-06\console.log started at 2026-09-19 04:38:06 (2026-09-19 02:38:06 UTC) + +04:38:06.194 ENGINE : FileSystem: Adding relative directory 'Z:\tmp\erri-workbench-profile\logs\logs_2026-09-19_04-38-06' to filesystem under name logs +04:38:06.194 ENGINE : FileSystem: Adding relative directory 'Z:\tmp\erri-workbench-profile\profile' to filesystem under name profile +04:38:06.194 ENGINE : FileSystem: Current working directory: 'Z:\home\jakub\.local\share\Steam\steamapps\common\Arma Reforger Tools\Workbench\' +04:38:06.196 PROFILING : Workbench Create Engine took: 9.417700 ms +04:38:07.233 INIT : INIT : Workbench Init Engine +04:38:07.233 ENGINE : Initializing engine, version 192142 +04:38:07.233 ENGINE : CLI Params: -gproj Z:/home/jakub/devel/escapistsrereintroduced/addons/core/addon.gproj -addonsDir Z:/home/jakub/devel/escapistsrereintroduced/addons -profile Z:/tmp/erri-workbench-profile -logconsole -wbModule WorldEditor -load Worlds/ERR_Everon.ent -plugin ERR_ValidateBaseWorldPlugin -errPlay 1 -errBaseSmoke 1 -errSmokeOutcome transport-loss -noThrow -errStationTeardownDiag 1 +04:38:07.242 ENGINE : Addon dirs: +04:38:07.242 ENGINE : dir: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/core/' +04:38:07.242 ENGINE : dir: 'Z:/home/jakub/devel/escapistsrereintroduced/addons' +04:38:07.242 ENGINE : dir: './addons' +04:38:07.242 ENGINE : dir: 'Z:/tmp/erri-workbench-profile/addons' +04:38:07.242 ENGINE : Available addons: +04:38:07.242 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/core/addon.gproj' guid: '2528466DE220D91C' +04:38:07.242 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/ai/addon.gproj' guid: '5192138CB9D5B911' +04:38:07.242 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/chat/addon.gproj' guid: 'FA804F411BDDF2C6' +04:38:07.242 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/intel/addon.gproj' guid: 'D31039C7C53E348A' +04:38:07.242 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/map/addon.gproj' guid: '9AAEE9041D79809E' +04:38:07.242 ENGINE : gproj: './addons/core/core.gproj' guid: '5614BBCCBB55ED1C' (packed) +04:38:07.242 ENGINE : gproj: 'Z:/tmp/erri-workbench-profile/addons/ArmaReforger/ArmaReforger.gproj' guid: '58D0FB3206B6F859' (packed) +04:38:07.242 ENGINE : FileSystem: Adding relative directory 'Z:\home\jakub\devel\escapistsrereintroduced\addons\core' to filesystem under name ERR_Core +04:38:07.360 ENGINE : FileSystem: Adding package 'Z:/tmp/erri-workbench-profile/addons/ArmaReforger/' (pak count: 14) to filesystem under name ArmaReforger +04:38:07.363 ENGINE : FileSystem: Adding package './addons/core/' (pak count: 2) to filesystem under name core +04:38:07.363 ENGINE : CPU vendor : AuthenticAMD +04:38:07.363 ENGINE : CPU type : 2 +04:38:07.363 ENGINE : CPU name : AMD Ryzen 7 3800XT 8-Core Processor +04:38:07.363 ENGINE : CPU cache info : L1 [Inst 32KB, Data 32KB], L2 [Unif 512KB], L3 [Unif 16384KB] +04:38:07.363 ENGINE : CPU count logical : 16 +04:38:07.363 ENGINE : CPU count physical : 8 +04:38:07.363 ENGINE : CPU features : mmx sse sse2 sse3 ssse3 sse4_1 sse4_2 popcnt aesni pclmulqdq osxsave avx sha avx2 +04:38:07.363 RESOURCES : ResourceDB: loading cache (id=0 name=ERR_Core path=Z:\home\jakub\devel\escapistsrereintroduced\addons\core/resourceDatabase.rdb) +04:38:07.364 RESOURCES : ResourceDB: loading cache (id=1 name=ArmaReforger path=Z:/tmp/erri-workbench-profile/addons/ArmaReforger/resourceDatabase.rdb) +04:38:07.496 RESOURCES : ResourceDB: loading cache (id=2 name=core path=./addons/core/resourceDatabase.rdb) +04:38:07.497 RESOURCES : ResourceDB: loading cache (id=3 name=profile path=Z:\tmp\erri-workbench-profile\profile/resourceDatabase.rdb) +04:38:07.497 RESOURCES : ResourceDB: loading cache (id=4 name=logs path=Z:\tmp\erri-workbench-profile\logs\logs_2026-09-19_04-38-06/resourceDatabase.rdb) +04:38:07.650 RESOURCES : RESOURCES : ResourceDB: full scan +04:38:07.654 RESOURCES : RESOURCES : scanning... +04:38:07.654 RESOURCES : RESOURCES : scanning @"ERR_Core" +04:38:07.657 RESOURCES : RESOURCES : scanning @"ArmaReforger" +04:38:07.792 RESOURCES : RESOURCES : scanning @"core" +04:38:07.796 RESOURCES : RESOURCES : scanning @"profile" +04:38:07.796 RESOURCES : RESOURCES : scanning @"logs" +04:38:07.797 RESOURCES : RESOURCES : processing meta-files... +04:38:07.862 RESOURCES : RESOURCES : processing files... +04:38:07.873 INIT : Workbench startup +04:38:07.873 INIT : Workbench Init Engine +04:38:07.873 RESOURCES : ResourceDB: full scan +04:38:07.873 RESOURCES : processing files... +04:38:07.873 RESOURCES (W): resource not registered: @"$profile:rereintroduced.json". Setting null GUID +04:38:07.873 RESOURCES : RESOURCES : processing folders... +04:38:07.879 RESOURCES : RESOURCES : creating GUID-item mapping... +04:38:07.894 RESOURCES : RESOURCES : building tree... +04:38:07.953 PROFILING : ResourceDB: full scan took: 302.799900 ms +04:38:07.954 RESOURCES : ResourceDB: saving cache (id=0 name=ERR_Core path=Z:\home\jakub\devel\escapistsrereintroduced\addons\core/resourceDatabase.rdb) +04:38:07.955 RESOURCES : ResourceDB: written 3823/3823 bytes +04:38:07.955 RESOURCES : ResourceDB: cache successfully saved +04:38:07.956 RESOURCES : ResourceDB: saving cache (id=3 name=profile path=Z:\tmp\erri-workbench-profile\profile/resourceDatabase.rdb) +04:38:07.957 RESOURCES : ResourceDB: written 206/206 bytes +04:38:07.957 RESOURCES : ResourceDB: cache successfully saved +04:38:07.957 RESOURCES : ResourceDB: saving cache (id=4 name=logs path=Z:\tmp\erri-workbench-profile\logs\logs_2026-09-19_04-38-06/resourceDatabase.rdb) +04:38:07.958 RESOURCES : ResourceDB: written 81/81 bytes +04:38:07.958 RESOURCES : ResourceDB: cache successfully saved +04:38:07.958 ENGINE : GameProject load +04:38:07.958 ENGINE : Loaded addons: +04:38:07.958 ENGINE : gproj: './addons/core/core.gproj' guid: '5614BBCCBB55ED1C' +04:38:07.958 ENGINE : gproj: 'Z:/tmp/erri-workbench-profile/addons/ArmaReforger/ArmaReforger.gproj' guid: '58D0FB3206B6F859' +04:38:07.958 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/core/addon.gproj' guid: '2528466DE220D91C' +04:38:07.960 ENGINE : Loading custom engine user config '$profile:.save/app1874910_user76561198020202999/settings/ReforgerEngineSettings.conf' +04:38:07.960 INIT : GameProject engine user settings load @"$profile:.save/app1874910_user76561198020202999/settings/ReforgerEngineSettings.conf" +04:38:07.960 ENGINE : Engine user settings config loaded +04:38:07.960 PROFILING : Settings changed took: 0.001800 ms +04:38:08.062 RENDER : (OK) Adapter 'AMD Radeon RX 6950 XT (RADV NAVI21)' supports feature level 12_0 +04:38:08.064 RENDER : Basic screen setup: +04:38:08.064 RENDER : Back buffer format : TEXFMT_R8G8B8A8_SRGB (29) +04:38:08.064 RENDER : MSAA : none +04:38:08.078 RENDER : AMD AGS library initialized, version 6.1.0 x DLL 6.1.0 +04:38:08.078 RENDER : Extendeded AMD info for AMD Radeon RX 6950 XT (RADV NAVI21) (primary device) +04:38:08.078 RENDER : * architecture RDNA2, 80 CUs, 40 WGPs (for RDNA), 64 ROPs +04:38:08.078 RENDER : * core clocks 2720 MHz, memory 1124 MHz +04:38:08.078 RENDER : * TFlops 27.9, memory bandwidth (562.0 GB/s) +04:38:08.078 RENDER : AMD AGS correctly initialized +04:38:08.079 RENDER : GPU_ATI (0x1002) (AMD Radeon RX 6950 XT (RADV NAVI21)) with 1 GPU detected, VRAM 16128MB (fast 0MB), shared 64362MB, driver version 99.19.02-230831a-396538C-AMD-Software-Adrenalin-Edition +04:38:08.079 RENDER : Detected output devices: +04:38:08.079 RENDER : * 1 device/s connected to AMD Radeon RX 6950 XT (RADV NAVI21): +04:38:08.079 RENDER : Generic Non-PnP Monitor (\\.\DISPLAY1), 1280x720 (offset 0x0), 30Hz +04:38:08.079 RENDER : Concurrent frames limit 2 +04:38:08.168 RENDER : DX12 device successfully created by AMD AGS library +04:38:08.168 RENDER : * user markers not supported in this version AMD SW +04:38:08.168 RENDER : Graphics device features +04:38:08.168 RENDER : Needed: +04:38:08.168 RENDER : * Highest supported shader model: 6.8 (6.0 needed) +04:38:08.168 RENDER : Optional: +04:38:08.168 RENDER : * Allow tearing (VSYNC) : 1 +04:38:08.168 RENDER : * 16 bits : 1 +04:38:08.168 RENDER : * Resource heap tier : 3 +04:38:08.168 RENDER : * Persistent heaps (DRED) : 1 +04:38:08.168 RENDER : * DRED 1.2 is supported by compiler +04:38:08.194 RENDER : Main RT format setup. +04:38:08.194 RENDER : Main RT format for quality 0 : TEXFMT_R11G11B10_FLOAT (26) +04:38:08.194 RENDER : Main RT format for quality 1 : TEXFMT_R16G16B16A16_FLOAT (10) +04:38:08.196 ENGINE : Job system settings: coreCount=16, shortJobContextCount=16, shortJobThreadCount=15, longJobThreadCount=16 +04:38:08.231 PROFILING : Settings changed took: 0.022200 ms +04:38:08.669 AUDIO : Endpoint: Speakers (PulseAudio Output) +04:38:08.669 AUDIO : Format: Channels: 2, Sample rate: 48kHz, Avg. bytes: 384kB, Sample bits: 32, Block align: 8B +04:38:08.669 AUDIO : Audio client: +04:38:08.669 AUDIO : Format: Channels: 2, Sample rate: 48kHz, Buffer size: 1536B, Frame: 512 +04:38:08.672 RENDER : RENDER : Reload shaders +04:38:08.672 RENDER : Enfusion shader version 13 +04:38:08.672 INIT : INIT : ShaderListReload +04:38:08.672 PROFILING : ShaderListReload took: 0.000400 ms +04:38:08.811 AUDIO : Endpoint: Speakers (PulseAudio Output) +04:38:08.811 AUDIO : Format: Channels: 2, Sample rate: 48kHz, Avg. bytes: 384kB, Sample bits: 32, Block align: 8B +04:38:08.811 AUDIO : Audio client: +04:38:08.811 AUDIO : Format: Channels: 2, Sample rate: 48kHz, Buffer size: 1536B, Frame: 512 +04:38:08.913 RENDER : Loaded 3752 newer shader binaries +04:38:08.914 PROFILING : Reload shaders took: 241.965000 ms +04:38:08.914 ENGINE : Initializing inputs. +04:38:08.927 NETWORK : Initializing networking. +04:38:08.927 NETWORK : Using new GameRplScheduler. +04:38:08.928 SCRIPT : SCRIPT : Initializing scripts +04:38:08.928 SCRIPT : SCRIPT : ScriptProjectManager init +04:38:09.766 PROFILING : ScriptProjectManager init took: 838.012700 ms +04:38:09.800 PROFILING : Initializing scripts took: 871.755500 ms +04:38:09.818 ENGINE : Enfusion engine successfully created. +04:38:09.818 PROFILING : Workbench Init Engine took: 2585.454400 ms +04:38:09.818 INIT : INIT : Workbench Create Game +04:38:09.829 GUI : Using default language (en_us) +04:38:09.829 GUI : Loading 'en_us' localization file. +04:38:09.829 INIT : INIT : Loading StringTable +04:38:09.853 PROFILING : Loading StringTable took: 23.985800 ms +04:38:09.853 SCRIPT : SCRIPT : Compiling GameLib scripts +04:38:09.908 SCRIPT : Module: Workbench; loaded 18x files; 36x classes; used 125K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE"; CRC32: 90ce0460 +04:38:09.908 SCRIPT : Module: GameLib; loaded 465x files; 648x classes; used 828K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE"; CRC32: 4507af04 +04:38:09.909 PROFILING : Compiling GameLib scripts took: 55.695400 ms +04:38:09.909 SCRIPT : SCRIPT : Compiling Game scripts +04:38:10.962 INIT : Workbench Create Game +04:38:10.962 SCRIPT : Compiling Game scripts +04:38:10.962 SCRIPT (W): @"Scripts/Game/Editor/Components/EditableEntity/SCR_EditableEntityComponent.c,785": 'GetPlayerPlatformKind' is obsolete +04:38:10.962 SCRIPT (W): @"Scripts/Game/Editor/Components/EditableEntity/SCR_EditableEntityComponent.c,786": 'GetPlayerPlatformId' is obsolete +04:38:11.208 SCRIPT (W): @"Scripts/Game/ERR/ERR_SiteService.c,132": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +04:38:11.218 SCRIPT (W): @"Scripts/Game/Workshop/SCR_AddonManager.c,876": 'GetRefCount' is obsolete: Will be removed +04:38:11.247 SCRIPT (W): @"Scripts/Game/Campaign/SCR_PlayerProfileManagerComponent.c,142": 'PlayerData' is obsolete +04:38:11.349 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,159": 'GetDSSession' is obsolete +04:38:11.349 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,162": 'RoomID' is obsolete +04:38:11.349 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,197": 'GetDSSession' is obsolete +04:38:11.349 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,201": 'RoomID' is obsolete +04:38:11.441 SCRIPT (W): @"Scripts/Game/DataCollection/SCR_DataCollectorComponent.c,481": 'GetStorage' is obsolete +04:38:11.441 SCRIPT (W): @"Scripts/Game/DataCollection/SCR_DataCollectorComponent.c,483": 'GetOnlineWritePrivilege' is obsolete +04:38:11.443 SCRIPT (W): @"Scripts/Game/Utilities/SCR_PlayerIdentityUtils.c,20": 'GetPlayerIdentityId' is obsolete +04:38:11.485 SCRIPT (W): @"Scripts/Game/ERR/ERR_ExtractionService.c,45": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +04:38:11.485 SCRIPT (W): @"Scripts/Game/ERR/ERR_ExtractionService.c,56": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +04:38:11.487 SCRIPT (W): @"Scripts/Game/UI/Menu/MainMenuUI.c,643": 'GetNotifyCount' is obsolete: Will be substitued by Notification Api. +04:38:11.487 SCRIPT (W): @"Scripts/Game/UI/Menu/MainMenuUI.c,645": 'GetNotifyItem' is obsolete: Will be substitued by Notification Api. +04:38:11.511 SCRIPT (W): @"Scripts/Game/ERR/ERR_NativeTransportProbe.c,82": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +04:38:11.541 SCRIPT (W): @"Scripts/Game/DataCollection/PlayerData/SCR_PlayerData.c,210": 'PlayerData' is obsolete +04:38:11.810 SCRIPT : Module: WorkbenchGame; loaded 171x files; 616x classes; used 2478K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE"; CRC32: db6febb9 +04:38:11.817 SCRIPT : Module: Game; loaded 5701x files; 11171x classes; used 32479K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE,ENABLE_BASE_DESTRUCTION,BUDGET_OPTIMIZATION_CHECKS,SHOW_DISCLAIMER,DEBUG,RESPAWN_TIMER_COMPONENT_DEBUG,GAME_MODE_DEBUG,DEBUG_CONFIGURABLE_DIALOGS,DISABLE_WEAPON_SWITCHING,SCRIPTED_AIM_MODIFIER_DEBUG"; CRC32: f5e7569e +04:38:11.853 PROFILING : Compiling Game scripts took: 1943.530800 ms +04:38:11.859 INIT : Creating game instance(ArmaReforgerScripted), version 1.8.0.13 built 2026-08-21 14:30:18 UTC. +04:38:11.898 ENGINE : Game successfully created. +04:38:11.900 PROFILING : Workbench Create Game took: 2081.241200 ms +04:38:11.907 DEFAULT : Using thumbnail cache directory: C:/users/steamuser/AppData/Local/Temp/Arma Reforger Workbench/Projects/ERR_Core/thumbnails +04:38:12.753 INIT : INIT : Workbench Reload Game +04:38:12.755 ENGINE : Game destroyed. +04:38:12.761 GUI : Using default language (en_us) +04:38:12.761 GUI : Loading 'en_us' localization file. +04:38:12.761 INIT : INIT : Loading StringTable +04:38:12.770 PROFILING : Loading StringTable took: 9.081100 ms +04:38:12.770 INIT : Creating game instance(ArmaReforgerScripted), version 1.8.0.13 built 2026-08-21 14:30:18 UTC. +04:38:12.777 SCRIPT : Unable to register a script command due keyword duplicity: ban +04:38:12.777 SCRIPT : Unable to register a script command due keyword duplicity: kick +04:38:12.777 ENGINE : Game successfully created. +04:38:12.777 ENGINE : Game successfully initialized. +04:38:12.777 PROFILING : Workbench Reload Game took: 23.489100 ms +04:38:13.469 WORLD : WORLD : Entities load '$ERR_Core:Worlds/ERR_Everon.ent' +04:38:14.475 PROFILING : Entities load took: 1006.100700 ms +04:38:14.487 WORLD : WORLD : CreateEntities +04:38:14.491 WORLD : WORLD : NotifyBeforeEntitiesCreated +04:38:14.492 PROFILING : NotifyBeforeEntitiesCreated took: 0.002800 ms +04:38:14.492 WORLD : WORLD : Wait for preloading data +04:38:14.492 PROFILING : Wait for preloading data took: 0.002800 ms +04:38:14.597 ENTITY : Create entity @"ENTITY:2" ('Eden', GenericTerrainEntity) at <0.000000 0.000000 0.000000> @"{5AD924374E8C7AF6}Prefabs/World/Game/Eden/GenericTerrain_Eden.et" +04:38:14.597 PROFILING : PROFILING : Terrain load +04:38:16.201 PROFILING : Terrain load took: 1604.125200 ms +04:38:20.148 WORLD : CreateEntities +04:38:20.149 ENTITY : Create entity @"ENTITY:610406" ('StaticModelEntity','Assets/Structures/Infrastructure/Towers/TransmitterTower_01/TransmitterTower_01_small.xob') at <1931.796021 81.777000 5138.725098> @"{6A004A8F0571D456}Prefabs/Structures/Infrastructure/Towers/TransmitterTower_01/TransmitterTower_01_small.et" +04:38:20.149 ENTITY : CreateComponent 'ScriptedRadioComponent' +04:38:20.149 DEFAULT (W): World doesn't contain RadioManagerEntity to support any BaseRadioComponent. +04:38:29.774 WORLD : WORLD : NotifyBeforeEntitiesInitialized +04:38:29.774 PROFILING : NotifyBeforeEntitiesInitialized took: 0.006400 ms +04:38:30.218 WORLD : WORLD : NotifyEntitiesInitialized +04:38:30.219 TERRAIN : TERRAIN : Initializing road networks... +04:38:30.221 PROFILING : Initializing road networks... took: 2.502300 ms +04:38:30.221 PROFILING : NotifyEntitiesInitialized took: 2.915900 ms +04:38:30.222 PROFILING : CreateEntities took: 15734.600600 ms +04:38:30.419 PROFILING : * WorldEditor: LoadWorld: 16958.390600 ms +04:38:31.906 TERRAIN : Loading tile map config (worlds/Eden/Eden/tileMap.conf) +04:38:31.906 TERRAIN : Loading minimap config (worlds/Eden/Eden/miniMap.conf) +04:38:31.908 TERRAIN : The default minimap texture ('worlds/Eden/EdenRasterized.edds') not found. Trying 'worlds/Eden/Eden.edds'... +04:38:31.908 TERRAIN : The default minimap texture ('worlds/Eden/Eden.edds') not found. Skipping... +04:38:31.994 SCRIPT : ERR SITE SURVEY: supply=6150/7050 elevationRange=0.625 min=202.875 max=203.5 +04:38:32.015 BACKEND : Attempting online Game Config instead. +04:38:35.143 INIT : INIT : Workbench Reload Game +04:38:35.145 ENGINE : Game destroyed. +04:38:35.152 GUI : Using default language (en_us) +04:38:35.152 GUI : Loading 'en_us' localization file. +04:38:35.152 INIT : INIT : Loading StringTable +04:38:35.176 PROFILING : Loading StringTable took: 23.716600 ms +04:38:35.177 INIT : Creating game instance(ArmaReforgerScripted), version 1.8.0.13 built 2026-08-21 14:30:18 UTC. +04:38:35.185 SCRIPT : Unable to register a script command due keyword duplicity: ban +04:38:35.185 SCRIPT : Unable to register a script command due keyword duplicity: kick +04:38:35.185 ENGINE : Game successfully created. +04:38:35.185 ENGINE : Game successfully initialized. +04:38:35.185 PROFILING : Workbench Reload Game took: 42.749200 ms +04:38:35.188 DEFAULT (W): LogiLED: Cannot initialize! (service not running or no compatible device detected) +04:38:35.237 PLATFORM : Save data from container 'settings' have been loaded +04:38:35.328 PLATFORM : Save data from container 'sessions' have been loaded +04:38:35.328 PLATFORM : GameProject user settings load from profile @"ReforgerGameSettings.conf" +04:38:35.328 ENGINE : Game user settings config loaded +04:38:35.426 DEFAULT : [SaveGameManager] Starting new playthrough nr.0 '' for mission '{B6C516F86302C679}Worlds/ERR_Everon.ent'. +04:38:35.433 WORLD : WORLD : Game::LoadEntities +04:38:35.433 WORLD : WORLD : Initializing world systems @"{1C60D2EDA2B468B8}Configs/Systems/BaseGameModeSystems.conf" +04:38:35.434 NETWORK : Enabled lag compensation, 29 frames with 100 FPS and 280 ms rewind limits. +04:38:35.434 WORLD : WORLD : CreateEntities +04:38:35.434 WORLD : WORLD : CreateEntities +04:38:35.434 WORLD : WORLD : NotifyBeforeEntitiesCreated +04:38:35.438 RESOURCES : Loaded mission headers from 7 addon(s)! +04:38:35.438 PROFILING : NotifyBeforeEntitiesCreated took: 3.915800 ms +04:38:35.438 WORLD : WORLD : Wait for preloading data +04:38:35.438 PROFILING : Wait for preloading data took: 0.000600 ms +04:38:39.974 WORLD : Game::LoadEntities +04:38:39.974 WORLD : CreateEntities +04:38:39.974 WORLD : CreateEntities +04:38:39.974 ENTITY : Create entity @"ENTITY:610406" ('StaticModelEntity','Assets/Structures/Infrastructure/Towers/TransmitterTower_01/TransmitterTower_01_small.xob') at <1931.796021 81.777000 5138.725098> @"{6A004A8F0571D456}Prefabs/Structures/Infrastructure/Towers/TransmitterTower_01/TransmitterTower_01_small.et" +04:38:39.974 ENTITY : CreateComponent 'ScriptedRadioComponent' +04:38:39.974 DEFAULT (W): World doesn't contain RadioManagerEntity to support any BaseRadioComponent. +04:38:41.401 ENTITY : Create entity @"ENTITY:842066" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1080.213013 10.776751 6018.347168> +04:38:41.401 ENTITY : CreateComponent 'Hierarchy' +04:38:41.401 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842066" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1080.213013 10.776751 6018.347168>') +04:38:41.401 ENTITY : Create entity @"ENTITY:842068" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1082.185913 10.778749 6018.331055> +04:38:41.401 ENTITY : CreateComponent 'Hierarchy' +04:38:41.401 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842068" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1082.185913 10.778749 6018.331055>') +04:38:41.401 ENTITY : Create entity @"ENTITY:842070" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1084.190918 10.790751 6018.334961> +04:38:41.401 ENTITY : CreateComponent 'Hierarchy' +04:38:41.401 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842070" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1084.190918 10.790751 6018.334961>') +04:38:41.406 ENTITY : Create entity @"ENTITY:842333" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4425.594727 9.981750 11029.402344> +04:38:41.406 ENTITY : CreateComponent 'Hierarchy' +04:38:41.406 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842333" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4425.594727 9.981750 11029.402344>') +04:38:41.406 ENTITY : Create entity @"ENTITY:842335" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4426.584473 9.983749 11031.109375> +04:38:41.406 ENTITY : CreateComponent 'Hierarchy' +04:38:41.406 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842335" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4426.584473 9.983749 11031.109375>') +04:38:41.406 ENTITY : Create entity @"ENTITY:842337" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4427.572266 9.995750 11032.853516> +04:38:41.406 ENTITY : CreateComponent 'Hierarchy' +04:38:41.406 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842337" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4427.572266 9.995750 11032.853516>') +04:38:41.411 ENTITY : Create entity @"ENTITY:842591" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.946289 10.470250 1551.986084> +04:38:41.411 ENTITY : CreateComponent 'Hierarchy' +04:38:41.411 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842591" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.946289 10.470250 1551.986084>') +04:38:41.411 ENTITY : Create entity @"ENTITY:842593" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.430664 10.472250 1550.081421> +04:38:41.411 ENTITY : CreateComponent 'Hierarchy' +04:38:41.411 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842593" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.430664 10.472250 1550.081421>') +04:38:41.411 ENTITY : Create entity @"ENTITY:842595" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10008.926758 10.484250 1548.140869> +04:38:41.411 ENTITY : CreateComponent 'Hierarchy' +04:38:41.411 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842595" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10008.926758 10.484250 1548.140869>') +04:38:45.906 ENTITY : Create entity @"ENTITY:2305843009213693956" ('Factions', SCR_FactionManager) at <0.000000 0.000000 0.000000> @"{589540B35EBA8CDC}Prefabs/MP/Managers/Factions/FactionManager_USxUSSR.et" +04:38:45.906 RESOURCES : GetResourceObject @"{5168FEA3054D6D15}Prefabs/Vehicles/Wheeled/M151A2/M151A2_M2HB_MERDC.et" +04:38:45.906 WORLD : Entity prefab load @"{5168FEA3054D6D15}Prefabs/Vehicles/Wheeled/M151A2/M151A2_M2HB_MERDC.et" +04:38:45.906 RESOURCES : GetResourceObject @"{F6B23D17D5067C11}Prefabs/Vehicles/Wheeled/M151A2/M151A2_M2HB.et" +04:38:45.906 WORLD : Entity prefab load @"{F6B23D17D5067C11}Prefabs/Vehicles/Wheeled/M151A2/M151A2_M2HB.et" +04:38:45.906 RESOURCES : GetResourceObject @"{F649585ABB3706C4}Prefabs/Vehicles/Wheeled/M151A2/M151A2.et" +04:38:45.906 WORLD : Entity prefab load @"{F649585ABB3706C4}Prefabs/Vehicles/Wheeled/M151A2/M151A2.et" +04:38:45.906 WORLD (E): Unknown keyword/data 'SlidingTrackMaterial' at offset 19441(0x4bf1) +04:38:45.941 RESOURCES : GetResourceObject @"{F7B9B434FCFF00B3}Prefabs/Vehicles/Wheeled/Conflict_Variants/BRDM2_Conflict.et" +04:38:45.941 WORLD : Entity prefab load @"{F7B9B434FCFF00B3}Prefabs/Vehicles/Wheeled/Conflict_Variants/BRDM2_Conflict.et" +04:38:45.941 RESOURCES : GetResourceObject @"{254289B9C09904AB}Prefabs/Vehicles/Wheeled/BRDM2/BRDM2.et" +04:38:45.941 WORLD : Entity prefab load @"{254289B9C09904AB}Prefabs/Vehicles/Wheeled/BRDM2/BRDM2.et" +04:38:45.941 RESOURCES : GetResourceObject @"{532B5F3CF8496E59}Prefabs/Vehicles/Wheeled/BRDM2/BRDM2_base.et" +04:38:45.941 WORLD : Entity prefab load @"{532B5F3CF8496E59}Prefabs/Vehicles/Wheeled/BRDM2/BRDM2_base.et" +04:38:45.941 WORLD (E): Unknown keyword/data 'Parent' at offset 35955(0x8c73) +04:38:45.941 WORLD (E): Unknown keyword/data 'Parent' at offset 36915(0x9033) +04:38:45.942 RESOURCES : GetResourceObject @"{BD75A18920BD1278}Prefabs/Vehicles/Wheeled/Conflict_Variants/BTR70_Conflict.et" +04:38:45.942 WORLD : Entity prefab load @"{BD75A18920BD1278}Prefabs/Vehicles/Wheeled/Conflict_Variants/BTR70_Conflict.et" +04:38:45.942 RESOURCES : GetResourceObject @"{C012BB3488BEA0C2}Prefabs/Vehicles/Wheeled/BTR70/BTR70.et" +04:38:45.942 WORLD : Entity prefab load @"{C012BB3488BEA0C2}Prefabs/Vehicles/Wheeled/BTR70/BTR70.et" +04:38:45.942 RESOURCES : GetResourceObject @"{1C5FE7B7FF49BB8D}Prefabs/Vehicles/Wheeled/BTR70/BTR70_Base.et" +04:38:45.942 WORLD : Entity prefab load @"{1C5FE7B7FF49BB8D}Prefabs/Vehicles/Wheeled/BTR70/BTR70_Base.et" +04:38:45.942 WORLD (E): Unknown keyword/data 'Parent' at offset 42646(0xa696) +04:38:45.942 WORLD (E): Unknown keyword/data 'Parent' at offset 43645(0xaa7d) +04:38:45.942 WORLD (E): Unknown keyword/data 'Parent' at offset 44617(0xae49) +04:38:45.942 WORLD (E): Unknown keyword/data 'Parent' at offset 45590(0xb216) +04:38:46.235 WORLD : WORLD : NotifyBeforeEntitiesInitialized +04:38:46.235 PROFILING : NotifyBeforeEntitiesInitialized took: 0.036700 ms +04:38:48.224 WORLD : InitEntities 'world' +04:38:48.224 ENTITY : Init entity @"ENTITY:2305843009213693953" ('Rereintroduced', ERR_GameMode) at <1076.468018 51.000999 1325.246948> @"{978E045E53EF36C8}Prefabs/ERR/GameMode.et" +04:38:48.224 SCRIPT (W): SCR_PerceivedFactionManagerComponent trying to set fall back faction 'CIV' but this faction could not be found so it is null instead. +04:38:48.253 WORLD : InitEntities 'world' +04:38:48.253 ENTITY : Init entity @"ENTITY:2305843009213693953" ('Rereintroduced', ERR_GameMode) at <1076.468018 51.000999 1325.246948> @"{978E045E53EF36C8}Prefabs/ERR/GameMode.et" +04:38:48.253 SCRIPT : ERR BASE SMOKE: core-only scripted escape; not manual or multiplayer acceptance +04:38:48.254 WORLD : WORLD : NotifyEntitiesInitialized +04:38:48.254 TERRAIN : TERRAIN : Initializing road networks... +04:38:48.256 PROFILING : Initializing road networks... took: 2.242300 ms +04:38:48.256 DEFAULT : DEFAULT : WorldVolumesCollection +04:38:48.317 PROFILING : WorldVolumesCollection took: 61.204600 ms +04:38:48.317 INIT : INIT : SoundWorldInit +04:38:48.330 PROFILING : SoundWorldInit took: 12.873300 ms +04:38:48.330 PROFILING : NotifyEntitiesInitialized took: 76.548900 ms +04:38:48.330 PROFILING : CreateEntities took: 12895.582400 ms +04:38:48.330 PROFILING : CreateEntities took: 12895.799200 ms +04:38:48.331 WORLD : WORLD : Wait for preloading data around camera +04:38:48.331 PROFILING : Wait for preloading data around camera took: 0.001000 ms +04:38:48.331 WORLD : WORLD : EOnActivate +04:38:48.364 PROFILING : EOnActivate took: 33.069000 ms +04:38:48.364 PROFILING : Game::LoadEntities took: 12930.921600 ms +04:38:48.638 DEFAULT : Entered offline game state. +04:38:48.742 NETWORK : Player connected: connectionID=2147483646 +04:38:48.742 NETWORK : ### Connecting player: connectionID=2147483646, Name= +04:38:48.743 NETWORK : ### Creating player: PlayerId=1, Name=jakub +04:38:48.747 ENTITY : SpawnEntityPrefab @"{225E51284CC95CFA}Prefabs/Characters/Core/DefaultPlayerControllerMP.et" +04:38:48.747 ENTITY : Create entity @"ENTITY:4611686018427388381" ('SCR_PlayerController') at <0.000000 0.000000 0.000000> +04:38:48.747 ENTITY : EntityPrefabUse @"{225E51284CC95CFA}Prefabs/Characters/Core/DefaultPlayerControllerMP.et" +04:38:48.747 SCRIPT (W): Notification data in 'SCR_NotificationsLogDisplay' has duplicate notification info key: 'EDITOR_PERCEIVED_FACTION_PUNISHMENT_KILLING_SET'. There should only be one of each key! +04:38:48.748 SCRIPT (W): Notification data in 'SCR_NotificationsLogDisplay' has duplicate notification info key: 'EDITOR_PERCEIVED_FACTION_TYPE_DISABLED'. There should only be one of each key! +04:38:48.750 SCRIPT (W): Can't open config file "" +04:38:48.756 WORLD : InitEntities 'world' +04:38:48.756 ENTITY : Init entity @"ENTITY:4611686018427388381" ('SCR_PlayerController') at <0.000000 0.000000 0.000000> @"{225E51284CC95CFA}Prefabs/Characters/Core/DefaultPlayerControllerMP.et" +04:38:48.757 GUI : WidgetManager: CrateWidgets @"{3C9DCDD76AB83157}UI/layouts/HUD/HUDLayouts/HUDManager_Root.layout" +04:38:48.757 SCRIPT (W): Slot_WeaponInfo Has no Content! +04:38:48.757 SCRIPT (W): Slot_Chat Has no Content! +04:38:48.757 SCRIPT (W): Slot_VON Has no Content! +04:38:48.757 SCRIPT (W): Slot_AvailableActions Has no Content! +04:38:48.757 SCRIPT (W): Slot_Vehicle Has no Content! +04:38:48.757 SCRIPT (W): Slot_GameVersion Has no Content! +04:38:48.758 SCRIPT (W): Slot_Notifications Has no Content! +04:38:48.758 SCRIPT (W): Slot_Hints Has no Content! +04:38:48.772 NETWORK : ### Updating player: PlayerId=1, Name=jakub, rplIdentity=0xFFFFFFFE, IdentityId=00000000-0000-0000-0000-000000000000 +04:38:48.772 SCRIPT (W): Ban Settings could not be loaded from BE Storage: Relying on default config +04:38:48.773 NETWORK : Players connecting: 0 +04:38:48.773 NETWORK : Players connected: 1 / 1 +04:38:48.801 DEFAULT : Using autosave directory: C:/users/steamuser/AppData/Local/Temp/Arma Reforger Workbench/Projects/ERR_Core/autosaves +04:38:48.803 PROFILING : Workbench startup took: 42675.016200 ms +04:38:48.825 WORLD : Frame start +04:38:48.825 SCRIPT : ScenarioFramework: Available tasks are empty, no new tasks will be generated. +04:38:48.839 WORLD : UpdateEntities +04:38:48.839 WORLD : Frame +04:38:48.840 SCRIPT : SCR_BaseGameMode::OnGameStateChanged = GAME +04:38:49.007 WORLD : UpdateEntities +04:38:49.007 WORLD : PostFrame +04:38:49.007 GUI : WidgetManager: CrateWidgets @"{D89BBA18F99053D6}UI/layouts/HUD/Chat/ChatHud.layout" +04:38:49.007 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +04:38:49.052 RESOURCES : GetResourceObject @"{20A6917D2114E29A}UI/layouts/HUD/Hint/HintInfoDisplay.layout" +04:38:49.052 GUI : Layout load @"{20A6917D2114E29A}UI/layouts/HUD/Hint/HintInfoDisplay.layout" +04:38:49.053 GUI : Widget prefab @"{EA1CC57D868E94F9}UI/layouts/HUD/Hint/Hint.layout" +04:38:49.053 GUI (W): Overridden prefab member (GUID: '{661AB14E0F471C66}' type: ButtonWidgetClass) no longer exists in prefab +04:38:49.189 RENDER : RENDER : ObjectsHeightMap::Build +04:38:49.189 RENDER : RENDER : MeshOccupancyGridManager::GenerateAllForWorld +04:38:49.352 PROFILING : MeshOccupancyGridManager::GenerateAllForWorld took: 163.180100 ms +04:38:49.360 PROFILING : ObjectsHeightMap::Build took: 170.524700 ms +04:38:50.527 SCRIPT : Rereintroduced [sites]: cache clearance position=<6086,211.538,7160> clear=1 +04:38:50.547 SCRIPT : Rereintroduced [sites]: authored everon-prison-1 at <6090,211.444,7160> +04:38:50.547 SCRIPT : Rereintroduced [sites]: cache clearance position=<6150,203.288,7050> clear=1 +04:38:50.576 SCRIPT : Rereintroduced [sites]: authored everon-supply-1 at <6150,203.288,7050> +04:38:50.579 SCRIPT : Rereintroduced [sites]: authored everon-radio-1 at <6500,159.756,7200> +04:38:50.625 SCRIPT : Rereintroduced [sites]: authored everon-extraction-1 at <7000,65.2562,7500> +04:38:50.626 SCRIPT : Rereintroduced [sites]: cache clearance position=<5960,220.256,7220> clear=1 +04:38:50.631 SCRIPT : Rereintroduced [sites]: transport parking=<5960,220.256,7212> radius=3 terrainRange=0.625 obstructed=0 clear=1 +04:38:50.676 SCRIPT : Rereintroduced [sites]: authored everon-supply-2 at <5960,220.256,7220> +04:38:50.677 SCRIPT : Rereintroduced [sites]: cache clearance position=<6340,175.788,7400> clear=1 +04:38:50.679 SCRIPT : Rereintroduced [sites]: authored everon-medical-1 at <6340,175.788,7400> +04:38:50.679 SCRIPT : Rereintroduced [sites]: cache clearance position=<6740,140.6,7300> clear=1 +04:38:50.683 SCRIPT : Rereintroduced [sites]: cache clearance position=<6740,140.913,7296> clear=1 +04:38:50.684 SCRIPT : Rereintroduced [sites]: cache clearance position=<6736,140.975,7300> clear=1 +04:38:50.684 SCRIPT : Rereintroduced [sites]: cache clearance position=<6744,140.288,7300> clear=1 +04:38:50.686 SCRIPT : Rereintroduced [sites]: authored everon-outpost-1 at <6740,140.6,7300> +04:39:05.861 SCRIPT (E): Rereintroduced [sites]: preparation failed: transport needs fuel, driver/passenger seats and a fitting parking footprint: everon-supply-2 +04:39:05.973 SCRIPT (E): Rereintroduced: scenario preparation failed; spawning remains disabled: transport needs fuel, driver/passenger seats and a fitting parking footprint: everon-supply-2 diff --git a/docs/evidence/native-2026-09-19-043806-transport-readiness-failure/error.log.txt b/docs/evidence/native-2026-09-19-043806-transport-readiness-failure/error.log.txt new file mode 100644 index 0000000..e1aadf4 --- /dev/null +++ b/docs/evidence/native-2026-09-19-043806-transport-readiness-failure/error.log.txt @@ -0,0 +1,123 @@ +--------------------------------------------- +Log Z:\tmp\erri-workbench-profile\logs\logs_2026-09-19_04-38-06\error.log started at 2026-09-19 04:38:07 (2026-09-19 02:38:07 UTC) + +04:38:07.873 INIT : Workbench startup +04:38:07.873 INIT : Workbench Init Engine +04:38:07.873 RESOURCES : ResourceDB: full scan +04:38:07.873 RESOURCES : processing files... +04:38:07.873 RESOURCES (W): resource not registered: @"$profile:rereintroduced.json". Setting null GUID +04:38:10.962 INIT : Workbench Create Game +04:38:10.962 SCRIPT : Compiling Game scripts +04:38:10.962 SCRIPT (W): @"Scripts/Game/Editor/Components/EditableEntity/SCR_EditableEntityComponent.c,785": 'GetPlayerPlatformKind' is obsolete +04:38:10.962 SCRIPT (W): @"Scripts/Game/Editor/Components/EditableEntity/SCR_EditableEntityComponent.c,786": 'GetPlayerPlatformId' is obsolete +04:38:11.208 SCRIPT (W): @"Scripts/Game/ERR/ERR_SiteService.c,132": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +04:38:11.218 SCRIPT (W): @"Scripts/Game/Workshop/SCR_AddonManager.c,876": 'GetRefCount' is obsolete: Will be removed +04:38:11.247 SCRIPT (W): @"Scripts/Game/Campaign/SCR_PlayerProfileManagerComponent.c,142": 'PlayerData' is obsolete +04:38:11.349 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,159": 'GetDSSession' is obsolete +04:38:11.349 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,162": 'RoomID' is obsolete +04:38:11.349 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,197": 'GetDSSession' is obsolete +04:38:11.349 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,201": 'RoomID' is obsolete +04:38:11.441 SCRIPT (W): @"Scripts/Game/DataCollection/SCR_DataCollectorComponent.c,481": 'GetStorage' is obsolete +04:38:11.441 SCRIPT (W): @"Scripts/Game/DataCollection/SCR_DataCollectorComponent.c,483": 'GetOnlineWritePrivilege' is obsolete +04:38:11.443 SCRIPT (W): @"Scripts/Game/Utilities/SCR_PlayerIdentityUtils.c,20": 'GetPlayerIdentityId' is obsolete +04:38:11.485 SCRIPT (W): @"Scripts/Game/ERR/ERR_ExtractionService.c,45": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +04:38:11.485 SCRIPT (W): @"Scripts/Game/ERR/ERR_ExtractionService.c,56": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +04:38:11.487 SCRIPT (W): @"Scripts/Game/UI/Menu/MainMenuUI.c,643": 'GetNotifyCount' is obsolete: Will be substitued by Notification Api. +04:38:11.487 SCRIPT (W): @"Scripts/Game/UI/Menu/MainMenuUI.c,645": 'GetNotifyItem' is obsolete: Will be substitued by Notification Api. +04:38:11.511 SCRIPT (W): @"Scripts/Game/ERR/ERR_NativeTransportProbe.c,82": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +04:38:11.541 SCRIPT (W): @"Scripts/Game/DataCollection/PlayerData/SCR_PlayerData.c,210": 'PlayerData' is obsolete +04:38:20.148 WORLD : CreateEntities +04:38:20.149 ENTITY : Create entity @"ENTITY:610406" ('StaticModelEntity','Assets/Structures/Infrastructure/Towers/TransmitterTower_01/TransmitterTower_01_small.xob') at <1931.796021 81.777000 5138.725098> @"{6A004A8F0571D456}Prefabs/Structures/Infrastructure/Towers/TransmitterTower_01/TransmitterTower_01_small.et" +04:38:20.149 ENTITY : CreateComponent 'ScriptedRadioComponent' +04:38:20.149 DEFAULT (W): World doesn't contain RadioManagerEntity to support any BaseRadioComponent. +04:38:35.188 DEFAULT (W): LogiLED: Cannot initialize! (service not running or no compatible device detected) +04:38:39.974 WORLD : Game::LoadEntities +04:38:39.974 WORLD : CreateEntities +04:38:39.974 WORLD : CreateEntities +04:38:39.974 ENTITY : Create entity @"ENTITY:610406" ('StaticModelEntity','Assets/Structures/Infrastructure/Towers/TransmitterTower_01/TransmitterTower_01_small.xob') at <1931.796021 81.777000 5138.725098> @"{6A004A8F0571D456}Prefabs/Structures/Infrastructure/Towers/TransmitterTower_01/TransmitterTower_01_small.et" +04:38:39.974 ENTITY : CreateComponent 'ScriptedRadioComponent' +04:38:39.974 DEFAULT (W): World doesn't contain RadioManagerEntity to support any BaseRadioComponent. +04:38:41.401 ENTITY : Create entity @"ENTITY:842066" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1080.213013 10.776751 6018.347168> +04:38:41.401 ENTITY : CreateComponent 'Hierarchy' +04:38:41.401 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842066" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1080.213013 10.776751 6018.347168>') +04:38:41.401 ENTITY : Create entity @"ENTITY:842068" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1082.185913 10.778749 6018.331055> +04:38:41.401 ENTITY : CreateComponent 'Hierarchy' +04:38:41.401 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842068" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1082.185913 10.778749 6018.331055>') +04:38:41.401 ENTITY : Create entity @"ENTITY:842070" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1084.190918 10.790751 6018.334961> +04:38:41.401 ENTITY : CreateComponent 'Hierarchy' +04:38:41.401 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842070" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1084.190918 10.790751 6018.334961>') +04:38:41.406 ENTITY : Create entity @"ENTITY:842333" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4425.594727 9.981750 11029.402344> +04:38:41.406 ENTITY : CreateComponent 'Hierarchy' +04:38:41.406 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842333" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4425.594727 9.981750 11029.402344>') +04:38:41.406 ENTITY : Create entity @"ENTITY:842335" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4426.584473 9.983749 11031.109375> +04:38:41.406 ENTITY : CreateComponent 'Hierarchy' +04:38:41.406 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842335" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4426.584473 9.983749 11031.109375>') +04:38:41.406 ENTITY : Create entity @"ENTITY:842337" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4427.572266 9.995750 11032.853516> +04:38:41.406 ENTITY : CreateComponent 'Hierarchy' +04:38:41.406 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842337" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4427.572266 9.995750 11032.853516>') +04:38:41.411 ENTITY : Create entity @"ENTITY:842591" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.946289 10.470250 1551.986084> +04:38:41.411 ENTITY : CreateComponent 'Hierarchy' +04:38:41.411 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842591" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.946289 10.470250 1551.986084>') +04:38:41.411 ENTITY : Create entity @"ENTITY:842593" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.430664 10.472250 1550.081421> +04:38:41.411 ENTITY : CreateComponent 'Hierarchy' +04:38:41.411 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842593" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.430664 10.472250 1550.081421>') +04:38:41.411 ENTITY : Create entity @"ENTITY:842595" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10008.926758 10.484250 1548.140869> +04:38:41.411 ENTITY : CreateComponent 'Hierarchy' +04:38:41.411 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842595" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10008.926758 10.484250 1548.140869>') +04:38:45.906 ENTITY : Create entity @"ENTITY:2305843009213693956" ('Factions', SCR_FactionManager) at <0.000000 0.000000 0.000000> @"{589540B35EBA8CDC}Prefabs/MP/Managers/Factions/FactionManager_USxUSSR.et" +04:38:45.906 RESOURCES : GetResourceObject @"{5168FEA3054D6D15}Prefabs/Vehicles/Wheeled/M151A2/M151A2_M2HB_MERDC.et" +04:38:45.906 WORLD : Entity prefab load @"{5168FEA3054D6D15}Prefabs/Vehicles/Wheeled/M151A2/M151A2_M2HB_MERDC.et" +04:38:45.906 RESOURCES : GetResourceObject @"{F6B23D17D5067C11}Prefabs/Vehicles/Wheeled/M151A2/M151A2_M2HB.et" +04:38:45.906 WORLD : Entity prefab load @"{F6B23D17D5067C11}Prefabs/Vehicles/Wheeled/M151A2/M151A2_M2HB.et" +04:38:45.906 RESOURCES : GetResourceObject @"{F649585ABB3706C4}Prefabs/Vehicles/Wheeled/M151A2/M151A2.et" +04:38:45.906 WORLD : Entity prefab load @"{F649585ABB3706C4}Prefabs/Vehicles/Wheeled/M151A2/M151A2.et" +04:38:45.906 WORLD (E): Unknown keyword/data 'SlidingTrackMaterial' at offset 19441(0x4bf1) +04:38:45.941 RESOURCES : GetResourceObject @"{F7B9B434FCFF00B3}Prefabs/Vehicles/Wheeled/Conflict_Variants/BRDM2_Conflict.et" +04:38:45.941 WORLD : Entity prefab load @"{F7B9B434FCFF00B3}Prefabs/Vehicles/Wheeled/Conflict_Variants/BRDM2_Conflict.et" +04:38:45.941 RESOURCES : GetResourceObject @"{254289B9C09904AB}Prefabs/Vehicles/Wheeled/BRDM2/BRDM2.et" +04:38:45.941 WORLD : Entity prefab load @"{254289B9C09904AB}Prefabs/Vehicles/Wheeled/BRDM2/BRDM2.et" +04:38:45.941 RESOURCES : GetResourceObject @"{532B5F3CF8496E59}Prefabs/Vehicles/Wheeled/BRDM2/BRDM2_base.et" +04:38:45.941 WORLD : Entity prefab load @"{532B5F3CF8496E59}Prefabs/Vehicles/Wheeled/BRDM2/BRDM2_base.et" +04:38:45.941 WORLD (E): Unknown keyword/data 'Parent' at offset 35955(0x8c73) +04:38:45.941 WORLD (E): Unknown keyword/data 'Parent' at offset 36915(0x9033) +04:38:45.942 RESOURCES : GetResourceObject @"{BD75A18920BD1278}Prefabs/Vehicles/Wheeled/Conflict_Variants/BTR70_Conflict.et" +04:38:45.942 WORLD : Entity prefab load @"{BD75A18920BD1278}Prefabs/Vehicles/Wheeled/Conflict_Variants/BTR70_Conflict.et" +04:38:45.942 RESOURCES : GetResourceObject @"{C012BB3488BEA0C2}Prefabs/Vehicles/Wheeled/BTR70/BTR70.et" +04:38:45.942 WORLD : Entity prefab load @"{C012BB3488BEA0C2}Prefabs/Vehicles/Wheeled/BTR70/BTR70.et" +04:38:45.942 RESOURCES : GetResourceObject @"{1C5FE7B7FF49BB8D}Prefabs/Vehicles/Wheeled/BTR70/BTR70_Base.et" +04:38:45.942 WORLD : Entity prefab load @"{1C5FE7B7FF49BB8D}Prefabs/Vehicles/Wheeled/BTR70/BTR70_Base.et" +04:38:45.942 WORLD (E): Unknown keyword/data 'Parent' at offset 42646(0xa696) +04:38:45.942 WORLD (E): Unknown keyword/data 'Parent' at offset 43645(0xaa7d) +04:38:45.942 WORLD (E): Unknown keyword/data 'Parent' at offset 44617(0xae49) +04:38:45.942 WORLD (E): Unknown keyword/data 'Parent' at offset 45590(0xb216) +04:38:48.224 WORLD : InitEntities 'world' +04:38:48.224 ENTITY : Init entity @"ENTITY:2305843009213693953" ('Rereintroduced', ERR_GameMode) at <1076.468018 51.000999 1325.246948> @"{978E045E53EF36C8}Prefabs/ERR/GameMode.et" +04:38:48.224 SCRIPT (W): SCR_PerceivedFactionManagerComponent trying to set fall back faction 'CIV' but this faction could not be found so it is null instead. +04:38:48.747 ENTITY : SpawnEntityPrefab @"{225E51284CC95CFA}Prefabs/Characters/Core/DefaultPlayerControllerMP.et" +04:38:48.747 ENTITY : Create entity @"ENTITY:4611686018427388381" ('SCR_PlayerController') at <0.000000 0.000000 0.000000> +04:38:48.747 ENTITY : EntityPrefabUse @"{225E51284CC95CFA}Prefabs/Characters/Core/DefaultPlayerControllerMP.et" +04:38:48.747 SCRIPT (W): Notification data in 'SCR_NotificationsLogDisplay' has duplicate notification info key: 'EDITOR_PERCEIVED_FACTION_PUNISHMENT_KILLING_SET'. There should only be one of each key! +04:38:48.748 SCRIPT (W): Notification data in 'SCR_NotificationsLogDisplay' has duplicate notification info key: 'EDITOR_PERCEIVED_FACTION_TYPE_DISABLED'. There should only be one of each key! +04:38:48.750 SCRIPT (W): Can't open config file "" +04:38:48.756 WORLD : InitEntities 'world' +04:38:48.756 ENTITY : Init entity @"ENTITY:4611686018427388381" ('SCR_PlayerController') at <0.000000 0.000000 0.000000> @"{225E51284CC95CFA}Prefabs/Characters/Core/DefaultPlayerControllerMP.et" +04:38:48.757 GUI : WidgetManager: CrateWidgets @"{3C9DCDD76AB83157}UI/layouts/HUD/HUDLayouts/HUDManager_Root.layout" +04:38:48.757 SCRIPT (W): Slot_WeaponInfo Has no Content! +04:38:48.757 SCRIPT (W): Slot_Chat Has no Content! +04:38:48.757 SCRIPT (W): Slot_VON Has no Content! +04:38:48.757 SCRIPT (W): Slot_AvailableActions Has no Content! +04:38:48.757 SCRIPT (W): Slot_Vehicle Has no Content! +04:38:48.757 SCRIPT (W): Slot_GameVersion Has no Content! +04:38:48.758 SCRIPT (W): Slot_Notifications Has no Content! +04:38:48.758 SCRIPT (W): Slot_Hints Has no Content! +04:38:48.772 SCRIPT (W): Ban Settings could not be loaded from BE Storage: Relying on default config +04:38:49.007 WORLD : UpdateEntities +04:38:49.007 WORLD : PostFrame +04:38:49.007 GUI : WidgetManager: CrateWidgets @"{D89BBA18F99053D6}UI/layouts/HUD/Chat/ChatHud.layout" +04:38:49.007 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +04:38:49.052 RESOURCES : GetResourceObject @"{20A6917D2114E29A}UI/layouts/HUD/Hint/HintInfoDisplay.layout" +04:38:49.052 GUI : Layout load @"{20A6917D2114E29A}UI/layouts/HUD/Hint/HintInfoDisplay.layout" +04:38:49.053 GUI : Widget prefab @"{EA1CC57D868E94F9}UI/layouts/HUD/Hint/Hint.layout" +04:38:49.053 GUI (W): Overridden prefab member (GUID: '{661AB14E0F471C66}' type: ButtonWidgetClass) no longer exists in prefab +04:39:05.861 SCRIPT (E): Rereintroduced [sites]: preparation failed: transport needs fuel, driver/passenger seats and a fitting parking footprint: everon-supply-2 +04:39:05.973 SCRIPT (E): Rereintroduced: scenario preparation failed; spawning remains disabled: transport needs fuel, driver/passenger seats and a fitting parking footprint: everon-supply-2 diff --git a/docs/evidence/native-2026-09-19-043806-transport-readiness-failure/headless-launch.log.txt b/docs/evidence/native-2026-09-19-043806-transport-readiness-failure/headless-launch.log.txt new file mode 100644 index 0000000..3393fc1 --- /dev/null +++ b/docs/evidence/native-2026-09-19-043806-transport-readiness-failure/headless-launch.log.txt @@ -0,0 +1,150 @@ +[gamescope] [Info] console: gamescope version 3.16.28 (gcc 16.2.1) +No CAP_SYS_NICE, falling back to regular-priority compute and threads. +Performance will be affected. +[gamescope] [Info] scriptmgr: Loading scripts from: '/usr/share/gamescope/scripts' +[gamescope] [Info] scriptmgr: Loading scripts from: '/usr/share/gamescope/scripts/00-gamescope' +[gamescope] [Info] scriptmgr: Loading scripts from: '/usr/share/gamescope/scripts/00-gamescope/common' +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/common/inspect.lua' (id: 0) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/common/modegen.lua' (id: 1) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/common/util.lua' (id: 2) +[gamescope] [Info] scriptmgr: Loading scripts from: '/usr/share/gamescope/scripts/00-gamescope/displays' +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/asus.rogally.lcd.lua' (id: 3) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/deckhd.steamdeck.deckhd-lcd.lua' (id: 4) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/gpd.win4.lcd.lua' (id: 5) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/lenovo.legiongo.lcd.lua' (id: 6) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/lenovo.legiongos.lcd.lua' (id: 7) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/onexplayer.f1.oled.lua' (id: 8) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/valve.steamdeck.lcd.lua' (id: 9) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/valve.steamdeck.oled.lua' (id: 10) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/zotac.zone.oled.lua' (id: 11) +[gamescope] [Info] scriptmgr: Loading scripts from: '/etc/gamescope/scripts' +[gamescope] [Warn] scriptmgr: Directory '/etc/gamescope/scripts' does not exist +[gamescope] [Info] scriptmgr: Loading scripts from: '/home/jakub/.config/gamescope/scripts' +[gamescope] [Warn] scriptmgr: Directory '/home/jakub/.config/gamescope/scripts' does not exist +[gamescope] [Info] vulkan: selecting physical device 'AMD Radeon RX 6950 XT (RADV NAVI21)': queue family 1 (general queue family 0) +[gamescope] [Info] vulkan: physical device supports DRM format modifiers +[gamescope] [Info] wlserver: [backend/headless/backend.c:60] Creating headless backend +[gamescope] [Info] vulkan: supported DRM formats for sampling usage: +[gamescope] [Info] vulkan: AR24 (0x34325241) +[gamescope] [Info] vulkan: XR24 (0x34325258) +[gamescope] [Info] vulkan: AB24 (0x34324241) +[gamescope] [Info] vulkan: XB24 (0x34324258) +[gamescope] [Info] vulkan: RG16 (0x36314752) +[gamescope] [Info] vulkan: NV12 (0x3231564E) +[gamescope] [Info] vulkan: AB4H (0x48344241) +[gamescope] [Info] vulkan: XB4H (0x48344258) +[gamescope] [Info] vulkan: AB48 (0x38344241) +[gamescope] [Info] vulkan: XB48 (0x38344258) +[gamescope] [Info] vulkan: AB30 (0x30334241) +[gamescope] [Info] vulkan: XB30 (0x30334258) +[gamescope] [Info] vulkan: AR30 (0x30335241) +[gamescope] [Info] vulkan: XR30 (0x30335258) +[gamescope] [Info] wlserver: Using explicit sync when available +[gamescope] [Info] wlserver: Running compositor on wayland display 'gamescope-0' +[gamescope] [Info] wlserver: [backend/headless/backend.c:17] Starting headless backend +[gamescope] [Info] wlserver: Successfully initialized libei for input emulation! +[gamescope] [Error] wlserver: [xwayland/sockets.c:47] Failed to bind socket @/tmp/.X11-unix/X0: Address already in use +[gamescope] [Info] wlserver: [xwayland/server.c:108] Starting Xwayland on :2 +The XKEYBOARD keymap compiler (xkbcomp) reports: +> Warning: Multiple symbols for level 1/group 1 on key +> Using F23, ignoring XF86TouchpadOff +> Warning: Symbol map for key redefined +> Using last definition for conflicting fields +> Warning: Symbol map for key redefined +> Using last definition for conflicting fields +> Warning: Could not resolve keysym XF86ElectronicPrivacyScreenOn +> Warning: Could not resolve keysym XF86ElectronicPrivacyScreenOff +> Warning: Could not resolve keysym XF86ActionOnSelection +> Warning: Could not resolve keysym XF86ContextualInsert +> Warning: Could not resolve keysym XF86ContextualQuery +Errors from xkbcomp are not fatal to the X server +[gamescope] [Info] pipewire: stream state changed: connecting +[gamescope] [Info] pipewire: stream state changed: paused +[gamescope] [Info] pipewire: stream available on node ID: 123 +[gamescope] [Info] vblank: Using timerfd. +fsync: up and running. +[Gamescope WSI] No application info given. +[Gamescope WSI] Executable name: explorer.exe +ATTENTION: default value of option vk_wsi_force_swapchain_to_current_extent overridden by environment. +[Gamescope WSI] Application info: + pApplicationName: xalia.exe + applicationVersion: 0 + pEngineName: DXVK + engineVersion: 12587008 + apiVersion: 4206592 +[Gamescope WSI] Executable name: xalia.exe +ATTENTION: default value of option vk_wsi_force_swapchain_to_current_extent overridden by environment. +[Gamescope WSI] No application info given. +[Gamescope WSI] Application info: + pApplicationName: ArmaReforgerWorkbenchSteamDiag.exe + applicationVersion: 1 + pEngineName: DXVK + engineVersion: 12587008 + apiVersion: 4206592 +[Gamescope WSI] Executable name: ArmaReforgerWorkbenchSteamDiag.exe +ATTENTION: default value of option vk_wsi_force_swapchain_to_current_extent overridden by environment. +[Gamescope WSI] No application info given. +The XKEYBOARD keymap compiler (xkbcomp) reports: +> Warning: Unsupported maximum keycode 709, clipping. +> X11 cannot support keycodes above 255. +> Warning: Virtual modifier Hyper multiply defined +> Using 0, ignoring 0 +> Warning: Virtual modifier ScrollLock multiply defined +> Using 0, ignoring 0 +Errors from xkbcomp are not fatal to the X server +ATTENTION: default value of option vk_wsi_force_swapchain_to_current_extent overridden by environment. +[Gamescope WSI] Application info: + pApplicationName: ArmaReforgerWorkbenchSteamDiag.exe + applicationVersion: 0 + pEngineName: DXVK + engineVersion: 12587008 + apiVersion: 4206592 +ATTENTION: default value of option vk_wsi_force_swapchain_to_current_extent overridden by environment. +[Gamescope WSI] Application info: + pApplicationName: ArmaReforgerWorkbenchSteamDiag.exe + applicationVersion: 0 + pEngineName: vkd3d + engineVersion: 12587008 + apiVersion: 4206592 +[Gamescope WSI] Forcing on VK_EXT_swapchain_maintenance1. +ATTENTION: default value of option vk_wsi_force_swapchain_to_current_extent overridden by environment. +[Gamescope WSI] No application info given. +ATTENTION: default value of option vk_wsi_force_swapchain_to_current_extent overridden by environment. +[Gamescope WSI] Application info: + pApplicationName: ArmaReforgerWorkbenchSteamDiag.exe + applicationVersion: 0 + pEngineName: vkd3d + engineVersion: 12587008 + apiVersion: 4206592 +[Gamescope WSI] Forcing on VK_EXT_swapchain_maintenance1. +[Gamescope WSI] Creating Gamescope surface: xid: 0x1a001a4 +[Gamescope WSI] Atom of T was wrong type. Expected XCB_ATOM_CARDINAL. +[Gamescope WSI] Made gamescope surface for xid: 0x1a001a4 +[Gamescope WSI] Surface state: + steam app id: 1874910 + window xid: 0x1a001a4 + wayland surface res id: 5 + layer client flags: 0x4 + server hdr output enabled: false + hdr formats exposed to client: false +[Gamescope WSI] Creating Gamescope surface: xid: 0x1a003a4 +[Gamescope WSI] Atom of T was wrong type. Expected XCB_ATOM_CARDINAL. +[Gamescope WSI] Made gamescope surface for xid: 0x1a003a4 +[Gamescope WSI] Surface state: + steam app id: 1874910 + window xid: 0x1a003a4 + wayland surface res id: 10 + layer client flags: 0x4 + server hdr output enabled: false + hdr formats exposed to client: false +[Gamescope WSI] Creating swapchain for xid: 0x1a003a4 - oldSwapchain: (nil) - provided minImageCount: 3 - minImageCount: 3 - format: VK_FORMAT_B8G8R8A8_UNORM - colorspace: VK_COLOR_SPACE_SRGB_NONLINEAR_KHR - flip: false +[Gamescope WSI] Created swapchain for xid: 0x1a003a4 swapchain: 0x55557b648700 - imageCount: 4 +[Gamescope WSI] Destroying swapchain: 0x55557b648700 +[Gamescope WSI] Destroyed swapchain: 0x55557b648700 +[Gamescope WSI] Creating swapchain for xid: 0x1a003a4 - oldSwapchain: (nil) - provided minImageCount: 3 - minImageCount: 3 - format: VK_FORMAT_B8G8R8A8_UNORM - colorspace: VK_COLOR_SPACE_SRGB_NONLINEAR_KHR - flip: false +[Gamescope WSI] Created swapchain for xid: 0x1a003a4 swapchain: 0x55557b648700 - imageCount: 4 +[Gamescope WSI] Destroying swapchain: 0x55557b648700 +[Gamescope WSI] Destroyed swapchain: 0x55557b648700 +[Gamescope WSI] Creating swapchain for xid: 0x1a003a4 - oldSwapchain: (nil) - provided minImageCount: 3 - minImageCount: 3 - format: VK_FORMAT_B8G8R8A8_UNORM - colorspace: VK_COLOR_SPACE_SRGB_NONLINEAR_KHR - flip: false +[Gamescope WSI] Created swapchain for xid: 0x1a003a4 swapchain: 0x55557b648700 - imageCount: 4 +[gamescope] [Info] launch: Primary child shut down! diff --git a/docs/evidence/native-2026-09-19-043806-transport-readiness-failure/report.json b/docs/evidence/native-2026-09-19-043806-transport-readiness-failure/report.json new file mode 100644 index 0000000..43d64b8 --- /dev/null +++ b/docs/evidence/native-2026-09-19-043806-transport-readiness-failure/report.json @@ -0,0 +1,22 @@ +{ + "log": "docs/evidence/native-2026-09-19-043806-transport-readiness-failure/console.log.txt", + "smoke_completions": 0, + "assertions_passed": 0, + "script_or_runtime_failures": [ + "04:39:05.861 SCRIPT (E): Rereintroduced [sites]: preparation failed: transport needs fuel, driver/passenger seats and a fitting parking footprint: everon-supply-2", + "04:39:05.973 SCRIPT (E): Rereintroduced: scenario preparation failed; spawning remains disabled: transport needs fuel, driver/passenger seats and a fitting parking footprint: everon-supply-2" + ], + "engine_errors": [ + "04:38:45.906 WORLD (E): Unknown keyword/data 'SlidingTrackMaterial' at offset 19441(0x4bf1)", + "04:38:45.941 WORLD (E): Unknown keyword/data 'Parent' at offset 35955(0x8c73)", + "04:38:45.941 WORLD (E): Unknown keyword/data 'Parent' at offset 36915(0x9033)", + "04:38:45.942 WORLD (E): Unknown keyword/data 'Parent' at offset 42646(0xa696)", + "04:38:45.942 WORLD (E): Unknown keyword/data 'Parent' at offset 43645(0xaa7d)", + "04:38:45.942 WORLD (E): Unknown keyword/data 'Parent' at offset 44617(0xae49)", + "04:38:45.942 WORLD (E): Unknown keyword/data 'Parent' at offset 45590(0xb216)", + "04:39:05.861 SCRIPT (E): Rereintroduced [sites]: preparation failed: transport needs fuel, driver/passenger seats and a fitting parking footprint: everon-supply-2", + "04:39:05.973 SCRIPT (E): Rereintroduced: scenario preparation failed; spawning remains disabled: transport needs fuel, driver/passenger seats and a fitting parking footprint: everon-supply-2" + ], + "missing_end_screen": [], + "scope": "scripted local Workbench integration only; no multiplayer, piloting or FPS claim" +} diff --git a/docs/evidence/native-2026-09-19-043806-transport-readiness-failure/runner.json.txt b/docs/evidence/native-2026-09-19-043806-transport-readiness-failure/runner.json.txt new file mode 100644 index 0000000..0dde9a7 --- /dev/null +++ b/docs/evidence/native-2026-09-19-043806-transport-readiness-failure/runner.json.txt @@ -0,0 +1,9 @@ +{ + "result": "test-failed", + "session": "/tmp/erri-workbench-profile/logs/logs_2026-09-19_04-38-06", + "rounds_required": 1, + "project": "core", + "display": "headless Gamescope 1280x720/30Hz", + "dedicated_server": false, + "audio": "silent sink and per-test-stream mute" +} diff --git a/docs/evidence/native-2026-09-19-043806-transport-readiness-failure/script.log.txt b/docs/evidence/native-2026-09-19-043806-transport-readiness-failure/script.log.txt new file mode 100644 index 0000000..dcac9a8 --- /dev/null +++ b/docs/evidence/native-2026-09-19-043806-transport-readiness-failure/script.log.txt @@ -0,0 +1,70 @@ +--------------------------------------------- +Log Z:\tmp\erri-workbench-profile\logs\logs_2026-09-19_04-38-06\script.log started at 2026-09-19 04:38:08 (2026-09-19 02:38:08 UTC) + +04:38:08.928 SCRIPT : SCRIPT : Initializing scripts +04:38:08.928 SCRIPT : SCRIPT : ScriptProjectManager init +04:38:09.853 SCRIPT : SCRIPT : Compiling GameLib scripts +04:38:09.908 SCRIPT : Module: Workbench; loaded 18x files; 36x classes; used 125K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE"; CRC32: 90ce0460 +04:38:09.908 SCRIPT : Module: GameLib; loaded 465x files; 648x classes; used 828K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE"; CRC32: 4507af04 +04:38:09.909 SCRIPT : SCRIPT : Compiling Game scripts +04:38:10.962 SCRIPT : Compiling Game scripts +04:38:10.962 SCRIPT (W): @"Scripts/Game/Editor/Components/EditableEntity/SCR_EditableEntityComponent.c,785": 'GetPlayerPlatformKind' is obsolete +04:38:10.962 SCRIPT (W): @"Scripts/Game/Editor/Components/EditableEntity/SCR_EditableEntityComponent.c,786": 'GetPlayerPlatformId' is obsolete +04:38:11.208 SCRIPT (W): @"Scripts/Game/ERR/ERR_SiteService.c,132": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +04:38:11.218 SCRIPT (W): @"Scripts/Game/Workshop/SCR_AddonManager.c,876": 'GetRefCount' is obsolete: Will be removed +04:38:11.247 SCRIPT (W): @"Scripts/Game/Campaign/SCR_PlayerProfileManagerComponent.c,142": 'PlayerData' is obsolete +04:38:11.349 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,159": 'GetDSSession' is obsolete +04:38:11.349 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,162": 'RoomID' is obsolete +04:38:11.349 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,197": 'GetDSSession' is obsolete +04:38:11.349 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,201": 'RoomID' is obsolete +04:38:11.441 SCRIPT (W): @"Scripts/Game/DataCollection/SCR_DataCollectorComponent.c,481": 'GetStorage' is obsolete +04:38:11.441 SCRIPT (W): @"Scripts/Game/DataCollection/SCR_DataCollectorComponent.c,483": 'GetOnlineWritePrivilege' is obsolete +04:38:11.443 SCRIPT (W): @"Scripts/Game/Utilities/SCR_PlayerIdentityUtils.c,20": 'GetPlayerIdentityId' is obsolete +04:38:11.485 SCRIPT (W): @"Scripts/Game/ERR/ERR_ExtractionService.c,45": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +04:38:11.485 SCRIPT (W): @"Scripts/Game/ERR/ERR_ExtractionService.c,56": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +04:38:11.487 SCRIPT (W): @"Scripts/Game/UI/Menu/MainMenuUI.c,643": 'GetNotifyCount' is obsolete: Will be substitued by Notification Api. +04:38:11.487 SCRIPT (W): @"Scripts/Game/UI/Menu/MainMenuUI.c,645": 'GetNotifyItem' is obsolete: Will be substitued by Notification Api. +04:38:11.511 SCRIPT (W): @"Scripts/Game/ERR/ERR_NativeTransportProbe.c,82": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +04:38:11.541 SCRIPT (W): @"Scripts/Game/DataCollection/PlayerData/SCR_PlayerData.c,210": 'PlayerData' is obsolete +04:38:11.810 SCRIPT : Module: WorkbenchGame; loaded 171x files; 616x classes; used 2478K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE"; CRC32: db6febb9 +04:38:11.817 SCRIPT : Module: Game; loaded 5701x files; 11171x classes; used 32479K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE,ENABLE_BASE_DESTRUCTION,BUDGET_OPTIMIZATION_CHECKS,SHOW_DISCLAIMER,DEBUG,RESPAWN_TIMER_COMPONENT_DEBUG,GAME_MODE_DEBUG,DEBUG_CONFIGURABLE_DIALOGS,DISABLE_WEAPON_SWITCHING,SCRIPTED_AIM_MODIFIER_DEBUG"; CRC32: f5e7569e +04:38:12.777 SCRIPT : Unable to register a script command due keyword duplicity: ban +04:38:12.777 SCRIPT : Unable to register a script command due keyword duplicity: kick +04:38:31.994 SCRIPT : ERR SITE SURVEY: supply=6150/7050 elevationRange=0.625 min=202.875 max=203.5 +04:38:35.185 SCRIPT : Unable to register a script command due keyword duplicity: ban +04:38:35.185 SCRIPT : Unable to register a script command due keyword duplicity: kick +04:38:48.224 SCRIPT (W): SCR_PerceivedFactionManagerComponent trying to set fall back faction 'CIV' but this faction could not be found so it is null instead. +04:38:48.253 SCRIPT : ERR BASE SMOKE: core-only scripted escape; not manual or multiplayer acceptance +04:38:48.747 SCRIPT (W): Notification data in 'SCR_NotificationsLogDisplay' has duplicate notification info key: 'EDITOR_PERCEIVED_FACTION_PUNISHMENT_KILLING_SET'. There should only be one of each key! +04:38:48.748 SCRIPT (W): Notification data in 'SCR_NotificationsLogDisplay' has duplicate notification info key: 'EDITOR_PERCEIVED_FACTION_TYPE_DISABLED'. There should only be one of each key! +04:38:48.750 SCRIPT (W): Can't open config file "" +04:38:48.757 SCRIPT (W): Slot_WeaponInfo Has no Content! +04:38:48.757 SCRIPT (W): Slot_Chat Has no Content! +04:38:48.757 SCRIPT (W): Slot_VON Has no Content! +04:38:48.757 SCRIPT (W): Slot_AvailableActions Has no Content! +04:38:48.757 SCRIPT (W): Slot_Vehicle Has no Content! +04:38:48.757 SCRIPT (W): Slot_GameVersion Has no Content! +04:38:48.758 SCRIPT (W): Slot_Notifications Has no Content! +04:38:48.758 SCRIPT (W): Slot_Hints Has no Content! +04:38:48.772 SCRIPT (W): Ban Settings could not be loaded from BE Storage: Relying on default config +04:38:48.825 SCRIPT : ScenarioFramework: Available tasks are empty, no new tasks will be generated. +04:38:48.840 SCRIPT : SCR_BaseGameMode::OnGameStateChanged = GAME +04:38:49.007 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +04:38:50.527 SCRIPT : Rereintroduced [sites]: cache clearance position=<6086,211.538,7160> clear=1 +04:38:50.547 SCRIPT : Rereintroduced [sites]: authored everon-prison-1 at <6090,211.444,7160> +04:38:50.547 SCRIPT : Rereintroduced [sites]: cache clearance position=<6150,203.288,7050> clear=1 +04:38:50.576 SCRIPT : Rereintroduced [sites]: authored everon-supply-1 at <6150,203.288,7050> +04:38:50.579 SCRIPT : Rereintroduced [sites]: authored everon-radio-1 at <6500,159.756,7200> +04:38:50.626 SCRIPT : Rereintroduced [sites]: authored everon-extraction-1 at <7000,65.2562,7500> +04:38:50.626 SCRIPT : Rereintroduced [sites]: cache clearance position=<5960,220.256,7220> clear=1 +04:38:50.631 SCRIPT : Rereintroduced [sites]: transport parking=<5960,220.256,7212> radius=3 terrainRange=0.625 obstructed=0 clear=1 +04:38:50.676 SCRIPT : Rereintroduced [sites]: authored everon-supply-2 at <5960,220.256,7220> +04:38:50.677 SCRIPT : Rereintroduced [sites]: cache clearance position=<6340,175.788,7400> clear=1 +04:38:50.679 SCRIPT : Rereintroduced [sites]: authored everon-medical-1 at <6340,175.788,7400> +04:38:50.679 SCRIPT : Rereintroduced [sites]: cache clearance position=<6740,140.6,7300> clear=1 +04:38:50.683 SCRIPT : Rereintroduced [sites]: cache clearance position=<6740,140.913,7296> clear=1 +04:38:50.684 SCRIPT : Rereintroduced [sites]: cache clearance position=<6736,140.975,7300> clear=1 +04:38:50.684 SCRIPT : Rereintroduced [sites]: cache clearance position=<6744,140.288,7300> clear=1 +04:38:50.686 SCRIPT : Rereintroduced [sites]: authored everon-outpost-1 at <6740,140.6,7300> +04:39:05.861 SCRIPT (E): Rereintroduced [sites]: preparation failed: transport needs fuel, driver/passenger seats and a fitting parking footprint: everon-supply-2 +04:39:05.973 SCRIPT (E): Rereintroduced: scenario preparation failed; spawning remains disabled: transport needs fuel, driver/passenger seats and a fitting parking footprint: everon-supply-2 diff --git a/docs/evidence/native-2026-09-19-043806-transport-readiness-failure/source-sha256.json b/docs/evidence/native-2026-09-19-043806-transport-readiness-failure/source-sha256.json new file mode 100644 index 0000000..1d9dfbf --- /dev/null +++ b/docs/evidence/native-2026-09-19-043806-transport-readiness-failure/source-sha256.json @@ -0,0 +1,115 @@ +{ + "addons/ai/Prefabs/ERR/MortarCrew.et": "05d3e7353ff9fe5523218a1487b31b7b742b0be8adbcb060c7099978cf008bce", + "addons/ai/Prefabs/ERR/MortarCrew.et.meta": "fdfd4fcd21a67c3d698fa4aadc4e5c76e665cebf4be86013bc389e493fab63cc", + "addons/ai/Scripts/Game/ERR/ERR_HQ.c": "ceafd6740ed277748744ce56ac0f0bb3a8521fcc060dafb2cdb99896aedf405a", + "addons/ai/Scripts/Game/ERR/ERR_HQJournal.c": "b3e402cfe92d415f37f666045afb062e6e11670ba03a0ca6f2d9fd4fc3520ac1", + "addons/ai/Scripts/Game/ERR/ERR_HQNetwork.c": "92ff2caca52e94c2cc9642dfc8509ce6e9349b257012bade8650bace9231128c", + "addons/ai/Scripts/Game/ERR/ERR_HQObservation.c": "36c978ec5f052213ac1236e1398d85063efbfd7ef60fe04f1fc11447fefe1d68", + "addons/ai/Scripts/Game/ERR/ERR_HQReport.c": "c4d16ccb571db4d9444c0a8d2be7318845d25ff90238b6d304e96a9ea19f1a08", + "addons/ai/Scripts/Game/ERR/ERR_HelicopterAvailability.c": "60eaef2f6d4b2fd44861c5a4434ef97e732e40a5ff7401e2da451ed2dd9c2762", + "addons/ai/Scripts/Game/ERR/ERR_MortarBattery.c": "66b8f16b692a0f75fc9d920f5224d9292a0f1dc7dd8b2dde912e676fa80ddc9c", + "addons/ai/Scripts/Game/ERR/ERR_MortarFiring.c": "657e96d1112b68c8ced37793e99f88e6078b38a579190e63d00b1f9a9a032e26", + "addons/ai/Scripts/Game/ERR/ERR_MortarPrediction.c": "470dd196ed64800c697d24c09d1344bacd2502587fac76af4ee0edae2563092d", + "addons/ai/Scripts/Game/ERR/ERR_MortarSalvo.c": "697c01f479df6c505a41d984a29c02002e3052114dafa2ec6252ae55e2979a2b", + "addons/ai/Scripts/Game/ERR/ERR_MortarSystem.c": "12d8fc39d47e03c3838e0642aa9e4a80baf60f250357493bff812d5c75812c86", + "addons/ai/Scripts/Game/ERR/ERR_SettlementSafety.c": "e5c0ebc95521a9a33a3f7d9cca6c551dda862a08b7af20b017877aba9584795b", + "addons/ai/Scripts/Game/ERR/ERR_SupportScenario.c": "71757018ec9716c4dc24f62a292a214919d3fd5daed3c16e03e56abd208e9f03", + "addons/ai/addon.gproj": "5f559db8f526700db11e6ae763f5245f19b7006fc68c56e4c09fb6f940bdf2a1", + "addons/chat/Missions/ERR_Everon.conf": "76f3ac0d21b585654beac7ddd68e3c8cbdd66dbfe909b17b04838fa813a7c29b", + "addons/chat/Missions/ERR_Everon.conf.meta": "0a23c98bf83873536c65fa17d38dea33a1d7b9e4ab210f90633ff688abcc551f", + "addons/chat/Scripts/Game/ERR/ERR_AdminCommands.c": "7ea6d6b240524cf0193c86fcab861fbdef9adca780acff11ee73f9ed0e99ce7b", + "addons/chat/Scripts/Game/ERR/ERR_NativeMortarProbe.c": "ddb892141500c192c0787b011d57dd8c07dd8c9a3ca5fdc407f6c271897bde0a", + "addons/chat/Scripts/Game/ERR/ERR_NativeRadioProbe.c": "84524163c63402755b4f834f74dfe6d8e5c397dc26031f532593c6f79f5a93b1", + "addons/chat/Scripts/Game/ERR/ERR_NativeSmoke.c": "0ab2fed95dcaa0442cf7feb25743308060d58497e347f17dbd25c8e970a9f81f", + "addons/chat/Scripts/WorkbenchGame/ERR/ERR_ValidateWorldPlugin.c": "81c92d408ce88cc9f98d6053f1d0c863427693ba748f00df9f1bf8079015ef94", + "addons/chat/addon.gproj": "ea1587e0174cf795334d306c71d99b06797fc891427cd57b6cab6e21cf0e4e0e", + "addons/core/Configs/ERR/EveronSites.conf": "17e1703d57325732815f64d96df95aac95c8efb280a9282b14b26d24d4b127e6", + "addons/core/Configs/ERR/EveronSites.conf.meta": "d5fe68025ef4e7c1e16082cf5873b7c7172eacbfaef4ab29b7e0e3c98f8dca56", + "addons/core/Configs/ERR/GameOverScreens.conf": "45231061911a1462d45fb6db0fecc2b0793f17b5ae71017174954ff4fbd20236", + "addons/core/Configs/ERR/GameOverScreens.conf.meta": "eb654b745c0b97b41c991694569ef4877a3c2315e0826f9556337cd68690843e", + "addons/core/Configs/ERR/VanillaFactions.conf": "f8b8b9898a16b4a4a55ab3c12d2547bef2dc433732c7643df980cb3aca715212", + "addons/core/Configs/ERR/VanillaFactions.conf.meta": "ac77725c0c21974991ef47a466b88122e939de8b46fd23e68889e7674cbb2bfd", + "addons/core/Missions/ERR_Everon_Base.conf": "1e6a0e9a756d15495201f71121626890f01efe6b00154c561672d4ec157960bd", + "addons/core/Missions/ERR_Everon_Base.conf.meta": "9b16267c644d815bcf98a3a3aaff30b93d7224fb24d3a2bac66730a28011f317", + "addons/core/Prefabs/ERR/Extraction.et": "1aa286ef253c5410f09fa641e4be91a7be8ec834487a7fbb74cfb45cab60ee1e", + "addons/core/Prefabs/ERR/Extraction.et.meta": "c2a838633001e2e3a202d39cb33aa744ebcd996017ad032359069641b5d13853", + "addons/core/Prefabs/ERR/FieldCover.et": "20f8095e69dbfe3db74ff19078e528ea75405362b335e03560ccd61f8df2e7f3", + "addons/core/Prefabs/ERR/FieldCover.et.meta": "83461ffa76244e1d69f20b053a9741ccdf7d127009182bd540a7e5ba6150c3d9", + "addons/core/Prefabs/ERR/GameMode.et": "385c97a5b8067091d92aa60c2d4fcf02002cf606b95523866ead65c96b8c0029", + "addons/core/Prefabs/ERR/GameMode.et.meta": "106769cd34525c9d440057072836cb7401a6752148c40edd7fe61c03bd58328c", + "addons/core/Prefabs/ERR/ObjectiveDocument.et": "2e72270bf186654af12d2c3ff9bf940690b03fb17fca44f873c1fde5d11384c0", + "addons/core/Prefabs/ERR/ObjectiveDocument.et.meta": "eaba9903be147b98a1106e2273e2270773df73b9b22f2cd4e20136a8e281382e", + "addons/core/Prefabs/ERR/Patrol.et": "c5685a8bc311cc5563fb3334beec9408d3d7a1069152fddeeb7df4f1b7f9e6ce", + "addons/core/Prefabs/ERR/Patrol.et.meta": "7c5da568fa2fcf0709ee2959253cb068d7c7ed7c2467af3b247a7e70efd96b69", + "addons/core/Prefabs/ERR/Prison.et": "1503db1441d8cd7a4f0b45c27ba9623b9fa39f0f81016e180bd2aa1379e1f42a", + "addons/core/Prefabs/ERR/Prison.et.meta": "2e426ef3de68f4107907854b51e818bc11d84649a01c538e3f18dd9ebec766bb", + "addons/core/Prefabs/ERR/PrisonDoor.et": "fc66be9d36f1f01084de59f1b0a1e8817f9e46547ead33d4fafaac0107446c40", + "addons/core/Prefabs/ERR/PrisonDoor.et.meta": "b8f3db52bf186426026668fbb9d633c3cbd4d438ab301fba880398f6a0e781c2", + "addons/core/Prefabs/ERR/PrisonWall.et": "8009d19365ae72a4749d7ad4fa04662575b06c65c6bf06507d380d57258b5eed", + "addons/core/Prefabs/ERR/PrisonWall.et.meta": "0294bc5dbb56f90f8153d62459bb0a6ad91d76a479812bbec9c7db182fdb58d6", + "addons/core/Prefabs/ERR/Radio.et": "b4b5cfe125b39019855816c9a1c508ca4d65d435b5546fdaa6c1fa3c8c9b1165", + "addons/core/Prefabs/ERR/Radio.et.meta": "bc91137b68ba550217914fb8892bb44d7e1920e4a1086f3e506623832a44212f", + "addons/core/Prefabs/ERR/SpectatorCamera.et": "b5b87d5b7b707f3745741aebe7c923067c8a74f8fbb2a4711834bab03bb5a812", + "addons/core/Prefabs/ERR/SpectatorCamera.et.meta": "2a16558f93915e31908a674509e9c89976470f78a84a1174a64b94b68b8f77ad", + "addons/core/Prefabs/ERR/SupplyCache.et": "bccf7afbaae97cfcdd78dd6dbbf4be5b2c045d348f50fe4581962e556c0044d7", + "addons/core/Prefabs/ERR/SupplyCache.et.meta": "2f5de3a4aab1e9d0e35521f48dc57b95bd6e449c383dec4f1c258e10295904cb", + "addons/core/Prefabs/ERR/SupplySite.et": "dc5decce5cabf39b6116e8794ec3960cb1e35761854fdbe69740da118787ded4", + "addons/core/Prefabs/ERR/SupplySite.et.meta": "b41944b12eb3528ff7a3ac94258b18c66ef161aa6a38894aee300a1ac4798630", + "addons/core/Scripts/Game/ERR/ERR_Actions.c": "adf93245e6d78c59b9839599d157a0d2b2b93ea93b3d1ae52e2904dd6c288266", + "addons/core/Scripts/Game/ERR/ERR_Actors.c": "b3c5aabb05f7cf35167bc09b5db51a4ffd89a46658805d6eedbfb80eee30273d", + "addons/core/Scripts/Game/ERR/ERR_AdminService.c": "047c14ce60cc0b167e202438f8f2b1063590e69ef88ea55b54598aea5f99c505", + "addons/core/Scripts/Game/ERR/ERR_DiscoveryMap.c": "2f4ea342fea0530061456be9cdce002d5e7a282e4e27eb88f3860e79f93612bf", + "addons/core/Scripts/Game/ERR/ERR_DiscoveryService.c": "6b5679447fe4a6d7d54c0545881ab56284f871556b3159207d421247f419eada", + "addons/core/Scripts/Game/ERR/ERR_DocumentComponent.c": "17bb76b80ebd3357e46d553c44674f602c7bd6901c92aec53ac8214194aa4ff2", + "addons/core/Scripts/Game/ERR/ERR_EscapeGameOverScreenInfo.c": "b1e1afb7795cb77c0bad94c85abf705b26b9dc2a9400905d80eafd56bdd009d3", + "addons/core/Scripts/Game/ERR/ERR_ExtractionService.c": "91357099b4e0401196b67d48963be54be30e56bdba57cdac67dc20b8ebb883e9", + "addons/core/Scripts/Game/ERR/ERR_FactionCatalog.c": "a5a8c53acf21259e14f59cb919535910f30dabff5a9179c664bc6a7a4d744d6e", + "addons/core/Scripts/Game/ERR/ERR_GameMode.c": "d766d1639378070bea64eef38baa4667f8b9f5f1a2a7b170f0fc5e8fd557917d", + "addons/core/Scripts/Game/ERR/ERR_Location.c": "d2035f56ded35743312ec6ca91a67f8623a466c91255e1893c570edf0954ff24", + "addons/core/Scripts/Game/ERR/ERR_MissionRules.c": "f7abc38ad8fdc375ce7fa63a65f0bade027d22b37e09de5e3f94ba8c3c63cc41", + "addons/core/Scripts/Game/ERR/ERR_NativeBaseSmoke.c": "60a573d974b4862b1b66e9cb0ef2ee7d056f698cf1e4f5af5233bde7c59e931f", + "addons/core/Scripts/Game/ERR/ERR_NativeContractsProbe.c": "d1556df885171cf967e96eef5d8981a2e9ee4e3938b7d32fdd0426f647bbabc0", + "addons/core/Scripts/Game/ERR/ERR_NativeDefinitionProbe.c": "d05ef8368ef5afa68e29f45843cb1878b5a09be768f8abdff2f4115c23759b01", + "addons/core/Scripts/Game/ERR/ERR_NativeExtractionProbe.c": "4b09385f73206de004f4f3c38a6192fd658a0d2012482dc5a84dff1599ceb972", + "addons/core/Scripts/Game/ERR/ERR_NativeObjectiveProbe.c": "451f46d9a51753841046698911ee9954088214b6df856776a316865466fbce0f", + "addons/core/Scripts/Game/ERR/ERR_NativeRadioDefenceProbe.c": "629917af38af5b5e34198ff5a5c0da7e48edf1c33d95bb278cceb3cc31028f5d", + "addons/core/Scripts/Game/ERR/ERR_NativeResultProbe.c": "b9a117eef2d5f65fbd792041a2b3e59e38e201bda8e0df8c503e1a1242cfc415", + "addons/core/Scripts/Game/ERR/ERR_NativeSiteSurvey.c": "ac0203753ade0cdff6d483132797a80e4520f14546c3f9dea288281cd4cd9c4f", + "addons/core/Scripts/Game/ERR/ERR_NativeStationTeardownDiagnostic.c": "c01cbdbfe25fd38916fa74f2c02333baaacd5228686fd6e40b33c27b3cea8ed8", + "addons/core/Scripts/Game/ERR/ERR_NativeTimeProbe.c": "c93d049785971e51246fcc07cf24804270a752a655505f2c38e48c80df5255ae", + "addons/core/Scripts/Game/ERR/ERR_NativeTransportProbe.c": "63ec0c5ce698114daa6314b2a6e3c3e98e76094117c477f9d0d072260686d193", + "addons/core/Scripts/Game/ERR/ERR_NativeTransportSurvey.c": "3e94493bf54d15be2bceb106ad18873e14e6755af09c05f07db7fb26fb7adff5", + "addons/core/Scripts/Game/ERR/ERR_ObjectiveDetails.c": "900bdcd11075230e0d311ca8725c1d7938cb2a4efa71360709003d90092a7e69", + "addons/core/Scripts/Game/ERR/ERR_ObjectiveText.c": "bbb29949194637e6781316836c895e2c0fa7ccdb547d4d944a717da2ad73b0a2", + "addons/core/Scripts/Game/ERR/ERR_Objectives.c": "88d95a52fcba103483ea751571e1afeae0e6fc82115ed50d6fc195424726960f", + "addons/core/Scripts/Game/ERR/ERR_Observer.c": "b719e723369ab4f403950c85226e1336eb48e3c127e84530ac1c695eb86bd0f9", + "addons/core/Scripts/Game/ERR/ERR_PlayerAdminCommands.c": "a084d7dc097dfcde3d6cd9c2e326b9e2f8f2a519f77b30c4f56ab7a1429aa721", + "addons/core/Scripts/Game/ERR/ERR_PlayerEscapeResult.c": "3124ab4d2d6d471409a47aba0af528790734df53243c03fe0cdac3e407047c14", + "addons/core/Scripts/Game/ERR/ERR_PlayerGuide.c": "2c9c365b88651f8b12618443638bf52c04e497221592bd483c33447e30468f36", + "addons/core/Scripts/Game/ERR/ERR_PlayerRoster.c": "a737ba739b3f73a91cd05d808a1d45070e83b5152c003c3164e29842dda51995", + "addons/core/Scripts/Game/ERR/ERR_RadioDefenceService.c": "85eb9c1b65d5987799927b6d8786b7299fcff849bcb15b91f8a4d1aa95823fd1", + "addons/core/Scripts/Game/ERR/ERR_Resources.c": "8a5314944f75b23982c6b99697045e3c0538aa2137b2c947a5b2411e6076ac03", + "addons/core/Scripts/Game/ERR/ERR_ScenarioComponent.c": "abba03af68323d5715ba1e2497fc66f3c706e6a6a983c3a386228abdfddeec89", + "addons/core/Scripts/Game/ERR/ERR_Settings.c": "2aee784e44c732e09f59150896491ab325ef5e62aa6bad725be1fda955a3f614", + "addons/core/Scripts/Game/ERR/ERR_SiteDefinition.c": "75b5121ceab77f0956f0dc34bd077b11af5586350de52321800427f18cc94477", + "addons/core/Scripts/Game/ERR/ERR_SiteService.c": "576792875407891d1bb78545abb6d669e10ef51afe5b181f4aa7827fc233a0ee", + "addons/core/Scripts/Game/ERR/ERR_SpawnLogic.c": "f84f0c22562912c020e8be81748f36a883dd265d8d9786d0548f32bda5b4b92e", + "addons/core/Scripts/Game/ERR/ERR_Supplies.c": "752e8a56b0b8cde33cf532032cb0a203553017b686faac2e19bee06f7a9c0713", + "addons/core/Scripts/Game/ERR/ERR_TimeService.c": "d9f481b7da01e08d2c982a948c18ba6bde76889d7cc9d26d510708f4ba479453", + "addons/core/Scripts/WorkbenchGame/ERR/ERR_ValidateBaseWorldPlugin.c": "7f44aa64ea7b4f8b3640a37a4b781c43bf6adb80e4a3a702d9491131698056f6", + "addons/core/Worlds/ERR_Everon.ent": "22324bc7eb0d80dec8a1f3bd61a9df9201b72f749f4e751766b0c9d0b7d46b87", + "addons/core/Worlds/ERR_Everon.ent.meta": "19d1903ca72baa326b4724a6791d0da1104a1e53f3f31dc1ca41a856efd68e83", + "addons/core/Worlds/ERR_Everon_Layers/default.layer": "f1a058bd315c7d01d464715ac9f4e18ae3d2432551d094a9afbd4c9c5a2a9416", + "addons/core/addon.gproj": "231274e6b62302f32c65f9ff31de2ce8a9e51e1c8d12c87deeec82ae1f40de46", + "addons/intel/Scripts/Game/ERR/ERR_IntelService.c": "482839434b94e7f8c345d5fd96490aeebb765f3dd0c1bb25fceea2f435c0e722", + "addons/intel/addon.gproj": "d0ced242cefb220a5cccd6779d61fda9bc55581701b9f78bcf13c09d92ddbcbe", + "addons/map/Materials/ERRM_MapRenderTarget.emat": "9877c5b175c5f30dd80bea36c711b21ab38219aa7075adf9ae79932e1d4c76bc", + "addons/map/Materials/ERRM_MapRenderTarget.emat.meta": "5ee1a705f8011a44020ca2691f5ccc17d44bf596fef9a36e98d1f267eb58fab0", + "addons/map/Prefabs/Items/Equipment/ERRM_SharedFieldMap.et": "30dee8e9eab459ea32a7d835a9fb89d43df47708057cab829f067b25a24cd581", + "addons/map/Prefabs/Items/Equipment/ERRM_SharedFieldMap.et.meta": "59093e9072c50d99c86da7609c87541016da5bcf92b98d99db4c524e1c8e0e8d", + "addons/map/Scripts/Game/ERR/ERR_ScenarioMap.c": "75fa1d742129ef7f33c005cd48f56db7f49ee7bde3c5428532b0b501b032b0a3", + "addons/map/Scripts/Game/ERRMap/ERRM_SharedMapComponent.c": "fc1a0c7df4fc96da446d7542a45a10fbec1eda1e543ba2f0581cb772277a47c5", + "addons/map/UI/layouts/ERRMap/SharedMapRenderTarget.layout": "49a2da4181b94d42174f58c7f9b6bf2207116c99427d61ff1c212092ac7db4d2", + "addons/map/UI/layouts/ERRMap/SharedMapRenderTarget.layout.meta": "5c846445cc089e2e08899ba703059d4adb805ff30ab5a16409a3cd59718cbd54", + "addons/map/addon.gproj": "1b371e5e01ea9fa46e76570fecb8aaa3a9298e34cba7ccca8a6bdb5ca86eb46a" +} diff --git a/docs/evidence/native-2026-09-19-044028-transport-bounds-failure/console.log.txt b/docs/evidence/native-2026-09-19-044028-transport-bounds-failure/console.log.txt new file mode 100644 index 0000000..63ba0ba --- /dev/null +++ b/docs/evidence/native-2026-09-19-044028-transport-bounds-failure/console.log.txt @@ -0,0 +1,378 @@ +--------------------------------------------- +Log Z:\tmp\erri-workbench-profile\logs\logs_2026-09-19_04-40-28\console.log started at 2026-09-19 04:40:28 (2026-09-19 02:40:28 UTC) + +04:40:28.948 ENGINE : FileSystem: Adding relative directory 'Z:\tmp\erri-workbench-profile\logs\logs_2026-09-19_04-40-28' to filesystem under name logs +04:40:28.948 ENGINE : FileSystem: Adding relative directory 'Z:\tmp\erri-workbench-profile\profile' to filesystem under name profile +04:40:28.948 ENGINE : FileSystem: Current working directory: 'Z:\home\jakub\.local\share\Steam\steamapps\common\Arma Reforger Tools\Workbench\' +04:40:28.949 PROFILING : Workbench Create Engine took: 10.512000 ms +04:40:29.989 INIT : INIT : Workbench Init Engine +04:40:29.989 ENGINE : Initializing engine, version 192142 +04:40:29.989 ENGINE : CLI Params: -gproj Z:/home/jakub/devel/escapistsrereintroduced/addons/core/addon.gproj -addonsDir Z:/home/jakub/devel/escapistsrereintroduced/addons -profile Z:/tmp/erri-workbench-profile -logconsole -wbModule WorldEditor -load Worlds/ERR_Everon.ent -plugin ERR_ValidateBaseWorldPlugin -errPlay 1 -errBaseSmoke 1 -errSmokeOutcome transport-loss -noThrow +04:40:29.998 ENGINE : Addon dirs: +04:40:29.998 ENGINE : dir: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/core/' +04:40:29.998 ENGINE : dir: 'Z:/home/jakub/devel/escapistsrereintroduced/addons' +04:40:29.998 ENGINE : dir: './addons' +04:40:29.998 ENGINE : dir: 'Z:/tmp/erri-workbench-profile/addons' +04:40:29.998 ENGINE : Available addons: +04:40:29.998 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/core/addon.gproj' guid: '2528466DE220D91C' +04:40:29.998 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/ai/addon.gproj' guid: '5192138CB9D5B911' +04:40:29.998 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/chat/addon.gproj' guid: 'FA804F411BDDF2C6' +04:40:29.998 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/intel/addon.gproj' guid: 'D31039C7C53E348A' +04:40:29.998 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/map/addon.gproj' guid: '9AAEE9041D79809E' +04:40:29.998 ENGINE : gproj: './addons/core/core.gproj' guid: '5614BBCCBB55ED1C' (packed) +04:40:29.998 ENGINE : gproj: 'Z:/tmp/erri-workbench-profile/addons/ArmaReforger/ArmaReforger.gproj' guid: '58D0FB3206B6F859' (packed) +04:40:29.998 ENGINE : FileSystem: Adding relative directory 'Z:\home\jakub\devel\escapistsrereintroduced\addons\core' to filesystem under name ERR_Core +04:40:30.114 ENGINE : FileSystem: Adding package 'Z:/tmp/erri-workbench-profile/addons/ArmaReforger/' (pak count: 14) to filesystem under name ArmaReforger +04:40:30.117 ENGINE : FileSystem: Adding package './addons/core/' (pak count: 2) to filesystem under name core +04:40:30.117 ENGINE : CPU vendor : AuthenticAMD +04:40:30.117 ENGINE : CPU type : 2 +04:40:30.117 ENGINE : CPU name : AMD Ryzen 7 3800XT 8-Core Processor +04:40:30.117 ENGINE : CPU cache info : L1 [Inst 32KB, Data 32KB], L2 [Unif 512KB], L3 [Unif 16384KB] +04:40:30.117 ENGINE : CPU count logical : 16 +04:40:30.117 ENGINE : CPU count physical : 8 +04:40:30.117 ENGINE : CPU features : mmx sse sse2 sse3 ssse3 sse4_1 sse4_2 popcnt aesni pclmulqdq osxsave avx sha avx2 +04:40:30.117 RESOURCES : ResourceDB: loading cache (id=0 name=ERR_Core path=Z:\home\jakub\devel\escapistsrereintroduced\addons\core/resourceDatabase.rdb) +04:40:30.117 RESOURCES : ResourceDB: loading cache (id=1 name=ArmaReforger path=Z:/tmp/erri-workbench-profile/addons/ArmaReforger/resourceDatabase.rdb) +04:40:30.256 RESOURCES : ResourceDB: loading cache (id=2 name=core path=./addons/core/resourceDatabase.rdb) +04:40:30.257 RESOURCES : ResourceDB: loading cache (id=3 name=profile path=Z:\tmp\erri-workbench-profile\profile/resourceDatabase.rdb) +04:40:30.258 RESOURCES : ResourceDB: loading cache (id=4 name=logs path=Z:\tmp\erri-workbench-profile\logs\logs_2026-09-19_04-40-28/resourceDatabase.rdb) +04:40:30.413 RESOURCES : RESOURCES : ResourceDB: full scan +04:40:30.418 RESOURCES : RESOURCES : scanning... +04:40:30.418 RESOURCES : RESOURCES : scanning @"ERR_Core" +04:40:30.420 RESOURCES : RESOURCES : scanning @"ArmaReforger" +04:40:30.555 RESOURCES : RESOURCES : scanning @"core" +04:40:30.559 RESOURCES : RESOURCES : scanning @"profile" +04:40:30.559 RESOURCES : RESOURCES : scanning @"logs" +04:40:30.560 RESOURCES : RESOURCES : processing meta-files... +04:40:30.628 RESOURCES : RESOURCES : processing files... +04:40:30.640 INIT : Workbench startup +04:40:30.640 INIT : Workbench Init Engine +04:40:30.640 RESOURCES : ResourceDB: full scan +04:40:30.640 RESOURCES : processing files... +04:40:30.641 RESOURCES (W): resource not registered: @"$profile:rereintroduced.json". Setting null GUID +04:40:30.641 RESOURCES : RESOURCES : processing folders... +04:40:30.649 RESOURCES : RESOURCES : creating GUID-item mapping... +04:40:30.671 RESOURCES : RESOURCES : building tree... +04:40:30.732 PROFILING : ResourceDB: full scan took: 319.459200 ms +04:40:30.733 RESOURCES : ResourceDB: saving cache (id=0 name=ERR_Core path=Z:\home\jakub\devel\escapistsrereintroduced\addons\core/resourceDatabase.rdb) +04:40:30.735 RESOURCES : ResourceDB: written 3823/3823 bytes +04:40:30.735 RESOURCES : ResourceDB: cache successfully saved +04:40:30.735 RESOURCES : ResourceDB: saving cache (id=3 name=profile path=Z:\tmp\erri-workbench-profile\profile/resourceDatabase.rdb) +04:40:30.737 RESOURCES : ResourceDB: written 206/206 bytes +04:40:30.737 RESOURCES : ResourceDB: cache successfully saved +04:40:30.737 RESOURCES : ResourceDB: saving cache (id=4 name=logs path=Z:\tmp\erri-workbench-profile\logs\logs_2026-09-19_04-40-28/resourceDatabase.rdb) +04:40:30.738 RESOURCES : ResourceDB: written 81/81 bytes +04:40:30.738 RESOURCES : ResourceDB: cache successfully saved +04:40:30.738 ENGINE : GameProject load +04:40:30.738 ENGINE : Loaded addons: +04:40:30.738 ENGINE : gproj: './addons/core/core.gproj' guid: '5614BBCCBB55ED1C' +04:40:30.739 ENGINE : gproj: 'Z:/tmp/erri-workbench-profile/addons/ArmaReforger/ArmaReforger.gproj' guid: '58D0FB3206B6F859' +04:40:30.739 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/core/addon.gproj' guid: '2528466DE220D91C' +04:40:30.740 ENGINE : Loading custom engine user config '$profile:.save/app1874910_user76561198020202999/settings/ReforgerEngineSettings.conf' +04:40:30.740 INIT : GameProject engine user settings load @"$profile:.save/app1874910_user76561198020202999/settings/ReforgerEngineSettings.conf" +04:40:30.740 ENGINE : Engine user settings config loaded +04:40:30.740 PROFILING : Settings changed took: 0.001900 ms +04:40:30.862 RENDER : (OK) Adapter 'AMD Radeon RX 6950 XT (RADV NAVI21)' supports feature level 12_0 +04:40:30.864 RENDER : Basic screen setup: +04:40:30.864 RENDER : Back buffer format : TEXFMT_R8G8B8A8_SRGB (29) +04:40:30.864 RENDER : MSAA : none +04:40:30.882 RENDER : AMD AGS library initialized, version 6.1.0 x DLL 6.1.0 +04:40:30.882 RENDER : Extendeded AMD info for AMD Radeon RX 6950 XT (RADV NAVI21) (primary device) +04:40:30.882 RENDER : * architecture RDNA2, 80 CUs, 40 WGPs (for RDNA), 64 ROPs +04:40:30.882 RENDER : * core clocks 2720 MHz, memory 1124 MHz +04:40:30.882 RENDER : * TFlops 27.9, memory bandwidth (562.0 GB/s) +04:40:30.882 RENDER : AMD AGS correctly initialized +04:40:30.883 RENDER : GPU_ATI (0x1002) (AMD Radeon RX 6950 XT (RADV NAVI21)) with 1 GPU detected, VRAM 16128MB (fast 0MB), shared 64362MB, driver version 99.19.02-230831a-396538C-AMD-Software-Adrenalin-Edition +04:40:30.883 RENDER : Detected output devices: +04:40:30.883 RENDER : * 1 device/s connected to AMD Radeon RX 6950 XT (RADV NAVI21): +04:40:30.883 RENDER : Generic Non-PnP Monitor (\\.\DISPLAY1), 1280x720 (offset 0x0), 30Hz +04:40:30.883 RENDER : Concurrent frames limit 2 +04:40:30.967 RENDER : DX12 device successfully created by AMD AGS library +04:40:30.967 RENDER : * user markers not supported in this version AMD SW +04:40:30.967 RENDER : Graphics device features +04:40:30.967 RENDER : Needed: +04:40:30.967 RENDER : * Highest supported shader model: 6.8 (6.0 needed) +04:40:30.967 RENDER : Optional: +04:40:30.967 RENDER : * Allow tearing (VSYNC) : 1 +04:40:30.967 RENDER : * 16 bits : 1 +04:40:30.967 RENDER : * Resource heap tier : 3 +04:40:30.967 RENDER : * Persistent heaps (DRED) : 1 +04:40:30.967 RENDER : * DRED 1.2 is supported by compiler +04:40:30.992 RENDER : Main RT format setup. +04:40:30.992 RENDER : Main RT format for quality 0 : TEXFMT_R11G11B10_FLOAT (26) +04:40:30.992 RENDER : Main RT format for quality 1 : TEXFMT_R16G16B16A16_FLOAT (10) +04:40:30.994 ENGINE : Job system settings: coreCount=16, shortJobContextCount=16, shortJobThreadCount=15, longJobThreadCount=16 +04:40:31.024 PROFILING : Settings changed took: 0.016600 ms +04:40:31.499 AUDIO : Endpoint: Speakers (PulseAudio Output) +04:40:31.499 AUDIO : Format: Channels: 2, Sample rate: 48kHz, Avg. bytes: 384kB, Sample bits: 32, Block align: 8B +04:40:31.499 AUDIO : Audio client: +04:40:31.499 AUDIO : Format: Channels: 2, Sample rate: 48kHz, Buffer size: 1536B, Frame: 512 +04:40:31.502 RENDER : RENDER : Reload shaders +04:40:31.502 RENDER : Enfusion shader version 13 +04:40:31.502 INIT : INIT : ShaderListReload +04:40:31.502 PROFILING : ShaderListReload took: 0.000400 ms +04:40:31.644 AUDIO : Endpoint: Speakers (PulseAudio Output) +04:40:31.644 AUDIO : Format: Channels: 2, Sample rate: 48kHz, Avg. bytes: 384kB, Sample bits: 32, Block align: 8B +04:40:31.644 AUDIO : Audio client: +04:40:31.644 AUDIO : Format: Channels: 2, Sample rate: 48kHz, Buffer size: 1536B, Frame: 512 +04:40:31.760 RENDER : Loaded 3752 newer shader binaries +04:40:31.760 PROFILING : Reload shaders took: 258.705500 ms +04:40:31.760 ENGINE : Initializing inputs. +04:40:31.774 NETWORK : Initializing networking. +04:40:31.774 NETWORK : Using new GameRplScheduler. +04:40:31.774 SCRIPT : SCRIPT : Initializing scripts +04:40:31.774 SCRIPT : SCRIPT : ScriptProjectManager init +04:40:32.603 PROFILING : ScriptProjectManager init took: 828.091300 ms +04:40:32.638 PROFILING : Initializing scripts took: 863.709700 ms +04:40:32.657 ENGINE : Enfusion engine successfully created. +04:40:32.657 PROFILING : Workbench Init Engine took: 2668.098500 ms +04:40:32.657 INIT : INIT : Workbench Create Game +04:40:32.668 GUI : Using default language (en_us) +04:40:32.668 GUI : Loading 'en_us' localization file. +04:40:32.668 INIT : INIT : Loading StringTable +04:40:32.693 PROFILING : Loading StringTable took: 24.962300 ms +04:40:32.693 SCRIPT : SCRIPT : Compiling GameLib scripts +04:40:32.757 SCRIPT : Module: Workbench; loaded 18x files; 36x classes; used 125K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE"; CRC32: 90ce0460 +04:40:32.757 SCRIPT : Module: GameLib; loaded 465x files; 648x classes; used 828K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE"; CRC32: 4507af04 +04:40:32.758 PROFILING : Compiling GameLib scripts took: 65.520100 ms +04:40:32.758 SCRIPT : SCRIPT : Compiling Game scripts +04:40:33.885 INIT : Workbench Create Game +04:40:33.885 SCRIPT : Compiling Game scripts +04:40:33.885 SCRIPT (W): @"Scripts/Game/Editor/Components/EditableEntity/SCR_EditableEntityComponent.c,785": 'GetPlayerPlatformKind' is obsolete +04:40:33.885 SCRIPT (W): @"Scripts/Game/Editor/Components/EditableEntity/SCR_EditableEntityComponent.c,786": 'GetPlayerPlatformId' is obsolete +04:40:34.136 SCRIPT (W): @"Scripts/Game/ERR/ERR_SiteService.c,140": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +04:40:34.146 SCRIPT (W): @"Scripts/Game/Workshop/SCR_AddonManager.c,876": 'GetRefCount' is obsolete: Will be removed +04:40:34.176 SCRIPT (W): @"Scripts/Game/Campaign/SCR_PlayerProfileManagerComponent.c,142": 'PlayerData' is obsolete +04:40:34.280 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,159": 'GetDSSession' is obsolete +04:40:34.280 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,162": 'RoomID' is obsolete +04:40:34.280 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,197": 'GetDSSession' is obsolete +04:40:34.280 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,201": 'RoomID' is obsolete +04:40:34.372 SCRIPT (W): @"Scripts/Game/DataCollection/SCR_DataCollectorComponent.c,481": 'GetStorage' is obsolete +04:40:34.372 SCRIPT (W): @"Scripts/Game/DataCollection/SCR_DataCollectorComponent.c,483": 'GetOnlineWritePrivilege' is obsolete +04:40:34.373 SCRIPT (W): @"Scripts/Game/Utilities/SCR_PlayerIdentityUtils.c,20": 'GetPlayerIdentityId' is obsolete +04:40:34.415 SCRIPT (W): @"Scripts/Game/ERR/ERR_ExtractionService.c,45": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +04:40:34.415 SCRIPT (W): @"Scripts/Game/ERR/ERR_ExtractionService.c,56": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +04:40:34.416 SCRIPT (W): @"Scripts/Game/UI/Menu/MainMenuUI.c,643": 'GetNotifyCount' is obsolete: Will be substitued by Notification Api. +04:40:34.416 SCRIPT (W): @"Scripts/Game/UI/Menu/MainMenuUI.c,645": 'GetNotifyItem' is obsolete: Will be substitued by Notification Api. +04:40:34.442 SCRIPT (W): @"Scripts/Game/ERR/ERR_NativeTransportProbe.c,82": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +04:40:34.472 SCRIPT (W): @"Scripts/Game/DataCollection/PlayerData/SCR_PlayerData.c,210": 'PlayerData' is obsolete +04:40:34.746 SCRIPT : Module: WorkbenchGame; loaded 171x files; 616x classes; used 2478K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE"; CRC32: db6febb9 +04:40:34.753 SCRIPT : Module: Game; loaded 5701x files; 11171x classes; used 32480K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE,ENABLE_BASE_DESTRUCTION,BUDGET_OPTIMIZATION_CHECKS,SHOW_DISCLAIMER,DEBUG,RESPAWN_TIMER_COMPONENT_DEBUG,GAME_MODE_DEBUG,DEBUG_CONFIGURABLE_DIALOGS,DISABLE_WEAPON_SWITCHING,SCRIPTED_AIM_MODIFIER_DEBUG"; CRC32: 531b916a +04:40:34.793 PROFILING : Compiling Game scripts took: 2034.884900 ms +04:40:34.800 INIT : Creating game instance(ArmaReforgerScripted), version 1.8.0.13 built 2026-08-21 14:30:18 UTC. +04:40:34.841 ENGINE : Game successfully created. +04:40:34.843 PROFILING : Workbench Create Game took: 2185.577400 ms +04:40:34.851 DEFAULT : Using thumbnail cache directory: C:/users/steamuser/AppData/Local/Temp/Arma Reforger Workbench/Projects/ERR_Core/thumbnails +04:40:35.692 INIT : INIT : Workbench Reload Game +04:40:35.694 ENGINE : Game destroyed. +04:40:35.700 GUI : Using default language (en_us) +04:40:35.700 GUI : Loading 'en_us' localization file. +04:40:35.700 INIT : INIT : Loading StringTable +04:40:35.710 PROFILING : Loading StringTable took: 9.934900 ms +04:40:35.711 INIT : Creating game instance(ArmaReforgerScripted), version 1.8.0.13 built 2026-08-21 14:30:18 UTC. +04:40:35.717 SCRIPT : Unable to register a script command due keyword duplicity: ban +04:40:35.717 SCRIPT : Unable to register a script command due keyword duplicity: kick +04:40:35.718 ENGINE : Game successfully created. +04:40:35.718 ENGINE : Game successfully initialized. +04:40:35.718 PROFILING : Workbench Reload Game took: 25.926500 ms +04:40:36.422 WORLD : WORLD : Entities load '$ERR_Core:Worlds/ERR_Everon.ent' +04:40:37.433 PROFILING : Entities load took: 1010.352600 ms +04:40:37.444 WORLD : WORLD : CreateEntities +04:40:37.449 WORLD : WORLD : NotifyBeforeEntitiesCreated +04:40:37.449 PROFILING : NotifyBeforeEntitiesCreated took: 0.003000 ms +04:40:37.449 WORLD : WORLD : Wait for preloading data +04:40:37.450 PROFILING : Wait for preloading data took: 0.002800 ms +04:40:37.558 ENTITY : Create entity @"ENTITY:2" ('Eden', GenericTerrainEntity) at <0.000000 0.000000 0.000000> @"{5AD924374E8C7AF6}Prefabs/World/Game/Eden/GenericTerrain_Eden.et" +04:40:37.558 PROFILING : PROFILING : Terrain load +04:40:39.188 PROFILING : Terrain load took: 1629.740600 ms +04:40:43.158 WORLD : CreateEntities +04:40:43.158 ENTITY : Create entity @"ENTITY:610406" ('StaticModelEntity','Assets/Structures/Infrastructure/Towers/TransmitterTower_01/TransmitterTower_01_small.xob') at <1931.796021 81.777000 5138.725098> @"{6A004A8F0571D456}Prefabs/Structures/Infrastructure/Towers/TransmitterTower_01/TransmitterTower_01_small.et" +04:40:43.158 ENTITY : CreateComponent 'ScriptedRadioComponent' +04:40:43.158 DEFAULT (W): World doesn't contain RadioManagerEntity to support any BaseRadioComponent. +04:40:52.815 WORLD : WORLD : NotifyBeforeEntitiesInitialized +04:40:52.815 PROFILING : NotifyBeforeEntitiesInitialized took: 0.004800 ms +04:40:53.254 WORLD : WORLD : NotifyEntitiesInitialized +04:40:53.254 TERRAIN : TERRAIN : Initializing road networks... +04:40:53.257 PROFILING : Initializing road networks... took: 2.530300 ms +04:40:53.257 PROFILING : NotifyEntitiesInitialized took: 3.052700 ms +04:40:53.258 PROFILING : CreateEntities took: 15812.619100 ms +04:40:53.430 PROFILING : * WorldEditor: LoadWorld: 17015.110000 ms +04:40:54.877 TERRAIN : Loading tile map config (worlds/Eden/Eden/tileMap.conf) +04:40:54.877 TERRAIN : Loading minimap config (worlds/Eden/Eden/miniMap.conf) +04:40:54.878 TERRAIN : The default minimap texture ('worlds/Eden/EdenRasterized.edds') not found. Trying 'worlds/Eden/Eden.edds'... +04:40:54.878 TERRAIN : The default minimap texture ('worlds/Eden/Eden.edds') not found. Skipping... +04:40:54.958 SCRIPT : ERR SITE SURVEY: supply=6150/7050 elevationRange=0.625 min=202.875 max=203.5 +04:40:54.976 BACKEND : Attempting online Game Config instead. +04:40:58.171 INIT : INIT : Workbench Reload Game +04:40:58.173 ENGINE : Game destroyed. +04:40:58.181 GUI : Using default language (en_us) +04:40:58.181 GUI : Loading 'en_us' localization file. +04:40:58.181 INIT : INIT : Loading StringTable +04:40:58.205 PROFILING : Loading StringTable took: 23.577400 ms +04:40:58.205 INIT : Creating game instance(ArmaReforgerScripted), version 1.8.0.13 built 2026-08-21 14:30:18 UTC. +04:40:58.214 SCRIPT : Unable to register a script command due keyword duplicity: ban +04:40:58.214 SCRIPT : Unable to register a script command due keyword duplicity: kick +04:40:58.214 ENGINE : Game successfully created. +04:40:58.214 ENGINE : Game successfully initialized. +04:40:58.214 PROFILING : Workbench Reload Game took: 43.787900 ms +04:40:58.217 DEFAULT (W): LogiLED: Cannot initialize! (service not running or no compatible device detected) +04:40:58.271 PLATFORM : Save data from container 'settings' have been loaded +04:40:58.360 PLATFORM : Save data from container 'sessions' have been loaded +04:40:58.361 PLATFORM : GameProject user settings load from profile @"ReforgerGameSettings.conf" +04:40:58.361 ENGINE : Game user settings config loaded +04:40:58.458 DEFAULT : [SaveGameManager] Starting new playthrough nr.0 '' for mission '{B6C516F86302C679}Worlds/ERR_Everon.ent'. +04:40:58.467 WORLD : WORLD : Game::LoadEntities +04:40:58.467 WORLD : WORLD : Initializing world systems @"{1C60D2EDA2B468B8}Configs/Systems/BaseGameModeSystems.conf" +04:40:58.469 NETWORK : Enabled lag compensation, 29 frames with 100 FPS and 280 ms rewind limits. +04:40:58.469 WORLD : WORLD : CreateEntities +04:40:58.469 WORLD : WORLD : CreateEntities +04:40:58.469 WORLD : WORLD : NotifyBeforeEntitiesCreated +04:40:58.476 RESOURCES : Loaded mission headers from 7 addon(s)! +04:40:58.476 PROFILING : NotifyBeforeEntitiesCreated took: 7.234100 ms +04:40:58.476 WORLD : WORLD : Wait for preloading data +04:40:58.476 PROFILING : Wait for preloading data took: 0.000900 ms +04:41:03.011 WORLD : Game::LoadEntities +04:41:03.011 WORLD : CreateEntities +04:41:03.011 WORLD : CreateEntities +04:41:03.011 ENTITY : Create entity @"ENTITY:610406" ('StaticModelEntity','Assets/Structures/Infrastructure/Towers/TransmitterTower_01/TransmitterTower_01_small.xob') at <1931.796021 81.777000 5138.725098> @"{6A004A8F0571D456}Prefabs/Structures/Infrastructure/Towers/TransmitterTower_01/TransmitterTower_01_small.et" +04:41:03.011 ENTITY : CreateComponent 'ScriptedRadioComponent' +04:41:03.011 DEFAULT (W): World doesn't contain RadioManagerEntity to support any BaseRadioComponent. +04:41:04.383 ENTITY : Create entity @"ENTITY:842066" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1080.213013 10.776751 6018.347168> +04:41:04.383 ENTITY : CreateComponent 'Hierarchy' +04:41:04.383 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842066" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1080.213013 10.776751 6018.347168>') +04:41:04.384 ENTITY : Create entity @"ENTITY:842068" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1082.185913 10.778749 6018.331055> +04:41:04.384 ENTITY : CreateComponent 'Hierarchy' +04:41:04.384 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842068" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1082.185913 10.778749 6018.331055>') +04:41:04.384 ENTITY : Create entity @"ENTITY:842070" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1084.190918 10.790751 6018.334961> +04:41:04.384 ENTITY : CreateComponent 'Hierarchy' +04:41:04.384 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842070" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1084.190918 10.790751 6018.334961>') +04:41:04.388 ENTITY : Create entity @"ENTITY:842333" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4425.594727 9.981750 11029.402344> +04:41:04.388 ENTITY : CreateComponent 'Hierarchy' +04:41:04.388 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842333" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4425.594727 9.981750 11029.402344>') +04:41:04.389 ENTITY : Create entity @"ENTITY:842335" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4426.584473 9.983749 11031.109375> +04:41:04.389 ENTITY : CreateComponent 'Hierarchy' +04:41:04.389 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842335" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4426.584473 9.983749 11031.109375>') +04:41:04.389 ENTITY : Create entity @"ENTITY:842337" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4427.572266 9.995750 11032.853516> +04:41:04.389 ENTITY : CreateComponent 'Hierarchy' +04:41:04.389 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842337" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4427.572266 9.995750 11032.853516>') +04:41:04.393 ENTITY : Create entity @"ENTITY:842591" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.946289 10.470250 1551.986084> +04:41:04.393 ENTITY : CreateComponent 'Hierarchy' +04:41:04.393 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842591" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.946289 10.470250 1551.986084>') +04:41:04.393 ENTITY : Create entity @"ENTITY:842593" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.430664 10.472250 1550.081421> +04:41:04.393 ENTITY : CreateComponent 'Hierarchy' +04:41:04.393 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842593" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.430664 10.472250 1550.081421>') +04:41:04.393 ENTITY : Create entity @"ENTITY:842595" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10008.926758 10.484250 1548.140869> +04:41:04.393 ENTITY : CreateComponent 'Hierarchy' +04:41:04.393 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842595" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10008.926758 10.484250 1548.140869>') +04:41:08.829 ENTITY : Create entity @"ENTITY:2305843009213693956" ('Factions', SCR_FactionManager) at <0.000000 0.000000 0.000000> @"{589540B35EBA8CDC}Prefabs/MP/Managers/Factions/FactionManager_USxUSSR.et" +04:41:08.829 RESOURCES : GetResourceObject @"{5168FEA3054D6D15}Prefabs/Vehicles/Wheeled/M151A2/M151A2_M2HB_MERDC.et" +04:41:08.829 WORLD : Entity prefab load @"{5168FEA3054D6D15}Prefabs/Vehicles/Wheeled/M151A2/M151A2_M2HB_MERDC.et" +04:41:08.829 RESOURCES : GetResourceObject @"{F6B23D17D5067C11}Prefabs/Vehicles/Wheeled/M151A2/M151A2_M2HB.et" +04:41:08.829 WORLD : Entity prefab load @"{F6B23D17D5067C11}Prefabs/Vehicles/Wheeled/M151A2/M151A2_M2HB.et" +04:41:08.829 RESOURCES : GetResourceObject @"{F649585ABB3706C4}Prefabs/Vehicles/Wheeled/M151A2/M151A2.et" +04:41:08.829 WORLD : Entity prefab load @"{F649585ABB3706C4}Prefabs/Vehicles/Wheeled/M151A2/M151A2.et" +04:41:08.829 WORLD (E): Unknown keyword/data 'SlidingTrackMaterial' at offset 19441(0x4bf1) +04:41:08.867 RESOURCES : GetResourceObject @"{F7B9B434FCFF00B3}Prefabs/Vehicles/Wheeled/Conflict_Variants/BRDM2_Conflict.et" +04:41:08.867 WORLD : Entity prefab load @"{F7B9B434FCFF00B3}Prefabs/Vehicles/Wheeled/Conflict_Variants/BRDM2_Conflict.et" +04:41:08.867 RESOURCES : GetResourceObject @"{254289B9C09904AB}Prefabs/Vehicles/Wheeled/BRDM2/BRDM2.et" +04:41:08.867 WORLD : Entity prefab load @"{254289B9C09904AB}Prefabs/Vehicles/Wheeled/BRDM2/BRDM2.et" +04:41:08.867 RESOURCES : GetResourceObject @"{532B5F3CF8496E59}Prefabs/Vehicles/Wheeled/BRDM2/BRDM2_base.et" +04:41:08.867 WORLD : Entity prefab load @"{532B5F3CF8496E59}Prefabs/Vehicles/Wheeled/BRDM2/BRDM2_base.et" +04:41:08.867 WORLD (E): Unknown keyword/data 'Parent' at offset 35955(0x8c73) +04:41:08.867 WORLD (E): Unknown keyword/data 'Parent' at offset 36915(0x9033) +04:41:08.868 RESOURCES : GetResourceObject @"{BD75A18920BD1278}Prefabs/Vehicles/Wheeled/Conflict_Variants/BTR70_Conflict.et" +04:41:08.868 WORLD : Entity prefab load @"{BD75A18920BD1278}Prefabs/Vehicles/Wheeled/Conflict_Variants/BTR70_Conflict.et" +04:41:08.868 RESOURCES : GetResourceObject @"{C012BB3488BEA0C2}Prefabs/Vehicles/Wheeled/BTR70/BTR70.et" +04:41:08.868 WORLD : Entity prefab load @"{C012BB3488BEA0C2}Prefabs/Vehicles/Wheeled/BTR70/BTR70.et" +04:41:08.868 RESOURCES : GetResourceObject @"{1C5FE7B7FF49BB8D}Prefabs/Vehicles/Wheeled/BTR70/BTR70_Base.et" +04:41:08.868 WORLD : Entity prefab load @"{1C5FE7B7FF49BB8D}Prefabs/Vehicles/Wheeled/BTR70/BTR70_Base.et" +04:41:08.868 WORLD (E): Unknown keyword/data 'Parent' at offset 42646(0xa696) +04:41:08.868 WORLD (E): Unknown keyword/data 'Parent' at offset 43645(0xaa7d) +04:41:08.868 WORLD (E): Unknown keyword/data 'Parent' at offset 44617(0xae49) +04:41:08.868 WORLD (E): Unknown keyword/data 'Parent' at offset 45590(0xb216) +04:41:09.170 WORLD : WORLD : NotifyBeforeEntitiesInitialized +04:41:09.170 PROFILING : NotifyBeforeEntitiesInitialized took: 0.047500 ms +04:41:11.117 WORLD : InitEntities 'world' +04:41:11.117 ENTITY : Init entity @"ENTITY:2305843009213693953" ('Rereintroduced', ERR_GameMode) at <1076.468018 51.000999 1325.246948> @"{978E045E53EF36C8}Prefabs/ERR/GameMode.et" +04:41:11.117 SCRIPT (W): SCR_PerceivedFactionManagerComponent trying to set fall back faction 'CIV' but this faction could not be found so it is null instead. +04:41:11.145 WORLD : InitEntities 'world' +04:41:11.145 ENTITY : Init entity @"ENTITY:2305843009213693953" ('Rereintroduced', ERR_GameMode) at <1076.468018 51.000999 1325.246948> @"{978E045E53EF36C8}Prefabs/ERR/GameMode.et" +04:41:11.145 SCRIPT : ERR BASE SMOKE: core-only scripted escape; not manual or multiplayer acceptance +04:41:11.145 WORLD : WORLD : NotifyEntitiesInitialized +04:41:11.145 TERRAIN : TERRAIN : Initializing road networks... +04:41:11.148 PROFILING : Initializing road networks... took: 2.538900 ms +04:41:11.148 DEFAULT : DEFAULT : WorldVolumesCollection +04:41:11.207 PROFILING : WorldVolumesCollection took: 59.093100 ms +04:41:11.207 INIT : INIT : SoundWorldInit +04:41:11.221 PROFILING : SoundWorldInit took: 13.941600 ms +04:41:11.221 PROFILING : NotifyEntitiesInitialized took: 75.799000 ms +04:41:11.221 PROFILING : CreateEntities took: 12752.060300 ms +04:41:11.221 PROFILING : CreateEntities took: 12752.259500 ms +04:41:11.222 WORLD : WORLD : Wait for preloading data around camera +04:41:11.222 PROFILING : Wait for preloading data around camera took: 0.001000 ms +04:41:11.222 WORLD : WORLD : EOnActivate +04:41:11.256 PROFILING : EOnActivate took: 34.039300 ms +04:41:11.257 PROFILING : Game::LoadEntities took: 12788.781300 ms +04:41:11.548 DEFAULT : Entered offline game state. +04:41:11.650 NETWORK : Player connected: connectionID=2147483646 +04:41:11.651 NETWORK : ### Connecting player: connectionID=2147483646, Name= +04:41:11.651 NETWORK : ### Creating player: PlayerId=1, Name=jakub +04:41:11.656 ENTITY : SpawnEntityPrefab @"{225E51284CC95CFA}Prefabs/Characters/Core/DefaultPlayerControllerMP.et" +04:41:11.656 ENTITY : Create entity @"ENTITY:4611686018427388381" ('SCR_PlayerController') at <0.000000 0.000000 0.000000> +04:41:11.656 ENTITY : EntityPrefabUse @"{225E51284CC95CFA}Prefabs/Characters/Core/DefaultPlayerControllerMP.et" +04:41:11.656 SCRIPT (W): Notification data in 'SCR_NotificationsLogDisplay' has duplicate notification info key: 'EDITOR_PERCEIVED_FACTION_PUNISHMENT_KILLING_SET'. There should only be one of each key! +04:41:11.656 SCRIPT (W): Notification data in 'SCR_NotificationsLogDisplay' has duplicate notification info key: 'EDITOR_PERCEIVED_FACTION_TYPE_DISABLED'. There should only be one of each key! +04:41:11.658 SCRIPT (W): Can't open config file "" +04:41:11.663 WORLD : InitEntities 'world' +04:41:11.664 ENTITY : Init entity @"ENTITY:4611686018427388381" ('SCR_PlayerController') at <0.000000 0.000000 0.000000> @"{225E51284CC95CFA}Prefabs/Characters/Core/DefaultPlayerControllerMP.et" +04:41:11.664 GUI : WidgetManager: CrateWidgets @"{3C9DCDD76AB83157}UI/layouts/HUD/HUDLayouts/HUDManager_Root.layout" +04:41:11.664 SCRIPT (W): Slot_WeaponInfo Has no Content! +04:41:11.664 SCRIPT (W): Slot_Chat Has no Content! +04:41:11.664 SCRIPT (W): Slot_VON Has no Content! +04:41:11.664 SCRIPT (W): Slot_AvailableActions Has no Content! +04:41:11.664 SCRIPT (W): Slot_Vehicle Has no Content! +04:41:11.664 SCRIPT (W): Slot_GameVersion Has no Content! +04:41:11.665 SCRIPT (W): Slot_Notifications Has no Content! +04:41:11.665 SCRIPT (W): Slot_Hints Has no Content! +04:41:11.678 NETWORK : ### Updating player: PlayerId=1, Name=jakub, rplIdentity=0xFFFFFFFE, IdentityId=00000000-0000-0000-0000-000000000000 +04:41:11.678 SCRIPT (W): Ban Settings could not be loaded from BE Storage: Relying on default config +04:41:11.678 NETWORK : Players connecting: 0 +04:41:11.678 NETWORK : Players connected: 1 / 1 +04:41:11.708 DEFAULT : Using autosave directory: C:/users/steamuser/AppData/Local/Temp/Arma Reforger Workbench/Projects/ERR_Core/autosaves +04:41:11.709 PROFILING : Workbench startup took: 42828.561600 ms +04:41:11.732 WORLD : Frame start +04:41:11.732 SCRIPT : ScenarioFramework: Available tasks are empty, no new tasks will be generated. +04:41:11.746 WORLD : UpdateEntities +04:41:11.746 WORLD : Frame +04:41:11.746 SCRIPT : SCR_BaseGameMode::OnGameStateChanged = GAME +04:41:11.920 WORLD : UpdateEntities +04:41:11.920 WORLD : PostFrame +04:41:11.921 GUI : WidgetManager: CrateWidgets @"{D89BBA18F99053D6}UI/layouts/HUD/Chat/ChatHud.layout" +04:41:11.921 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +04:41:11.967 RESOURCES : GetResourceObject @"{20A6917D2114E29A}UI/layouts/HUD/Hint/HintInfoDisplay.layout" +04:41:11.967 GUI : Layout load @"{20A6917D2114E29A}UI/layouts/HUD/Hint/HintInfoDisplay.layout" +04:41:11.967 GUI : Widget prefab @"{EA1CC57D868E94F9}UI/layouts/HUD/Hint/Hint.layout" +04:41:11.967 GUI (W): Overridden prefab member (GUID: '{661AB14E0F471C66}' type: ButtonWidgetClass) no longer exists in prefab +04:41:12.106 RENDER : RENDER : ObjectsHeightMap::Build +04:41:12.106 RENDER : RENDER : MeshOccupancyGridManager::GenerateAllForWorld +04:41:12.261 PROFILING : MeshOccupancyGridManager::GenerateAllForWorld took: 154.361500 ms +04:41:12.268 PROFILING : ObjectsHeightMap::Build took: 161.817100 ms +04:41:13.435 SCRIPT : Rereintroduced [sites]: cache clearance position=<6086,211.538,7160> clear=1 +04:41:13.454 SCRIPT : Rereintroduced [sites]: authored everon-prison-1 at <6090,211.444,7160> +04:41:13.454 SCRIPT : Rereintroduced [sites]: cache clearance position=<6150,203.288,7050> clear=1 +04:41:13.482 SCRIPT : Rereintroduced [sites]: authored everon-supply-1 at <6150,203.288,7050> +04:41:13.484 SCRIPT : Rereintroduced [sites]: authored everon-radio-1 at <6500,159.756,7200> +04:41:13.535 SCRIPT : Rereintroduced [sites]: authored everon-extraction-1 at <7000,65.2562,7500> +04:41:13.536 SCRIPT : Rereintroduced [sites]: cache clearance position=<5960,220.256,7220> clear=1 +04:41:13.541 SCRIPT : Rereintroduced [sites]: transport parking=<5960,220.256,7212> radius=3 terrainRange=0.625 obstructed=0 clear=1 +04:41:13.591 SCRIPT : Rereintroduced [sites]: authored everon-supply-2 at <5960,220.256,7220> +04:41:13.591 SCRIPT : Rereintroduced [sites]: cache clearance position=<6340,175.788,7400> clear=1 +04:41:13.593 SCRIPT : Rereintroduced [sites]: authored everon-medical-1 at <6340,175.788,7400> +04:41:13.593 SCRIPT : Rereintroduced [sites]: cache clearance position=<6740,140.6,7300> clear=1 +04:41:13.596 SCRIPT : Rereintroduced [sites]: cache clearance position=<6740,140.913,7296> clear=1 +04:41:13.598 SCRIPT : Rereintroduced [sites]: cache clearance position=<6736,140.975,7300> clear=1 +04:41:13.598 SCRIPT : Rereintroduced [sites]: cache clearance position=<6744,140.288,7300> clear=1 +04:41:13.599 SCRIPT : Rereintroduced [sites]: authored everon-outpost-1 at <6740,140.6,7300> +04:41:28.649 SCRIPT : Rereintroduced [sites]: transport footprint low=<5958.21,218.924,7208.75> high=<5961.65,222.366,7214.62> surveyedCenter=<5960,220.256,7212> origin=<5959.94,220.197,7211.99> allowedRadius=2.5 +04:41:28.650 SCRIPT (E): Rereintroduced [sites]: preparation failed: transport needs fuel, driver/passenger seats and a fitting parking footprint: everon-supply-2 +04:41:28.772 SCRIPT (E): Rereintroduced: scenario preparation failed; spawning remains disabled: transport needs fuel, driver/passenger seats and a fitting parking footprint: everon-supply-2 diff --git a/docs/evidence/native-2026-09-19-044028-transport-bounds-failure/error.log.txt b/docs/evidence/native-2026-09-19-044028-transport-bounds-failure/error.log.txt new file mode 100644 index 0000000..7057978 --- /dev/null +++ b/docs/evidence/native-2026-09-19-044028-transport-bounds-failure/error.log.txt @@ -0,0 +1,123 @@ +--------------------------------------------- +Log Z:\tmp\erri-workbench-profile\logs\logs_2026-09-19_04-40-28\error.log started at 2026-09-19 04:40:30 (2026-09-19 02:40:30 UTC) + +04:40:30.640 INIT : Workbench startup +04:40:30.640 INIT : Workbench Init Engine +04:40:30.640 RESOURCES : ResourceDB: full scan +04:40:30.640 RESOURCES : processing files... +04:40:30.640 RESOURCES (W): resource not registered: @"$profile:rereintroduced.json". Setting null GUID +04:40:33.885 INIT : Workbench Create Game +04:40:33.885 SCRIPT : Compiling Game scripts +04:40:33.885 SCRIPT (W): @"Scripts/Game/Editor/Components/EditableEntity/SCR_EditableEntityComponent.c,785": 'GetPlayerPlatformKind' is obsolete +04:40:33.885 SCRIPT (W): @"Scripts/Game/Editor/Components/EditableEntity/SCR_EditableEntityComponent.c,786": 'GetPlayerPlatformId' is obsolete +04:40:34.136 SCRIPT (W): @"Scripts/Game/ERR/ERR_SiteService.c,140": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +04:40:34.146 SCRIPT (W): @"Scripts/Game/Workshop/SCR_AddonManager.c,876": 'GetRefCount' is obsolete: Will be removed +04:40:34.176 SCRIPT (W): @"Scripts/Game/Campaign/SCR_PlayerProfileManagerComponent.c,142": 'PlayerData' is obsolete +04:40:34.280 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,159": 'GetDSSession' is obsolete +04:40:34.280 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,162": 'RoomID' is obsolete +04:40:34.280 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,197": 'GetDSSession' is obsolete +04:40:34.280 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,201": 'RoomID' is obsolete +04:40:34.371 SCRIPT (W): @"Scripts/Game/DataCollection/SCR_DataCollectorComponent.c,481": 'GetStorage' is obsolete +04:40:34.372 SCRIPT (W): @"Scripts/Game/DataCollection/SCR_DataCollectorComponent.c,483": 'GetOnlineWritePrivilege' is obsolete +04:40:34.373 SCRIPT (W): @"Scripts/Game/Utilities/SCR_PlayerIdentityUtils.c,20": 'GetPlayerIdentityId' is obsolete +04:40:34.415 SCRIPT (W): @"Scripts/Game/ERR/ERR_ExtractionService.c,45": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +04:40:34.415 SCRIPT (W): @"Scripts/Game/ERR/ERR_ExtractionService.c,56": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +04:40:34.416 SCRIPT (W): @"Scripts/Game/UI/Menu/MainMenuUI.c,643": 'GetNotifyCount' is obsolete: Will be substitued by Notification Api. +04:40:34.416 SCRIPT (W): @"Scripts/Game/UI/Menu/MainMenuUI.c,645": 'GetNotifyItem' is obsolete: Will be substitued by Notification Api. +04:40:34.442 SCRIPT (W): @"Scripts/Game/ERR/ERR_NativeTransportProbe.c,82": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +04:40:34.472 SCRIPT (W): @"Scripts/Game/DataCollection/PlayerData/SCR_PlayerData.c,210": 'PlayerData' is obsolete +04:40:43.158 WORLD : CreateEntities +04:40:43.158 ENTITY : Create entity @"ENTITY:610406" ('StaticModelEntity','Assets/Structures/Infrastructure/Towers/TransmitterTower_01/TransmitterTower_01_small.xob') at <1931.796021 81.777000 5138.725098> @"{6A004A8F0571D456}Prefabs/Structures/Infrastructure/Towers/TransmitterTower_01/TransmitterTower_01_small.et" +04:40:43.158 ENTITY : CreateComponent 'ScriptedRadioComponent' +04:40:43.158 DEFAULT (W): World doesn't contain RadioManagerEntity to support any BaseRadioComponent. +04:40:58.217 DEFAULT (W): LogiLED: Cannot initialize! (service not running or no compatible device detected) +04:41:03.011 WORLD : Game::LoadEntities +04:41:03.011 WORLD : CreateEntities +04:41:03.011 WORLD : CreateEntities +04:41:03.011 ENTITY : Create entity @"ENTITY:610406" ('StaticModelEntity','Assets/Structures/Infrastructure/Towers/TransmitterTower_01/TransmitterTower_01_small.xob') at <1931.796021 81.777000 5138.725098> @"{6A004A8F0571D456}Prefabs/Structures/Infrastructure/Towers/TransmitterTower_01/TransmitterTower_01_small.et" +04:41:03.011 ENTITY : CreateComponent 'ScriptedRadioComponent' +04:41:03.011 DEFAULT (W): World doesn't contain RadioManagerEntity to support any BaseRadioComponent. +04:41:04.383 ENTITY : Create entity @"ENTITY:842066" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1080.213013 10.776751 6018.347168> +04:41:04.383 ENTITY : CreateComponent 'Hierarchy' +04:41:04.383 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842066" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1080.213013 10.776751 6018.347168>') +04:41:04.384 ENTITY : Create entity @"ENTITY:842068" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1082.185913 10.778749 6018.331055> +04:41:04.384 ENTITY : CreateComponent 'Hierarchy' +04:41:04.384 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842068" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1082.185913 10.778749 6018.331055>') +04:41:04.384 ENTITY : Create entity @"ENTITY:842070" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1084.190918 10.790751 6018.334961> +04:41:04.384 ENTITY : CreateComponent 'Hierarchy' +04:41:04.384 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842070" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1084.190918 10.790751 6018.334961>') +04:41:04.388 ENTITY : Create entity @"ENTITY:842333" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4425.594727 9.981750 11029.402344> +04:41:04.388 ENTITY : CreateComponent 'Hierarchy' +04:41:04.388 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842333" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4425.594727 9.981750 11029.402344>') +04:41:04.389 ENTITY : Create entity @"ENTITY:842335" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4426.584473 9.983749 11031.109375> +04:41:04.389 ENTITY : CreateComponent 'Hierarchy' +04:41:04.389 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842335" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4426.584473 9.983749 11031.109375>') +04:41:04.389 ENTITY : Create entity @"ENTITY:842337" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4427.572266 9.995750 11032.853516> +04:41:04.389 ENTITY : CreateComponent 'Hierarchy' +04:41:04.389 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842337" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4427.572266 9.995750 11032.853516>') +04:41:04.393 ENTITY : Create entity @"ENTITY:842591" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.946289 10.470250 1551.986084> +04:41:04.393 ENTITY : CreateComponent 'Hierarchy' +04:41:04.393 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842591" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.946289 10.470250 1551.986084>') +04:41:04.393 ENTITY : Create entity @"ENTITY:842593" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.430664 10.472250 1550.081421> +04:41:04.393 ENTITY : CreateComponent 'Hierarchy' +04:41:04.393 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842593" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.430664 10.472250 1550.081421>') +04:41:04.393 ENTITY : Create entity @"ENTITY:842595" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10008.926758 10.484250 1548.140869> +04:41:04.393 ENTITY : CreateComponent 'Hierarchy' +04:41:04.393 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842595" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10008.926758 10.484250 1548.140869>') +04:41:08.829 ENTITY : Create entity @"ENTITY:2305843009213693956" ('Factions', SCR_FactionManager) at <0.000000 0.000000 0.000000> @"{589540B35EBA8CDC}Prefabs/MP/Managers/Factions/FactionManager_USxUSSR.et" +04:41:08.829 RESOURCES : GetResourceObject @"{5168FEA3054D6D15}Prefabs/Vehicles/Wheeled/M151A2/M151A2_M2HB_MERDC.et" +04:41:08.829 WORLD : Entity prefab load @"{5168FEA3054D6D15}Prefabs/Vehicles/Wheeled/M151A2/M151A2_M2HB_MERDC.et" +04:41:08.829 RESOURCES : GetResourceObject @"{F6B23D17D5067C11}Prefabs/Vehicles/Wheeled/M151A2/M151A2_M2HB.et" +04:41:08.829 WORLD : Entity prefab load @"{F6B23D17D5067C11}Prefabs/Vehicles/Wheeled/M151A2/M151A2_M2HB.et" +04:41:08.829 RESOURCES : GetResourceObject @"{F649585ABB3706C4}Prefabs/Vehicles/Wheeled/M151A2/M151A2.et" +04:41:08.829 WORLD : Entity prefab load @"{F649585ABB3706C4}Prefabs/Vehicles/Wheeled/M151A2/M151A2.et" +04:41:08.829 WORLD (E): Unknown keyword/data 'SlidingTrackMaterial' at offset 19441(0x4bf1) +04:41:08.867 RESOURCES : GetResourceObject @"{F7B9B434FCFF00B3}Prefabs/Vehicles/Wheeled/Conflict_Variants/BRDM2_Conflict.et" +04:41:08.867 WORLD : Entity prefab load @"{F7B9B434FCFF00B3}Prefabs/Vehicles/Wheeled/Conflict_Variants/BRDM2_Conflict.et" +04:41:08.867 RESOURCES : GetResourceObject @"{254289B9C09904AB}Prefabs/Vehicles/Wheeled/BRDM2/BRDM2.et" +04:41:08.867 WORLD : Entity prefab load @"{254289B9C09904AB}Prefabs/Vehicles/Wheeled/BRDM2/BRDM2.et" +04:41:08.867 RESOURCES : GetResourceObject @"{532B5F3CF8496E59}Prefabs/Vehicles/Wheeled/BRDM2/BRDM2_base.et" +04:41:08.867 WORLD : Entity prefab load @"{532B5F3CF8496E59}Prefabs/Vehicles/Wheeled/BRDM2/BRDM2_base.et" +04:41:08.867 WORLD (E): Unknown keyword/data 'Parent' at offset 35955(0x8c73) +04:41:08.867 WORLD (E): Unknown keyword/data 'Parent' at offset 36915(0x9033) +04:41:08.868 RESOURCES : GetResourceObject @"{BD75A18920BD1278}Prefabs/Vehicles/Wheeled/Conflict_Variants/BTR70_Conflict.et" +04:41:08.868 WORLD : Entity prefab load @"{BD75A18920BD1278}Prefabs/Vehicles/Wheeled/Conflict_Variants/BTR70_Conflict.et" +04:41:08.868 RESOURCES : GetResourceObject @"{C012BB3488BEA0C2}Prefabs/Vehicles/Wheeled/BTR70/BTR70.et" +04:41:08.868 WORLD : Entity prefab load @"{C012BB3488BEA0C2}Prefabs/Vehicles/Wheeled/BTR70/BTR70.et" +04:41:08.868 RESOURCES : GetResourceObject @"{1C5FE7B7FF49BB8D}Prefabs/Vehicles/Wheeled/BTR70/BTR70_Base.et" +04:41:08.868 WORLD : Entity prefab load @"{1C5FE7B7FF49BB8D}Prefabs/Vehicles/Wheeled/BTR70/BTR70_Base.et" +04:41:08.868 WORLD (E): Unknown keyword/data 'Parent' at offset 42646(0xa696) +04:41:08.868 WORLD (E): Unknown keyword/data 'Parent' at offset 43645(0xaa7d) +04:41:08.868 WORLD (E): Unknown keyword/data 'Parent' at offset 44617(0xae49) +04:41:08.868 WORLD (E): Unknown keyword/data 'Parent' at offset 45590(0xb216) +04:41:11.117 WORLD : InitEntities 'world' +04:41:11.117 ENTITY : Init entity @"ENTITY:2305843009213693953" ('Rereintroduced', ERR_GameMode) at <1076.468018 51.000999 1325.246948> @"{978E045E53EF36C8}Prefabs/ERR/GameMode.et" +04:41:11.117 SCRIPT (W): SCR_PerceivedFactionManagerComponent trying to set fall back faction 'CIV' but this faction could not be found so it is null instead. +04:41:11.655 ENTITY : SpawnEntityPrefab @"{225E51284CC95CFA}Prefabs/Characters/Core/DefaultPlayerControllerMP.et" +04:41:11.656 ENTITY : Create entity @"ENTITY:4611686018427388381" ('SCR_PlayerController') at <0.000000 0.000000 0.000000> +04:41:11.656 ENTITY : EntityPrefabUse @"{225E51284CC95CFA}Prefabs/Characters/Core/DefaultPlayerControllerMP.et" +04:41:11.656 SCRIPT (W): Notification data in 'SCR_NotificationsLogDisplay' has duplicate notification info key: 'EDITOR_PERCEIVED_FACTION_PUNISHMENT_KILLING_SET'. There should only be one of each key! +04:41:11.656 SCRIPT (W): Notification data in 'SCR_NotificationsLogDisplay' has duplicate notification info key: 'EDITOR_PERCEIVED_FACTION_TYPE_DISABLED'. There should only be one of each key! +04:41:11.658 SCRIPT (W): Can't open config file "" +04:41:11.663 WORLD : InitEntities 'world' +04:41:11.664 ENTITY : Init entity @"ENTITY:4611686018427388381" ('SCR_PlayerController') at <0.000000 0.000000 0.000000> @"{225E51284CC95CFA}Prefabs/Characters/Core/DefaultPlayerControllerMP.et" +04:41:11.664 GUI : WidgetManager: CrateWidgets @"{3C9DCDD76AB83157}UI/layouts/HUD/HUDLayouts/HUDManager_Root.layout" +04:41:11.664 SCRIPT (W): Slot_WeaponInfo Has no Content! +04:41:11.664 SCRIPT (W): Slot_Chat Has no Content! +04:41:11.664 SCRIPT (W): Slot_VON Has no Content! +04:41:11.664 SCRIPT (W): Slot_AvailableActions Has no Content! +04:41:11.664 SCRIPT (W): Slot_Vehicle Has no Content! +04:41:11.664 SCRIPT (W): Slot_GameVersion Has no Content! +04:41:11.665 SCRIPT (W): Slot_Notifications Has no Content! +04:41:11.665 SCRIPT (W): Slot_Hints Has no Content! +04:41:11.678 SCRIPT (W): Ban Settings could not be loaded from BE Storage: Relying on default config +04:41:11.920 WORLD : UpdateEntities +04:41:11.920 WORLD : PostFrame +04:41:11.921 GUI : WidgetManager: CrateWidgets @"{D89BBA18F99053D6}UI/layouts/HUD/Chat/ChatHud.layout" +04:41:11.921 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +04:41:11.967 RESOURCES : GetResourceObject @"{20A6917D2114E29A}UI/layouts/HUD/Hint/HintInfoDisplay.layout" +04:41:11.967 GUI : Layout load @"{20A6917D2114E29A}UI/layouts/HUD/Hint/HintInfoDisplay.layout" +04:41:11.967 GUI : Widget prefab @"{EA1CC57D868E94F9}UI/layouts/HUD/Hint/Hint.layout" +04:41:11.967 GUI (W): Overridden prefab member (GUID: '{661AB14E0F471C66}' type: ButtonWidgetClass) no longer exists in prefab +04:41:28.650 SCRIPT (E): Rereintroduced [sites]: preparation failed: transport needs fuel, driver/passenger seats and a fitting parking footprint: everon-supply-2 +04:41:28.772 SCRIPT (E): Rereintroduced: scenario preparation failed; spawning remains disabled: transport needs fuel, driver/passenger seats and a fitting parking footprint: everon-supply-2 diff --git a/docs/evidence/native-2026-09-19-044028-transport-bounds-failure/headless-launch.log.txt b/docs/evidence/native-2026-09-19-044028-transport-bounds-failure/headless-launch.log.txt new file mode 100644 index 0000000..714d421 --- /dev/null +++ b/docs/evidence/native-2026-09-19-044028-transport-bounds-failure/headless-launch.log.txt @@ -0,0 +1,150 @@ +[gamescope] [Info] console: gamescope version 3.16.28 (gcc 16.2.1) +No CAP_SYS_NICE, falling back to regular-priority compute and threads. +Performance will be affected. +[gamescope] [Info] scriptmgr: Loading scripts from: '/usr/share/gamescope/scripts' +[gamescope] [Info] scriptmgr: Loading scripts from: '/usr/share/gamescope/scripts/00-gamescope' +[gamescope] [Info] scriptmgr: Loading scripts from: '/usr/share/gamescope/scripts/00-gamescope/common' +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/common/inspect.lua' (id: 0) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/common/modegen.lua' (id: 1) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/common/util.lua' (id: 2) +[gamescope] [Info] scriptmgr: Loading scripts from: '/usr/share/gamescope/scripts/00-gamescope/displays' +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/asus.rogally.lcd.lua' (id: 3) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/deckhd.steamdeck.deckhd-lcd.lua' (id: 4) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/gpd.win4.lcd.lua' (id: 5) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/lenovo.legiongo.lcd.lua' (id: 6) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/lenovo.legiongos.lcd.lua' (id: 7) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/onexplayer.f1.oled.lua' (id: 8) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/valve.steamdeck.lcd.lua' (id: 9) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/valve.steamdeck.oled.lua' (id: 10) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/zotac.zone.oled.lua' (id: 11) +[gamescope] [Info] scriptmgr: Loading scripts from: '/etc/gamescope/scripts' +[gamescope] [Warn] scriptmgr: Directory '/etc/gamescope/scripts' does not exist +[gamescope] [Info] scriptmgr: Loading scripts from: '/home/jakub/.config/gamescope/scripts' +[gamescope] [Warn] scriptmgr: Directory '/home/jakub/.config/gamescope/scripts' does not exist +[gamescope] [Info] vulkan: selecting physical device 'AMD Radeon RX 6950 XT (RADV NAVI21)': queue family 1 (general queue family 0) +[gamescope] [Info] vulkan: physical device supports DRM format modifiers +[gamescope] [Info] wlserver: [backend/headless/backend.c:60] Creating headless backend +[gamescope] [Info] vulkan: supported DRM formats for sampling usage: +[gamescope] [Info] vulkan: AR24 (0x34325241) +[gamescope] [Info] vulkan: XR24 (0x34325258) +[gamescope] [Info] vulkan: AB24 (0x34324241) +[gamescope] [Info] vulkan: XB24 (0x34324258) +[gamescope] [Info] vulkan: RG16 (0x36314752) +[gamescope] [Info] vulkan: NV12 (0x3231564E) +[gamescope] [Info] vulkan: AB4H (0x48344241) +[gamescope] [Info] vulkan: XB4H (0x48344258) +[gamescope] [Info] vulkan: AB48 (0x38344241) +[gamescope] [Info] vulkan: XB48 (0x38344258) +[gamescope] [Info] vulkan: AB30 (0x30334241) +[gamescope] [Info] vulkan: XB30 (0x30334258) +[gamescope] [Info] vulkan: AR30 (0x30335241) +[gamescope] [Info] vulkan: XR30 (0x30335258) +[gamescope] [Info] wlserver: Using explicit sync when available +[gamescope] [Info] wlserver: Running compositor on wayland display 'gamescope-0' +[gamescope] [Info] wlserver: [backend/headless/backend.c:17] Starting headless backend +[gamescope] [Info] wlserver: Successfully initialized libei for input emulation! +[gamescope] [Error] wlserver: [xwayland/sockets.c:47] Failed to bind socket @/tmp/.X11-unix/X0: Address already in use +[gamescope] [Info] wlserver: [xwayland/server.c:108] Starting Xwayland on :2 +The XKEYBOARD keymap compiler (xkbcomp) reports: +> Warning: Multiple symbols for level 1/group 1 on key +> Using F23, ignoring XF86TouchpadOff +> Warning: Symbol map for key redefined +> Using last definition for conflicting fields +> Warning: Symbol map for key redefined +> Using last definition for conflicting fields +> Warning: Could not resolve keysym XF86ElectronicPrivacyScreenOn +> Warning: Could not resolve keysym XF86ElectronicPrivacyScreenOff +> Warning: Could not resolve keysym XF86ActionOnSelection +> Warning: Could not resolve keysym XF86ContextualInsert +> Warning: Could not resolve keysym XF86ContextualQuery +Errors from xkbcomp are not fatal to the X server +[gamescope] [Info] pipewire: stream state changed: connecting +[gamescope] [Info] pipewire: stream state changed: paused +[gamescope] [Info] pipewire: stream available on node ID: 123 +[gamescope] [Info] vblank: Using timerfd. +fsync: up and running. +[Gamescope WSI] No application info given. +[Gamescope WSI] Executable name: explorer.exe +ATTENTION: default value of option vk_wsi_force_swapchain_to_current_extent overridden by environment. +[Gamescope WSI] Application info: + pApplicationName: xalia.exe + applicationVersion: 0 + pEngineName: DXVK + engineVersion: 12587008 + apiVersion: 4206592 +[Gamescope WSI] Executable name: xalia.exe +ATTENTION: default value of option vk_wsi_force_swapchain_to_current_extent overridden by environment. +[Gamescope WSI] No application info given. +[Gamescope WSI] Application info: + pApplicationName: ArmaReforgerWorkbenchSteamDiag.exe + applicationVersion: 1 + pEngineName: DXVK + engineVersion: 12587008 + apiVersion: 4206592 +[Gamescope WSI] Executable name: ArmaReforgerWorkbenchSteamDiag.exe +ATTENTION: default value of option vk_wsi_force_swapchain_to_current_extent overridden by environment. +[Gamescope WSI] No application info given. +The XKEYBOARD keymap compiler (xkbcomp) reports: +> Warning: Unsupported maximum keycode 709, clipping. +> X11 cannot support keycodes above 255. +> Warning: Virtual modifier Hyper multiply defined +> Using 0, ignoring 0 +> Warning: Virtual modifier ScrollLock multiply defined +> Using 0, ignoring 0 +Errors from xkbcomp are not fatal to the X server +ATTENTION: default value of option vk_wsi_force_swapchain_to_current_extent overridden by environment. +[Gamescope WSI] Application info: + pApplicationName: ArmaReforgerWorkbenchSteamDiag.exe + applicationVersion: 0 + pEngineName: DXVK + engineVersion: 12587008 + apiVersion: 4206592 +ATTENTION: default value of option vk_wsi_force_swapchain_to_current_extent overridden by environment. +[Gamescope WSI] Application info: + pApplicationName: ArmaReforgerWorkbenchSteamDiag.exe + applicationVersion: 0 + pEngineName: vkd3d + engineVersion: 12587008 + apiVersion: 4206592 +[Gamescope WSI] Forcing on VK_EXT_swapchain_maintenance1. +ATTENTION: default value of option vk_wsi_force_swapchain_to_current_extent overridden by environment. +[Gamescope WSI] No application info given. +ATTENTION: default value of option vk_wsi_force_swapchain_to_current_extent overridden by environment. +[Gamescope WSI] Application info: + pApplicationName: ArmaReforgerWorkbenchSteamDiag.exe + applicationVersion: 0 + pEngineName: vkd3d + engineVersion: 12587008 + apiVersion: 4206592 +[Gamescope WSI] Forcing on VK_EXT_swapchain_maintenance1. +[Gamescope WSI] Creating Gamescope surface: xid: 0x1a001a4 +[Gamescope WSI] Atom of T was wrong type. Expected XCB_ATOM_CARDINAL. +[Gamescope WSI] Made gamescope surface for xid: 0x1a001a4 +[Gamescope WSI] Surface state: + steam app id: 1874910 + window xid: 0x1a001a4 + wayland surface res id: 5 + layer client flags: 0x4 + server hdr output enabled: false + hdr formats exposed to client: false +[Gamescope WSI] Creating Gamescope surface: xid: 0x1a003a4 +[Gamescope WSI] Atom of T was wrong type. Expected XCB_ATOM_CARDINAL. +[Gamescope WSI] Made gamescope surface for xid: 0x1a003a4 +[Gamescope WSI] Surface state: + steam app id: 1874910 + window xid: 0x1a003a4 + wayland surface res id: 10 + layer client flags: 0x4 + server hdr output enabled: false + hdr formats exposed to client: false +[Gamescope WSI] Creating swapchain for xid: 0x1a003a4 - oldSwapchain: (nil) - provided minImageCount: 3 - minImageCount: 3 - format: VK_FORMAT_B8G8R8A8_UNORM - colorspace: VK_COLOR_SPACE_SRGB_NONLINEAR_KHR - flip: false +[Gamescope WSI] Created swapchain for xid: 0x1a003a4 swapchain: 0x7f658c0b5d10 - imageCount: 4 +[Gamescope WSI] Destroying swapchain: 0x7f658c0b5d10 +[Gamescope WSI] Destroyed swapchain: 0x7f658c0b5d10 +[Gamescope WSI] Creating swapchain for xid: 0x1a003a4 - oldSwapchain: (nil) - provided minImageCount: 3 - minImageCount: 3 - format: VK_FORMAT_B8G8R8A8_UNORM - colorspace: VK_COLOR_SPACE_SRGB_NONLINEAR_KHR - flip: false +[Gamescope WSI] Created swapchain for xid: 0x1a003a4 swapchain: 0x7f658c0b5d10 - imageCount: 4 +[Gamescope WSI] Destroying swapchain: 0x7f658c0b5d10 +[Gamescope WSI] Destroyed swapchain: 0x7f658c0b5d10 +[Gamescope WSI] Creating swapchain for xid: 0x1a003a4 - oldSwapchain: (nil) - provided minImageCount: 3 - minImageCount: 3 - format: VK_FORMAT_B8G8R8A8_UNORM - colorspace: VK_COLOR_SPACE_SRGB_NONLINEAR_KHR - flip: false +[Gamescope WSI] Created swapchain for xid: 0x1a003a4 swapchain: 0x7f658c0b5d10 - imageCount: 4 +[gamescope] [Info] launch: Primary child shut down! diff --git a/docs/evidence/native-2026-09-19-044028-transport-bounds-failure/report.json b/docs/evidence/native-2026-09-19-044028-transport-bounds-failure/report.json new file mode 100644 index 0000000..741a084 --- /dev/null +++ b/docs/evidence/native-2026-09-19-044028-transport-bounds-failure/report.json @@ -0,0 +1,22 @@ +{ + "log": "docs/evidence/native-2026-09-19-044028-transport-bounds-failure/console.log.txt", + "smoke_completions": 0, + "assertions_passed": 0, + "script_or_runtime_failures": [ + "04:41:28.650 SCRIPT (E): Rereintroduced [sites]: preparation failed: transport needs fuel, driver/passenger seats and a fitting parking footprint: everon-supply-2", + "04:41:28.772 SCRIPT (E): Rereintroduced: scenario preparation failed; spawning remains disabled: transport needs fuel, driver/passenger seats and a fitting parking footprint: everon-supply-2" + ], + "engine_errors": [ + "04:41:08.829 WORLD (E): Unknown keyword/data 'SlidingTrackMaterial' at offset 19441(0x4bf1)", + "04:41:08.867 WORLD (E): Unknown keyword/data 'Parent' at offset 35955(0x8c73)", + "04:41:08.867 WORLD (E): Unknown keyword/data 'Parent' at offset 36915(0x9033)", + "04:41:08.868 WORLD (E): Unknown keyword/data 'Parent' at offset 42646(0xa696)", + "04:41:08.868 WORLD (E): Unknown keyword/data 'Parent' at offset 43645(0xaa7d)", + "04:41:08.868 WORLD (E): Unknown keyword/data 'Parent' at offset 44617(0xae49)", + "04:41:08.868 WORLD (E): Unknown keyword/data 'Parent' at offset 45590(0xb216)", + "04:41:28.650 SCRIPT (E): Rereintroduced [sites]: preparation failed: transport needs fuel, driver/passenger seats and a fitting parking footprint: everon-supply-2", + "04:41:28.772 SCRIPT (E): Rereintroduced: scenario preparation failed; spawning remains disabled: transport needs fuel, driver/passenger seats and a fitting parking footprint: everon-supply-2" + ], + "missing_end_screen": [], + "scope": "scripted local Workbench integration only; no multiplayer, piloting or FPS claim" +} diff --git a/docs/evidence/native-2026-09-19-044028-transport-bounds-failure/runner.json.txt b/docs/evidence/native-2026-09-19-044028-transport-bounds-failure/runner.json.txt new file mode 100644 index 0000000..ec799e5 --- /dev/null +++ b/docs/evidence/native-2026-09-19-044028-transport-bounds-failure/runner.json.txt @@ -0,0 +1,9 @@ +{ + "result": "test-failed", + "session": "/tmp/erri-workbench-profile/logs/logs_2026-09-19_04-40-28", + "rounds_required": 1, + "project": "core", + "display": "headless Gamescope 1280x720/30Hz", + "dedicated_server": false, + "audio": "silent sink and per-test-stream mute" +} diff --git a/docs/evidence/native-2026-09-19-044028-transport-bounds-failure/script.log.txt b/docs/evidence/native-2026-09-19-044028-transport-bounds-failure/script.log.txt new file mode 100644 index 0000000..3a6e227 --- /dev/null +++ b/docs/evidence/native-2026-09-19-044028-transport-bounds-failure/script.log.txt @@ -0,0 +1,71 @@ +--------------------------------------------- +Log Z:\tmp\erri-workbench-profile\logs\logs_2026-09-19_04-40-28\script.log started at 2026-09-19 04:40:31 (2026-09-19 02:40:31 UTC) + +04:40:31.774 SCRIPT : SCRIPT : Initializing scripts +04:40:31.774 SCRIPT : SCRIPT : ScriptProjectManager init +04:40:32.693 SCRIPT : SCRIPT : Compiling GameLib scripts +04:40:32.757 SCRIPT : Module: Workbench; loaded 18x files; 36x classes; used 125K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE"; CRC32: 90ce0460 +04:40:32.757 SCRIPT : Module: GameLib; loaded 465x files; 648x classes; used 828K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE"; CRC32: 4507af04 +04:40:32.758 SCRIPT : SCRIPT : Compiling Game scripts +04:40:33.885 SCRIPT : Compiling Game scripts +04:40:33.885 SCRIPT (W): @"Scripts/Game/Editor/Components/EditableEntity/SCR_EditableEntityComponent.c,785": 'GetPlayerPlatformKind' is obsolete +04:40:33.885 SCRIPT (W): @"Scripts/Game/Editor/Components/EditableEntity/SCR_EditableEntityComponent.c,786": 'GetPlayerPlatformId' is obsolete +04:40:34.136 SCRIPT (W): @"Scripts/Game/ERR/ERR_SiteService.c,140": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +04:40:34.146 SCRIPT (W): @"Scripts/Game/Workshop/SCR_AddonManager.c,876": 'GetRefCount' is obsolete: Will be removed +04:40:34.176 SCRIPT (W): @"Scripts/Game/Campaign/SCR_PlayerProfileManagerComponent.c,142": 'PlayerData' is obsolete +04:40:34.280 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,159": 'GetDSSession' is obsolete +04:40:34.280 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,162": 'RoomID' is obsolete +04:40:34.280 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,197": 'GetDSSession' is obsolete +04:40:34.280 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,201": 'RoomID' is obsolete +04:40:34.372 SCRIPT (W): @"Scripts/Game/DataCollection/SCR_DataCollectorComponent.c,481": 'GetStorage' is obsolete +04:40:34.372 SCRIPT (W): @"Scripts/Game/DataCollection/SCR_DataCollectorComponent.c,483": 'GetOnlineWritePrivilege' is obsolete +04:40:34.373 SCRIPT (W): @"Scripts/Game/Utilities/SCR_PlayerIdentityUtils.c,20": 'GetPlayerIdentityId' is obsolete +04:40:34.415 SCRIPT (W): @"Scripts/Game/ERR/ERR_ExtractionService.c,45": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +04:40:34.415 SCRIPT (W): @"Scripts/Game/ERR/ERR_ExtractionService.c,56": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +04:40:34.416 SCRIPT (W): @"Scripts/Game/UI/Menu/MainMenuUI.c,643": 'GetNotifyCount' is obsolete: Will be substitued by Notification Api. +04:40:34.416 SCRIPT (W): @"Scripts/Game/UI/Menu/MainMenuUI.c,645": 'GetNotifyItem' is obsolete: Will be substitued by Notification Api. +04:40:34.442 SCRIPT (W): @"Scripts/Game/ERR/ERR_NativeTransportProbe.c,82": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +04:40:34.472 SCRIPT (W): @"Scripts/Game/DataCollection/PlayerData/SCR_PlayerData.c,210": 'PlayerData' is obsolete +04:40:34.746 SCRIPT : Module: WorkbenchGame; loaded 171x files; 616x classes; used 2478K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE"; CRC32: db6febb9 +04:40:34.753 SCRIPT : Module: Game; loaded 5701x files; 11171x classes; used 32480K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE,ENABLE_BASE_DESTRUCTION,BUDGET_OPTIMIZATION_CHECKS,SHOW_DISCLAIMER,DEBUG,RESPAWN_TIMER_COMPONENT_DEBUG,GAME_MODE_DEBUG,DEBUG_CONFIGURABLE_DIALOGS,DISABLE_WEAPON_SWITCHING,SCRIPTED_AIM_MODIFIER_DEBUG"; CRC32: 531b916a +04:40:35.717 SCRIPT : Unable to register a script command due keyword duplicity: ban +04:40:35.717 SCRIPT : Unable to register a script command due keyword duplicity: kick +04:40:54.958 SCRIPT : ERR SITE SURVEY: supply=6150/7050 elevationRange=0.625 min=202.875 max=203.5 +04:40:58.214 SCRIPT : Unable to register a script command due keyword duplicity: ban +04:40:58.214 SCRIPT : Unable to register a script command due keyword duplicity: kick +04:41:11.117 SCRIPT (W): SCR_PerceivedFactionManagerComponent trying to set fall back faction 'CIV' but this faction could not be found so it is null instead. +04:41:11.145 SCRIPT : ERR BASE SMOKE: core-only scripted escape; not manual or multiplayer acceptance +04:41:11.656 SCRIPT (W): Notification data in 'SCR_NotificationsLogDisplay' has duplicate notification info key: 'EDITOR_PERCEIVED_FACTION_PUNISHMENT_KILLING_SET'. There should only be one of each key! +04:41:11.656 SCRIPT (W): Notification data in 'SCR_NotificationsLogDisplay' has duplicate notification info key: 'EDITOR_PERCEIVED_FACTION_TYPE_DISABLED'. There should only be one of each key! +04:41:11.658 SCRIPT (W): Can't open config file "" +04:41:11.664 SCRIPT (W): Slot_WeaponInfo Has no Content! +04:41:11.664 SCRIPT (W): Slot_Chat Has no Content! +04:41:11.664 SCRIPT (W): Slot_VON Has no Content! +04:41:11.664 SCRIPT (W): Slot_AvailableActions Has no Content! +04:41:11.664 SCRIPT (W): Slot_Vehicle Has no Content! +04:41:11.664 SCRIPT (W): Slot_GameVersion Has no Content! +04:41:11.665 SCRIPT (W): Slot_Notifications Has no Content! +04:41:11.665 SCRIPT (W): Slot_Hints Has no Content! +04:41:11.678 SCRIPT (W): Ban Settings could not be loaded from BE Storage: Relying on default config +04:41:11.732 SCRIPT : ScenarioFramework: Available tasks are empty, no new tasks will be generated. +04:41:11.746 SCRIPT : SCR_BaseGameMode::OnGameStateChanged = GAME +04:41:11.921 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +04:41:13.435 SCRIPT : Rereintroduced [sites]: cache clearance position=<6086,211.538,7160> clear=1 +04:41:13.454 SCRIPT : Rereintroduced [sites]: authored everon-prison-1 at <6090,211.444,7160> +04:41:13.454 SCRIPT : Rereintroduced [sites]: cache clearance position=<6150,203.288,7050> clear=1 +04:41:13.482 SCRIPT : Rereintroduced [sites]: authored everon-supply-1 at <6150,203.288,7050> +04:41:13.484 SCRIPT : Rereintroduced [sites]: authored everon-radio-1 at <6500,159.756,7200> +04:41:13.535 SCRIPT : Rereintroduced [sites]: authored everon-extraction-1 at <7000,65.2562,7500> +04:41:13.536 SCRIPT : Rereintroduced [sites]: cache clearance position=<5960,220.256,7220> clear=1 +04:41:13.541 SCRIPT : Rereintroduced [sites]: transport parking=<5960,220.256,7212> radius=3 terrainRange=0.625 obstructed=0 clear=1 +04:41:13.591 SCRIPT : Rereintroduced [sites]: authored everon-supply-2 at <5960,220.256,7220> +04:41:13.591 SCRIPT : Rereintroduced [sites]: cache clearance position=<6340,175.788,7400> clear=1 +04:41:13.593 SCRIPT : Rereintroduced [sites]: authored everon-medical-1 at <6340,175.788,7400> +04:41:13.593 SCRIPT : Rereintroduced [sites]: cache clearance position=<6740,140.6,7300> clear=1 +04:41:13.597 SCRIPT : Rereintroduced [sites]: cache clearance position=<6740,140.913,7296> clear=1 +04:41:13.598 SCRIPT : Rereintroduced [sites]: cache clearance position=<6736,140.975,7300> clear=1 +04:41:13.598 SCRIPT : Rereintroduced [sites]: cache clearance position=<6744,140.288,7300> clear=1 +04:41:13.599 SCRIPT : Rereintroduced [sites]: authored everon-outpost-1 at <6740,140.6,7300> +04:41:28.649 SCRIPT : Rereintroduced [sites]: transport footprint low=<5958.21,218.924,7208.75> high=<5961.65,222.366,7214.62> surveyedCenter=<5960,220.256,7212> origin=<5959.94,220.197,7211.99> allowedRadius=2.5 +04:41:28.650 SCRIPT (E): Rereintroduced [sites]: preparation failed: transport needs fuel, driver/passenger seats and a fitting parking footprint: everon-supply-2 +04:41:28.772 SCRIPT (E): Rereintroduced: scenario preparation failed; spawning remains disabled: transport needs fuel, driver/passenger seats and a fitting parking footprint: everon-supply-2 diff --git a/docs/evidence/native-2026-09-19-044028-transport-bounds-failure/source-sha256.json b/docs/evidence/native-2026-09-19-044028-transport-bounds-failure/source-sha256.json new file mode 100644 index 0000000..2f8fe5f --- /dev/null +++ b/docs/evidence/native-2026-09-19-044028-transport-bounds-failure/source-sha256.json @@ -0,0 +1,115 @@ +{ + "addons/ai/Prefabs/ERR/MortarCrew.et": "05d3e7353ff9fe5523218a1487b31b7b742b0be8adbcb060c7099978cf008bce", + "addons/ai/Prefabs/ERR/MortarCrew.et.meta": "fdfd4fcd21a67c3d698fa4aadc4e5c76e665cebf4be86013bc389e493fab63cc", + "addons/ai/Scripts/Game/ERR/ERR_HQ.c": "ceafd6740ed277748744ce56ac0f0bb3a8521fcc060dafb2cdb99896aedf405a", + "addons/ai/Scripts/Game/ERR/ERR_HQJournal.c": "b3e402cfe92d415f37f666045afb062e6e11670ba03a0ca6f2d9fd4fc3520ac1", + "addons/ai/Scripts/Game/ERR/ERR_HQNetwork.c": "92ff2caca52e94c2cc9642dfc8509ce6e9349b257012bade8650bace9231128c", + "addons/ai/Scripts/Game/ERR/ERR_HQObservation.c": "36c978ec5f052213ac1236e1398d85063efbfd7ef60fe04f1fc11447fefe1d68", + "addons/ai/Scripts/Game/ERR/ERR_HQReport.c": "c4d16ccb571db4d9444c0a8d2be7318845d25ff90238b6d304e96a9ea19f1a08", + "addons/ai/Scripts/Game/ERR/ERR_HelicopterAvailability.c": "60eaef2f6d4b2fd44861c5a4434ef97e732e40a5ff7401e2da451ed2dd9c2762", + "addons/ai/Scripts/Game/ERR/ERR_MortarBattery.c": "66b8f16b692a0f75fc9d920f5224d9292a0f1dc7dd8b2dde912e676fa80ddc9c", + "addons/ai/Scripts/Game/ERR/ERR_MortarFiring.c": "657e96d1112b68c8ced37793e99f88e6078b38a579190e63d00b1f9a9a032e26", + "addons/ai/Scripts/Game/ERR/ERR_MortarPrediction.c": "470dd196ed64800c697d24c09d1344bacd2502587fac76af4ee0edae2563092d", + "addons/ai/Scripts/Game/ERR/ERR_MortarSalvo.c": "697c01f479df6c505a41d984a29c02002e3052114dafa2ec6252ae55e2979a2b", + "addons/ai/Scripts/Game/ERR/ERR_MortarSystem.c": "12d8fc39d47e03c3838e0642aa9e4a80baf60f250357493bff812d5c75812c86", + "addons/ai/Scripts/Game/ERR/ERR_SettlementSafety.c": "e5c0ebc95521a9a33a3f7d9cca6c551dda862a08b7af20b017877aba9584795b", + "addons/ai/Scripts/Game/ERR/ERR_SupportScenario.c": "71757018ec9716c4dc24f62a292a214919d3fd5daed3c16e03e56abd208e9f03", + "addons/ai/addon.gproj": "5f559db8f526700db11e6ae763f5245f19b7006fc68c56e4c09fb6f940bdf2a1", + "addons/chat/Missions/ERR_Everon.conf": "76f3ac0d21b585654beac7ddd68e3c8cbdd66dbfe909b17b04838fa813a7c29b", + "addons/chat/Missions/ERR_Everon.conf.meta": "0a23c98bf83873536c65fa17d38dea33a1d7b9e4ab210f90633ff688abcc551f", + "addons/chat/Scripts/Game/ERR/ERR_AdminCommands.c": "7ea6d6b240524cf0193c86fcab861fbdef9adca780acff11ee73f9ed0e99ce7b", + "addons/chat/Scripts/Game/ERR/ERR_NativeMortarProbe.c": "ddb892141500c192c0787b011d57dd8c07dd8c9a3ca5fdc407f6c271897bde0a", + "addons/chat/Scripts/Game/ERR/ERR_NativeRadioProbe.c": "84524163c63402755b4f834f74dfe6d8e5c397dc26031f532593c6f79f5a93b1", + "addons/chat/Scripts/Game/ERR/ERR_NativeSmoke.c": "0ab2fed95dcaa0442cf7feb25743308060d58497e347f17dbd25c8e970a9f81f", + "addons/chat/Scripts/WorkbenchGame/ERR/ERR_ValidateWorldPlugin.c": "81c92d408ce88cc9f98d6053f1d0c863427693ba748f00df9f1bf8079015ef94", + "addons/chat/addon.gproj": "ea1587e0174cf795334d306c71d99b06797fc891427cd57b6cab6e21cf0e4e0e", + "addons/core/Configs/ERR/EveronSites.conf": "17e1703d57325732815f64d96df95aac95c8efb280a9282b14b26d24d4b127e6", + "addons/core/Configs/ERR/EveronSites.conf.meta": "d5fe68025ef4e7c1e16082cf5873b7c7172eacbfaef4ab29b7e0e3c98f8dca56", + "addons/core/Configs/ERR/GameOverScreens.conf": "45231061911a1462d45fb6db0fecc2b0793f17b5ae71017174954ff4fbd20236", + "addons/core/Configs/ERR/GameOverScreens.conf.meta": "eb654b745c0b97b41c991694569ef4877a3c2315e0826f9556337cd68690843e", + "addons/core/Configs/ERR/VanillaFactions.conf": "f8b8b9898a16b4a4a55ab3c12d2547bef2dc433732c7643df980cb3aca715212", + "addons/core/Configs/ERR/VanillaFactions.conf.meta": "ac77725c0c21974991ef47a466b88122e939de8b46fd23e68889e7674cbb2bfd", + "addons/core/Missions/ERR_Everon_Base.conf": "1e6a0e9a756d15495201f71121626890f01efe6b00154c561672d4ec157960bd", + "addons/core/Missions/ERR_Everon_Base.conf.meta": "9b16267c644d815bcf98a3a3aaff30b93d7224fb24d3a2bac66730a28011f317", + "addons/core/Prefabs/ERR/Extraction.et": "1aa286ef253c5410f09fa641e4be91a7be8ec834487a7fbb74cfb45cab60ee1e", + "addons/core/Prefabs/ERR/Extraction.et.meta": "c2a838633001e2e3a202d39cb33aa744ebcd996017ad032359069641b5d13853", + "addons/core/Prefabs/ERR/FieldCover.et": "20f8095e69dbfe3db74ff19078e528ea75405362b335e03560ccd61f8df2e7f3", + "addons/core/Prefabs/ERR/FieldCover.et.meta": "83461ffa76244e1d69f20b053a9741ccdf7d127009182bd540a7e5ba6150c3d9", + "addons/core/Prefabs/ERR/GameMode.et": "385c97a5b8067091d92aa60c2d4fcf02002cf606b95523866ead65c96b8c0029", + "addons/core/Prefabs/ERR/GameMode.et.meta": "106769cd34525c9d440057072836cb7401a6752148c40edd7fe61c03bd58328c", + "addons/core/Prefabs/ERR/ObjectiveDocument.et": "2e72270bf186654af12d2c3ff9bf940690b03fb17fca44f873c1fde5d11384c0", + "addons/core/Prefabs/ERR/ObjectiveDocument.et.meta": "eaba9903be147b98a1106e2273e2270773df73b9b22f2cd4e20136a8e281382e", + "addons/core/Prefabs/ERR/Patrol.et": "c5685a8bc311cc5563fb3334beec9408d3d7a1069152fddeeb7df4f1b7f9e6ce", + "addons/core/Prefabs/ERR/Patrol.et.meta": "7c5da568fa2fcf0709ee2959253cb068d7c7ed7c2467af3b247a7e70efd96b69", + "addons/core/Prefabs/ERR/Prison.et": "1503db1441d8cd7a4f0b45c27ba9623b9fa39f0f81016e180bd2aa1379e1f42a", + "addons/core/Prefabs/ERR/Prison.et.meta": "2e426ef3de68f4107907854b51e818bc11d84649a01c538e3f18dd9ebec766bb", + "addons/core/Prefabs/ERR/PrisonDoor.et": "fc66be9d36f1f01084de59f1b0a1e8817f9e46547ead33d4fafaac0107446c40", + "addons/core/Prefabs/ERR/PrisonDoor.et.meta": "b8f3db52bf186426026668fbb9d633c3cbd4d438ab301fba880398f6a0e781c2", + "addons/core/Prefabs/ERR/PrisonWall.et": "8009d19365ae72a4749d7ad4fa04662575b06c65c6bf06507d380d57258b5eed", + "addons/core/Prefabs/ERR/PrisonWall.et.meta": "0294bc5dbb56f90f8153d62459bb0a6ad91d76a479812bbec9c7db182fdb58d6", + "addons/core/Prefabs/ERR/Radio.et": "b4b5cfe125b39019855816c9a1c508ca4d65d435b5546fdaa6c1fa3c8c9b1165", + "addons/core/Prefabs/ERR/Radio.et.meta": "bc91137b68ba550217914fb8892bb44d7e1920e4a1086f3e506623832a44212f", + "addons/core/Prefabs/ERR/SpectatorCamera.et": "b5b87d5b7b707f3745741aebe7c923067c8a74f8fbb2a4711834bab03bb5a812", + "addons/core/Prefabs/ERR/SpectatorCamera.et.meta": "2a16558f93915e31908a674509e9c89976470f78a84a1174a64b94b68b8f77ad", + "addons/core/Prefabs/ERR/SupplyCache.et": "bccf7afbaae97cfcdd78dd6dbbf4be5b2c045d348f50fe4581962e556c0044d7", + "addons/core/Prefabs/ERR/SupplyCache.et.meta": "2f5de3a4aab1e9d0e35521f48dc57b95bd6e449c383dec4f1c258e10295904cb", + "addons/core/Prefabs/ERR/SupplySite.et": "dc5decce5cabf39b6116e8794ec3960cb1e35761854fdbe69740da118787ded4", + "addons/core/Prefabs/ERR/SupplySite.et.meta": "b41944b12eb3528ff7a3ac94258b18c66ef161aa6a38894aee300a1ac4798630", + "addons/core/Scripts/Game/ERR/ERR_Actions.c": "adf93245e6d78c59b9839599d157a0d2b2b93ea93b3d1ae52e2904dd6c288266", + "addons/core/Scripts/Game/ERR/ERR_Actors.c": "b3c5aabb05f7cf35167bc09b5db51a4ffd89a46658805d6eedbfb80eee30273d", + "addons/core/Scripts/Game/ERR/ERR_AdminService.c": "047c14ce60cc0b167e202438f8f2b1063590e69ef88ea55b54598aea5f99c505", + "addons/core/Scripts/Game/ERR/ERR_DiscoveryMap.c": "2f4ea342fea0530061456be9cdce002d5e7a282e4e27eb88f3860e79f93612bf", + "addons/core/Scripts/Game/ERR/ERR_DiscoveryService.c": "6b5679447fe4a6d7d54c0545881ab56284f871556b3159207d421247f419eada", + "addons/core/Scripts/Game/ERR/ERR_DocumentComponent.c": "17bb76b80ebd3357e46d553c44674f602c7bd6901c92aec53ac8214194aa4ff2", + "addons/core/Scripts/Game/ERR/ERR_EscapeGameOverScreenInfo.c": "b1e1afb7795cb77c0bad94c85abf705b26b9dc2a9400905d80eafd56bdd009d3", + "addons/core/Scripts/Game/ERR/ERR_ExtractionService.c": "91357099b4e0401196b67d48963be54be30e56bdba57cdac67dc20b8ebb883e9", + "addons/core/Scripts/Game/ERR/ERR_FactionCatalog.c": "a5a8c53acf21259e14f59cb919535910f30dabff5a9179c664bc6a7a4d744d6e", + "addons/core/Scripts/Game/ERR/ERR_GameMode.c": "d766d1639378070bea64eef38baa4667f8b9f5f1a2a7b170f0fc5e8fd557917d", + "addons/core/Scripts/Game/ERR/ERR_Location.c": "d2035f56ded35743312ec6ca91a67f8623a466c91255e1893c570edf0954ff24", + "addons/core/Scripts/Game/ERR/ERR_MissionRules.c": "f7abc38ad8fdc375ce7fa63a65f0bade027d22b37e09de5e3f94ba8c3c63cc41", + "addons/core/Scripts/Game/ERR/ERR_NativeBaseSmoke.c": "60a573d974b4862b1b66e9cb0ef2ee7d056f698cf1e4f5af5233bde7c59e931f", + "addons/core/Scripts/Game/ERR/ERR_NativeContractsProbe.c": "d1556df885171cf967e96eef5d8981a2e9ee4e3938b7d32fdd0426f647bbabc0", + "addons/core/Scripts/Game/ERR/ERR_NativeDefinitionProbe.c": "d05ef8368ef5afa68e29f45843cb1878b5a09be768f8abdff2f4115c23759b01", + "addons/core/Scripts/Game/ERR/ERR_NativeExtractionProbe.c": "4b09385f73206de004f4f3c38a6192fd658a0d2012482dc5a84dff1599ceb972", + "addons/core/Scripts/Game/ERR/ERR_NativeObjectiveProbe.c": "451f46d9a51753841046698911ee9954088214b6df856776a316865466fbce0f", + "addons/core/Scripts/Game/ERR/ERR_NativeRadioDefenceProbe.c": "629917af38af5b5e34198ff5a5c0da7e48edf1c33d95bb278cceb3cc31028f5d", + "addons/core/Scripts/Game/ERR/ERR_NativeResultProbe.c": "b9a117eef2d5f65fbd792041a2b3e59e38e201bda8e0df8c503e1a1242cfc415", + "addons/core/Scripts/Game/ERR/ERR_NativeSiteSurvey.c": "ac0203753ade0cdff6d483132797a80e4520f14546c3f9dea288281cd4cd9c4f", + "addons/core/Scripts/Game/ERR/ERR_NativeStationTeardownDiagnostic.c": "c01cbdbfe25fd38916fa74f2c02333baaacd5228686fd6e40b33c27b3cea8ed8", + "addons/core/Scripts/Game/ERR/ERR_NativeTimeProbe.c": "c93d049785971e51246fcc07cf24804270a752a655505f2c38e48c80df5255ae", + "addons/core/Scripts/Game/ERR/ERR_NativeTransportProbe.c": "63ec0c5ce698114daa6314b2a6e3c3e98e76094117c477f9d0d072260686d193", + "addons/core/Scripts/Game/ERR/ERR_NativeTransportSurvey.c": "3e94493bf54d15be2bceb106ad18873e14e6755af09c05f07db7fb26fb7adff5", + "addons/core/Scripts/Game/ERR/ERR_ObjectiveDetails.c": "900bdcd11075230e0d311ca8725c1d7938cb2a4efa71360709003d90092a7e69", + "addons/core/Scripts/Game/ERR/ERR_ObjectiveText.c": "bbb29949194637e6781316836c895e2c0fa7ccdb547d4d944a717da2ad73b0a2", + "addons/core/Scripts/Game/ERR/ERR_Objectives.c": "88d95a52fcba103483ea751571e1afeae0e6fc82115ed50d6fc195424726960f", + "addons/core/Scripts/Game/ERR/ERR_Observer.c": "b719e723369ab4f403950c85226e1336eb48e3c127e84530ac1c695eb86bd0f9", + "addons/core/Scripts/Game/ERR/ERR_PlayerAdminCommands.c": "a084d7dc097dfcde3d6cd9c2e326b9e2f8f2a519f77b30c4f56ab7a1429aa721", + "addons/core/Scripts/Game/ERR/ERR_PlayerEscapeResult.c": "3124ab4d2d6d471409a47aba0af528790734df53243c03fe0cdac3e407047c14", + "addons/core/Scripts/Game/ERR/ERR_PlayerGuide.c": "2c9c365b88651f8b12618443638bf52c04e497221592bd483c33447e30468f36", + "addons/core/Scripts/Game/ERR/ERR_PlayerRoster.c": "a737ba739b3f73a91cd05d808a1d45070e83b5152c003c3164e29842dda51995", + "addons/core/Scripts/Game/ERR/ERR_RadioDefenceService.c": "85eb9c1b65d5987799927b6d8786b7299fcff849bcb15b91f8a4d1aa95823fd1", + "addons/core/Scripts/Game/ERR/ERR_Resources.c": "8a5314944f75b23982c6b99697045e3c0538aa2137b2c947a5b2411e6076ac03", + "addons/core/Scripts/Game/ERR/ERR_ScenarioComponent.c": "abba03af68323d5715ba1e2497fc66f3c706e6a6a983c3a386228abdfddeec89", + "addons/core/Scripts/Game/ERR/ERR_Settings.c": "2aee784e44c732e09f59150896491ab325ef5e62aa6bad725be1fda955a3f614", + "addons/core/Scripts/Game/ERR/ERR_SiteDefinition.c": "75b5121ceab77f0956f0dc34bd077b11af5586350de52321800427f18cc94477", + "addons/core/Scripts/Game/ERR/ERR_SiteService.c": "7ba02712562b3c8cd8de9851b6f26fed85020faacceef0767408b300b935c110", + "addons/core/Scripts/Game/ERR/ERR_SpawnLogic.c": "f84f0c22562912c020e8be81748f36a883dd265d8d9786d0548f32bda5b4b92e", + "addons/core/Scripts/Game/ERR/ERR_Supplies.c": "752e8a56b0b8cde33cf532032cb0a203553017b686faac2e19bee06f7a9c0713", + "addons/core/Scripts/Game/ERR/ERR_TimeService.c": "d9f481b7da01e08d2c982a948c18ba6bde76889d7cc9d26d510708f4ba479453", + "addons/core/Scripts/WorkbenchGame/ERR/ERR_ValidateBaseWorldPlugin.c": "7f44aa64ea7b4f8b3640a37a4b781c43bf6adb80e4a3a702d9491131698056f6", + "addons/core/Worlds/ERR_Everon.ent": "22324bc7eb0d80dec8a1f3bd61a9df9201b72f749f4e751766b0c9d0b7d46b87", + "addons/core/Worlds/ERR_Everon.ent.meta": "19d1903ca72baa326b4724a6791d0da1104a1e53f3f31dc1ca41a856efd68e83", + "addons/core/Worlds/ERR_Everon_Layers/default.layer": "f1a058bd315c7d01d464715ac9f4e18ae3d2432551d094a9afbd4c9c5a2a9416", + "addons/core/addon.gproj": "231274e6b62302f32c65f9ff31de2ce8a9e51e1c8d12c87deeec82ae1f40de46", + "addons/intel/Scripts/Game/ERR/ERR_IntelService.c": "482839434b94e7f8c345d5fd96490aeebb765f3dd0c1bb25fceea2f435c0e722", + "addons/intel/addon.gproj": "d0ced242cefb220a5cccd6779d61fda9bc55581701b9f78bcf13c09d92ddbcbe", + "addons/map/Materials/ERRM_MapRenderTarget.emat": "9877c5b175c5f30dd80bea36c711b21ab38219aa7075adf9ae79932e1d4c76bc", + "addons/map/Materials/ERRM_MapRenderTarget.emat.meta": "5ee1a705f8011a44020ca2691f5ccc17d44bf596fef9a36e98d1f267eb58fab0", + "addons/map/Prefabs/Items/Equipment/ERRM_SharedFieldMap.et": "30dee8e9eab459ea32a7d835a9fb89d43df47708057cab829f067b25a24cd581", + "addons/map/Prefabs/Items/Equipment/ERRM_SharedFieldMap.et.meta": "59093e9072c50d99c86da7609c87541016da5bcf92b98d99db4c524e1c8e0e8d", + "addons/map/Scripts/Game/ERR/ERR_ScenarioMap.c": "75fa1d742129ef7f33c005cd48f56db7f49ee7bde3c5428532b0b501b032b0a3", + "addons/map/Scripts/Game/ERRMap/ERRM_SharedMapComponent.c": "fc1a0c7df4fc96da446d7542a45a10fbec1eda1e543ba2f0581cb772277a47c5", + "addons/map/UI/layouts/ERRMap/SharedMapRenderTarget.layout": "49a2da4181b94d42174f58c7f9b6bf2207116c99427d61ff1c212092ac7db4d2", + "addons/map/UI/layouts/ERRMap/SharedMapRenderTarget.layout.meta": "5c846445cc089e2e08899ba703059d4adb805ff30ab5a16409a3cd59718cbd54", + "addons/map/addon.gproj": "1b371e5e01ea9fa46e76570fecb8aaa3a9298e34cba7ccca8a6bdb5ca86eb46a" +} diff --git a/docs/evidence/native-2026-09-19-044205/console.log.txt b/docs/evidence/native-2026-09-19-044205/console.log.txt new file mode 100644 index 0000000..a8ac38c --- /dev/null +++ b/docs/evidence/native-2026-09-19-044205/console.log.txt @@ -0,0 +1,448 @@ +--------------------------------------------- +Log Z:\tmp\erri-workbench-profile\logs\logs_2026-09-19_04-42-05\console.log started at 2026-09-19 04:42:05 (2026-09-19 02:42:05 UTC) + +04:42:05.111 ENGINE : FileSystem: Adding relative directory 'Z:\tmp\erri-workbench-profile\logs\logs_2026-09-19_04-42-05' to filesystem under name logs +04:42:05.111 ENGINE : FileSystem: Adding relative directory 'Z:\tmp\erri-workbench-profile\profile' to filesystem under name profile +04:42:05.111 ENGINE : FileSystem: Current working directory: 'Z:\home\jakub\.local\share\Steam\steamapps\common\Arma Reforger Tools\Workbench\' +04:42:05.112 PROFILING : Workbench Create Engine took: 8.780000 ms +04:42:06.152 INIT : INIT : Workbench Init Engine +04:42:06.152 ENGINE : Initializing engine, version 192142 +04:42:06.152 ENGINE : CLI Params: -gproj Z:/home/jakub/devel/escapistsrereintroduced/addons/core/addon.gproj -addonsDir Z:/home/jakub/devel/escapistsrereintroduced/addons -profile Z:/tmp/erri-workbench-profile -logconsole -wbModule WorldEditor -load Worlds/ERR_Everon.ent -plugin ERR_ValidateBaseWorldPlugin -errPlay 1 -errBaseSmoke 1 -errSmokeOutcome transport-loss -noThrow +04:42:06.161 ENGINE : Addon dirs: +04:42:06.161 ENGINE : dir: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/core/' +04:42:06.161 ENGINE : dir: 'Z:/home/jakub/devel/escapistsrereintroduced/addons' +04:42:06.161 ENGINE : dir: './addons' +04:42:06.161 ENGINE : dir: 'Z:/tmp/erri-workbench-profile/addons' +04:42:06.161 ENGINE : Available addons: +04:42:06.161 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/core/addon.gproj' guid: '2528466DE220D91C' +04:42:06.161 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/ai/addon.gproj' guid: '5192138CB9D5B911' +04:42:06.161 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/chat/addon.gproj' guid: 'FA804F411BDDF2C6' +04:42:06.161 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/intel/addon.gproj' guid: 'D31039C7C53E348A' +04:42:06.161 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/map/addon.gproj' guid: '9AAEE9041D79809E' +04:42:06.161 ENGINE : gproj: './addons/core/core.gproj' guid: '5614BBCCBB55ED1C' (packed) +04:42:06.161 ENGINE : gproj: 'Z:/tmp/erri-workbench-profile/addons/ArmaReforger/ArmaReforger.gproj' guid: '58D0FB3206B6F859' (packed) +04:42:06.161 ENGINE : FileSystem: Adding relative directory 'Z:\home\jakub\devel\escapistsrereintroduced\addons\core' to filesystem under name ERR_Core +04:42:06.278 ENGINE : FileSystem: Adding package 'Z:/tmp/erri-workbench-profile/addons/ArmaReforger/' (pak count: 14) to filesystem under name ArmaReforger +04:42:06.281 ENGINE : FileSystem: Adding package './addons/core/' (pak count: 2) to filesystem under name core +04:42:06.281 ENGINE : CPU vendor : AuthenticAMD +04:42:06.281 ENGINE : CPU type : 2 +04:42:06.281 ENGINE : CPU name : AMD Ryzen 7 3800XT 8-Core Processor +04:42:06.281 ENGINE : CPU cache info : L1 [Inst 32KB, Data 32KB], L2 [Unif 512KB], L3 [Unif 16384KB] +04:42:06.281 ENGINE : CPU count logical : 16 +04:42:06.281 ENGINE : CPU count physical : 8 +04:42:06.281 ENGINE : CPU features : mmx sse sse2 sse3 ssse3 sse4_1 sse4_2 popcnt aesni pclmulqdq osxsave avx sha avx2 +04:42:06.281 RESOURCES : ResourceDB: loading cache (id=0 name=ERR_Core path=Z:\home\jakub\devel\escapistsrereintroduced\addons\core/resourceDatabase.rdb) +04:42:06.281 RESOURCES : ResourceDB: loading cache (id=1 name=ArmaReforger path=Z:/tmp/erri-workbench-profile/addons/ArmaReforger/resourceDatabase.rdb) +04:42:06.415 RESOURCES : ResourceDB: loading cache (id=2 name=core path=./addons/core/resourceDatabase.rdb) +04:42:06.416 RESOURCES : ResourceDB: loading cache (id=3 name=profile path=Z:\tmp\erri-workbench-profile\profile/resourceDatabase.rdb) +04:42:06.417 RESOURCES : ResourceDB: loading cache (id=4 name=logs path=Z:\tmp\erri-workbench-profile\logs\logs_2026-09-19_04-42-05/resourceDatabase.rdb) +04:42:06.574 RESOURCES : RESOURCES : ResourceDB: full scan +04:42:06.578 RESOURCES : RESOURCES : scanning... +04:42:06.578 RESOURCES : RESOURCES : scanning @"ERR_Core" +04:42:06.581 RESOURCES : RESOURCES : scanning @"ArmaReforger" +04:42:06.720 RESOURCES : RESOURCES : scanning @"core" +04:42:06.724 RESOURCES : RESOURCES : scanning @"profile" +04:42:06.724 RESOURCES : RESOURCES : scanning @"logs" +04:42:06.724 RESOURCES : RESOURCES : processing meta-files... +04:42:06.788 RESOURCES : RESOURCES : processing files... +04:42:06.799 INIT : Workbench startup +04:42:06.799 INIT : Workbench Init Engine +04:42:06.799 RESOURCES : ResourceDB: full scan +04:42:06.799 RESOURCES : processing files... +04:42:06.799 RESOURCES (W): resource not registered: @"$profile:rereintroduced.json". Setting null GUID +04:42:06.799 RESOURCES : RESOURCES : processing folders... +04:42:06.806 RESOURCES : RESOURCES : creating GUID-item mapping... +04:42:06.822 RESOURCES : RESOURCES : building tree... +04:42:06.876 PROFILING : ResourceDB: full scan took: 302.518200 ms +04:42:06.877 RESOURCES : ResourceDB: saving cache (id=0 name=ERR_Core path=Z:\home\jakub\devel\escapistsrereintroduced\addons\core/resourceDatabase.rdb) +04:42:06.879 RESOURCES : ResourceDB: written 3823/3823 bytes +04:42:06.879 RESOURCES : ResourceDB: cache successfully saved +04:42:06.879 RESOURCES : ResourceDB: saving cache (id=3 name=profile path=Z:\tmp\erri-workbench-profile\profile/resourceDatabase.rdb) +04:42:06.881 RESOURCES : ResourceDB: written 206/206 bytes +04:42:06.881 RESOURCES : ResourceDB: cache successfully saved +04:42:06.881 RESOURCES : ResourceDB: saving cache (id=4 name=logs path=Z:\tmp\erri-workbench-profile\logs\logs_2026-09-19_04-42-05/resourceDatabase.rdb) +04:42:06.882 RESOURCES : ResourceDB: written 81/81 bytes +04:42:06.882 RESOURCES : ResourceDB: cache successfully saved +04:42:06.882 ENGINE : GameProject load +04:42:06.882 ENGINE : Loaded addons: +04:42:06.882 ENGINE : gproj: './addons/core/core.gproj' guid: '5614BBCCBB55ED1C' +04:42:06.882 ENGINE : gproj: 'Z:/tmp/erri-workbench-profile/addons/ArmaReforger/ArmaReforger.gproj' guid: '58D0FB3206B6F859' +04:42:06.882 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/core/addon.gproj' guid: '2528466DE220D91C' +04:42:06.884 ENGINE : Loading custom engine user config '$profile:.save/app1874910_user76561198020202999/settings/ReforgerEngineSettings.conf' +04:42:06.884 INIT : GameProject engine user settings load @"$profile:.save/app1874910_user76561198020202999/settings/ReforgerEngineSettings.conf" +04:42:06.884 ENGINE : Engine user settings config loaded +04:42:06.884 PROFILING : Settings changed took: 0.002400 ms +04:42:06.989 RENDER : (OK) Adapter 'AMD Radeon RX 6950 XT (RADV NAVI21)' supports feature level 12_0 +04:42:06.990 RENDER : Basic screen setup: +04:42:06.990 RENDER : Back buffer format : TEXFMT_R8G8B8A8_SRGB (29) +04:42:06.990 RENDER : MSAA : none +04:42:07.004 RENDER : AMD AGS library initialized, version 6.1.0 x DLL 6.1.0 +04:42:07.004 RENDER : Extendeded AMD info for AMD Radeon RX 6950 XT (RADV NAVI21) (primary device) +04:42:07.004 RENDER : * architecture RDNA2, 80 CUs, 40 WGPs (for RDNA), 64 ROPs +04:42:07.004 RENDER : * core clocks 2720 MHz, memory 1124 MHz +04:42:07.004 RENDER : * TFlops 27.9, memory bandwidth (562.0 GB/s) +04:42:07.004 RENDER : AMD AGS correctly initialized +04:42:07.004 RENDER : GPU_ATI (0x1002) (AMD Radeon RX 6950 XT (RADV NAVI21)) with 1 GPU detected, VRAM 16128MB (fast 0MB), shared 64362MB, driver version 99.19.02-230831a-396538C-AMD-Software-Adrenalin-Edition +04:42:07.004 RENDER : Detected output devices: +04:42:07.004 RENDER : * 1 device/s connected to AMD Radeon RX 6950 XT (RADV NAVI21): +04:42:07.004 RENDER : Generic Non-PnP Monitor (\\.\DISPLAY1), 1280x720 (offset 0x0), 30Hz +04:42:07.004 RENDER : Concurrent frames limit 2 +04:42:07.080 RENDER : DX12 device successfully created by AMD AGS library +04:42:07.080 RENDER : * user markers not supported in this version AMD SW +04:42:07.080 RENDER : Graphics device features +04:42:07.080 RENDER : Needed: +04:42:07.080 RENDER : * Highest supported shader model: 6.8 (6.0 needed) +04:42:07.080 RENDER : Optional: +04:42:07.080 RENDER : * Allow tearing (VSYNC) : 1 +04:42:07.080 RENDER : * 16 bits : 1 +04:42:07.080 RENDER : * Resource heap tier : 3 +04:42:07.080 RENDER : * Persistent heaps (DRED) : 1 +04:42:07.080 RENDER : * DRED 1.2 is supported by compiler +04:42:07.104 RENDER : Main RT format setup. +04:42:07.104 RENDER : Main RT format for quality 0 : TEXFMT_R11G11B10_FLOAT (26) +04:42:07.104 RENDER : Main RT format for quality 1 : TEXFMT_R16G16B16A16_FLOAT (10) +04:42:07.106 ENGINE : Job system settings: coreCount=16, shortJobContextCount=16, shortJobThreadCount=15, longJobThreadCount=16 +04:42:07.134 PROFILING : Settings changed took: 0.022000 ms +04:42:07.620 AUDIO : Endpoint: Speakers (PulseAudio Output) +04:42:07.620 AUDIO : Format: Channels: 2, Sample rate: 48kHz, Avg. bytes: 384kB, Sample bits: 32, Block align: 8B +04:42:07.620 AUDIO : Audio client: +04:42:07.620 AUDIO : Format: Channels: 2, Sample rate: 48kHz, Buffer size: 1536B, Frame: 512 +04:42:07.623 RENDER : RENDER : Reload shaders +04:42:07.623 RENDER : Enfusion shader version 13 +04:42:07.623 INIT : INIT : ShaderListReload +04:42:07.623 PROFILING : ShaderListReload took: 0.000500 ms +04:42:07.764 AUDIO : Endpoint: Speakers (PulseAudio Output) +04:42:07.764 AUDIO : Format: Channels: 2, Sample rate: 48kHz, Avg. bytes: 384kB, Sample bits: 32, Block align: 8B +04:42:07.765 AUDIO : Audio client: +04:42:07.765 AUDIO : Format: Channels: 2, Sample rate: 48kHz, Buffer size: 1536B, Frame: 512 +04:42:07.877 RENDER : Loaded 3752 newer shader binaries +04:42:07.877 PROFILING : Reload shaders took: 253.762100 ms +04:42:07.877 ENGINE : Initializing inputs. +04:42:07.890 NETWORK : Initializing networking. +04:42:07.890 NETWORK : Using new GameRplScheduler. +04:42:07.891 SCRIPT : SCRIPT : Initializing scripts +04:42:07.891 SCRIPT : SCRIPT : ScriptProjectManager init +04:42:08.741 PROFILING : ScriptProjectManager init took: 850.505000 ms +04:42:08.775 PROFILING : Initializing scripts took: 884.569100 ms +04:42:08.792 ENGINE : Enfusion engine successfully created. +04:42:08.792 PROFILING : Workbench Init Engine took: 2640.418800 ms +04:42:08.792 INIT : INIT : Workbench Create Game +04:42:08.802 GUI : Using default language (en_us) +04:42:08.802 GUI : Loading 'en_us' localization file. +04:42:08.802 INIT : INIT : Loading StringTable +04:42:08.827 PROFILING : Loading StringTable took: 24.708800 ms +04:42:08.827 SCRIPT : SCRIPT : Compiling GameLib scripts +04:42:08.882 SCRIPT : Module: Workbench; loaded 18x files; 36x classes; used 125K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE"; CRC32: 90ce0460 +04:42:08.882 SCRIPT : Module: GameLib; loaded 465x files; 648x classes; used 828K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE"; CRC32: 4507af04 +04:42:08.883 PROFILING : Compiling GameLib scripts took: 55.562300 ms +04:42:08.883 SCRIPT : SCRIPT : Compiling Game scripts +04:42:09.942 INIT : Workbench Create Game +04:42:09.942 SCRIPT : Compiling Game scripts +04:42:09.942 SCRIPT (W): @"Scripts/Game/Editor/Components/EditableEntity/SCR_EditableEntityComponent.c,785": 'GetPlayerPlatformKind' is obsolete +04:42:09.942 SCRIPT (W): @"Scripts/Game/Editor/Components/EditableEntity/SCR_EditableEntityComponent.c,786": 'GetPlayerPlatformId' is obsolete +04:42:10.203 SCRIPT (W): @"Scripts/Game/ERR/ERR_SiteService.c,140": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +04:42:10.212 SCRIPT (W): @"Scripts/Game/Workshop/SCR_AddonManager.c,876": 'GetRefCount' is obsolete: Will be removed +04:42:10.240 SCRIPT (W): @"Scripts/Game/Campaign/SCR_PlayerProfileManagerComponent.c,142": 'PlayerData' is obsolete +04:42:10.337 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,159": 'GetDSSession' is obsolete +04:42:10.337 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,162": 'RoomID' is obsolete +04:42:10.337 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,197": 'GetDSSession' is obsolete +04:42:10.337 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,201": 'RoomID' is obsolete +04:42:10.430 SCRIPT (W): @"Scripts/Game/DataCollection/SCR_DataCollectorComponent.c,481": 'GetStorage' is obsolete +04:42:10.430 SCRIPT (W): @"Scripts/Game/DataCollection/SCR_DataCollectorComponent.c,483": 'GetOnlineWritePrivilege' is obsolete +04:42:10.432 SCRIPT (W): @"Scripts/Game/Utilities/SCR_PlayerIdentityUtils.c,20": 'GetPlayerIdentityId' is obsolete +04:42:10.474 SCRIPT (W): @"Scripts/Game/ERR/ERR_ExtractionService.c,45": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +04:42:10.474 SCRIPT (W): @"Scripts/Game/ERR/ERR_ExtractionService.c,56": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +04:42:10.475 SCRIPT (W): @"Scripts/Game/UI/Menu/MainMenuUI.c,643": 'GetNotifyCount' is obsolete: Will be substitued by Notification Api. +04:42:10.475 SCRIPT (W): @"Scripts/Game/UI/Menu/MainMenuUI.c,645": 'GetNotifyItem' is obsolete: Will be substitued by Notification Api. +04:42:10.500 SCRIPT (W): @"Scripts/Game/ERR/ERR_NativeTransportProbe.c,82": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +04:42:10.533 SCRIPT (W): @"Scripts/Game/DataCollection/PlayerData/SCR_PlayerData.c,210": 'PlayerData' is obsolete +04:42:10.796 SCRIPT : Module: WorkbenchGame; loaded 171x files; 616x classes; used 2478K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE"; CRC32: db6febb9 +04:42:10.803 SCRIPT : Module: Game; loaded 5701x files; 11171x classes; used 32480K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE,ENABLE_BASE_DESTRUCTION,BUDGET_OPTIMIZATION_CHECKS,SHOW_DISCLAIMER,DEBUG,RESPAWN_TIMER_COMPONENT_DEBUG,GAME_MODE_DEBUG,DEBUG_CONFIGURABLE_DIALOGS,DISABLE_WEAPON_SWITCHING,SCRIPTED_AIM_MODIFIER_DEBUG"; CRC32: 531b916a +04:42:10.839 PROFILING : Compiling Game scripts took: 1956.003600 ms +04:42:10.844 INIT : Creating game instance(ArmaReforgerScripted), version 1.8.0.13 built 2026-08-21 14:30:18 UTC. +04:42:10.882 ENGINE : Game successfully created. +04:42:10.883 PROFILING : Workbench Create Game took: 2090.460600 ms +04:42:10.891 DEFAULT : Using thumbnail cache directory: C:/users/steamuser/AppData/Local/Temp/Arma Reforger Workbench/Projects/ERR_Core/thumbnails +04:42:11.677 INIT : INIT : Workbench Reload Game +04:42:11.678 ENGINE : Game destroyed. +04:42:11.685 GUI : Using default language (en_us) +04:42:11.685 GUI : Loading 'en_us' localization file. +04:42:11.685 INIT : INIT : Loading StringTable +04:42:11.695 PROFILING : Loading StringTable took: 9.342200 ms +04:42:11.695 INIT : Creating game instance(ArmaReforgerScripted), version 1.8.0.13 built 2026-08-21 14:30:18 UTC. +04:42:11.701 SCRIPT : Unable to register a script command due keyword duplicity: ban +04:42:11.701 SCRIPT : Unable to register a script command due keyword duplicity: kick +04:42:11.701 ENGINE : Game successfully created. +04:42:11.701 ENGINE : Game successfully initialized. +04:42:11.702 PROFILING : Workbench Reload Game took: 24.748500 ms +04:42:12.364 WORLD : WORLD : Entities load '$ERR_Core:Worlds/ERR_Everon.ent' +04:42:13.333 PROFILING : Entities load took: 969.562500 ms +04:42:13.344 WORLD : WORLD : CreateEntities +04:42:13.349 WORLD : WORLD : NotifyBeforeEntitiesCreated +04:42:13.349 PROFILING : NotifyBeforeEntitiesCreated took: 0.002600 ms +04:42:13.349 WORLD : WORLD : Wait for preloading data +04:42:13.349 PROFILING : Wait for preloading data took: 0.002000 ms +04:42:13.452 ENTITY : Create entity @"ENTITY:2" ('Eden', GenericTerrainEntity) at <0.000000 0.000000 0.000000> @"{5AD924374E8C7AF6}Prefabs/World/Game/Eden/GenericTerrain_Eden.et" +04:42:13.452 PROFILING : PROFILING : Terrain load +04:42:15.061 PROFILING : Terrain load took: 1608.962700 ms +04:42:19.071 WORLD : CreateEntities +04:42:19.072 ENTITY : Create entity @"ENTITY:610406" ('StaticModelEntity','Assets/Structures/Infrastructure/Towers/TransmitterTower_01/TransmitterTower_01_small.xob') at <1931.796021 81.777000 5138.725098> @"{6A004A8F0571D456}Prefabs/Structures/Infrastructure/Towers/TransmitterTower_01/TransmitterTower_01_small.et" +04:42:19.072 ENTITY : CreateComponent 'ScriptedRadioComponent' +04:42:19.072 DEFAULT (W): World doesn't contain RadioManagerEntity to support any BaseRadioComponent. +04:42:28.395 WORLD : WORLD : NotifyBeforeEntitiesInitialized +04:42:28.396 PROFILING : NotifyBeforeEntitiesInitialized took: 0.005200 ms +04:42:28.841 WORLD : WORLD : NotifyEntitiesInitialized +04:42:28.841 TERRAIN : TERRAIN : Initializing road networks... +04:42:28.843 PROFILING : Initializing road networks... took: 2.271800 ms +04:42:28.843 PROFILING : NotifyEntitiesInitialized took: 2.629100 ms +04:42:28.843 PROFILING : CreateEntities took: 15498.559200 ms +04:42:29.017 PROFILING : * WorldEditor: LoadWorld: 16658.168700 ms +04:42:30.536 TERRAIN : Loading tile map config (worlds/Eden/Eden/tileMap.conf) +04:42:30.536 TERRAIN : Loading minimap config (worlds/Eden/Eden/miniMap.conf) +04:42:30.537 TERRAIN : The default minimap texture ('worlds/Eden/EdenRasterized.edds') not found. Trying 'worlds/Eden/Eden.edds'... +04:42:30.538 TERRAIN : The default minimap texture ('worlds/Eden/Eden.edds') not found. Skipping... +04:42:30.625 SCRIPT : ERR SITE SURVEY: supply=6150/7050 elevationRange=0.625 min=202.875 max=203.5 +04:42:30.648 BACKEND : Attempting online Game Config instead. +04:42:33.735 INIT : INIT : Workbench Reload Game +04:42:33.737 ENGINE : Game destroyed. +04:42:33.743 GUI : Using default language (en_us) +04:42:33.743 GUI : Loading 'en_us' localization file. +04:42:33.744 INIT : INIT : Loading StringTable +04:42:33.763 PROFILING : Loading StringTable took: 19.244600 ms +04:42:33.763 INIT : Creating game instance(ArmaReforgerScripted), version 1.8.0.13 built 2026-08-21 14:30:18 UTC. +04:42:33.770 SCRIPT : Unable to register a script command due keyword duplicity: ban +04:42:33.771 SCRIPT : Unable to register a script command due keyword duplicity: kick +04:42:33.771 ENGINE : Game successfully created. +04:42:33.771 ENGINE : Game successfully initialized. +04:42:33.771 PROFILING : Workbench Reload Game took: 35.336100 ms +04:42:33.773 DEFAULT (W): LogiLED: Cannot initialize! (service not running or no compatible device detected) +04:42:33.825 PLATFORM : Save data from container 'settings' have been loaded +04:42:33.915 PLATFORM : Save data from container 'sessions' have been loaded +04:42:33.916 PLATFORM : GameProject user settings load from profile @"ReforgerGameSettings.conf" +04:42:33.916 ENGINE : Game user settings config loaded +04:42:34.014 DEFAULT : [SaveGameManager] Starting new playthrough nr.0 '' for mission '{B6C516F86302C679}Worlds/ERR_Everon.ent'. +04:42:34.022 WORLD : WORLD : Game::LoadEntities +04:42:34.022 WORLD : WORLD : Initializing world systems @"{1C60D2EDA2B468B8}Configs/Systems/BaseGameModeSystems.conf" +04:42:34.023 NETWORK : Enabled lag compensation, 29 frames with 100 FPS and 280 ms rewind limits. +04:42:34.023 WORLD : WORLD : CreateEntities +04:42:34.023 WORLD : WORLD : CreateEntities +04:42:34.023 WORLD : WORLD : NotifyBeforeEntitiesCreated +04:42:34.028 RESOURCES : Loaded mission headers from 7 addon(s)! +04:42:34.028 PROFILING : NotifyBeforeEntitiesCreated took: 4.897200 ms +04:42:34.028 WORLD : WORLD : Wait for preloading data +04:42:34.028 PROFILING : Wait for preloading data took: 0.001000 ms +04:42:38.358 WORLD : Game::LoadEntities +04:42:38.358 WORLD : CreateEntities +04:42:38.358 WORLD : CreateEntities +04:42:38.358 ENTITY : Create entity @"ENTITY:610406" ('StaticModelEntity','Assets/Structures/Infrastructure/Towers/TransmitterTower_01/TransmitterTower_01_small.xob') at <1931.796021 81.777000 5138.725098> @"{6A004A8F0571D456}Prefabs/Structures/Infrastructure/Towers/TransmitterTower_01/TransmitterTower_01_small.et" +04:42:38.358 ENTITY : CreateComponent 'ScriptedRadioComponent' +04:42:38.358 DEFAULT (W): World doesn't contain RadioManagerEntity to support any BaseRadioComponent. +04:42:39.779 ENTITY : Create entity @"ENTITY:842066" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1080.213013 10.776751 6018.347168> +04:42:39.779 ENTITY : CreateComponent 'Hierarchy' +04:42:39.779 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842066" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1080.213013 10.776751 6018.347168>') +04:42:39.779 ENTITY : Create entity @"ENTITY:842068" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1082.185913 10.778749 6018.331055> +04:42:39.779 ENTITY : CreateComponent 'Hierarchy' +04:42:39.779 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842068" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1082.185913 10.778749 6018.331055>') +04:42:39.780 ENTITY : Create entity @"ENTITY:842070" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1084.190918 10.790751 6018.334961> +04:42:39.780 ENTITY : CreateComponent 'Hierarchy' +04:42:39.780 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842070" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1084.190918 10.790751 6018.334961>') +04:42:39.785 ENTITY : Create entity @"ENTITY:842333" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4425.594727 9.981750 11029.402344> +04:42:39.785 ENTITY : CreateComponent 'Hierarchy' +04:42:39.785 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842333" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4425.594727 9.981750 11029.402344>') +04:42:39.785 ENTITY : Create entity @"ENTITY:842335" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4426.584473 9.983749 11031.109375> +04:42:39.785 ENTITY : CreateComponent 'Hierarchy' +04:42:39.785 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842335" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4426.584473 9.983749 11031.109375>') +04:42:39.785 ENTITY : Create entity @"ENTITY:842337" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4427.572266 9.995750 11032.853516> +04:42:39.785 ENTITY : CreateComponent 'Hierarchy' +04:42:39.785 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842337" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4427.572266 9.995750 11032.853516>') +04:42:39.789 ENTITY : Create entity @"ENTITY:842591" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.946289 10.470250 1551.986084> +04:42:39.789 ENTITY : CreateComponent 'Hierarchy' +04:42:39.789 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842591" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.946289 10.470250 1551.986084>') +04:42:39.789 ENTITY : Create entity @"ENTITY:842593" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.430664 10.472250 1550.081421> +04:42:39.789 ENTITY : CreateComponent 'Hierarchy' +04:42:39.789 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842593" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.430664 10.472250 1550.081421>') +04:42:39.790 ENTITY : Create entity @"ENTITY:842595" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10008.926758 10.484250 1548.140869> +04:42:39.790 ENTITY : CreateComponent 'Hierarchy' +04:42:39.790 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842595" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10008.926758 10.484250 1548.140869>') +04:42:44.323 ENTITY : Create entity @"ENTITY:2305843009213693956" ('Factions', SCR_FactionManager) at <0.000000 0.000000 0.000000> @"{589540B35EBA8CDC}Prefabs/MP/Managers/Factions/FactionManager_USxUSSR.et" +04:42:44.323 RESOURCES : GetResourceObject @"{5168FEA3054D6D15}Prefabs/Vehicles/Wheeled/M151A2/M151A2_M2HB_MERDC.et" +04:42:44.323 WORLD : Entity prefab load @"{5168FEA3054D6D15}Prefabs/Vehicles/Wheeled/M151A2/M151A2_M2HB_MERDC.et" +04:42:44.323 RESOURCES : GetResourceObject @"{F6B23D17D5067C11}Prefabs/Vehicles/Wheeled/M151A2/M151A2_M2HB.et" +04:42:44.323 WORLD : Entity prefab load @"{F6B23D17D5067C11}Prefabs/Vehicles/Wheeled/M151A2/M151A2_M2HB.et" +04:42:44.323 RESOURCES : GetResourceObject @"{F649585ABB3706C4}Prefabs/Vehicles/Wheeled/M151A2/M151A2.et" +04:42:44.323 WORLD : Entity prefab load @"{F649585ABB3706C4}Prefabs/Vehicles/Wheeled/M151A2/M151A2.et" +04:42:44.323 WORLD (E): Unknown keyword/data 'SlidingTrackMaterial' at offset 19441(0x4bf1) +04:42:44.376 RESOURCES : GetResourceObject @"{F7B9B434FCFF00B3}Prefabs/Vehicles/Wheeled/Conflict_Variants/BRDM2_Conflict.et" +04:42:44.376 WORLD : Entity prefab load @"{F7B9B434FCFF00B3}Prefabs/Vehicles/Wheeled/Conflict_Variants/BRDM2_Conflict.et" +04:42:44.376 RESOURCES : GetResourceObject @"{254289B9C09904AB}Prefabs/Vehicles/Wheeled/BRDM2/BRDM2.et" +04:42:44.376 WORLD : Entity prefab load @"{254289B9C09904AB}Prefabs/Vehicles/Wheeled/BRDM2/BRDM2.et" +04:42:44.376 RESOURCES : GetResourceObject @"{532B5F3CF8496E59}Prefabs/Vehicles/Wheeled/BRDM2/BRDM2_base.et" +04:42:44.376 WORLD : Entity prefab load @"{532B5F3CF8496E59}Prefabs/Vehicles/Wheeled/BRDM2/BRDM2_base.et" +04:42:44.376 WORLD (E): Unknown keyword/data 'Parent' at offset 35955(0x8c73) +04:42:44.376 WORLD (E): Unknown keyword/data 'Parent' at offset 36915(0x9033) +04:42:44.377 RESOURCES : GetResourceObject @"{BD75A18920BD1278}Prefabs/Vehicles/Wheeled/Conflict_Variants/BTR70_Conflict.et" +04:42:44.377 WORLD : Entity prefab load @"{BD75A18920BD1278}Prefabs/Vehicles/Wheeled/Conflict_Variants/BTR70_Conflict.et" +04:42:44.377 RESOURCES : GetResourceObject @"{C012BB3488BEA0C2}Prefabs/Vehicles/Wheeled/BTR70/BTR70.et" +04:42:44.377 WORLD : Entity prefab load @"{C012BB3488BEA0C2}Prefabs/Vehicles/Wheeled/BTR70/BTR70.et" +04:42:44.377 RESOURCES : GetResourceObject @"{1C5FE7B7FF49BB8D}Prefabs/Vehicles/Wheeled/BTR70/BTR70_Base.et" +04:42:44.377 WORLD : Entity prefab load @"{1C5FE7B7FF49BB8D}Prefabs/Vehicles/Wheeled/BTR70/BTR70_Base.et" +04:42:44.377 WORLD (E): Unknown keyword/data 'Parent' at offset 42646(0xa696) +04:42:44.377 WORLD (E): Unknown keyword/data 'Parent' at offset 43645(0xaa7d) +04:42:44.377 WORLD (E): Unknown keyword/data 'Parent' at offset 44617(0xae49) +04:42:44.377 WORLD (E): Unknown keyword/data 'Parent' at offset 45590(0xb216) +04:42:44.718 WORLD : WORLD : NotifyBeforeEntitiesInitialized +04:42:44.718 PROFILING : NotifyBeforeEntitiesInitialized took: 0.050900 ms +04:42:46.693 WORLD : InitEntities 'world' +04:42:46.693 ENTITY : Init entity @"ENTITY:2305843009213693953" ('Rereintroduced', ERR_GameMode) at <1076.468018 51.000999 1325.246948> @"{978E045E53EF36C8}Prefabs/ERR/GameMode.et" +04:42:46.693 SCRIPT (W): SCR_PerceivedFactionManagerComponent trying to set fall back faction 'CIV' but this faction could not be found so it is null instead. +04:42:46.725 WORLD : InitEntities 'world' +04:42:46.725 ENTITY : Init entity @"ENTITY:2305843009213693953" ('Rereintroduced', ERR_GameMode) at <1076.468018 51.000999 1325.246948> @"{978E045E53EF36C8}Prefabs/ERR/GameMode.et" +04:42:46.725 SCRIPT : ERR BASE SMOKE: core-only scripted escape; not manual or multiplayer acceptance +04:42:46.726 WORLD : WORLD : NotifyEntitiesInitialized +04:42:46.726 TERRAIN : TERRAIN : Initializing road networks... +04:42:46.728 PROFILING : Initializing road networks... took: 2.324000 ms +04:42:46.728 DEFAULT : DEFAULT : WorldVolumesCollection +04:42:46.784 PROFILING : WorldVolumesCollection took: 55.907400 ms +04:42:46.784 INIT : INIT : SoundWorldInit +04:42:46.798 PROFILING : SoundWorldInit took: 13.913600 ms +04:42:46.798 PROFILING : NotifyEntitiesInitialized took: 72.384200 ms +04:42:46.798 PROFILING : CreateEntities took: 12774.679300 ms +04:42:46.798 PROFILING : CreateEntities took: 12774.850500 ms +04:42:46.799 WORLD : WORLD : Wait for preloading data around camera +04:42:46.799 PROFILING : Wait for preloading data around camera took: 0.001100 ms +04:42:46.799 WORLD : WORLD : EOnActivate +04:42:46.833 PROFILING : EOnActivate took: 34.561300 ms +04:42:46.834 PROFILING : Game::LoadEntities took: 12811.446100 ms +04:42:47.082 DEFAULT : Entered offline game state. +04:42:47.185 NETWORK : Player connected: connectionID=2147483646 +04:42:47.185 NETWORK : ### Connecting player: connectionID=2147483646, Name= +04:42:47.186 NETWORK : ### Creating player: PlayerId=1, Name=jakub +04:42:47.191 ENTITY : SpawnEntityPrefab @"{225E51284CC95CFA}Prefabs/Characters/Core/DefaultPlayerControllerMP.et" +04:42:47.191 ENTITY : Create entity @"ENTITY:4611686018427388381" ('SCR_PlayerController') at <0.000000 0.000000 0.000000> +04:42:47.191 ENTITY : EntityPrefabUse @"{225E51284CC95CFA}Prefabs/Characters/Core/DefaultPlayerControllerMP.et" +04:42:47.192 SCRIPT (W): Notification data in 'SCR_NotificationsLogDisplay' has duplicate notification info key: 'EDITOR_PERCEIVED_FACTION_PUNISHMENT_KILLING_SET'. There should only be one of each key! +04:42:47.192 SCRIPT (W): Notification data in 'SCR_NotificationsLogDisplay' has duplicate notification info key: 'EDITOR_PERCEIVED_FACTION_TYPE_DISABLED'. There should only be one of each key! +04:42:47.194 SCRIPT (W): Can't open config file "" +04:42:47.199 WORLD : InitEntities 'world' +04:42:47.200 ENTITY : Init entity @"ENTITY:4611686018427388381" ('SCR_PlayerController') at <0.000000 0.000000 0.000000> @"{225E51284CC95CFA}Prefabs/Characters/Core/DefaultPlayerControllerMP.et" +04:42:47.200 GUI : WidgetManager: CrateWidgets @"{3C9DCDD76AB83157}UI/layouts/HUD/HUDLayouts/HUDManager_Root.layout" +04:42:47.200 SCRIPT (W): Slot_WeaponInfo Has no Content! +04:42:47.200 SCRIPT (W): Slot_Chat Has no Content! +04:42:47.200 SCRIPT (W): Slot_VON Has no Content! +04:42:47.201 SCRIPT (W): Slot_AvailableActions Has no Content! +04:42:47.201 SCRIPT (W): Slot_Vehicle Has no Content! +04:42:47.201 SCRIPT (W): Slot_GameVersion Has no Content! +04:42:47.201 SCRIPT (W): Slot_Notifications Has no Content! +04:42:47.201 SCRIPT (W): Slot_Hints Has no Content! +04:42:47.214 NETWORK : ### Updating player: PlayerId=1, Name=jakub, rplIdentity=0xFFFFFFFE, IdentityId=00000000-0000-0000-0000-000000000000 +04:42:47.215 SCRIPT (W): Ban Settings could not be loaded from BE Storage: Relying on default config +04:42:47.215 NETWORK : Players connecting: 0 +04:42:47.215 NETWORK : Players connected: 1 / 1 +04:42:47.242 DEFAULT : Using autosave directory: C:/users/steamuser/AppData/Local/Temp/Arma Reforger Workbench/Projects/ERR_Core/autosaves +04:42:47.243 PROFILING : Workbench startup took: 42197.194000 ms +04:42:47.265 WORLD : Frame start +04:42:47.265 SCRIPT : ScenarioFramework: Available tasks are empty, no new tasks will be generated. +04:42:47.279 WORLD : UpdateEntities +04:42:47.279 WORLD : Frame +04:42:47.279 SCRIPT : SCR_BaseGameMode::OnGameStateChanged = GAME +04:42:47.461 WORLD : UpdateEntities +04:42:47.462 WORLD : PostFrame +04:42:47.462 GUI : WidgetManager: CrateWidgets @"{D89BBA18F99053D6}UI/layouts/HUD/Chat/ChatHud.layout" +04:42:47.462 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +04:42:47.508 RESOURCES : GetResourceObject @"{20A6917D2114E29A}UI/layouts/HUD/Hint/HintInfoDisplay.layout" +04:42:47.509 GUI : Layout load @"{20A6917D2114E29A}UI/layouts/HUD/Hint/HintInfoDisplay.layout" +04:42:47.509 GUI : Widget prefab @"{EA1CC57D868E94F9}UI/layouts/HUD/Hint/Hint.layout" +04:42:47.509 GUI (W): Overridden prefab member (GUID: '{661AB14E0F471C66}' type: ButtonWidgetClass) no longer exists in prefab +04:42:47.643 RENDER : RENDER : ObjectsHeightMap::Build +04:42:47.643 RENDER : RENDER : MeshOccupancyGridManager::GenerateAllForWorld +04:42:47.804 PROFILING : MeshOccupancyGridManager::GenerateAllForWorld took: 160.824100 ms +04:42:47.812 PROFILING : ObjectsHeightMap::Build took: 169.275400 ms +04:42:48.990 SCRIPT : Rereintroduced [sites]: cache clearance position=<6086,211.538,7160> clear=1 +04:42:49.009 SCRIPT : Rereintroduced [sites]: authored everon-prison-1 at <6090,211.444,7160> +04:42:49.010 SCRIPT : Rereintroduced [sites]: cache clearance position=<6150,203.288,7050> clear=1 +04:42:49.042 SCRIPT : Rereintroduced [sites]: authored everon-supply-1 at <6150,203.288,7050> +04:42:49.044 SCRIPT : Rereintroduced [sites]: authored everon-radio-1 at <6500,159.756,7200> +04:42:49.094 SCRIPT : Rereintroduced [sites]: authored everon-extraction-1 at <7000,65.2562,7500> +04:42:49.094 SCRIPT : Rereintroduced [sites]: cache clearance position=<5960,220.256,7220> clear=1 +04:42:49.100 SCRIPT : Rereintroduced [sites]: transport parking=<5960,220.256,7212> radius=4 terrainRange=0.8125 obstructed=0 clear=1 +04:42:49.151 SCRIPT : Rereintroduced [sites]: authored everon-supply-2 at <5960,220.256,7220> +04:42:49.151 SCRIPT : Rereintroduced [sites]: cache clearance position=<6340,175.788,7400> clear=1 +04:42:49.153 SCRIPT : Rereintroduced [sites]: authored everon-medical-1 at <6340,175.788,7400> +04:42:49.154 SCRIPT : Rereintroduced [sites]: cache clearance position=<6740,140.6,7300> clear=1 +04:42:49.157 SCRIPT : Rereintroduced [sites]: cache clearance position=<6740,140.913,7296> clear=1 +04:42:49.158 SCRIPT : Rereintroduced [sites]: cache clearance position=<6736,140.975,7300> clear=1 +04:42:49.158 SCRIPT : Rereintroduced [sites]: cache clearance position=<6744,140.288,7300> clear=1 +04:42:49.160 SCRIPT : Rereintroduced [sites]: authored everon-outpost-1 at <6740,140.6,7300> +04:42:49.243 SCRIPT : Rereintroduced [sites]: 7 sites and 117 physical stock items ready +04:42:49.244 SCRIPT : Rereintroduced [time]: started at 14:00 with 1x progression +04:42:49.244 SCRIPT : Rereintroduced [mission]: phase 0 -> 1 +04:42:49.483 SCRIPT : INFO: Faction: player jakub (playerID = 1 | UUID = 00000000-0000-0000-0000-000000000000) has joined faction #AR-Faction_US (US) +04:42:49.559 SCRIPT : Rereintroduced [spawn]: player 1 at <6090,211.444,7160> +04:42:50.192 SCRIPT : ERR SMOKE PASS: transport authored transport definition resolves +04:42:50.192 SCRIPT : ERR SMOKE PASS: transport unbounded parking offset rejected +04:42:50.192 SCRIPT : ERR SMOKE PASS: transport floating parking offset rejected +04:42:50.192 SCRIPT : ERR SMOKE PASS: transport undersized parking footprint rejected +04:42:50.193 SCRIPT : ERR SMOKE PASS: transport unbounded parking footprint rejected +04:42:50.193 SCRIPT : ERR SMOKE PASS: transport unsafe authoring slope allowance rejected +04:42:50.193 SCRIPT : ERR SMOKE PASS: transport transport restricted to optional depot and outpost sites +04:42:50.193 SCRIPT : ERR SMOKE PASS: transport valid authoring restored after isolated mutations +04:42:50.193 SCRIPT : ERR SMOKE PASS: transport exactly one authored transport belongs to the finite site service +04:42:50.193 SCRIPT : ERR SMOKE PASS: transport wheeled transport starts parked with vanilla finite fuel +04:42:50.193 SCRIPT : ERR TRANSPORT FUEL: current=58.5 maximum=78 +04:42:50.194 SCRIPT : ERR TRANSPORT SEATS: usable driver/passenger positions=5 +04:42:50.194 SCRIPT : ERR SMOKE PASS: transport native driver and passenger compartments are distinct +04:42:50.211 SCRIPT : ERR SMOKE PASS: transport isolated physical occupants created +04:42:50.211 SCRIPT : ERR SMOKE PASS: transport native driver boarding request accepted +04:42:51.711 SCRIPT : ERR SMOKE PASS: transport native passenger boarding request accepted +04:42:54.287 SCRIPT : ERR SMOKE PASS: transport driver and passenger physically occupy their native seats +04:42:54.287 SCRIPT : ERR SMOKE PASS: transport ordinary native engine start request accepted +04:43:00.362 SCRIPT : ERR SMOKE PASS: transport native wheeled engine starts with available fuel +04:43:00.362 SCRIPT : ERR SMOKE PASS: transport preparation queries preserve the original vehicle after deliberate fuel depletion +04:43:05.428 SCRIPT : ERR SMOKE PASS: transport empty transport stays empty and is not refilled or replaced +04:43:05.466 WORLD : UpdateEntities +04:43:05.467 WORLD : Frame +04:43:05.467 SCRIPT (W): GetAimCompensation: provided null entity +04:43:05.494 WORLD : UpdateEntities +04:43:05.494 WORLD : Frame +04:43:05.494 SCRIPT (W): GetAimCompensation: provided null entity +04:43:05.559 WORLD : UpdateEntities +04:43:05.559 WORLD : Frame +04:43:05.559 SCRIPT (W): GetAimCompensation: provided null entity +04:43:05.655 WORLD : UpdateEntities +04:43:05.655 WORLD : Frame +04:43:05.655 SCRIPT (W): GetAimCompensation: provided null entity +04:43:08.457 SCRIPT : ERR SMOKE PASS: transport lost transport remains absent after service ticks and preparation queries +04:43:08.457 SCRIPT : ERR SMOKE PASS: transport duplicate initialization cannot replace lost transport +04:43:08.457 SCRIPT : ERR SMOKE PASS: transport stopped finite owner cannot reinitialize transport +04:43:08.457 SCRIPT : Rereintroduced [mission]: phase 1 -> 6 +04:43:08.458 SCRIPT : ERR SMOKE PASS: base transport fixture finished before explicit test reset +04:43:08.458 SCRIPT : ERR SMOKE COMPLETE: finite native ground transport; reset requested by fixture +04:43:08.551 SCRIPT : SCR_BaseGameMode::OnGameStateChanged = POSTGAME +04:43:08.554 GUI : WidgetManager: CrateWidgets @"{144919871D65F121}UI/layouts/HUD/GameOver/EndScreen/EndScreen.layout" +04:43:08.554 SCRIPT (W): Slot_Chat Has no Content! +04:43:08.554 SCRIPT (W): Slot_VON Has no Content! +04:43:08.554 SCRIPT (W): Slot_GameVersion Has no Content! +04:43:08.554 SCRIPT (W): Slot_Notifications Has no Content! +04:43:10.606 SCRIPT (W): SCR_ScriptedWidgetComponent.GetComponent: widget not found: SCR_InputButtonComponent Back +04:43:10.606 SCRIPT : -- Stack trace -- +04:43:10.606 SCRIPT : GetComponent() Scripts/Game/UI/Components/WidgetLibrary/SCR_ScriptedWidgetComponent.c : 43 +04:43:10.606 SCRIPT : GetInputButtonComponent() Scripts/Game/UI/Components/WidgetLibrary/SCR_InputButton/SCR_InputButtonComponent.c : 1214 +04:43:10.606 SCRIPT : OnMenuOpen() Scripts/Game/UI/GameOverScreen/SCR_GameOverScreenInput.c : 15 +04:43:10.607 SCRIPT : OpenGameOverScreen() Scripts/Game/GameOverScreen/SCR_GameOverScreenManagerComponent.c : 447 +04:43:10.607 SCRIPT : ShowGameOverScreen() Scripts/Game/GameOverScreen/SCR_GameOverScreenManagerComponent.c : 177 +04:43:10.607 SCRIPT : OnUpdate() Scripts/Game/game.c : 885 +04:43:10.607 SCRIPT : ----------------- +04:43:10.607 SCRIPT (W): SCR_ScriptedWidgetComponent.GetComponent: widget not found: SCR_InputButtonComponent ChatButton +04:43:10.607 SCRIPT : -- Stack trace -- +04:43:10.607 SCRIPT : GetComponent() Scripts/Game/UI/Components/WidgetLibrary/SCR_ScriptedWidgetComponent.c : 43 +04:43:10.607 SCRIPT : GetInputButtonComponent() Scripts/Game/UI/Components/WidgetLibrary/SCR_InputButton/SCR_InputButtonComponent.c : 1214 +04:43:10.608 SCRIPT : OnMenuOpen() Scripts/Game/UI/GameOverScreen/SCR_GameOverScreenInput.c : 21 +04:43:10.608 SCRIPT : OpenGameOverScreen() Scripts/Game/GameOverScreen/SCR_GameOverScreenManagerComponent.c : 447 +04:43:10.608 SCRIPT : ShowGameOverScreen() Scripts/Game/GameOverScreen/SCR_GameOverScreenManagerComponent.c : 177 +04:43:10.608 SCRIPT : OnUpdate() Scripts/Game/game.c : 885 +04:43:10.608 SCRIPT : ----------------- +04:43:10.610 GUI : WidgetManager: CrateWidgets @"{144919871D65F121}UI/layouts/HUD/GameOver/EndScreen/EndScreen.layout" +04:43:10.610 SCRIPT (W): Slot_Chat Has no Content! +04:43:10.610 SCRIPT (W): Slot_VON Has no Content! +04:43:10.610 SCRIPT (W): Slot_GameVersion Has no Content! +04:43:10.610 SCRIPT (W): Slot_Notifications Has no Content! diff --git a/docs/evidence/native-2026-09-19-044205/error.log.txt b/docs/evidence/native-2026-09-19-044205/error.log.txt new file mode 100644 index 0000000..07b4866 --- /dev/null +++ b/docs/evidence/native-2026-09-19-044205/error.log.txt @@ -0,0 +1,145 @@ +--------------------------------------------- +Log Z:\tmp\erri-workbench-profile\logs\logs_2026-09-19_04-42-05\error.log started at 2026-09-19 04:42:06 (2026-09-19 02:42:06 UTC) + +04:42:06.799 INIT : Workbench startup +04:42:06.799 INIT : Workbench Init Engine +04:42:06.799 RESOURCES : ResourceDB: full scan +04:42:06.799 RESOURCES : processing files... +04:42:06.799 RESOURCES (W): resource not registered: @"$profile:rereintroduced.json". Setting null GUID +04:42:09.942 INIT : Workbench Create Game +04:42:09.942 SCRIPT : Compiling Game scripts +04:42:09.942 SCRIPT (W): @"Scripts/Game/Editor/Components/EditableEntity/SCR_EditableEntityComponent.c,785": 'GetPlayerPlatformKind' is obsolete +04:42:09.942 SCRIPT (W): @"Scripts/Game/Editor/Components/EditableEntity/SCR_EditableEntityComponent.c,786": 'GetPlayerPlatformId' is obsolete +04:42:10.203 SCRIPT (W): @"Scripts/Game/ERR/ERR_SiteService.c,140": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +04:42:10.212 SCRIPT (W): @"Scripts/Game/Workshop/SCR_AddonManager.c,876": 'GetRefCount' is obsolete: Will be removed +04:42:10.240 SCRIPT (W): @"Scripts/Game/Campaign/SCR_PlayerProfileManagerComponent.c,142": 'PlayerData' is obsolete +04:42:10.337 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,159": 'GetDSSession' is obsolete +04:42:10.337 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,162": 'RoomID' is obsolete +04:42:10.337 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,197": 'GetDSSession' is obsolete +04:42:10.337 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,201": 'RoomID' is obsolete +04:42:10.430 SCRIPT (W): @"Scripts/Game/DataCollection/SCR_DataCollectorComponent.c,481": 'GetStorage' is obsolete +04:42:10.430 SCRIPT (W): @"Scripts/Game/DataCollection/SCR_DataCollectorComponent.c,483": 'GetOnlineWritePrivilege' is obsolete +04:42:10.432 SCRIPT (W): @"Scripts/Game/Utilities/SCR_PlayerIdentityUtils.c,20": 'GetPlayerIdentityId' is obsolete +04:42:10.474 SCRIPT (W): @"Scripts/Game/ERR/ERR_ExtractionService.c,45": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +04:42:10.474 SCRIPT (W): @"Scripts/Game/ERR/ERR_ExtractionService.c,56": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +04:42:10.475 SCRIPT (W): @"Scripts/Game/UI/Menu/MainMenuUI.c,643": 'GetNotifyCount' is obsolete: Will be substitued by Notification Api. +04:42:10.475 SCRIPT (W): @"Scripts/Game/UI/Menu/MainMenuUI.c,645": 'GetNotifyItem' is obsolete: Will be substitued by Notification Api. +04:42:10.500 SCRIPT (W): @"Scripts/Game/ERR/ERR_NativeTransportProbe.c,82": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +04:42:10.533 SCRIPT (W): @"Scripts/Game/DataCollection/PlayerData/SCR_PlayerData.c,210": 'PlayerData' is obsolete +04:42:19.071 WORLD : CreateEntities +04:42:19.072 ENTITY : Create entity @"ENTITY:610406" ('StaticModelEntity','Assets/Structures/Infrastructure/Towers/TransmitterTower_01/TransmitterTower_01_small.xob') at <1931.796021 81.777000 5138.725098> @"{6A004A8F0571D456}Prefabs/Structures/Infrastructure/Towers/TransmitterTower_01/TransmitterTower_01_small.et" +04:42:19.072 ENTITY : CreateComponent 'ScriptedRadioComponent' +04:42:19.072 DEFAULT (W): World doesn't contain RadioManagerEntity to support any BaseRadioComponent. +04:42:33.773 DEFAULT (W): LogiLED: Cannot initialize! (service not running or no compatible device detected) +04:42:38.358 WORLD : Game::LoadEntities +04:42:38.358 WORLD : CreateEntities +04:42:38.358 WORLD : CreateEntities +04:42:38.358 ENTITY : Create entity @"ENTITY:610406" ('StaticModelEntity','Assets/Structures/Infrastructure/Towers/TransmitterTower_01/TransmitterTower_01_small.xob') at <1931.796021 81.777000 5138.725098> @"{6A004A8F0571D456}Prefabs/Structures/Infrastructure/Towers/TransmitterTower_01/TransmitterTower_01_small.et" +04:42:38.358 ENTITY : CreateComponent 'ScriptedRadioComponent' +04:42:38.358 DEFAULT (W): World doesn't contain RadioManagerEntity to support any BaseRadioComponent. +04:42:39.779 ENTITY : Create entity @"ENTITY:842066" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1080.213013 10.776751 6018.347168> +04:42:39.779 ENTITY : CreateComponent 'Hierarchy' +04:42:39.779 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842066" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1080.213013 10.776751 6018.347168>') +04:42:39.779 ENTITY : Create entity @"ENTITY:842068" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1082.185913 10.778749 6018.331055> +04:42:39.779 ENTITY : CreateComponent 'Hierarchy' +04:42:39.779 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842068" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1082.185913 10.778749 6018.331055>') +04:42:39.780 ENTITY : Create entity @"ENTITY:842070" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1084.190918 10.790751 6018.334961> +04:42:39.780 ENTITY : CreateComponent 'Hierarchy' +04:42:39.780 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842070" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1084.190918 10.790751 6018.334961>') +04:42:39.785 ENTITY : Create entity @"ENTITY:842333" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4425.594727 9.981750 11029.402344> +04:42:39.785 ENTITY : CreateComponent 'Hierarchy' +04:42:39.785 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842333" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4425.594727 9.981750 11029.402344>') +04:42:39.785 ENTITY : Create entity @"ENTITY:842335" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4426.584473 9.983749 11031.109375> +04:42:39.785 ENTITY : CreateComponent 'Hierarchy' +04:42:39.785 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842335" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4426.584473 9.983749 11031.109375>') +04:42:39.785 ENTITY : Create entity @"ENTITY:842337" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4427.572266 9.995750 11032.853516> +04:42:39.785 ENTITY : CreateComponent 'Hierarchy' +04:42:39.785 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842337" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4427.572266 9.995750 11032.853516>') +04:42:39.789 ENTITY : Create entity @"ENTITY:842591" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.946289 10.470250 1551.986084> +04:42:39.789 ENTITY : CreateComponent 'Hierarchy' +04:42:39.789 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842591" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.946289 10.470250 1551.986084>') +04:42:39.789 ENTITY : Create entity @"ENTITY:842593" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.430664 10.472250 1550.081421> +04:42:39.789 ENTITY : CreateComponent 'Hierarchy' +04:42:39.789 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842593" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.430664 10.472250 1550.081421>') +04:42:39.790 ENTITY : Create entity @"ENTITY:842595" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10008.926758 10.484250 1548.140869> +04:42:39.790 ENTITY : CreateComponent 'Hierarchy' +04:42:39.790 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842595" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10008.926758 10.484250 1548.140869>') +04:42:44.323 ENTITY : Create entity @"ENTITY:2305843009213693956" ('Factions', SCR_FactionManager) at <0.000000 0.000000 0.000000> @"{589540B35EBA8CDC}Prefabs/MP/Managers/Factions/FactionManager_USxUSSR.et" +04:42:44.323 RESOURCES : GetResourceObject @"{5168FEA3054D6D15}Prefabs/Vehicles/Wheeled/M151A2/M151A2_M2HB_MERDC.et" +04:42:44.323 WORLD : Entity prefab load @"{5168FEA3054D6D15}Prefabs/Vehicles/Wheeled/M151A2/M151A2_M2HB_MERDC.et" +04:42:44.323 RESOURCES : GetResourceObject @"{F6B23D17D5067C11}Prefabs/Vehicles/Wheeled/M151A2/M151A2_M2HB.et" +04:42:44.323 WORLD : Entity prefab load @"{F6B23D17D5067C11}Prefabs/Vehicles/Wheeled/M151A2/M151A2_M2HB.et" +04:42:44.323 RESOURCES : GetResourceObject @"{F649585ABB3706C4}Prefabs/Vehicles/Wheeled/M151A2/M151A2.et" +04:42:44.323 WORLD : Entity prefab load @"{F649585ABB3706C4}Prefabs/Vehicles/Wheeled/M151A2/M151A2.et" +04:42:44.323 WORLD (E): Unknown keyword/data 'SlidingTrackMaterial' at offset 19441(0x4bf1) +04:42:44.376 RESOURCES : GetResourceObject @"{F7B9B434FCFF00B3}Prefabs/Vehicles/Wheeled/Conflict_Variants/BRDM2_Conflict.et" +04:42:44.376 WORLD : Entity prefab load @"{F7B9B434FCFF00B3}Prefabs/Vehicles/Wheeled/Conflict_Variants/BRDM2_Conflict.et" +04:42:44.376 RESOURCES : GetResourceObject @"{254289B9C09904AB}Prefabs/Vehicles/Wheeled/BRDM2/BRDM2.et" +04:42:44.376 WORLD : Entity prefab load @"{254289B9C09904AB}Prefabs/Vehicles/Wheeled/BRDM2/BRDM2.et" +04:42:44.376 RESOURCES : GetResourceObject @"{532B5F3CF8496E59}Prefabs/Vehicles/Wheeled/BRDM2/BRDM2_base.et" +04:42:44.376 WORLD : Entity prefab load @"{532B5F3CF8496E59}Prefabs/Vehicles/Wheeled/BRDM2/BRDM2_base.et" +04:42:44.376 WORLD (E): Unknown keyword/data 'Parent' at offset 35955(0x8c73) +04:42:44.376 WORLD (E): Unknown keyword/data 'Parent' at offset 36915(0x9033) +04:42:44.377 RESOURCES : GetResourceObject @"{BD75A18920BD1278}Prefabs/Vehicles/Wheeled/Conflict_Variants/BTR70_Conflict.et" +04:42:44.377 WORLD : Entity prefab load @"{BD75A18920BD1278}Prefabs/Vehicles/Wheeled/Conflict_Variants/BTR70_Conflict.et" +04:42:44.377 RESOURCES : GetResourceObject @"{C012BB3488BEA0C2}Prefabs/Vehicles/Wheeled/BTR70/BTR70.et" +04:42:44.377 WORLD : Entity prefab load @"{C012BB3488BEA0C2}Prefabs/Vehicles/Wheeled/BTR70/BTR70.et" +04:42:44.377 RESOURCES : GetResourceObject @"{1C5FE7B7FF49BB8D}Prefabs/Vehicles/Wheeled/BTR70/BTR70_Base.et" +04:42:44.377 WORLD : Entity prefab load @"{1C5FE7B7FF49BB8D}Prefabs/Vehicles/Wheeled/BTR70/BTR70_Base.et" +04:42:44.377 WORLD (E): Unknown keyword/data 'Parent' at offset 42646(0xa696) +04:42:44.377 WORLD (E): Unknown keyword/data 'Parent' at offset 43645(0xaa7d) +04:42:44.377 WORLD (E): Unknown keyword/data 'Parent' at offset 44617(0xae49) +04:42:44.377 WORLD (E): Unknown keyword/data 'Parent' at offset 45590(0xb216) +04:42:46.693 WORLD : InitEntities 'world' +04:42:46.693 ENTITY : Init entity @"ENTITY:2305843009213693953" ('Rereintroduced', ERR_GameMode) at <1076.468018 51.000999 1325.246948> @"{978E045E53EF36C8}Prefabs/ERR/GameMode.et" +04:42:46.693 SCRIPT (W): SCR_PerceivedFactionManagerComponent trying to set fall back faction 'CIV' but this faction could not be found so it is null instead. +04:42:47.191 ENTITY : SpawnEntityPrefab @"{225E51284CC95CFA}Prefabs/Characters/Core/DefaultPlayerControllerMP.et" +04:42:47.191 ENTITY : Create entity @"ENTITY:4611686018427388381" ('SCR_PlayerController') at <0.000000 0.000000 0.000000> +04:42:47.191 ENTITY : EntityPrefabUse @"{225E51284CC95CFA}Prefabs/Characters/Core/DefaultPlayerControllerMP.et" +04:42:47.192 SCRIPT (W): Notification data in 'SCR_NotificationsLogDisplay' has duplicate notification info key: 'EDITOR_PERCEIVED_FACTION_PUNISHMENT_KILLING_SET'. There should only be one of each key! +04:42:47.192 SCRIPT (W): Notification data in 'SCR_NotificationsLogDisplay' has duplicate notification info key: 'EDITOR_PERCEIVED_FACTION_TYPE_DISABLED'. There should only be one of each key! +04:42:47.194 SCRIPT (W): Can't open config file "" +04:42:47.199 WORLD : InitEntities 'world' +04:42:47.200 ENTITY : Init entity @"ENTITY:4611686018427388381" ('SCR_PlayerController') at <0.000000 0.000000 0.000000> @"{225E51284CC95CFA}Prefabs/Characters/Core/DefaultPlayerControllerMP.et" +04:42:47.200 GUI : WidgetManager: CrateWidgets @"{3C9DCDD76AB83157}UI/layouts/HUD/HUDLayouts/HUDManager_Root.layout" +04:42:47.200 SCRIPT (W): Slot_WeaponInfo Has no Content! +04:42:47.200 SCRIPT (W): Slot_Chat Has no Content! +04:42:47.200 SCRIPT (W): Slot_VON Has no Content! +04:42:47.201 SCRIPT (W): Slot_AvailableActions Has no Content! +04:42:47.201 SCRIPT (W): Slot_Vehicle Has no Content! +04:42:47.201 SCRIPT (W): Slot_GameVersion Has no Content! +04:42:47.201 SCRIPT (W): Slot_Notifications Has no Content! +04:42:47.201 SCRIPT (W): Slot_Hints Has no Content! +04:42:47.215 SCRIPT (W): Ban Settings could not be loaded from BE Storage: Relying on default config +04:42:47.461 WORLD : UpdateEntities +04:42:47.462 WORLD : PostFrame +04:42:47.462 GUI : WidgetManager: CrateWidgets @"{D89BBA18F99053D6}UI/layouts/HUD/Chat/ChatHud.layout" +04:42:47.462 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +04:42:47.508 RESOURCES : GetResourceObject @"{20A6917D2114E29A}UI/layouts/HUD/Hint/HintInfoDisplay.layout" +04:42:47.509 GUI : Layout load @"{20A6917D2114E29A}UI/layouts/HUD/Hint/HintInfoDisplay.layout" +04:42:47.509 GUI : Widget prefab @"{EA1CC57D868E94F9}UI/layouts/HUD/Hint/Hint.layout" +04:42:47.509 GUI (W): Overridden prefab member (GUID: '{661AB14E0F471C66}' type: ButtonWidgetClass) no longer exists in prefab +04:43:05.466 WORLD : UpdateEntities +04:43:05.467 WORLD : Frame +04:43:05.467 SCRIPT (W): GetAimCompensation: provided null entity +04:43:05.493 WORLD : UpdateEntities +04:43:05.494 WORLD : Frame +04:43:05.494 SCRIPT (W): GetAimCompensation: provided null entity +04:43:05.559 WORLD : UpdateEntities +04:43:05.559 WORLD : Frame +04:43:05.559 SCRIPT (W): GetAimCompensation: provided null entity +04:43:05.655 WORLD : UpdateEntities +04:43:05.655 WORLD : Frame +04:43:05.655 SCRIPT (W): GetAimCompensation: provided null entity +04:43:08.554 GUI : WidgetManager: CrateWidgets @"{144919871D65F121}UI/layouts/HUD/GameOver/EndScreen/EndScreen.layout" +04:43:08.554 SCRIPT (W): Slot_Chat Has no Content! +04:43:08.554 SCRIPT (W): Slot_VON Has no Content! +04:43:08.554 SCRIPT (W): Slot_GameVersion Has no Content! +04:43:08.554 SCRIPT (W): Slot_Notifications Has no Content! +04:43:10.606 SCRIPT (W): SCR_ScriptedWidgetComponent.GetComponent: widget not found: SCR_InputButtonComponent Back +04:43:10.607 SCRIPT (W): SCR_ScriptedWidgetComponent.GetComponent: widget not found: SCR_InputButtonComponent ChatButton +04:43:10.610 GUI : WidgetManager: CrateWidgets @"{144919871D65F121}UI/layouts/HUD/GameOver/EndScreen/EndScreen.layout" +04:43:10.610 SCRIPT (W): Slot_Chat Has no Content! +04:43:10.610 SCRIPT (W): Slot_VON Has no Content! +04:43:10.610 SCRIPT (W): Slot_GameVersion Has no Content! +04:43:10.610 SCRIPT (W): Slot_Notifications Has no Content! diff --git a/docs/evidence/native-2026-09-19-044205/headless-launch.log.txt b/docs/evidence/native-2026-09-19-044205/headless-launch.log.txt new file mode 100644 index 0000000..53391fe --- /dev/null +++ b/docs/evidence/native-2026-09-19-044205/headless-launch.log.txt @@ -0,0 +1,150 @@ +[gamescope] [Info] console: gamescope version 3.16.28 (gcc 16.2.1) +No CAP_SYS_NICE, falling back to regular-priority compute and threads. +Performance will be affected. +[gamescope] [Info] scriptmgr: Loading scripts from: '/usr/share/gamescope/scripts' +[gamescope] [Info] scriptmgr: Loading scripts from: '/usr/share/gamescope/scripts/00-gamescope' +[gamescope] [Info] scriptmgr: Loading scripts from: '/usr/share/gamescope/scripts/00-gamescope/common' +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/common/inspect.lua' (id: 0) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/common/modegen.lua' (id: 1) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/common/util.lua' (id: 2) +[gamescope] [Info] scriptmgr: Loading scripts from: '/usr/share/gamescope/scripts/00-gamescope/displays' +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/asus.rogally.lcd.lua' (id: 3) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/deckhd.steamdeck.deckhd-lcd.lua' (id: 4) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/gpd.win4.lcd.lua' (id: 5) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/lenovo.legiongo.lcd.lua' (id: 6) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/lenovo.legiongos.lcd.lua' (id: 7) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/onexplayer.f1.oled.lua' (id: 8) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/valve.steamdeck.lcd.lua' (id: 9) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/valve.steamdeck.oled.lua' (id: 10) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/zotac.zone.oled.lua' (id: 11) +[gamescope] [Info] scriptmgr: Loading scripts from: '/etc/gamescope/scripts' +[gamescope] [Warn] scriptmgr: Directory '/etc/gamescope/scripts' does not exist +[gamescope] [Info] scriptmgr: Loading scripts from: '/home/jakub/.config/gamescope/scripts' +[gamescope] [Warn] scriptmgr: Directory '/home/jakub/.config/gamescope/scripts' does not exist +[gamescope] [Info] vulkan: selecting physical device 'AMD Radeon RX 6950 XT (RADV NAVI21)': queue family 1 (general queue family 0) +[gamescope] [Info] vulkan: physical device supports DRM format modifiers +[gamescope] [Info] wlserver: [backend/headless/backend.c:60] Creating headless backend +[gamescope] [Info] vulkan: supported DRM formats for sampling usage: +[gamescope] [Info] vulkan: AR24 (0x34325241) +[gamescope] [Info] vulkan: XR24 (0x34325258) +[gamescope] [Info] vulkan: AB24 (0x34324241) +[gamescope] [Info] vulkan: XB24 (0x34324258) +[gamescope] [Info] vulkan: RG16 (0x36314752) +[gamescope] [Info] vulkan: NV12 (0x3231564E) +[gamescope] [Info] vulkan: AB4H (0x48344241) +[gamescope] [Info] vulkan: XB4H (0x48344258) +[gamescope] [Info] vulkan: AB48 (0x38344241) +[gamescope] [Info] vulkan: XB48 (0x38344258) +[gamescope] [Info] vulkan: AB30 (0x30334241) +[gamescope] [Info] vulkan: XB30 (0x30334258) +[gamescope] [Info] vulkan: AR30 (0x30335241) +[gamescope] [Info] vulkan: XR30 (0x30335258) +[gamescope] [Info] wlserver: Using explicit sync when available +[gamescope] [Info] wlserver: Running compositor on wayland display 'gamescope-0' +[gamescope] [Info] wlserver: [backend/headless/backend.c:17] Starting headless backend +[gamescope] [Info] wlserver: Successfully initialized libei for input emulation! +[gamescope] [Error] wlserver: [xwayland/sockets.c:47] Failed to bind socket @/tmp/.X11-unix/X0: Address already in use +[gamescope] [Info] wlserver: [xwayland/server.c:108] Starting Xwayland on :2 +The XKEYBOARD keymap compiler (xkbcomp) reports: +> Warning: Multiple symbols for level 1/group 1 on key +> Using F23, ignoring XF86TouchpadOff +> Warning: Symbol map for key redefined +> Using last definition for conflicting fields +> Warning: Symbol map for key redefined +> Using last definition for conflicting fields +> Warning: Could not resolve keysym XF86ElectronicPrivacyScreenOn +> Warning: Could not resolve keysym XF86ElectronicPrivacyScreenOff +> Warning: Could not resolve keysym XF86ActionOnSelection +> Warning: Could not resolve keysym XF86ContextualInsert +> Warning: Could not resolve keysym XF86ContextualQuery +Errors from xkbcomp are not fatal to the X server +[gamescope] [Info] pipewire: stream state changed: connecting +[gamescope] [Info] pipewire: stream state changed: paused +[gamescope] [Info] pipewire: stream available on node ID: 123 +[gamescope] [Info] vblank: Using timerfd. +fsync: up and running. +[Gamescope WSI] No application info given. +[Gamescope WSI] Executable name: explorer.exe +ATTENTION: default value of option vk_wsi_force_swapchain_to_current_extent overridden by environment. +[Gamescope WSI] Application info: + pApplicationName: xalia.exe + applicationVersion: 0 + pEngineName: DXVK + engineVersion: 12587008 + apiVersion: 4206592 +[Gamescope WSI] Executable name: xalia.exe +ATTENTION: default value of option vk_wsi_force_swapchain_to_current_extent overridden by environment. +[Gamescope WSI] No application info given. +[Gamescope WSI] Application info: + pApplicationName: ArmaReforgerWorkbenchSteamDiag.exe + applicationVersion: 1 + pEngineName: DXVK + engineVersion: 12587008 + apiVersion: 4206592 +[Gamescope WSI] Executable name: ArmaReforgerWorkbenchSteamDiag.exe +ATTENTION: default value of option vk_wsi_force_swapchain_to_current_extent overridden by environment. +[Gamescope WSI] No application info given. +The XKEYBOARD keymap compiler (xkbcomp) reports: +> Warning: Unsupported maximum keycode 709, clipping. +> X11 cannot support keycodes above 255. +> Warning: Virtual modifier Hyper multiply defined +> Using 0, ignoring 0 +> Warning: Virtual modifier ScrollLock multiply defined +> Using 0, ignoring 0 +Errors from xkbcomp are not fatal to the X server +ATTENTION: default value of option vk_wsi_force_swapchain_to_current_extent overridden by environment. +[Gamescope WSI] Application info: + pApplicationName: ArmaReforgerWorkbenchSteamDiag.exe + applicationVersion: 0 + pEngineName: DXVK + engineVersion: 12587008 + apiVersion: 4206592 +ATTENTION: default value of option vk_wsi_force_swapchain_to_current_extent overridden by environment. +[Gamescope WSI] Application info: + pApplicationName: ArmaReforgerWorkbenchSteamDiag.exe + applicationVersion: 0 + pEngineName: vkd3d + engineVersion: 12587008 + apiVersion: 4206592 +[Gamescope WSI] Forcing on VK_EXT_swapchain_maintenance1. +ATTENTION: default value of option vk_wsi_force_swapchain_to_current_extent overridden by environment. +[Gamescope WSI] No application info given. +ATTENTION: default value of option vk_wsi_force_swapchain_to_current_extent overridden by environment. +[Gamescope WSI] Application info: + pApplicationName: ArmaReforgerWorkbenchSteamDiag.exe + applicationVersion: 0 + pEngineName: vkd3d + engineVersion: 12587008 + apiVersion: 4206592 +[Gamescope WSI] Forcing on VK_EXT_swapchain_maintenance1. +[Gamescope WSI] Creating Gamescope surface: xid: 0x1a001a4 +[Gamescope WSI] Atom of T was wrong type. Expected XCB_ATOM_CARDINAL. +[Gamescope WSI] Made gamescope surface for xid: 0x1a001a4 +[Gamescope WSI] Surface state: + steam app id: 1874910 + window xid: 0x1a001a4 + wayland surface res id: 5 + layer client flags: 0x4 + server hdr output enabled: false + hdr formats exposed to client: false +[Gamescope WSI] Creating Gamescope surface: xid: 0x1a003a4 +[Gamescope WSI] Atom of T was wrong type. Expected XCB_ATOM_CARDINAL. +[Gamescope WSI] Made gamescope surface for xid: 0x1a003a4 +[Gamescope WSI] Surface state: + steam app id: 1874910 + window xid: 0x1a003a4 + wayland surface res id: 10 + layer client flags: 0x4 + server hdr output enabled: false + hdr formats exposed to client: false +[Gamescope WSI] Creating swapchain for xid: 0x1a003a4 - oldSwapchain: (nil) - provided minImageCount: 3 - minImageCount: 3 - format: VK_FORMAT_B8G8R8A8_UNORM - colorspace: VK_COLOR_SPACE_SRGB_NONLINEAR_KHR - flip: false +[Gamescope WSI] Created swapchain for xid: 0x1a003a4 swapchain: 0x55556da8a9c0 - imageCount: 4 +[Gamescope WSI] Destroying swapchain: 0x55556da8a9c0 +[Gamescope WSI] Destroyed swapchain: 0x55556da8a9c0 +[Gamescope WSI] Creating swapchain for xid: 0x1a003a4 - oldSwapchain: (nil) - provided minImageCount: 3 - minImageCount: 3 - format: VK_FORMAT_B8G8R8A8_UNORM - colorspace: VK_COLOR_SPACE_SRGB_NONLINEAR_KHR - flip: false +[Gamescope WSI] Created swapchain for xid: 0x1a003a4 swapchain: 0x55556da8a9c0 - imageCount: 4 +[Gamescope WSI] Destroying swapchain: 0x55556da8a9c0 +[Gamescope WSI] Destroyed swapchain: 0x55556da8a9c0 +[Gamescope WSI] Creating swapchain for xid: 0x1a003a4 - oldSwapchain: (nil) - provided minImageCount: 3 - minImageCount: 3 - format: VK_FORMAT_B8G8R8A8_UNORM - colorspace: VK_COLOR_SPACE_SRGB_NONLINEAR_KHR - flip: false +[Gamescope WSI] Created swapchain for xid: 0x1a003a4 swapchain: 0x55556da8a9c0 - imageCount: 4 +[gamescope] [Info] launch: Primary child shut down! diff --git a/docs/evidence/native-2026-09-19-044205/report.json b/docs/evidence/native-2026-09-19-044205/report.json new file mode 100644 index 0000000..2ec7440 --- /dev/null +++ b/docs/evidence/native-2026-09-19-044205/report.json @@ -0,0 +1,17 @@ +{ + "log": "docs/evidence/native-2026-09-19-044205/console.log.txt", + "smoke_completions": 1, + "assertions_passed": 23, + "script_or_runtime_failures": [], + "engine_errors": [ + "04:42:44.323 WORLD (E): Unknown keyword/data 'SlidingTrackMaterial' at offset 19441(0x4bf1)", + "04:42:44.376 WORLD (E): Unknown keyword/data 'Parent' at offset 35955(0x8c73)", + "04:42:44.376 WORLD (E): Unknown keyword/data 'Parent' at offset 36915(0x9033)", + "04:42:44.377 WORLD (E): Unknown keyword/data 'Parent' at offset 42646(0xa696)", + "04:42:44.377 WORLD (E): Unknown keyword/data 'Parent' at offset 43645(0xaa7d)", + "04:42:44.377 WORLD (E): Unknown keyword/data 'Parent' at offset 44617(0xae49)", + "04:42:44.377 WORLD (E): Unknown keyword/data 'Parent' at offset 45590(0xb216)" + ], + "missing_end_screen": [], + "scope": "scripted local Workbench integration only; no multiplayer, piloting or FPS claim" +} diff --git a/docs/evidence/native-2026-09-19-044205/runner.json.txt b/docs/evidence/native-2026-09-19-044205/runner.json.txt new file mode 100644 index 0000000..b2c2761 --- /dev/null +++ b/docs/evidence/native-2026-09-19-044205/runner.json.txt @@ -0,0 +1,9 @@ +{ + "result": "smoke-completed", + "session": "/tmp/erri-workbench-profile/logs/logs_2026-09-19_04-42-05", + "rounds_required": 1, + "project": "core", + "display": "headless Gamescope 1280x720/30Hz", + "dedicated_server": false, + "audio": "silent sink and per-test-stream mute" +} diff --git a/docs/evidence/native-2026-09-19-044205/script.log.txt b/docs/evidence/native-2026-09-19-044205/script.log.txt new file mode 100644 index 0000000..33a9ef6 --- /dev/null +++ b/docs/evidence/native-2026-09-19-044205/script.log.txt @@ -0,0 +1,131 @@ +--------------------------------------------- +Log Z:\tmp\erri-workbench-profile\logs\logs_2026-09-19_04-42-05\script.log started at 2026-09-19 04:42:07 (2026-09-19 02:42:07 UTC) + +04:42:07.891 SCRIPT : SCRIPT : Initializing scripts +04:42:07.891 SCRIPT : SCRIPT : ScriptProjectManager init +04:42:08.827 SCRIPT : SCRIPT : Compiling GameLib scripts +04:42:08.882 SCRIPT : Module: Workbench; loaded 18x files; 36x classes; used 125K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE"; CRC32: 90ce0460 +04:42:08.882 SCRIPT : Module: GameLib; loaded 465x files; 648x classes; used 828K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE"; CRC32: 4507af04 +04:42:08.883 SCRIPT : SCRIPT : Compiling Game scripts +04:42:09.942 SCRIPT : Compiling Game scripts +04:42:09.942 SCRIPT (W): @"Scripts/Game/Editor/Components/EditableEntity/SCR_EditableEntityComponent.c,785": 'GetPlayerPlatformKind' is obsolete +04:42:09.942 SCRIPT (W): @"Scripts/Game/Editor/Components/EditableEntity/SCR_EditableEntityComponent.c,786": 'GetPlayerPlatformId' is obsolete +04:42:10.203 SCRIPT (W): @"Scripts/Game/ERR/ERR_SiteService.c,140": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +04:42:10.212 SCRIPT (W): @"Scripts/Game/Workshop/SCR_AddonManager.c,876": 'GetRefCount' is obsolete: Will be removed +04:42:10.240 SCRIPT (W): @"Scripts/Game/Campaign/SCR_PlayerProfileManagerComponent.c,142": 'PlayerData' is obsolete +04:42:10.337 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,159": 'GetDSSession' is obsolete +04:42:10.337 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,162": 'RoomID' is obsolete +04:42:10.337 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,197": 'GetDSSession' is obsolete +04:42:10.337 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,201": 'RoomID' is obsolete +04:42:10.430 SCRIPT (W): @"Scripts/Game/DataCollection/SCR_DataCollectorComponent.c,481": 'GetStorage' is obsolete +04:42:10.430 SCRIPT (W): @"Scripts/Game/DataCollection/SCR_DataCollectorComponent.c,483": 'GetOnlineWritePrivilege' is obsolete +04:42:10.432 SCRIPT (W): @"Scripts/Game/Utilities/SCR_PlayerIdentityUtils.c,20": 'GetPlayerIdentityId' is obsolete +04:42:10.474 SCRIPT (W): @"Scripts/Game/ERR/ERR_ExtractionService.c,45": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +04:42:10.474 SCRIPT (W): @"Scripts/Game/ERR/ERR_ExtractionService.c,56": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +04:42:10.475 SCRIPT (W): @"Scripts/Game/UI/Menu/MainMenuUI.c,643": 'GetNotifyCount' is obsolete: Will be substitued by Notification Api. +04:42:10.475 SCRIPT (W): @"Scripts/Game/UI/Menu/MainMenuUI.c,645": 'GetNotifyItem' is obsolete: Will be substitued by Notification Api. +04:42:10.500 SCRIPT (W): @"Scripts/Game/ERR/ERR_NativeTransportProbe.c,82": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +04:42:10.533 SCRIPT (W): @"Scripts/Game/DataCollection/PlayerData/SCR_PlayerData.c,210": 'PlayerData' is obsolete +04:42:10.796 SCRIPT : Module: WorkbenchGame; loaded 171x files; 616x classes; used 2478K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE"; CRC32: db6febb9 +04:42:10.803 SCRIPT : Module: Game; loaded 5701x files; 11171x classes; used 32480K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE,ENABLE_BASE_DESTRUCTION,BUDGET_OPTIMIZATION_CHECKS,SHOW_DISCLAIMER,DEBUG,RESPAWN_TIMER_COMPONENT_DEBUG,GAME_MODE_DEBUG,DEBUG_CONFIGURABLE_DIALOGS,DISABLE_WEAPON_SWITCHING,SCRIPTED_AIM_MODIFIER_DEBUG"; CRC32: 531b916a +04:42:11.701 SCRIPT : Unable to register a script command due keyword duplicity: ban +04:42:11.701 SCRIPT : Unable to register a script command due keyword duplicity: kick +04:42:30.625 SCRIPT : ERR SITE SURVEY: supply=6150/7050 elevationRange=0.625 min=202.875 max=203.5 +04:42:33.770 SCRIPT : Unable to register a script command due keyword duplicity: ban +04:42:33.771 SCRIPT : Unable to register a script command due keyword duplicity: kick +04:42:46.693 SCRIPT (W): SCR_PerceivedFactionManagerComponent trying to set fall back faction 'CIV' but this faction could not be found so it is null instead. +04:42:46.725 SCRIPT : ERR BASE SMOKE: core-only scripted escape; not manual or multiplayer acceptance +04:42:47.192 SCRIPT (W): Notification data in 'SCR_NotificationsLogDisplay' has duplicate notification info key: 'EDITOR_PERCEIVED_FACTION_PUNISHMENT_KILLING_SET'. There should only be one of each key! +04:42:47.192 SCRIPT (W): Notification data in 'SCR_NotificationsLogDisplay' has duplicate notification info key: 'EDITOR_PERCEIVED_FACTION_TYPE_DISABLED'. There should only be one of each key! +04:42:47.194 SCRIPT (W): Can't open config file "" +04:42:47.200 SCRIPT (W): Slot_WeaponInfo Has no Content! +04:42:47.200 SCRIPT (W): Slot_Chat Has no Content! +04:42:47.200 SCRIPT (W): Slot_VON Has no Content! +04:42:47.201 SCRIPT (W): Slot_AvailableActions Has no Content! +04:42:47.201 SCRIPT (W): Slot_Vehicle Has no Content! +04:42:47.201 SCRIPT (W): Slot_GameVersion Has no Content! +04:42:47.201 SCRIPT (W): Slot_Notifications Has no Content! +04:42:47.201 SCRIPT (W): Slot_Hints Has no Content! +04:42:47.215 SCRIPT (W): Ban Settings could not be loaded from BE Storage: Relying on default config +04:42:47.265 SCRIPT : ScenarioFramework: Available tasks are empty, no new tasks will be generated. +04:42:47.279 SCRIPT : SCR_BaseGameMode::OnGameStateChanged = GAME +04:42:47.462 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +04:42:48.990 SCRIPT : Rereintroduced [sites]: cache clearance position=<6086,211.538,7160> clear=1 +04:42:49.009 SCRIPT : Rereintroduced [sites]: authored everon-prison-1 at <6090,211.444,7160> +04:42:49.010 SCRIPT : Rereintroduced [sites]: cache clearance position=<6150,203.288,7050> clear=1 +04:42:49.042 SCRIPT : Rereintroduced [sites]: authored everon-supply-1 at <6150,203.288,7050> +04:42:49.044 SCRIPT : Rereintroduced [sites]: authored everon-radio-1 at <6500,159.756,7200> +04:42:49.094 SCRIPT : Rereintroduced [sites]: authored everon-extraction-1 at <7000,65.2562,7500> +04:42:49.094 SCRIPT : Rereintroduced [sites]: cache clearance position=<5960,220.256,7220> clear=1 +04:42:49.100 SCRIPT : Rereintroduced [sites]: transport parking=<5960,220.256,7212> radius=4 terrainRange=0.8125 obstructed=0 clear=1 +04:42:49.151 SCRIPT : Rereintroduced [sites]: authored everon-supply-2 at <5960,220.256,7220> +04:42:49.151 SCRIPT : Rereintroduced [sites]: cache clearance position=<6340,175.788,7400> clear=1 +04:42:49.153 SCRIPT : Rereintroduced [sites]: authored everon-medical-1 at <6340,175.788,7400> +04:42:49.154 SCRIPT : Rereintroduced [sites]: cache clearance position=<6740,140.6,7300> clear=1 +04:42:49.157 SCRIPT : Rereintroduced [sites]: cache clearance position=<6740,140.913,7296> clear=1 +04:42:49.158 SCRIPT : Rereintroduced [sites]: cache clearance position=<6736,140.975,7300> clear=1 +04:42:49.158 SCRIPT : Rereintroduced [sites]: cache clearance position=<6744,140.288,7300> clear=1 +04:42:49.160 SCRIPT : Rereintroduced [sites]: authored everon-outpost-1 at <6740,140.6,7300> +04:42:49.243 SCRIPT : Rereintroduced [sites]: 7 sites and 117 physical stock items ready +04:42:49.244 SCRIPT : Rereintroduced [time]: started at 14:00 with 1x progression +04:42:49.244 SCRIPT : Rereintroduced [mission]: phase 0 -> 1 +04:42:49.483 SCRIPT : INFO: Faction: player jakub (playerID = 1 | UUID = 00000000-0000-0000-0000-000000000000) has joined faction #AR-Faction_US (US) +04:42:49.559 SCRIPT : Rereintroduced [spawn]: player 1 at <6090,211.444,7160> +04:42:50.192 SCRIPT : ERR SMOKE PASS: transport authored transport definition resolves +04:42:50.192 SCRIPT : ERR SMOKE PASS: transport unbounded parking offset rejected +04:42:50.192 SCRIPT : ERR SMOKE PASS: transport floating parking offset rejected +04:42:50.192 SCRIPT : ERR SMOKE PASS: transport undersized parking footprint rejected +04:42:50.193 SCRIPT : ERR SMOKE PASS: transport unbounded parking footprint rejected +04:42:50.193 SCRIPT : ERR SMOKE PASS: transport unsafe authoring slope allowance rejected +04:42:50.193 SCRIPT : ERR SMOKE PASS: transport transport restricted to optional depot and outpost sites +04:42:50.193 SCRIPT : ERR SMOKE PASS: transport valid authoring restored after isolated mutations +04:42:50.193 SCRIPT : ERR SMOKE PASS: transport exactly one authored transport belongs to the finite site service +04:42:50.193 SCRIPT : ERR SMOKE PASS: transport wheeled transport starts parked with vanilla finite fuel +04:42:50.193 SCRIPT : ERR TRANSPORT FUEL: current=58.5 maximum=78 +04:42:50.194 SCRIPT : ERR TRANSPORT SEATS: usable driver/passenger positions=5 +04:42:50.194 SCRIPT : ERR SMOKE PASS: transport native driver and passenger compartments are distinct +04:42:50.211 SCRIPT : ERR SMOKE PASS: transport isolated physical occupants created +04:42:50.211 SCRIPT : ERR SMOKE PASS: transport native driver boarding request accepted +04:42:51.711 SCRIPT : ERR SMOKE PASS: transport native passenger boarding request accepted +04:42:54.287 SCRIPT : ERR SMOKE PASS: transport driver and passenger physically occupy their native seats +04:42:54.287 SCRIPT : ERR SMOKE PASS: transport ordinary native engine start request accepted +04:43:00.362 SCRIPT : ERR SMOKE PASS: transport native wheeled engine starts with available fuel +04:43:00.362 SCRIPT : ERR SMOKE PASS: transport preparation queries preserve the original vehicle after deliberate fuel depletion +04:43:05.428 SCRIPT : ERR SMOKE PASS: transport empty transport stays empty and is not refilled or replaced +04:43:05.467 SCRIPT (W): GetAimCompensation: provided null entity +04:43:05.494 SCRIPT (W): GetAimCompensation: provided null entity +04:43:05.559 SCRIPT (W): GetAimCompensation: provided null entity +04:43:05.655 SCRIPT (W): GetAimCompensation: provided null entity +04:43:08.457 SCRIPT : ERR SMOKE PASS: transport lost transport remains absent after service ticks and preparation queries +04:43:08.457 SCRIPT : ERR SMOKE PASS: transport duplicate initialization cannot replace lost transport +04:43:08.457 SCRIPT : ERR SMOKE PASS: transport stopped finite owner cannot reinitialize transport +04:43:08.457 SCRIPT : Rereintroduced [mission]: phase 1 -> 6 +04:43:08.458 SCRIPT : ERR SMOKE PASS: base transport fixture finished before explicit test reset +04:43:08.458 SCRIPT : ERR SMOKE COMPLETE: finite native ground transport; reset requested by fixture +04:43:08.551 SCRIPT : SCR_BaseGameMode::OnGameStateChanged = POSTGAME +04:43:08.554 SCRIPT (W): Slot_Chat Has no Content! +04:43:08.554 SCRIPT (W): Slot_VON Has no Content! +04:43:08.554 SCRIPT (W): Slot_GameVersion Has no Content! +04:43:08.554 SCRIPT (W): Slot_Notifications Has no Content! +04:43:10.606 SCRIPT (W): SCR_ScriptedWidgetComponent.GetComponent: widget not found: SCR_InputButtonComponent Back +04:43:10.606 SCRIPT : -- Stack trace -- +04:43:10.606 SCRIPT : GetComponent() Scripts/Game/UI/Components/WidgetLibrary/SCR_ScriptedWidgetComponent.c : 43 +04:43:10.606 SCRIPT : GetInputButtonComponent() Scripts/Game/UI/Components/WidgetLibrary/SCR_InputButton/SCR_InputButtonComponent.c : 1214 +04:43:10.606 SCRIPT : OnMenuOpen() Scripts/Game/UI/GameOverScreen/SCR_GameOverScreenInput.c : 15 +04:43:10.607 SCRIPT : OpenGameOverScreen() Scripts/Game/GameOverScreen/SCR_GameOverScreenManagerComponent.c : 447 +04:43:10.607 SCRIPT : ShowGameOverScreen() Scripts/Game/GameOverScreen/SCR_GameOverScreenManagerComponent.c : 177 +04:43:10.607 SCRIPT : OnUpdate() Scripts/Game/game.c : 885 +04:43:10.607 SCRIPT : ----------------- +04:43:10.607 SCRIPT (W): SCR_ScriptedWidgetComponent.GetComponent: widget not found: SCR_InputButtonComponent ChatButton +04:43:10.607 SCRIPT : -- Stack trace -- +04:43:10.607 SCRIPT : GetComponent() Scripts/Game/UI/Components/WidgetLibrary/SCR_ScriptedWidgetComponent.c : 43 +04:43:10.607 SCRIPT : GetInputButtonComponent() Scripts/Game/UI/Components/WidgetLibrary/SCR_InputButton/SCR_InputButtonComponent.c : 1214 +04:43:10.608 SCRIPT : OnMenuOpen() Scripts/Game/UI/GameOverScreen/SCR_GameOverScreenInput.c : 21 +04:43:10.608 SCRIPT : OpenGameOverScreen() Scripts/Game/GameOverScreen/SCR_GameOverScreenManagerComponent.c : 447 +04:43:10.608 SCRIPT : ShowGameOverScreen() Scripts/Game/GameOverScreen/SCR_GameOverScreenManagerComponent.c : 177 +04:43:10.608 SCRIPT : OnUpdate() Scripts/Game/game.c : 885 +04:43:10.608 SCRIPT : ----------------- +04:43:10.610 SCRIPT (W): Slot_Chat Has no Content! +04:43:10.610 SCRIPT (W): Slot_VON Has no Content! +04:43:10.610 SCRIPT (W): Slot_GameVersion Has no Content! +04:43:10.610 SCRIPT (W): Slot_Notifications Has no Content! diff --git a/docs/evidence/native-2026-09-19-044205/source-sha256.json b/docs/evidence/native-2026-09-19-044205/source-sha256.json new file mode 100644 index 0000000..7b787be --- /dev/null +++ b/docs/evidence/native-2026-09-19-044205/source-sha256.json @@ -0,0 +1,115 @@ +{ + "addons/ai/Prefabs/ERR/MortarCrew.et": "05d3e7353ff9fe5523218a1487b31b7b742b0be8adbcb060c7099978cf008bce", + "addons/ai/Prefabs/ERR/MortarCrew.et.meta": "fdfd4fcd21a67c3d698fa4aadc4e5c76e665cebf4be86013bc389e493fab63cc", + "addons/ai/Scripts/Game/ERR/ERR_HQ.c": "ceafd6740ed277748744ce56ac0f0bb3a8521fcc060dafb2cdb99896aedf405a", + "addons/ai/Scripts/Game/ERR/ERR_HQJournal.c": "b3e402cfe92d415f37f666045afb062e6e11670ba03a0ca6f2d9fd4fc3520ac1", + "addons/ai/Scripts/Game/ERR/ERR_HQNetwork.c": "92ff2caca52e94c2cc9642dfc8509ce6e9349b257012bade8650bace9231128c", + "addons/ai/Scripts/Game/ERR/ERR_HQObservation.c": "36c978ec5f052213ac1236e1398d85063efbfd7ef60fe04f1fc11447fefe1d68", + "addons/ai/Scripts/Game/ERR/ERR_HQReport.c": "c4d16ccb571db4d9444c0a8d2be7318845d25ff90238b6d304e96a9ea19f1a08", + "addons/ai/Scripts/Game/ERR/ERR_HelicopterAvailability.c": "60eaef2f6d4b2fd44861c5a4434ef97e732e40a5ff7401e2da451ed2dd9c2762", + "addons/ai/Scripts/Game/ERR/ERR_MortarBattery.c": "66b8f16b692a0f75fc9d920f5224d9292a0f1dc7dd8b2dde912e676fa80ddc9c", + "addons/ai/Scripts/Game/ERR/ERR_MortarFiring.c": "657e96d1112b68c8ced37793e99f88e6078b38a579190e63d00b1f9a9a032e26", + "addons/ai/Scripts/Game/ERR/ERR_MortarPrediction.c": "470dd196ed64800c697d24c09d1344bacd2502587fac76af4ee0edae2563092d", + "addons/ai/Scripts/Game/ERR/ERR_MortarSalvo.c": "697c01f479df6c505a41d984a29c02002e3052114dafa2ec6252ae55e2979a2b", + "addons/ai/Scripts/Game/ERR/ERR_MortarSystem.c": "12d8fc39d47e03c3838e0642aa9e4a80baf60f250357493bff812d5c75812c86", + "addons/ai/Scripts/Game/ERR/ERR_SettlementSafety.c": "e5c0ebc95521a9a33a3f7d9cca6c551dda862a08b7af20b017877aba9584795b", + "addons/ai/Scripts/Game/ERR/ERR_SupportScenario.c": "71757018ec9716c4dc24f62a292a214919d3fd5daed3c16e03e56abd208e9f03", + "addons/ai/addon.gproj": "5f559db8f526700db11e6ae763f5245f19b7006fc68c56e4c09fb6f940bdf2a1", + "addons/chat/Missions/ERR_Everon.conf": "76f3ac0d21b585654beac7ddd68e3c8cbdd66dbfe909b17b04838fa813a7c29b", + "addons/chat/Missions/ERR_Everon.conf.meta": "0a23c98bf83873536c65fa17d38dea33a1d7b9e4ab210f90633ff688abcc551f", + "addons/chat/Scripts/Game/ERR/ERR_AdminCommands.c": "7ea6d6b240524cf0193c86fcab861fbdef9adca780acff11ee73f9ed0e99ce7b", + "addons/chat/Scripts/Game/ERR/ERR_NativeMortarProbe.c": "ddb892141500c192c0787b011d57dd8c07dd8c9a3ca5fdc407f6c271897bde0a", + "addons/chat/Scripts/Game/ERR/ERR_NativeRadioProbe.c": "84524163c63402755b4f834f74dfe6d8e5c397dc26031f532593c6f79f5a93b1", + "addons/chat/Scripts/Game/ERR/ERR_NativeSmoke.c": "0ab2fed95dcaa0442cf7feb25743308060d58497e347f17dbd25c8e970a9f81f", + "addons/chat/Scripts/WorkbenchGame/ERR/ERR_ValidateWorldPlugin.c": "81c92d408ce88cc9f98d6053f1d0c863427693ba748f00df9f1bf8079015ef94", + "addons/chat/addon.gproj": "ea1587e0174cf795334d306c71d99b06797fc891427cd57b6cab6e21cf0e4e0e", + "addons/core/Configs/ERR/EveronSites.conf": "2edb2c6983eb627800b65d9e244b9b228e0b82282e089c7b12e5a8921a2ea7bf", + "addons/core/Configs/ERR/EveronSites.conf.meta": "d5fe68025ef4e7c1e16082cf5873b7c7172eacbfaef4ab29b7e0e3c98f8dca56", + "addons/core/Configs/ERR/GameOverScreens.conf": "45231061911a1462d45fb6db0fecc2b0793f17b5ae71017174954ff4fbd20236", + "addons/core/Configs/ERR/GameOverScreens.conf.meta": "eb654b745c0b97b41c991694569ef4877a3c2315e0826f9556337cd68690843e", + "addons/core/Configs/ERR/VanillaFactions.conf": "f8b8b9898a16b4a4a55ab3c12d2547bef2dc433732c7643df980cb3aca715212", + "addons/core/Configs/ERR/VanillaFactions.conf.meta": "ac77725c0c21974991ef47a466b88122e939de8b46fd23e68889e7674cbb2bfd", + "addons/core/Missions/ERR_Everon_Base.conf": "1e6a0e9a756d15495201f71121626890f01efe6b00154c561672d4ec157960bd", + "addons/core/Missions/ERR_Everon_Base.conf.meta": "9b16267c644d815bcf98a3a3aaff30b93d7224fb24d3a2bac66730a28011f317", + "addons/core/Prefabs/ERR/Extraction.et": "1aa286ef253c5410f09fa641e4be91a7be8ec834487a7fbb74cfb45cab60ee1e", + "addons/core/Prefabs/ERR/Extraction.et.meta": "c2a838633001e2e3a202d39cb33aa744ebcd996017ad032359069641b5d13853", + "addons/core/Prefabs/ERR/FieldCover.et": "20f8095e69dbfe3db74ff19078e528ea75405362b335e03560ccd61f8df2e7f3", + "addons/core/Prefabs/ERR/FieldCover.et.meta": "83461ffa76244e1d69f20b053a9741ccdf7d127009182bd540a7e5ba6150c3d9", + "addons/core/Prefabs/ERR/GameMode.et": "385c97a5b8067091d92aa60c2d4fcf02002cf606b95523866ead65c96b8c0029", + "addons/core/Prefabs/ERR/GameMode.et.meta": "106769cd34525c9d440057072836cb7401a6752148c40edd7fe61c03bd58328c", + "addons/core/Prefabs/ERR/ObjectiveDocument.et": "2e72270bf186654af12d2c3ff9bf940690b03fb17fca44f873c1fde5d11384c0", + "addons/core/Prefabs/ERR/ObjectiveDocument.et.meta": "eaba9903be147b98a1106e2273e2270773df73b9b22f2cd4e20136a8e281382e", + "addons/core/Prefabs/ERR/Patrol.et": "c5685a8bc311cc5563fb3334beec9408d3d7a1069152fddeeb7df4f1b7f9e6ce", + "addons/core/Prefabs/ERR/Patrol.et.meta": "7c5da568fa2fcf0709ee2959253cb068d7c7ed7c2467af3b247a7e70efd96b69", + "addons/core/Prefabs/ERR/Prison.et": "1503db1441d8cd7a4f0b45c27ba9623b9fa39f0f81016e180bd2aa1379e1f42a", + "addons/core/Prefabs/ERR/Prison.et.meta": "2e426ef3de68f4107907854b51e818bc11d84649a01c538e3f18dd9ebec766bb", + "addons/core/Prefabs/ERR/PrisonDoor.et": "fc66be9d36f1f01084de59f1b0a1e8817f9e46547ead33d4fafaac0107446c40", + "addons/core/Prefabs/ERR/PrisonDoor.et.meta": "b8f3db52bf186426026668fbb9d633c3cbd4d438ab301fba880398f6a0e781c2", + "addons/core/Prefabs/ERR/PrisonWall.et": "8009d19365ae72a4749d7ad4fa04662575b06c65c6bf06507d380d57258b5eed", + "addons/core/Prefabs/ERR/PrisonWall.et.meta": "0294bc5dbb56f90f8153d62459bb0a6ad91d76a479812bbec9c7db182fdb58d6", + "addons/core/Prefabs/ERR/Radio.et": "b4b5cfe125b39019855816c9a1c508ca4d65d435b5546fdaa6c1fa3c8c9b1165", + "addons/core/Prefabs/ERR/Radio.et.meta": "bc91137b68ba550217914fb8892bb44d7e1920e4a1086f3e506623832a44212f", + "addons/core/Prefabs/ERR/SpectatorCamera.et": "b5b87d5b7b707f3745741aebe7c923067c8a74f8fbb2a4711834bab03bb5a812", + "addons/core/Prefabs/ERR/SpectatorCamera.et.meta": "2a16558f93915e31908a674509e9c89976470f78a84a1174a64b94b68b8f77ad", + "addons/core/Prefabs/ERR/SupplyCache.et": "bccf7afbaae97cfcdd78dd6dbbf4be5b2c045d348f50fe4581962e556c0044d7", + "addons/core/Prefabs/ERR/SupplyCache.et.meta": "2f5de3a4aab1e9d0e35521f48dc57b95bd6e449c383dec4f1c258e10295904cb", + "addons/core/Prefabs/ERR/SupplySite.et": "dc5decce5cabf39b6116e8794ec3960cb1e35761854fdbe69740da118787ded4", + "addons/core/Prefabs/ERR/SupplySite.et.meta": "b41944b12eb3528ff7a3ac94258b18c66ef161aa6a38894aee300a1ac4798630", + "addons/core/Scripts/Game/ERR/ERR_Actions.c": "adf93245e6d78c59b9839599d157a0d2b2b93ea93b3d1ae52e2904dd6c288266", + "addons/core/Scripts/Game/ERR/ERR_Actors.c": "b3c5aabb05f7cf35167bc09b5db51a4ffd89a46658805d6eedbfb80eee30273d", + "addons/core/Scripts/Game/ERR/ERR_AdminService.c": "047c14ce60cc0b167e202438f8f2b1063590e69ef88ea55b54598aea5f99c505", + "addons/core/Scripts/Game/ERR/ERR_DiscoveryMap.c": "2f4ea342fea0530061456be9cdce002d5e7a282e4e27eb88f3860e79f93612bf", + "addons/core/Scripts/Game/ERR/ERR_DiscoveryService.c": "6b5679447fe4a6d7d54c0545881ab56284f871556b3159207d421247f419eada", + "addons/core/Scripts/Game/ERR/ERR_DocumentComponent.c": "17bb76b80ebd3357e46d553c44674f602c7bd6901c92aec53ac8214194aa4ff2", + "addons/core/Scripts/Game/ERR/ERR_EscapeGameOverScreenInfo.c": "b1e1afb7795cb77c0bad94c85abf705b26b9dc2a9400905d80eafd56bdd009d3", + "addons/core/Scripts/Game/ERR/ERR_ExtractionService.c": "91357099b4e0401196b67d48963be54be30e56bdba57cdac67dc20b8ebb883e9", + "addons/core/Scripts/Game/ERR/ERR_FactionCatalog.c": "a5a8c53acf21259e14f59cb919535910f30dabff5a9179c664bc6a7a4d744d6e", + "addons/core/Scripts/Game/ERR/ERR_GameMode.c": "d766d1639378070bea64eef38baa4667f8b9f5f1a2a7b170f0fc5e8fd557917d", + "addons/core/Scripts/Game/ERR/ERR_Location.c": "d2035f56ded35743312ec6ca91a67f8623a466c91255e1893c570edf0954ff24", + "addons/core/Scripts/Game/ERR/ERR_MissionRules.c": "f7abc38ad8fdc375ce7fa63a65f0bade027d22b37e09de5e3f94ba8c3c63cc41", + "addons/core/Scripts/Game/ERR/ERR_NativeBaseSmoke.c": "60a573d974b4862b1b66e9cb0ef2ee7d056f698cf1e4f5af5233bde7c59e931f", + "addons/core/Scripts/Game/ERR/ERR_NativeContractsProbe.c": "d1556df885171cf967e96eef5d8981a2e9ee4e3938b7d32fdd0426f647bbabc0", + "addons/core/Scripts/Game/ERR/ERR_NativeDefinitionProbe.c": "d05ef8368ef5afa68e29f45843cb1878b5a09be768f8abdff2f4115c23759b01", + "addons/core/Scripts/Game/ERR/ERR_NativeExtractionProbe.c": "4b09385f73206de004f4f3c38a6192fd658a0d2012482dc5a84dff1599ceb972", + "addons/core/Scripts/Game/ERR/ERR_NativeObjectiveProbe.c": "451f46d9a51753841046698911ee9954088214b6df856776a316865466fbce0f", + "addons/core/Scripts/Game/ERR/ERR_NativeRadioDefenceProbe.c": "629917af38af5b5e34198ff5a5c0da7e48edf1c33d95bb278cceb3cc31028f5d", + "addons/core/Scripts/Game/ERR/ERR_NativeResultProbe.c": "b9a117eef2d5f65fbd792041a2b3e59e38e201bda8e0df8c503e1a1242cfc415", + "addons/core/Scripts/Game/ERR/ERR_NativeSiteSurvey.c": "ac0203753ade0cdff6d483132797a80e4520f14546c3f9dea288281cd4cd9c4f", + "addons/core/Scripts/Game/ERR/ERR_NativeStationTeardownDiagnostic.c": "c01cbdbfe25fd38916fa74f2c02333baaacd5228686fd6e40b33c27b3cea8ed8", + "addons/core/Scripts/Game/ERR/ERR_NativeTimeProbe.c": "c93d049785971e51246fcc07cf24804270a752a655505f2c38e48c80df5255ae", + "addons/core/Scripts/Game/ERR/ERR_NativeTransportProbe.c": "63ec0c5ce698114daa6314b2a6e3c3e98e76094117c477f9d0d072260686d193", + "addons/core/Scripts/Game/ERR/ERR_NativeTransportSurvey.c": "3e94493bf54d15be2bceb106ad18873e14e6755af09c05f07db7fb26fb7adff5", + "addons/core/Scripts/Game/ERR/ERR_ObjectiveDetails.c": "900bdcd11075230e0d311ca8725c1d7938cb2a4efa71360709003d90092a7e69", + "addons/core/Scripts/Game/ERR/ERR_ObjectiveText.c": "bbb29949194637e6781316836c895e2c0fa7ccdb547d4d944a717da2ad73b0a2", + "addons/core/Scripts/Game/ERR/ERR_Objectives.c": "88d95a52fcba103483ea751571e1afeae0e6fc82115ed50d6fc195424726960f", + "addons/core/Scripts/Game/ERR/ERR_Observer.c": "b719e723369ab4f403950c85226e1336eb48e3c127e84530ac1c695eb86bd0f9", + "addons/core/Scripts/Game/ERR/ERR_PlayerAdminCommands.c": "a084d7dc097dfcde3d6cd9c2e326b9e2f8f2a519f77b30c4f56ab7a1429aa721", + "addons/core/Scripts/Game/ERR/ERR_PlayerEscapeResult.c": "3124ab4d2d6d471409a47aba0af528790734df53243c03fe0cdac3e407047c14", + "addons/core/Scripts/Game/ERR/ERR_PlayerGuide.c": "2c9c365b88651f8b12618443638bf52c04e497221592bd483c33447e30468f36", + "addons/core/Scripts/Game/ERR/ERR_PlayerRoster.c": "a737ba739b3f73a91cd05d808a1d45070e83b5152c003c3164e29842dda51995", + "addons/core/Scripts/Game/ERR/ERR_RadioDefenceService.c": "85eb9c1b65d5987799927b6d8786b7299fcff849bcb15b91f8a4d1aa95823fd1", + "addons/core/Scripts/Game/ERR/ERR_Resources.c": "8a5314944f75b23982c6b99697045e3c0538aa2137b2c947a5b2411e6076ac03", + "addons/core/Scripts/Game/ERR/ERR_ScenarioComponent.c": "abba03af68323d5715ba1e2497fc66f3c706e6a6a983c3a386228abdfddeec89", + "addons/core/Scripts/Game/ERR/ERR_Settings.c": "2aee784e44c732e09f59150896491ab325ef5e62aa6bad725be1fda955a3f614", + "addons/core/Scripts/Game/ERR/ERR_SiteDefinition.c": "75b5121ceab77f0956f0dc34bd077b11af5586350de52321800427f18cc94477", + "addons/core/Scripts/Game/ERR/ERR_SiteService.c": "7ba02712562b3c8cd8de9851b6f26fed85020faacceef0767408b300b935c110", + "addons/core/Scripts/Game/ERR/ERR_SpawnLogic.c": "f84f0c22562912c020e8be81748f36a883dd265d8d9786d0548f32bda5b4b92e", + "addons/core/Scripts/Game/ERR/ERR_Supplies.c": "752e8a56b0b8cde33cf532032cb0a203553017b686faac2e19bee06f7a9c0713", + "addons/core/Scripts/Game/ERR/ERR_TimeService.c": "d9f481b7da01e08d2c982a948c18ba6bde76889d7cc9d26d510708f4ba479453", + "addons/core/Scripts/WorkbenchGame/ERR/ERR_ValidateBaseWorldPlugin.c": "7f44aa64ea7b4f8b3640a37a4b781c43bf6adb80e4a3a702d9491131698056f6", + "addons/core/Worlds/ERR_Everon.ent": "22324bc7eb0d80dec8a1f3bd61a9df9201b72f749f4e751766b0c9d0b7d46b87", + "addons/core/Worlds/ERR_Everon.ent.meta": "19d1903ca72baa326b4724a6791d0da1104a1e53f3f31dc1ca41a856efd68e83", + "addons/core/Worlds/ERR_Everon_Layers/default.layer": "f1a058bd315c7d01d464715ac9f4e18ae3d2432551d094a9afbd4c9c5a2a9416", + "addons/core/addon.gproj": "231274e6b62302f32c65f9ff31de2ce8a9e51e1c8d12c87deeec82ae1f40de46", + "addons/intel/Scripts/Game/ERR/ERR_IntelService.c": "482839434b94e7f8c345d5fd96490aeebb765f3dd0c1bb25fceea2f435c0e722", + "addons/intel/addon.gproj": "d0ced242cefb220a5cccd6779d61fda9bc55581701b9f78bcf13c09d92ddbcbe", + "addons/map/Materials/ERRM_MapRenderTarget.emat": "9877c5b175c5f30dd80bea36c711b21ab38219aa7075adf9ae79932e1d4c76bc", + "addons/map/Materials/ERRM_MapRenderTarget.emat.meta": "5ee1a705f8011a44020ca2691f5ccc17d44bf596fef9a36e98d1f267eb58fab0", + "addons/map/Prefabs/Items/Equipment/ERRM_SharedFieldMap.et": "30dee8e9eab459ea32a7d835a9fb89d43df47708057cab829f067b25a24cd581", + "addons/map/Prefabs/Items/Equipment/ERRM_SharedFieldMap.et.meta": "59093e9072c50d99c86da7609c87541016da5bcf92b98d99db4c524e1c8e0e8d", + "addons/map/Scripts/Game/ERR/ERR_ScenarioMap.c": "75fa1d742129ef7f33c005cd48f56db7f49ee7bde3c5428532b0b501b032b0a3", + "addons/map/Scripts/Game/ERRMap/ERRM_SharedMapComponent.c": "fc1a0c7df4fc96da446d7542a45a10fbec1eda1e543ba2f0581cb772277a47c5", + "addons/map/UI/layouts/ERRMap/SharedMapRenderTarget.layout": "49a2da4181b94d42174f58c7f9b6bf2207116c99427d61ff1c212092ac7db4d2", + "addons/map/UI/layouts/ERRMap/SharedMapRenderTarget.layout.meta": "5c846445cc089e2e08899ba703059d4adb805ff30ab5a16409a3cd59718cbd54", + "addons/map/addon.gproj": "1b371e5e01ea9fa46e76570fecb8aaa3a9298e34cba7ccca8a6bdb5ca86eb46a" +} diff --git a/docs/evidence/native-2026-09-19-044330-radio-fixture-failure/console.log.txt b/docs/evidence/native-2026-09-19-044330-radio-fixture-failure/console.log.txt new file mode 100644 index 0000000..41b2267 --- /dev/null +++ b/docs/evidence/native-2026-09-19-044330-radio-fixture-failure/console.log.txt @@ -0,0 +1,493 @@ +--------------------------------------------- +Log Z:\tmp\erri-workbench-profile\logs\logs_2026-09-19_04-43-30\console.log started at 2026-09-19 04:43:30 (2026-09-19 02:43:30 UTC) + +04:43:30.982 ENGINE : FileSystem: Adding relative directory 'Z:\tmp\erri-workbench-profile\logs\logs_2026-09-19_04-43-30' to filesystem under name logs +04:43:30.982 ENGINE : FileSystem: Adding relative directory 'Z:\tmp\erri-workbench-profile\profile' to filesystem under name profile +04:43:30.982 ENGINE : FileSystem: Current working directory: 'Z:\home\jakub\.local\share\Steam\steamapps\common\Arma Reforger Tools\Workbench\' +04:43:30.984 PROFILING : Workbench Create Engine took: 10.456200 ms +04:43:32.020 INIT : INIT : Workbench Init Engine +04:43:32.020 ENGINE : Initializing engine, version 192142 +04:43:32.020 ENGINE : CLI Params: -gproj Z:/home/jakub/devel/escapistsrereintroduced/addons/core/addon.gproj -addonsDir Z:/home/jakub/devel/escapistsrereintroduced/addons -profile Z:/tmp/erri-workbench-profile -logconsole -wbModule WorldEditor -load Worlds/ERR_Everon.ent -plugin ERR_ValidateBaseWorldPlugin -errPlay 1 -errBaseSmoke 1 -errSmokeOutcome victory -noThrow -errStationTeardownDiag 1 +04:43:32.028 ENGINE : Addon dirs: +04:43:32.028 ENGINE : dir: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/core/' +04:43:32.028 ENGINE : dir: 'Z:/home/jakub/devel/escapistsrereintroduced/addons' +04:43:32.028 ENGINE : dir: './addons' +04:43:32.028 ENGINE : dir: 'Z:/tmp/erri-workbench-profile/addons' +04:43:32.028 ENGINE : Available addons: +04:43:32.028 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/core/addon.gproj' guid: '2528466DE220D91C' +04:43:32.028 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/ai/addon.gproj' guid: '5192138CB9D5B911' +04:43:32.028 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/chat/addon.gproj' guid: 'FA804F411BDDF2C6' +04:43:32.028 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/intel/addon.gproj' guid: 'D31039C7C53E348A' +04:43:32.028 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/map/addon.gproj' guid: '9AAEE9041D79809E' +04:43:32.028 ENGINE : gproj: './addons/core/core.gproj' guid: '5614BBCCBB55ED1C' (packed) +04:43:32.028 ENGINE : gproj: 'Z:/tmp/erri-workbench-profile/addons/ArmaReforger/ArmaReforger.gproj' guid: '58D0FB3206B6F859' (packed) +04:43:32.029 ENGINE : FileSystem: Adding relative directory 'Z:\home\jakub\devel\escapistsrereintroduced\addons\core' to filesystem under name ERR_Core +04:43:32.143 ENGINE : FileSystem: Adding package 'Z:/tmp/erri-workbench-profile/addons/ArmaReforger/' (pak count: 14) to filesystem under name ArmaReforger +04:43:32.146 ENGINE : FileSystem: Adding package './addons/core/' (pak count: 2) to filesystem under name core +04:43:32.146 ENGINE : CPU vendor : AuthenticAMD +04:43:32.146 ENGINE : CPU type : 2 +04:43:32.146 ENGINE : CPU name : AMD Ryzen 7 3800XT 8-Core Processor +04:43:32.146 ENGINE : CPU cache info : L1 [Inst 32KB, Data 32KB], L2 [Unif 512KB], L3 [Unif 16384KB] +04:43:32.146 ENGINE : CPU count logical : 16 +04:43:32.146 ENGINE : CPU count physical : 8 +04:43:32.146 ENGINE : CPU features : mmx sse sse2 sse3 ssse3 sse4_1 sse4_2 popcnt aesni pclmulqdq osxsave avx sha avx2 +04:43:32.146 RESOURCES : ResourceDB: loading cache (id=0 name=ERR_Core path=Z:\home\jakub\devel\escapistsrereintroduced\addons\core/resourceDatabase.rdb) +04:43:32.147 RESOURCES : ResourceDB: loading cache (id=1 name=ArmaReforger path=Z:/tmp/erri-workbench-profile/addons/ArmaReforger/resourceDatabase.rdb) +04:43:32.284 RESOURCES : ResourceDB: loading cache (id=2 name=core path=./addons/core/resourceDatabase.rdb) +04:43:32.285 RESOURCES : ResourceDB: loading cache (id=3 name=profile path=Z:\tmp\erri-workbench-profile\profile/resourceDatabase.rdb) +04:43:32.285 RESOURCES : ResourceDB: loading cache (id=4 name=logs path=Z:\tmp\erri-workbench-profile\logs\logs_2026-09-19_04-43-30/resourceDatabase.rdb) +04:43:32.438 RESOURCES : RESOURCES : ResourceDB: full scan +04:43:32.443 RESOURCES : RESOURCES : scanning... +04:43:32.443 RESOURCES : RESOURCES : scanning @"ERR_Core" +04:43:32.445 RESOURCES : RESOURCES : scanning @"ArmaReforger" +04:43:32.581 RESOURCES : RESOURCES : scanning @"core" +04:43:32.585 RESOURCES : RESOURCES : scanning @"profile" +04:43:32.585 RESOURCES : RESOURCES : scanning @"logs" +04:43:32.585 RESOURCES : RESOURCES : processing meta-files... +04:43:32.648 RESOURCES : RESOURCES : processing files... +04:43:32.660 INIT : Workbench startup +04:43:32.660 INIT : Workbench Init Engine +04:43:32.660 RESOURCES : ResourceDB: full scan +04:43:32.660 RESOURCES : processing files... +04:43:32.660 RESOURCES (W): resource not registered: @"$profile:rereintroduced.json". Setting null GUID +04:43:32.660 RESOURCES : RESOURCES : processing folders... +04:43:32.666 RESOURCES : RESOURCES : creating GUID-item mapping... +04:43:32.681 RESOURCES : RESOURCES : building tree... +04:43:32.738 PROFILING : ResourceDB: full scan took: 300.274500 ms +04:43:32.739 RESOURCES : ResourceDB: saving cache (id=0 name=ERR_Core path=Z:\home\jakub\devel\escapistsrereintroduced\addons\core/resourceDatabase.rdb) +04:43:32.741 RESOURCES : ResourceDB: written 3823/3823 bytes +04:43:32.741 RESOURCES : ResourceDB: cache successfully saved +04:43:32.741 RESOURCES : ResourceDB: saving cache (id=3 name=profile path=Z:\tmp\erri-workbench-profile\profile/resourceDatabase.rdb) +04:43:32.742 RESOURCES : ResourceDB: written 206/206 bytes +04:43:32.742 RESOURCES : ResourceDB: cache successfully saved +04:43:32.742 RESOURCES : ResourceDB: saving cache (id=4 name=logs path=Z:\tmp\erri-workbench-profile\logs\logs_2026-09-19_04-43-30/resourceDatabase.rdb) +04:43:32.744 RESOURCES : ResourceDB: written 81/81 bytes +04:43:32.744 RESOURCES : ResourceDB: cache successfully saved +04:43:32.744 ENGINE : GameProject load +04:43:32.744 ENGINE : Loaded addons: +04:43:32.744 ENGINE : gproj: './addons/core/core.gproj' guid: '5614BBCCBB55ED1C' +04:43:32.744 ENGINE : gproj: 'Z:/tmp/erri-workbench-profile/addons/ArmaReforger/ArmaReforger.gproj' guid: '58D0FB3206B6F859' +04:43:32.744 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/core/addon.gproj' guid: '2528466DE220D91C' +04:43:32.746 ENGINE : Loading custom engine user config '$profile:.save/app1874910_user76561198020202999/settings/ReforgerEngineSettings.conf' +04:43:32.746 INIT : GameProject engine user settings load @"$profile:.save/app1874910_user76561198020202999/settings/ReforgerEngineSettings.conf" +04:43:32.746 ENGINE : Engine user settings config loaded +04:43:32.746 PROFILING : Settings changed took: 0.001700 ms +04:43:32.849 RENDER : (OK) Adapter 'AMD Radeon RX 6950 XT (RADV NAVI21)' supports feature level 12_0 +04:43:32.851 RENDER : Basic screen setup: +04:43:32.851 RENDER : Back buffer format : TEXFMT_R8G8B8A8_SRGB (29) +04:43:32.851 RENDER : MSAA : none +04:43:32.865 RENDER : AMD AGS library initialized, version 6.1.0 x DLL 6.1.0 +04:43:32.865 RENDER : Extendeded AMD info for AMD Radeon RX 6950 XT (RADV NAVI21) (primary device) +04:43:32.865 RENDER : * architecture RDNA2, 80 CUs, 40 WGPs (for RDNA), 64 ROPs +04:43:32.865 RENDER : * core clocks 2720 MHz, memory 1124 MHz +04:43:32.865 RENDER : * TFlops 27.9, memory bandwidth (562.0 GB/s) +04:43:32.865 RENDER : AMD AGS correctly initialized +04:43:32.865 RENDER : GPU_ATI (0x1002) (AMD Radeon RX 6950 XT (RADV NAVI21)) with 1 GPU detected, VRAM 16128MB (fast 0MB), shared 64362MB, driver version 99.19.02-230831a-396538C-AMD-Software-Adrenalin-Edition +04:43:32.865 RENDER : Detected output devices: +04:43:32.865 RENDER : * 1 device/s connected to AMD Radeon RX 6950 XT (RADV NAVI21): +04:43:32.865 RENDER : Generic Non-PnP Monitor (\\.\DISPLAY1), 1280x720 (offset 0x0), 30Hz +04:43:32.865 RENDER : Concurrent frames limit 2 +04:43:32.942 RENDER : DX12 device successfully created by AMD AGS library +04:43:32.942 RENDER : * user markers not supported in this version AMD SW +04:43:32.942 RENDER : Graphics device features +04:43:32.942 RENDER : Needed: +04:43:32.942 RENDER : * Highest supported shader model: 6.8 (6.0 needed) +04:43:32.942 RENDER : Optional: +04:43:32.942 RENDER : * Allow tearing (VSYNC) : 1 +04:43:32.942 RENDER : * 16 bits : 1 +04:43:32.942 RENDER : * Resource heap tier : 3 +04:43:32.942 RENDER : * Persistent heaps (DRED) : 1 +04:43:32.942 RENDER : * DRED 1.2 is supported by compiler +04:43:32.964 RENDER : Main RT format setup. +04:43:32.964 RENDER : Main RT format for quality 0 : TEXFMT_R11G11B10_FLOAT (26) +04:43:32.964 RENDER : Main RT format for quality 1 : TEXFMT_R16G16B16A16_FLOAT (10) +04:43:32.966 ENGINE : Job system settings: coreCount=16, shortJobContextCount=16, shortJobThreadCount=15, longJobThreadCount=16 +04:43:32.995 PROFILING : Settings changed took: 0.017700 ms +04:43:33.486 AUDIO : Endpoint: Speakers (PulseAudio Output) +04:43:33.486 AUDIO : Format: Channels: 2, Sample rate: 48kHz, Avg. bytes: 384kB, Sample bits: 32, Block align: 8B +04:43:33.486 AUDIO : Audio client: +04:43:33.486 AUDIO : Format: Channels: 2, Sample rate: 48kHz, Buffer size: 1536B, Frame: 512 +04:43:33.490 RENDER : RENDER : Reload shaders +04:43:33.490 RENDER : Enfusion shader version 13 +04:43:33.490 INIT : INIT : ShaderListReload +04:43:33.490 PROFILING : ShaderListReload took: 0.000600 ms +04:43:33.629 AUDIO : Endpoint: Speakers (PulseAudio Output) +04:43:33.629 AUDIO : Format: Channels: 2, Sample rate: 48kHz, Avg. bytes: 384kB, Sample bits: 32, Block align: 8B +04:43:33.629 AUDIO : Audio client: +04:43:33.629 AUDIO : Format: Channels: 2, Sample rate: 48kHz, Buffer size: 1536B, Frame: 512 +04:43:33.783 RENDER : Loaded 3752 newer shader binaries +04:43:33.783 PROFILING : Reload shaders took: 293.621200 ms +04:43:33.783 ENGINE : Initializing inputs. +04:43:33.797 NETWORK : Initializing networking. +04:43:33.797 NETWORK : Using new GameRplScheduler. +04:43:33.797 SCRIPT : SCRIPT : Initializing scripts +04:43:33.798 SCRIPT : SCRIPT : ScriptProjectManager init +04:43:34.631 PROFILING : ScriptProjectManager init took: 833.248000 ms +04:43:34.664 PROFILING : Initializing scripts took: 866.774000 ms +04:43:34.681 ENGINE : Enfusion engine successfully created. +04:43:34.681 PROFILING : Workbench Init Engine took: 2661.266300 ms +04:43:34.681 INIT : INIT : Workbench Create Game +04:43:34.694 GUI : Using default language (en_us) +04:43:34.694 GUI : Loading 'en_us' localization file. +04:43:34.694 INIT : INIT : Loading StringTable +04:43:34.722 PROFILING : Loading StringTable took: 27.928200 ms +04:43:34.722 SCRIPT : SCRIPT : Compiling GameLib scripts +04:43:34.777 SCRIPT : Module: Workbench; loaded 18x files; 36x classes; used 125K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE"; CRC32: 90ce0460 +04:43:34.777 SCRIPT : Module: GameLib; loaded 465x files; 648x classes; used 828K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE"; CRC32: 4507af04 +04:43:34.778 PROFILING : Compiling GameLib scripts took: 56.414800 ms +04:43:34.778 SCRIPT : SCRIPT : Compiling Game scripts +04:43:35.862 INIT : Workbench Create Game +04:43:35.862 SCRIPT : Compiling Game scripts +04:43:35.862 SCRIPT (W): @"Scripts/Game/Editor/Components/EditableEntity/SCR_EditableEntityComponent.c,785": 'GetPlayerPlatformKind' is obsolete +04:43:35.862 SCRIPT (W): @"Scripts/Game/Editor/Components/EditableEntity/SCR_EditableEntityComponent.c,786": 'GetPlayerPlatformId' is obsolete +04:43:36.115 SCRIPT (W): @"Scripts/Game/ERR/ERR_SiteService.c,140": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +04:43:36.124 SCRIPT (W): @"Scripts/Game/Workshop/SCR_AddonManager.c,876": 'GetRefCount' is obsolete: Will be removed +04:43:36.157 SCRIPT (W): @"Scripts/Game/Campaign/SCR_PlayerProfileManagerComponent.c,142": 'PlayerData' is obsolete +04:43:36.267 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,159": 'GetDSSession' is obsolete +04:43:36.267 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,162": 'RoomID' is obsolete +04:43:36.267 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,197": 'GetDSSession' is obsolete +04:43:36.267 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,201": 'RoomID' is obsolete +04:43:36.363 SCRIPT (W): @"Scripts/Game/DataCollection/SCR_DataCollectorComponent.c,481": 'GetStorage' is obsolete +04:43:36.363 SCRIPT (W): @"Scripts/Game/DataCollection/SCR_DataCollectorComponent.c,483": 'GetOnlineWritePrivilege' is obsolete +04:43:36.364 SCRIPT (W): @"Scripts/Game/Utilities/SCR_PlayerIdentityUtils.c,20": 'GetPlayerIdentityId' is obsolete +04:43:36.404 SCRIPT (W): @"Scripts/Game/ERR/ERR_ExtractionService.c,45": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +04:43:36.404 SCRIPT (W): @"Scripts/Game/ERR/ERR_ExtractionService.c,56": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +04:43:36.405 SCRIPT (W): @"Scripts/Game/UI/Menu/MainMenuUI.c,643": 'GetNotifyCount' is obsolete: Will be substitued by Notification Api. +04:43:36.405 SCRIPT (W): @"Scripts/Game/UI/Menu/MainMenuUI.c,645": 'GetNotifyItem' is obsolete: Will be substitued by Notification Api. +04:43:36.429 SCRIPT (W): @"Scripts/Game/ERR/ERR_NativeTransportProbe.c,82": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +04:43:36.460 SCRIPT (W): @"Scripts/Game/DataCollection/PlayerData/SCR_PlayerData.c,210": 'PlayerData' is obsolete +04:43:36.730 SCRIPT : Module: WorkbenchGame; loaded 171x files; 616x classes; used 2478K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE"; CRC32: db6febb9 +04:43:36.737 SCRIPT : Module: Game; loaded 5701x files; 11171x classes; used 32480K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE,ENABLE_BASE_DESTRUCTION,BUDGET_OPTIMIZATION_CHECKS,SHOW_DISCLAIMER,DEBUG,RESPAWN_TIMER_COMPONENT_DEBUG,GAME_MODE_DEBUG,DEBUG_CONFIGURABLE_DIALOGS,DISABLE_WEAPON_SWITCHING,SCRIPTED_AIM_MODIFIER_DEBUG"; CRC32: 531b916a +04:43:36.775 PROFILING : Compiling Game scripts took: 1996.704500 ms +04:43:36.780 INIT : Creating game instance(ArmaReforgerScripted), version 1.8.0.13 built 2026-08-21 14:30:18 UTC. +04:43:36.824 ENGINE : Game successfully created. +04:43:36.825 PROFILING : Workbench Create Game took: 2143.198800 ms +04:43:36.832 DEFAULT : Using thumbnail cache directory: C:/users/steamuser/AppData/Local/Temp/Arma Reforger Workbench/Projects/ERR_Core/thumbnails +04:43:37.652 INIT : INIT : Workbench Reload Game +04:43:37.654 ENGINE : Game destroyed. +04:43:37.659 GUI : Using default language (en_us) +04:43:37.660 GUI : Loading 'en_us' localization file. +04:43:37.660 INIT : INIT : Loading StringTable +04:43:37.669 PROFILING : Loading StringTable took: 9.244900 ms +04:43:37.669 INIT : Creating game instance(ArmaReforgerScripted), version 1.8.0.13 built 2026-08-21 14:30:18 UTC. +04:43:37.676 SCRIPT : Unable to register a script command due keyword duplicity: ban +04:43:37.676 SCRIPT : Unable to register a script command due keyword duplicity: kick +04:43:37.676 ENGINE : Game successfully created. +04:43:37.676 ENGINE : Game successfully initialized. +04:43:37.676 PROFILING : Workbench Reload Game took: 24.001400 ms +04:43:38.362 WORLD : WORLD : Entities load '$ERR_Core:Worlds/ERR_Everon.ent' +04:43:39.333 PROFILING : Entities load took: 970.522600 ms +04:43:39.344 WORLD : WORLD : CreateEntities +04:43:39.348 WORLD : WORLD : NotifyBeforeEntitiesCreated +04:43:39.348 PROFILING : NotifyBeforeEntitiesCreated took: 0.003200 ms +04:43:39.348 WORLD : WORLD : Wait for preloading data +04:43:39.348 PROFILING : Wait for preloading data took: 0.003800 ms +04:43:39.450 ENTITY : Create entity @"ENTITY:2" ('Eden', GenericTerrainEntity) at <0.000000 0.000000 0.000000> @"{5AD924374E8C7AF6}Prefabs/World/Game/Eden/GenericTerrain_Eden.et" +04:43:39.450 PROFILING : PROFILING : Terrain load +04:43:41.014 PROFILING : Terrain load took: 1563.573800 ms +04:43:45.042 WORLD : CreateEntities +04:43:45.043 ENTITY : Create entity @"ENTITY:610406" ('StaticModelEntity','Assets/Structures/Infrastructure/Towers/TransmitterTower_01/TransmitterTower_01_small.xob') at <1931.796021 81.777000 5138.725098> @"{6A004A8F0571D456}Prefabs/Structures/Infrastructure/Towers/TransmitterTower_01/TransmitterTower_01_small.et" +04:43:45.043 ENTITY : CreateComponent 'ScriptedRadioComponent' +04:43:45.043 DEFAULT (W): World doesn't contain RadioManagerEntity to support any BaseRadioComponent. +04:43:54.614 WORLD : WORLD : NotifyBeforeEntitiesInitialized +04:43:54.614 PROFILING : NotifyBeforeEntitiesInitialized took: 0.006800 ms +04:43:55.041 WORLD : WORLD : NotifyEntitiesInitialized +04:43:55.041 TERRAIN : TERRAIN : Initializing road networks... +04:43:55.043 PROFILING : Initializing road networks... took: 2.269500 ms +04:43:55.043 PROFILING : NotifyEntitiesInitialized took: 2.701100 ms +04:43:55.044 PROFILING : CreateEntities took: 15699.431300 ms +04:43:55.225 PROFILING : * WorldEditor: LoadWorld: 16867.020900 ms +04:43:56.744 TERRAIN : Loading tile map config (worlds/Eden/Eden/tileMap.conf) +04:43:56.744 TERRAIN : Loading minimap config (worlds/Eden/Eden/miniMap.conf) +04:43:56.745 TERRAIN : The default minimap texture ('worlds/Eden/EdenRasterized.edds') not found. Trying 'worlds/Eden/Eden.edds'... +04:43:56.745 TERRAIN : The default minimap texture ('worlds/Eden/Eden.edds') not found. Skipping... +04:43:56.834 SCRIPT : ERR SITE SURVEY: supply=6150/7050 elevationRange=0.625 min=202.875 max=203.5 +04:43:56.853 BACKEND : Attempting online Game Config instead. +04:43:59.993 INIT : INIT : Workbench Reload Game +04:43:59.995 ENGINE : Game destroyed. +04:44:00.003 GUI : Using default language (en_us) +04:44:00.003 GUI : Loading 'en_us' localization file. +04:44:00.003 INIT : INIT : Loading StringTable +04:44:00.024 PROFILING : Loading StringTable took: 20.086100 ms +04:44:00.024 INIT : Creating game instance(ArmaReforgerScripted), version 1.8.0.13 built 2026-08-21 14:30:18 UTC. +04:44:00.032 SCRIPT : Unable to register a script command due keyword duplicity: ban +04:44:00.032 SCRIPT : Unable to register a script command due keyword duplicity: kick +04:44:00.032 ENGINE : Game successfully created. +04:44:00.032 ENGINE : Game successfully initialized. +04:44:00.033 PROFILING : Workbench Reload Game took: 39.457400 ms +04:44:00.035 DEFAULT (W): LogiLED: Cannot initialize! (service not running or no compatible device detected) +04:44:00.086 PLATFORM : Save data from container 'settings' have been loaded +04:44:00.176 PLATFORM : Save data from container 'sessions' have been loaded +04:44:00.177 PLATFORM : GameProject user settings load from profile @"ReforgerGameSettings.conf" +04:44:00.177 ENGINE : Game user settings config loaded +04:44:00.274 DEFAULT : [SaveGameManager] Starting new playthrough nr.0 '' for mission '{B6C516F86302C679}Worlds/ERR_Everon.ent'. +04:44:00.280 WORLD : WORLD : Game::LoadEntities +04:44:00.280 WORLD : WORLD : Initializing world systems @"{1C60D2EDA2B468B8}Configs/Systems/BaseGameModeSystems.conf" +04:44:00.281 NETWORK : Enabled lag compensation, 29 frames with 100 FPS and 280 ms rewind limits. +04:44:00.281 WORLD : WORLD : CreateEntities +04:44:00.281 WORLD : WORLD : CreateEntities +04:44:00.281 WORLD : WORLD : NotifyBeforeEntitiesCreated +04:44:00.286 RESOURCES : Loaded mission headers from 7 addon(s)! +04:44:00.286 PROFILING : NotifyBeforeEntitiesCreated took: 5.069400 ms +04:44:00.286 WORLD : WORLD : Wait for preloading data +04:44:00.286 PROFILING : Wait for preloading data took: 0.000800 ms +04:44:04.713 WORLD : Game::LoadEntities +04:44:04.713 WORLD : CreateEntities +04:44:04.713 WORLD : CreateEntities +04:44:04.713 ENTITY : Create entity @"ENTITY:610406" ('StaticModelEntity','Assets/Structures/Infrastructure/Towers/TransmitterTower_01/TransmitterTower_01_small.xob') at <1931.796021 81.777000 5138.725098> @"{6A004A8F0571D456}Prefabs/Structures/Infrastructure/Towers/TransmitterTower_01/TransmitterTower_01_small.et" +04:44:04.713 ENTITY : CreateComponent 'ScriptedRadioComponent' +04:44:04.713 DEFAULT (W): World doesn't contain RadioManagerEntity to support any BaseRadioComponent. +04:44:06.176 ENTITY : Create entity @"ENTITY:842066" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1080.213013 10.776751 6018.347168> +04:44:06.176 ENTITY : CreateComponent 'Hierarchy' +04:44:06.176 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842066" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1080.213013 10.776751 6018.347168>') +04:44:06.176 ENTITY : Create entity @"ENTITY:842068" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1082.185913 10.778749 6018.331055> +04:44:06.176 ENTITY : CreateComponent 'Hierarchy' +04:44:06.176 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842068" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1082.185913 10.778749 6018.331055>') +04:44:06.177 ENTITY : Create entity @"ENTITY:842070" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1084.190918 10.790751 6018.334961> +04:44:06.177 ENTITY : CreateComponent 'Hierarchy' +04:44:06.177 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842070" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1084.190918 10.790751 6018.334961>') +04:44:06.184 ENTITY : Create entity @"ENTITY:842333" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4425.594727 9.981750 11029.402344> +04:44:06.184 ENTITY : CreateComponent 'Hierarchy' +04:44:06.184 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842333" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4425.594727 9.981750 11029.402344>') +04:44:06.184 ENTITY : Create entity @"ENTITY:842335" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4426.584473 9.983749 11031.109375> +04:44:06.184 ENTITY : CreateComponent 'Hierarchy' +04:44:06.184 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842335" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4426.584473 9.983749 11031.109375>') +04:44:06.184 ENTITY : Create entity @"ENTITY:842337" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4427.572266 9.995750 11032.853516> +04:44:06.184 ENTITY : CreateComponent 'Hierarchy' +04:44:06.184 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842337" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4427.572266 9.995750 11032.853516>') +04:44:06.189 ENTITY : Create entity @"ENTITY:842591" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.946289 10.470250 1551.986084> +04:44:06.189 ENTITY : CreateComponent 'Hierarchy' +04:44:06.189 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842591" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.946289 10.470250 1551.986084>') +04:44:06.189 ENTITY : Create entity @"ENTITY:842593" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.430664 10.472250 1550.081421> +04:44:06.189 ENTITY : CreateComponent 'Hierarchy' +04:44:06.189 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842593" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.430664 10.472250 1550.081421>') +04:44:06.189 ENTITY : Create entity @"ENTITY:842595" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10008.926758 10.484250 1548.140869> +04:44:06.189 ENTITY : CreateComponent 'Hierarchy' +04:44:06.190 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842595" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10008.926758 10.484250 1548.140869>') +04:44:10.615 ENTITY : Create entity @"ENTITY:2305843009213693956" ('Factions', SCR_FactionManager) at <0.000000 0.000000 0.000000> @"{589540B35EBA8CDC}Prefabs/MP/Managers/Factions/FactionManager_USxUSSR.et" +04:44:10.615 RESOURCES : GetResourceObject @"{5168FEA3054D6D15}Prefabs/Vehicles/Wheeled/M151A2/M151A2_M2HB_MERDC.et" +04:44:10.615 WORLD : Entity prefab load @"{5168FEA3054D6D15}Prefabs/Vehicles/Wheeled/M151A2/M151A2_M2HB_MERDC.et" +04:44:10.615 RESOURCES : GetResourceObject @"{F6B23D17D5067C11}Prefabs/Vehicles/Wheeled/M151A2/M151A2_M2HB.et" +04:44:10.615 WORLD : Entity prefab load @"{F6B23D17D5067C11}Prefabs/Vehicles/Wheeled/M151A2/M151A2_M2HB.et" +04:44:10.615 RESOURCES : GetResourceObject @"{F649585ABB3706C4}Prefabs/Vehicles/Wheeled/M151A2/M151A2.et" +04:44:10.615 WORLD : Entity prefab load @"{F649585ABB3706C4}Prefabs/Vehicles/Wheeled/M151A2/M151A2.et" +04:44:10.615 WORLD (E): Unknown keyword/data 'SlidingTrackMaterial' at offset 19441(0x4bf1) +04:44:10.653 RESOURCES : GetResourceObject @"{F7B9B434FCFF00B3}Prefabs/Vehicles/Wheeled/Conflict_Variants/BRDM2_Conflict.et" +04:44:10.653 WORLD : Entity prefab load @"{F7B9B434FCFF00B3}Prefabs/Vehicles/Wheeled/Conflict_Variants/BRDM2_Conflict.et" +04:44:10.653 RESOURCES : GetResourceObject @"{254289B9C09904AB}Prefabs/Vehicles/Wheeled/BRDM2/BRDM2.et" +04:44:10.653 WORLD : Entity prefab load @"{254289B9C09904AB}Prefabs/Vehicles/Wheeled/BRDM2/BRDM2.et" +04:44:10.653 RESOURCES : GetResourceObject @"{532B5F3CF8496E59}Prefabs/Vehicles/Wheeled/BRDM2/BRDM2_base.et" +04:44:10.653 WORLD : Entity prefab load @"{532B5F3CF8496E59}Prefabs/Vehicles/Wheeled/BRDM2/BRDM2_base.et" +04:44:10.653 WORLD (E): Unknown keyword/data 'Parent' at offset 35955(0x8c73) +04:44:10.653 WORLD (E): Unknown keyword/data 'Parent' at offset 36915(0x9033) +04:44:10.655 RESOURCES : GetResourceObject @"{BD75A18920BD1278}Prefabs/Vehicles/Wheeled/Conflict_Variants/BTR70_Conflict.et" +04:44:10.655 WORLD : Entity prefab load @"{BD75A18920BD1278}Prefabs/Vehicles/Wheeled/Conflict_Variants/BTR70_Conflict.et" +04:44:10.655 RESOURCES : GetResourceObject @"{C012BB3488BEA0C2}Prefabs/Vehicles/Wheeled/BTR70/BTR70.et" +04:44:10.655 WORLD : Entity prefab load @"{C012BB3488BEA0C2}Prefabs/Vehicles/Wheeled/BTR70/BTR70.et" +04:44:10.655 RESOURCES : GetResourceObject @"{1C5FE7B7FF49BB8D}Prefabs/Vehicles/Wheeled/BTR70/BTR70_Base.et" +04:44:10.655 WORLD : Entity prefab load @"{1C5FE7B7FF49BB8D}Prefabs/Vehicles/Wheeled/BTR70/BTR70_Base.et" +04:44:10.655 WORLD (E): Unknown keyword/data 'Parent' at offset 42646(0xa696) +04:44:10.655 WORLD (E): Unknown keyword/data 'Parent' at offset 43645(0xaa7d) +04:44:10.655 WORLD (E): Unknown keyword/data 'Parent' at offset 44617(0xae49) +04:44:10.655 WORLD (E): Unknown keyword/data 'Parent' at offset 45590(0xb216) +04:44:10.959 WORLD : WORLD : NotifyBeforeEntitiesInitialized +04:44:10.959 PROFILING : NotifyBeforeEntitiesInitialized took: 0.045400 ms +04:44:12.893 WORLD : InitEntities 'world' +04:44:12.893 ENTITY : Init entity @"ENTITY:2305843009213693953" ('Rereintroduced', ERR_GameMode) at <1076.468018 51.000999 1325.246948> @"{978E045E53EF36C8}Prefabs/ERR/GameMode.et" +04:44:12.893 SCRIPT (W): SCR_PerceivedFactionManagerComponent trying to set fall back faction 'CIV' but this faction could not be found so it is null instead. +04:44:12.919 WORLD : InitEntities 'world' +04:44:12.919 ENTITY : Init entity @"ENTITY:2305843009213693953" ('Rereintroduced', ERR_GameMode) at <1076.468018 51.000999 1325.246948> @"{978E045E53EF36C8}Prefabs/ERR/GameMode.et" +04:44:12.919 SCRIPT : ERR BASE SMOKE: core-only scripted escape; not manual or multiplayer acceptance +04:44:12.920 WORLD : WORLD : NotifyEntitiesInitialized +04:44:12.920 TERRAIN : TERRAIN : Initializing road networks... +04:44:12.922 PROFILING : Initializing road networks... took: 2.429500 ms +04:44:12.922 DEFAULT : DEFAULT : WorldVolumesCollection +04:44:12.979 PROFILING : WorldVolumesCollection took: 56.891100 ms +04:44:12.979 INIT : INIT : SoundWorldInit +04:44:12.992 PROFILING : SoundWorldInit took: 12.777500 ms +04:44:12.992 PROFILING : NotifyEntitiesInitialized took: 72.312200 ms +04:44:12.992 PROFILING : CreateEntities took: 12711.038000 ms +04:44:12.992 PROFILING : CreateEntities took: 12711.193200 ms +04:44:12.993 WORLD : WORLD : Wait for preloading data around camera +04:44:12.993 PROFILING : Wait for preloading data around camera took: 0.000800 ms +04:44:12.993 WORLD : WORLD : EOnActivate +04:44:13.025 PROFILING : EOnActivate took: 31.778500 ms +04:44:13.025 PROFILING : Game::LoadEntities took: 12744.842500 ms +04:44:13.269 DEFAULT : Entered offline game state. +04:44:13.372 NETWORK : Player connected: connectionID=2147483646 +04:44:13.372 NETWORK : ### Connecting player: connectionID=2147483646, Name= +04:44:13.373 NETWORK : ### Creating player: PlayerId=1, Name=jakub +04:44:13.378 ENTITY : SpawnEntityPrefab @"{225E51284CC95CFA}Prefabs/Characters/Core/DefaultPlayerControllerMP.et" +04:44:13.378 ENTITY : Create entity @"ENTITY:4611686018427388381" ('SCR_PlayerController') at <0.000000 0.000000 0.000000> +04:44:13.378 ENTITY : EntityPrefabUse @"{225E51284CC95CFA}Prefabs/Characters/Core/DefaultPlayerControllerMP.et" +04:44:13.378 SCRIPT (W): Notification data in 'SCR_NotificationsLogDisplay' has duplicate notification info key: 'EDITOR_PERCEIVED_FACTION_PUNISHMENT_KILLING_SET'. There should only be one of each key! +04:44:13.378 SCRIPT (W): Notification data in 'SCR_NotificationsLogDisplay' has duplicate notification info key: 'EDITOR_PERCEIVED_FACTION_TYPE_DISABLED'. There should only be one of each key! +04:44:13.381 SCRIPT (W): Can't open config file "" +04:44:13.387 WORLD : InitEntities 'world' +04:44:13.388 ENTITY : Init entity @"ENTITY:4611686018427388381" ('SCR_PlayerController') at <0.000000 0.000000 0.000000> @"{225E51284CC95CFA}Prefabs/Characters/Core/DefaultPlayerControllerMP.et" +04:44:13.388 GUI : WidgetManager: CrateWidgets @"{3C9DCDD76AB83157}UI/layouts/HUD/HUDLayouts/HUDManager_Root.layout" +04:44:13.388 SCRIPT (W): Slot_WeaponInfo Has no Content! +04:44:13.388 SCRIPT (W): Slot_Chat Has no Content! +04:44:13.388 SCRIPT (W): Slot_VON Has no Content! +04:44:13.388 SCRIPT (W): Slot_AvailableActions Has no Content! +04:44:13.388 SCRIPT (W): Slot_Vehicle Has no Content! +04:44:13.389 SCRIPT (W): Slot_GameVersion Has no Content! +04:44:13.389 SCRIPT (W): Slot_Notifications Has no Content! +04:44:13.389 SCRIPT (W): Slot_Hints Has no Content! +04:44:13.403 NETWORK : ### Updating player: PlayerId=1, Name=jakub, rplIdentity=0xFFFFFFFE, IdentityId=00000000-0000-0000-0000-000000000000 +04:44:13.404 SCRIPT (W): Ban Settings could not be loaded from BE Storage: Relying on default config +04:44:13.404 NETWORK : Players connecting: 0 +04:44:13.404 NETWORK : Players connected: 1 / 1 +04:44:13.435 DEFAULT : Using autosave directory: C:/users/steamuser/AppData/Local/Temp/Arma Reforger Workbench/Projects/ERR_Core/autosaves +04:44:13.437 PROFILING : Workbench startup took: 42514.218800 ms +04:44:13.462 WORLD : Frame start +04:44:13.462 SCRIPT : ScenarioFramework: Available tasks are empty, no new tasks will be generated. +04:44:13.477 WORLD : UpdateEntities +04:44:13.477 WORLD : Frame +04:44:13.477 SCRIPT : SCR_BaseGameMode::OnGameStateChanged = GAME +04:44:13.658 WORLD : UpdateEntities +04:44:13.658 WORLD : PostFrame +04:44:13.659 GUI : WidgetManager: CrateWidgets @"{D89BBA18F99053D6}UI/layouts/HUD/Chat/ChatHud.layout" +04:44:13.659 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +04:44:13.704 RESOURCES : GetResourceObject @"{20A6917D2114E29A}UI/layouts/HUD/Hint/HintInfoDisplay.layout" +04:44:13.704 GUI : Layout load @"{20A6917D2114E29A}UI/layouts/HUD/Hint/HintInfoDisplay.layout" +04:44:13.704 GUI : Widget prefab @"{EA1CC57D868E94F9}UI/layouts/HUD/Hint/Hint.layout" +04:44:13.705 GUI (W): Overridden prefab member (GUID: '{661AB14E0F471C66}' type: ButtonWidgetClass) no longer exists in prefab +04:44:13.840 RENDER : RENDER : ObjectsHeightMap::Build +04:44:13.840 RENDER : RENDER : MeshOccupancyGridManager::GenerateAllForWorld +04:44:13.999 PROFILING : MeshOccupancyGridManager::GenerateAllForWorld took: 158.334600 ms +04:44:14.006 PROFILING : ObjectsHeightMap::Build took: 166.108900 ms +04:44:15.165 SCRIPT : Rereintroduced [sites]: cache clearance position=<6086,211.538,7160> clear=1 +04:44:15.187 SCRIPT : Rereintroduced [sites]: authored everon-prison-1 at <6090,211.444,7160> +04:44:15.188 SCRIPT : Rereintroduced [sites]: cache clearance position=<6150,203.288,7050> clear=1 +04:44:15.218 SCRIPT : Rereintroduced [sites]: authored everon-supply-1 at <6150,203.288,7050> +04:44:15.220 SCRIPT : Rereintroduced [sites]: authored everon-radio-1 at <6500,159.756,7200> +04:44:15.270 SCRIPT : Rereintroduced [sites]: authored everon-extraction-1 at <7000,65.2562,7500> +04:44:15.270 SCRIPT : Rereintroduced [sites]: cache clearance position=<5960,220.256,7220> clear=1 +04:44:15.275 SCRIPT : Rereintroduced [sites]: transport parking=<5960,220.256,7212> radius=4 terrainRange=0.8125 obstructed=0 clear=1 +04:44:15.321 SCRIPT : Rereintroduced [sites]: authored everon-supply-2 at <5960,220.256,7220> +04:44:15.321 SCRIPT : Rereintroduced [sites]: cache clearance position=<6340,175.788,7400> clear=1 +04:44:15.323 SCRIPT : Rereintroduced [sites]: authored everon-medical-1 at <6340,175.788,7400> +04:44:15.323 SCRIPT : Rereintroduced [sites]: cache clearance position=<6740,140.6,7300> clear=1 +04:44:15.326 SCRIPT : Rereintroduced [sites]: cache clearance position=<6740,140.913,7296> clear=1 +04:44:15.328 SCRIPT : Rereintroduced [sites]: cache clearance position=<6736,140.975,7300> clear=1 +04:44:15.328 SCRIPT : Rereintroduced [sites]: cache clearance position=<6744,140.288,7300> clear=1 +04:44:15.329 SCRIPT : Rereintroduced [sites]: authored everon-outpost-1 at <6740,140.6,7300> +04:44:15.412 SCRIPT : Rereintroduced [sites]: 7 sites and 117 physical stock items ready +04:44:15.413 SCRIPT : Rereintroduced [time]: started at 14:00 with 1x progression +04:44:15.413 SCRIPT : Rereintroduced [mission]: phase 0 -> 1 +04:44:15.676 SCRIPT : INFO: Faction: player jakub (playerID = 1 | UUID = 00000000-0000-0000-0000-000000000000) has joined faction #AR-Faction_US (US) +04:44:15.755 SCRIPT : Rereintroduced [spawn]: player 1 at <6090,211.444,7160> +04:44:15.864 SCRIPT : ERR SMOKE PASS: definition authored configuration resolves +04:44:15.864 SCRIPT : ERR SMOKE PASS: definition duplicate site identity rejected +04:44:15.865 SCRIPT : ERR SMOKE PASS: definition dangling document target rejected +04:44:15.865 SCRIPT : ERR SMOKE PASS: definition non-radio document target rejected +04:44:15.865 SCRIPT : ERR SMOKE PASS: definition insufficient guaranteed radio clues rejected +04:44:15.865 SCRIPT : ERR SMOKE PASS: definition unbounded stock rejected +04:44:15.865 SCRIPT : ERR SMOKE PASS: definition unguaranteed clue route rejected +04:44:15.866 SCRIPT : ERR SMOKE PASS: definition radio sources sharing one footprint rejected +04:44:15.866 SCRIPT : ERR SMOKE PASS: definition unnamed location rejected +04:44:15.866 SCRIPT : ERR SMOKE PASS: definition proximity discovery cannot reveal progression sites +04:44:15.866 SCRIPT : ERR SMOKE PASS: definition escape cannot reveal the radio directly +04:44:15.866 SCRIPT : ERR SMOKE PASS: definition unbounded scenery offset rejected +04:44:15.866 SCRIPT : ERR SMOKE PASS: definition valid configuration restored after isolated mutations +04:44:15.867 SCRIPT : ERR SMOKE PASS: base contracts catalog resolves hostile vanilla factions and successful preparation +04:44:15.867 SCRIPT : ERR SMOKE PASS: base contracts physical prisoner matches injected faction and resource +04:44:15.867 SCRIPT : ERR SMOKE PASS: base contracts physical guard squad comes from injected catalog +04:44:15.867 SCRIPT : ERR SMOKE PASS: base contracts same-side factions rejected +04:44:15.867 SCRIPT : ERR SMOKE PASS: base contracts unknown world faction rejected +04:44:15.868 SCRIPT : ERR SMOKE PASS: base contracts missing prisoner resource rejected +04:44:15.868 SCRIPT : ERR SMOKE PASS: base contracts isolated catalog restored without mutating live configuration +04:44:15.868 SCRIPT : ERR SMOKE PASS: base contracts unauthorized settings request rejected +04:44:15.868 SCRIPT : ERR SMOKE PASS: base contracts partially numeric input rejected without mutation +04:44:15.868 SCRIPT : ERR SMOKE PASS: base contracts out-of-range duration rejected without mutation +04:44:15.871 SCRIPT : ERR SMOKE PASS: base contracts normalized base command saves validated duration +04:44:15.871 SCRIPT : ERR SMOKE PASS: base contracts base command reads saved duration +04:44:15.872 SCRIPT : ERR SMOKE PASS: base contracts base settings listing available +04:44:15.872 SCRIPT : ERR SMOKE PASS: base contracts base mission status available before companions +04:44:15.875 SCRIPT : ERR SMOKE PASS: base contracts test setting restored +04:44:15.875 SCRIPT : ERR SMOKE PASS: base outpost barrier is upright +04:44:15.875 SCRIPT : ERR COVER GEOMETRY: low=<6738.99,140.839,7295.42> high=<6740.98,141.655,7296.62> trace=0.377114 +04:44:15.875 SCRIPT : ERR SMOKE PASS: base outpost barrier has physical collision +04:44:15.876 SCRIPT : ERR SMOKE PASS: base outpost barrier is upright +04:44:15.876 SCRIPT : ERR COVER GEOMETRY: low=<6735.42,140.901,7299.02> high=<6736.62,141.718,7301.01> trace=0.377114 +04:44:15.876 SCRIPT : ERR SMOKE PASS: base outpost barrier has physical collision +04:44:15.876 SCRIPT : ERR SMOKE PASS: base outpost barrier is upright +04:44:15.876 SCRIPT : ERR COVER GEOMETRY: low=<6743.42,140.214,7299.02> high=<6744.62,141.03,7301.01> trace=0.377114 +04:44:15.876 SCRIPT : ERR SMOKE PASS: base outpost barrier has physical collision +04:44:15.876 SCRIPT : ERR SMOKE PASS: base exactly three authored outpost barriers exist +04:44:15.876 SCRIPT : ERR SMOKE PASS: mission time clock parsing includes midnight and final minute +04:44:15.877 SCRIPT : ERR SMOKE PASS: mission time malformed clock commands rejected +04:44:15.877 SCRIPT : ERR SMOKE PASS: mission time isolated fixture paths unused +04:44:15.877 SCRIPT : ERR SMOKE PASS: mission time legacy fixture created +04:44:15.878 SCRIPT : ERR SMOKE PASS: mission time existing six-key settings preserved +04:44:15.878 SCRIPT : ERR SMOKE PASS: mission time only absent time settings receive defaults +04:44:15.878 SCRIPT : ERR SMOKE PASS: mission time loading does not rewrite legacy file +04:44:15.883 SCRIPT : ERR SMOKE PASS: mission time explicit save upgrades valid legacy settings +04:44:15.884 SCRIPT : ERR SMOKE PASS: mission time new keys and old values survive reload +04:44:15.885 SCRIPT : ERR SMOKE PASS: mission time present out-of-range time cannot silently default +04:44:15.886 SCRIPT : ERR SMOKE PASS: mission time fractional clock setting rejected +04:44:15.886 SCRIPT : ERR SMOKE PASS: mission time zero multiplier rejected +04:44:15.887 SCRIPT : ERR SMOKE PASS: mission time missing legacy setting remains invalid +04:44:15.888 SCRIPT : ERR SMOKE PASS: mission time partially upgraded file defaults only missing new field +04:44:15.889 SCRIPT : ERR SMOKE PASS: mission time valid saved backup recovers invalid primary +04:44:15.889 SCRIPT : ERR SMOKE PASS: mission time server starts world clock before prison phase +04:44:15.889 SCRIPT : ERR SMOKE PASS: mission time engine progression matches applied multiplier +04:44:15.889 SCRIPT : ERR SMOKE PASS: mission time unauthorized clock mutation rejected +04:44:15.889 SCRIPT : ERR SMOKE PASS: mission time invalid clock command preserves setting +04:44:15.898 SCRIPT : ERR SMOKE PASS: mission time authorized settings persist and test restores originals +04:44:15.898 SCRIPT : ERR SMOKE PASS: mission time saved changes and repeated start leave current clock and speed intact +04:44:15.898 SCRIPT : ERR SMOKE PASS: mission time admin sees current clock separately from next round settings +04:44:15.899 SCRIPT : ERR SMOKE PASS: base native prison objective exists +04:44:15.899 SCRIPT : ERR SMOKE PASS: objective UI current native task exists +04:44:15.902 SCRIPT : ERR SMOKE PASS: objective UI native list and detail layouts created +04:44:15.902 SCRIPT : ERR SMOKE PASS: objective UI native handlers attached +04:44:15.902 SCRIPT : ERR SMOKE PASS: objective UI open list and details contain current title and instructions +04:44:15.903 SCRIPT : ERR SMOKE PASS: objective UI list-only task cannot expose an undiscovered map position +04:44:15.903 SCRIPT : ERR SMOKE PASS: objective UI actual local player receives the active objective +04:44:15.903 SCRIPT : ERR SMOKE PASS: objective UI extraction instructions follow a nondefault boundary +04:44:15.903 SCRIPT : ERR SMOKE PASS: base authored supply cache is a separate scavenging location +04:44:15.903 SCRIPT : ERR BASE STOCK: cache items=54 +04:44:15.903 SCRIPT : ERR SMOKE PASS: base cache holds finite physical equipment and objective documents +04:44:15.904 SCRIPT : ERR SMOKE PASS: base no companion HQ or support controller loaded +04:44:15.904 SCRIPT : ERR SMOKE PASS: base prisoner spawned in authored prison +04:44:15.904 SCRIPT : ERR SMOKE PASS: base gate, clues, radio and helicopter created by core +04:44:15.904 SCRIPT : Rereintroduced [mission]: phase 1 -> 2 +04:44:15.906 SCRIPT : ERR SMOKE PASS: base gate action begins escape +04:44:15.908 SCRIPT : ERR SMOKE PASS: base test defence duration accepted +04:44:15.908 SCRIPT : ERR SMOKE PASS: base previous native objective completes on phase change +04:44:15.908 SCRIPT : ERR SMOKE PASS: base search objective does not expose a hidden site +04:44:15.908 SCRIPT : ERR SMOKE PASS: objective UI current native task exists +04:44:15.911 SCRIPT : ERR SMOKE PASS: objective UI native list and detail layouts created +04:44:15.911 SCRIPT : ERR SMOKE PASS: objective UI native handlers attached +04:44:15.912 SCRIPT : ERR SMOKE PASS: objective UI open list and details contain current title and instructions +04:44:15.912 SCRIPT : ERR SMOKE PASS: objective UI list-only task cannot expose an undiscovered map position +04:44:15.912 SCRIPT : ERR SMOKE PASS: objective UI actual local player receives the active objective +04:44:15.912 SCRIPT : ERR SMOKE PASS: objective UI extraction instructions follow a nondefault boundary +04:44:15.912 SCRIPT : ERR SMOKE PASS: base both named supply routes revealed after escape +04:44:15.913 SCRIPT : ERR SMOKE PASS: base optional sites remain hidden until approached +04:44:21.914 SCRIPT : ERR SMOKE PASS: base unconscious player cannot discover optional sites +04:44:28.024 SCRIPT : ERR SMOKE PASS: base distant player cannot discover optional sites +04:44:28.025 SCRIPT : ERR SMOKE PASS: base isolated visibility obstacle created +04:44:28.025 SCRIPT : ERR VISIBILITY OBSTACLE: low=<6338.5,174.97,7403.87> high=<6341.5,178.737,7404.13> observer=<6340.43,174.706,7466.71> target=<6340,175.788,7400> +04:44:34.092 SCRIPT : ERR SMOKE PASS: base physical wall prevents nearby site discovery +04:44:40.161 SCRIPT : ERR SMOKE PASS: base conscious nearby player visually discovers named medical stash once +04:44:40.161 SCRIPT : ERR SMOKE PASS: base proximity cannot bypass radio documents +04:44:40.666 SCRIPT : ERR SMOKE PASS: base physical clue recovered +04:44:40.824 SCRIPT : Rereintroduced [intel]: player 1 recovered folder; location=everon-radio-1 knowledge=1 +04:44:43.197 SCRIPT : ERR SMOKE PASS: base physical clue recovered +04:44:43.845 SCRIPT : Rereintroduced [intel]: player 1 recovered folder; location=everon-radio-1 knowledge=2 +04:44:45.723 SCRIPT : ERR SMOKE PASS: base objective guidance reacts to discovered radio +04:44:45.723 SCRIPT : ERR SMOKE PASS: objective UI current native task exists +04:44:45.724 SCRIPT : ERR SMOKE PASS: objective UI open list and details contain current title and instructions +04:44:45.724 SCRIPT : ERR SMOKE PASS: objective UI list-only task cannot expose an undiscovered map position +04:44:45.724 SCRIPT : ERR SMOKE PASS: objective UI actual local player receives the active objective +04:44:45.724 SCRIPT : ERR SMOKE PASS: objective UI extraction instructions follow a nondefault boundary +04:44:45.727 SCRIPT : ERR SMOKE PASS: base discovery ticks do not repeat the location event +04:44:45.727 SCRIPT : ERR SMOKE PASS: base documents identify radio without Intel addon +04:44:46.740 SCRIPT : ERR SMOKE PASS: radio service identified radio and real controlled prisoner available +04:44:46.752 SCRIPT : ERR SMOKE PASS: radio service second physical defender created with simulated connection membership +04:44:46.752 SCRIPT : ERR SMOKE PASS: radio service ordinary AI cannot tune even while alive and nearby +04:44:46.753 SCRIPT : ERR SMOKE PASS: radio service missing radio rejected +04:44:46.753 SCRIPT (E): ERR SMOKE FAIL: radio service tuning outside five metres rejected +04:44:46.757 SCRIPT : ERR SMOKE PASS: radio service isolated test restores live duration setting and player state diff --git a/docs/evidence/native-2026-09-19-044330-radio-fixture-failure/error.log.txt b/docs/evidence/native-2026-09-19-044330-radio-fixture-failure/error.log.txt new file mode 100644 index 0000000..ca5bb4a --- /dev/null +++ b/docs/evidence/native-2026-09-19-044330-radio-fixture-failure/error.log.txt @@ -0,0 +1,122 @@ +--------------------------------------------- +Log Z:\tmp\erri-workbench-profile\logs\logs_2026-09-19_04-43-30\error.log started at 2026-09-19 04:43:32 (2026-09-19 02:43:32 UTC) + +04:43:32.660 INIT : Workbench startup +04:43:32.660 INIT : Workbench Init Engine +04:43:32.660 RESOURCES : ResourceDB: full scan +04:43:32.660 RESOURCES : processing files... +04:43:32.660 RESOURCES (W): resource not registered: @"$profile:rereintroduced.json". Setting null GUID +04:43:35.862 INIT : Workbench Create Game +04:43:35.862 SCRIPT : Compiling Game scripts +04:43:35.862 SCRIPT (W): @"Scripts/Game/Editor/Components/EditableEntity/SCR_EditableEntityComponent.c,785": 'GetPlayerPlatformKind' is obsolete +04:43:35.862 SCRIPT (W): @"Scripts/Game/Editor/Components/EditableEntity/SCR_EditableEntityComponent.c,786": 'GetPlayerPlatformId' is obsolete +04:43:36.115 SCRIPT (W): @"Scripts/Game/ERR/ERR_SiteService.c,140": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +04:43:36.124 SCRIPT (W): @"Scripts/Game/Workshop/SCR_AddonManager.c,876": 'GetRefCount' is obsolete: Will be removed +04:43:36.157 SCRIPT (W): @"Scripts/Game/Campaign/SCR_PlayerProfileManagerComponent.c,142": 'PlayerData' is obsolete +04:43:36.267 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,159": 'GetDSSession' is obsolete +04:43:36.267 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,162": 'RoomID' is obsolete +04:43:36.267 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,197": 'GetDSSession' is obsolete +04:43:36.267 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,201": 'RoomID' is obsolete +04:43:36.363 SCRIPT (W): @"Scripts/Game/DataCollection/SCR_DataCollectorComponent.c,481": 'GetStorage' is obsolete +04:43:36.363 SCRIPT (W): @"Scripts/Game/DataCollection/SCR_DataCollectorComponent.c,483": 'GetOnlineWritePrivilege' is obsolete +04:43:36.364 SCRIPT (W): @"Scripts/Game/Utilities/SCR_PlayerIdentityUtils.c,20": 'GetPlayerIdentityId' is obsolete +04:43:36.404 SCRIPT (W): @"Scripts/Game/ERR/ERR_ExtractionService.c,45": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +04:43:36.404 SCRIPT (W): @"Scripts/Game/ERR/ERR_ExtractionService.c,56": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +04:43:36.405 SCRIPT (W): @"Scripts/Game/UI/Menu/MainMenuUI.c,643": 'GetNotifyCount' is obsolete: Will be substitued by Notification Api. +04:43:36.405 SCRIPT (W): @"Scripts/Game/UI/Menu/MainMenuUI.c,645": 'GetNotifyItem' is obsolete: Will be substitued by Notification Api. +04:43:36.429 SCRIPT (W): @"Scripts/Game/ERR/ERR_NativeTransportProbe.c,82": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +04:43:36.460 SCRIPT (W): @"Scripts/Game/DataCollection/PlayerData/SCR_PlayerData.c,210": 'PlayerData' is obsolete +04:43:45.042 WORLD : CreateEntities +04:43:45.043 ENTITY : Create entity @"ENTITY:610406" ('StaticModelEntity','Assets/Structures/Infrastructure/Towers/TransmitterTower_01/TransmitterTower_01_small.xob') at <1931.796021 81.777000 5138.725098> @"{6A004A8F0571D456}Prefabs/Structures/Infrastructure/Towers/TransmitterTower_01/TransmitterTower_01_small.et" +04:43:45.043 ENTITY : CreateComponent 'ScriptedRadioComponent' +04:43:45.043 DEFAULT (W): World doesn't contain RadioManagerEntity to support any BaseRadioComponent. +04:44:00.035 DEFAULT (W): LogiLED: Cannot initialize! (service not running or no compatible device detected) +04:44:04.713 WORLD : Game::LoadEntities +04:44:04.713 WORLD : CreateEntities +04:44:04.713 WORLD : CreateEntities +04:44:04.713 ENTITY : Create entity @"ENTITY:610406" ('StaticModelEntity','Assets/Structures/Infrastructure/Towers/TransmitterTower_01/TransmitterTower_01_small.xob') at <1931.796021 81.777000 5138.725098> @"{6A004A8F0571D456}Prefabs/Structures/Infrastructure/Towers/TransmitterTower_01/TransmitterTower_01_small.et" +04:44:04.713 ENTITY : CreateComponent 'ScriptedRadioComponent' +04:44:04.713 DEFAULT (W): World doesn't contain RadioManagerEntity to support any BaseRadioComponent. +04:44:06.176 ENTITY : Create entity @"ENTITY:842066" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1080.213013 10.776751 6018.347168> +04:44:06.176 ENTITY : CreateComponent 'Hierarchy' +04:44:06.176 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842066" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1080.213013 10.776751 6018.347168>') +04:44:06.176 ENTITY : Create entity @"ENTITY:842068" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1082.185913 10.778749 6018.331055> +04:44:06.176 ENTITY : CreateComponent 'Hierarchy' +04:44:06.176 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842068" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1082.185913 10.778749 6018.331055>') +04:44:06.177 ENTITY : Create entity @"ENTITY:842070" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1084.190918 10.790751 6018.334961> +04:44:06.177 ENTITY : CreateComponent 'Hierarchy' +04:44:06.177 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842070" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1084.190918 10.790751 6018.334961>') +04:44:06.184 ENTITY : Create entity @"ENTITY:842333" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4425.594727 9.981750 11029.402344> +04:44:06.184 ENTITY : CreateComponent 'Hierarchy' +04:44:06.184 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842333" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4425.594727 9.981750 11029.402344>') +04:44:06.184 ENTITY : Create entity @"ENTITY:842335" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4426.584473 9.983749 11031.109375> +04:44:06.184 ENTITY : CreateComponent 'Hierarchy' +04:44:06.184 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842335" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4426.584473 9.983749 11031.109375>') +04:44:06.184 ENTITY : Create entity @"ENTITY:842337" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4427.572266 9.995750 11032.853516> +04:44:06.184 ENTITY : CreateComponent 'Hierarchy' +04:44:06.184 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842337" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4427.572266 9.995750 11032.853516>') +04:44:06.189 ENTITY : Create entity @"ENTITY:842591" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.946289 10.470250 1551.986084> +04:44:06.189 ENTITY : CreateComponent 'Hierarchy' +04:44:06.189 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842591" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.946289 10.470250 1551.986084>') +04:44:06.189 ENTITY : Create entity @"ENTITY:842593" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.430664 10.472250 1550.081421> +04:44:06.189 ENTITY : CreateComponent 'Hierarchy' +04:44:06.189 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842593" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.430664 10.472250 1550.081421>') +04:44:06.189 ENTITY : Create entity @"ENTITY:842595" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10008.926758 10.484250 1548.140869> +04:44:06.189 ENTITY : CreateComponent 'Hierarchy' +04:44:06.190 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842595" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10008.926758 10.484250 1548.140869>') +04:44:10.615 ENTITY : Create entity @"ENTITY:2305843009213693956" ('Factions', SCR_FactionManager) at <0.000000 0.000000 0.000000> @"{589540B35EBA8CDC}Prefabs/MP/Managers/Factions/FactionManager_USxUSSR.et" +04:44:10.615 RESOURCES : GetResourceObject @"{5168FEA3054D6D15}Prefabs/Vehicles/Wheeled/M151A2/M151A2_M2HB_MERDC.et" +04:44:10.615 WORLD : Entity prefab load @"{5168FEA3054D6D15}Prefabs/Vehicles/Wheeled/M151A2/M151A2_M2HB_MERDC.et" +04:44:10.615 RESOURCES : GetResourceObject @"{F6B23D17D5067C11}Prefabs/Vehicles/Wheeled/M151A2/M151A2_M2HB.et" +04:44:10.615 WORLD : Entity prefab load @"{F6B23D17D5067C11}Prefabs/Vehicles/Wheeled/M151A2/M151A2_M2HB.et" +04:44:10.615 RESOURCES : GetResourceObject @"{F649585ABB3706C4}Prefabs/Vehicles/Wheeled/M151A2/M151A2.et" +04:44:10.615 WORLD : Entity prefab load @"{F649585ABB3706C4}Prefabs/Vehicles/Wheeled/M151A2/M151A2.et" +04:44:10.615 WORLD (E): Unknown keyword/data 'SlidingTrackMaterial' at offset 19441(0x4bf1) +04:44:10.653 RESOURCES : GetResourceObject @"{F7B9B434FCFF00B3}Prefabs/Vehicles/Wheeled/Conflict_Variants/BRDM2_Conflict.et" +04:44:10.653 WORLD : Entity prefab load @"{F7B9B434FCFF00B3}Prefabs/Vehicles/Wheeled/Conflict_Variants/BRDM2_Conflict.et" +04:44:10.653 RESOURCES : GetResourceObject @"{254289B9C09904AB}Prefabs/Vehicles/Wheeled/BRDM2/BRDM2.et" +04:44:10.653 WORLD : Entity prefab load @"{254289B9C09904AB}Prefabs/Vehicles/Wheeled/BRDM2/BRDM2.et" +04:44:10.653 RESOURCES : GetResourceObject @"{532B5F3CF8496E59}Prefabs/Vehicles/Wheeled/BRDM2/BRDM2_base.et" +04:44:10.653 WORLD : Entity prefab load @"{532B5F3CF8496E59}Prefabs/Vehicles/Wheeled/BRDM2/BRDM2_base.et" +04:44:10.653 WORLD (E): Unknown keyword/data 'Parent' at offset 35955(0x8c73) +04:44:10.653 WORLD (E): Unknown keyword/data 'Parent' at offset 36915(0x9033) +04:44:10.655 RESOURCES : GetResourceObject @"{BD75A18920BD1278}Prefabs/Vehicles/Wheeled/Conflict_Variants/BTR70_Conflict.et" +04:44:10.655 WORLD : Entity prefab load @"{BD75A18920BD1278}Prefabs/Vehicles/Wheeled/Conflict_Variants/BTR70_Conflict.et" +04:44:10.655 RESOURCES : GetResourceObject @"{C012BB3488BEA0C2}Prefabs/Vehicles/Wheeled/BTR70/BTR70.et" +04:44:10.655 WORLD : Entity prefab load @"{C012BB3488BEA0C2}Prefabs/Vehicles/Wheeled/BTR70/BTR70.et" +04:44:10.655 RESOURCES : GetResourceObject @"{1C5FE7B7FF49BB8D}Prefabs/Vehicles/Wheeled/BTR70/BTR70_Base.et" +04:44:10.655 WORLD : Entity prefab load @"{1C5FE7B7FF49BB8D}Prefabs/Vehicles/Wheeled/BTR70/BTR70_Base.et" +04:44:10.655 WORLD (E): Unknown keyword/data 'Parent' at offset 42646(0xa696) +04:44:10.655 WORLD (E): Unknown keyword/data 'Parent' at offset 43645(0xaa7d) +04:44:10.655 WORLD (E): Unknown keyword/data 'Parent' at offset 44617(0xae49) +04:44:10.655 WORLD (E): Unknown keyword/data 'Parent' at offset 45590(0xb216) +04:44:12.893 WORLD : InitEntities 'world' +04:44:12.893 ENTITY : Init entity @"ENTITY:2305843009213693953" ('Rereintroduced', ERR_GameMode) at <1076.468018 51.000999 1325.246948> @"{978E045E53EF36C8}Prefabs/ERR/GameMode.et" +04:44:12.893 SCRIPT (W): SCR_PerceivedFactionManagerComponent trying to set fall back faction 'CIV' but this faction could not be found so it is null instead. +04:44:13.378 ENTITY : SpawnEntityPrefab @"{225E51284CC95CFA}Prefabs/Characters/Core/DefaultPlayerControllerMP.et" +04:44:13.378 ENTITY : Create entity @"ENTITY:4611686018427388381" ('SCR_PlayerController') at <0.000000 0.000000 0.000000> +04:44:13.378 ENTITY : EntityPrefabUse @"{225E51284CC95CFA}Prefabs/Characters/Core/DefaultPlayerControllerMP.et" +04:44:13.378 SCRIPT (W): Notification data in 'SCR_NotificationsLogDisplay' has duplicate notification info key: 'EDITOR_PERCEIVED_FACTION_PUNISHMENT_KILLING_SET'. There should only be one of each key! +04:44:13.378 SCRIPT (W): Notification data in 'SCR_NotificationsLogDisplay' has duplicate notification info key: 'EDITOR_PERCEIVED_FACTION_TYPE_DISABLED'. There should only be one of each key! +04:44:13.380 SCRIPT (W): Can't open config file "" +04:44:13.387 WORLD : InitEntities 'world' +04:44:13.388 ENTITY : Init entity @"ENTITY:4611686018427388381" ('SCR_PlayerController') at <0.000000 0.000000 0.000000> @"{225E51284CC95CFA}Prefabs/Characters/Core/DefaultPlayerControllerMP.et" +04:44:13.388 GUI : WidgetManager: CrateWidgets @"{3C9DCDD76AB83157}UI/layouts/HUD/HUDLayouts/HUDManager_Root.layout" +04:44:13.388 SCRIPT (W): Slot_WeaponInfo Has no Content! +04:44:13.388 SCRIPT (W): Slot_Chat Has no Content! +04:44:13.388 SCRIPT (W): Slot_VON Has no Content! +04:44:13.388 SCRIPT (W): Slot_AvailableActions Has no Content! +04:44:13.388 SCRIPT (W): Slot_Vehicle Has no Content! +04:44:13.389 SCRIPT (W): Slot_GameVersion Has no Content! +04:44:13.389 SCRIPT (W): Slot_Notifications Has no Content! +04:44:13.389 SCRIPT (W): Slot_Hints Has no Content! +04:44:13.404 SCRIPT (W): Ban Settings could not be loaded from BE Storage: Relying on default config +04:44:13.658 WORLD : UpdateEntities +04:44:13.658 WORLD : PostFrame +04:44:13.659 GUI : WidgetManager: CrateWidgets @"{D89BBA18F99053D6}UI/layouts/HUD/Chat/ChatHud.layout" +04:44:13.659 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +04:44:13.704 RESOURCES : GetResourceObject @"{20A6917D2114E29A}UI/layouts/HUD/Hint/HintInfoDisplay.layout" +04:44:13.704 GUI : Layout load @"{20A6917D2114E29A}UI/layouts/HUD/Hint/HintInfoDisplay.layout" +04:44:13.704 GUI : Widget prefab @"{EA1CC57D868E94F9}UI/layouts/HUD/Hint/Hint.layout" +04:44:13.705 GUI (W): Overridden prefab member (GUID: '{661AB14E0F471C66}' type: ButtonWidgetClass) no longer exists in prefab +04:44:46.753 SCRIPT (E): ERR SMOKE FAIL: radio service tuning outside five metres rejected diff --git a/docs/evidence/native-2026-09-19-044330-radio-fixture-failure/headless-launch.log.txt b/docs/evidence/native-2026-09-19-044330-radio-fixture-failure/headless-launch.log.txt new file mode 100644 index 0000000..9177e29 --- /dev/null +++ b/docs/evidence/native-2026-09-19-044330-radio-fixture-failure/headless-launch.log.txt @@ -0,0 +1,150 @@ +[gamescope] [Info] console: gamescope version 3.16.28 (gcc 16.2.1) +No CAP_SYS_NICE, falling back to regular-priority compute and threads. +Performance will be affected. +[gamescope] [Info] scriptmgr: Loading scripts from: '/usr/share/gamescope/scripts' +[gamescope] [Info] scriptmgr: Loading scripts from: '/usr/share/gamescope/scripts/00-gamescope' +[gamescope] [Info] scriptmgr: Loading scripts from: '/usr/share/gamescope/scripts/00-gamescope/common' +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/common/inspect.lua' (id: 0) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/common/modegen.lua' (id: 1) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/common/util.lua' (id: 2) +[gamescope] [Info] scriptmgr: Loading scripts from: '/usr/share/gamescope/scripts/00-gamescope/displays' +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/asus.rogally.lcd.lua' (id: 3) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/deckhd.steamdeck.deckhd-lcd.lua' (id: 4) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/gpd.win4.lcd.lua' (id: 5) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/lenovo.legiongo.lcd.lua' (id: 6) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/lenovo.legiongos.lcd.lua' (id: 7) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/onexplayer.f1.oled.lua' (id: 8) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/valve.steamdeck.lcd.lua' (id: 9) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/valve.steamdeck.oled.lua' (id: 10) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/zotac.zone.oled.lua' (id: 11) +[gamescope] [Info] scriptmgr: Loading scripts from: '/etc/gamescope/scripts' +[gamescope] [Warn] scriptmgr: Directory '/etc/gamescope/scripts' does not exist +[gamescope] [Info] scriptmgr: Loading scripts from: '/home/jakub/.config/gamescope/scripts' +[gamescope] [Warn] scriptmgr: Directory '/home/jakub/.config/gamescope/scripts' does not exist +[gamescope] [Info] vulkan: selecting physical device 'AMD Radeon RX 6950 XT (RADV NAVI21)': queue family 1 (general queue family 0) +[gamescope] [Info] vulkan: physical device supports DRM format modifiers +[gamescope] [Info] wlserver: [backend/headless/backend.c:60] Creating headless backend +[gamescope] [Info] vulkan: supported DRM formats for sampling usage: +[gamescope] [Info] vulkan: AR24 (0x34325241) +[gamescope] [Info] vulkan: XR24 (0x34325258) +[gamescope] [Info] vulkan: AB24 (0x34324241) +[gamescope] [Info] vulkan: XB24 (0x34324258) +[gamescope] [Info] vulkan: RG16 (0x36314752) +[gamescope] [Info] vulkan: NV12 (0x3231564E) +[gamescope] [Info] vulkan: AB4H (0x48344241) +[gamescope] [Info] vulkan: XB4H (0x48344258) +[gamescope] [Info] vulkan: AB48 (0x38344241) +[gamescope] [Info] vulkan: XB48 (0x38344258) +[gamescope] [Info] vulkan: AB30 (0x30334241) +[gamescope] [Info] vulkan: XB30 (0x30334258) +[gamescope] [Info] vulkan: AR30 (0x30335241) +[gamescope] [Info] vulkan: XR30 (0x30335258) +[gamescope] [Info] wlserver: Using explicit sync when available +[gamescope] [Info] wlserver: Running compositor on wayland display 'gamescope-0' +[gamescope] [Info] wlserver: [backend/headless/backend.c:17] Starting headless backend +[gamescope] [Info] wlserver: Successfully initialized libei for input emulation! +[gamescope] [Error] wlserver: [xwayland/sockets.c:47] Failed to bind socket @/tmp/.X11-unix/X0: Address already in use +[gamescope] [Info] wlserver: [xwayland/server.c:108] Starting Xwayland on :2 +The XKEYBOARD keymap compiler (xkbcomp) reports: +> Warning: Multiple symbols for level 1/group 1 on key +> Using F23, ignoring XF86TouchpadOff +> Warning: Symbol map for key redefined +> Using last definition for conflicting fields +> Warning: Symbol map for key redefined +> Using last definition for conflicting fields +> Warning: Could not resolve keysym XF86ElectronicPrivacyScreenOn +> Warning: Could not resolve keysym XF86ElectronicPrivacyScreenOff +> Warning: Could not resolve keysym XF86ActionOnSelection +> Warning: Could not resolve keysym XF86ContextualInsert +> Warning: Could not resolve keysym XF86ContextualQuery +Errors from xkbcomp are not fatal to the X server +[gamescope] [Info] pipewire: stream state changed: connecting +[gamescope] [Info] pipewire: stream state changed: paused +[gamescope] [Info] pipewire: stream available on node ID: 123 +[gamescope] [Info] vblank: Using timerfd. +fsync: up and running. +[Gamescope WSI] No application info given. +[Gamescope WSI] Executable name: explorer.exe +ATTENTION: default value of option vk_wsi_force_swapchain_to_current_extent overridden by environment. +[Gamescope WSI] Application info: + pApplicationName: xalia.exe + applicationVersion: 0 + pEngineName: DXVK + engineVersion: 12587008 + apiVersion: 4206592 +[Gamescope WSI] Executable name: xalia.exe +ATTENTION: default value of option vk_wsi_force_swapchain_to_current_extent overridden by environment. +[Gamescope WSI] No application info given. +[Gamescope WSI] Application info: + pApplicationName: ArmaReforgerWorkbenchSteamDiag.exe + applicationVersion: 1 + pEngineName: DXVK + engineVersion: 12587008 + apiVersion: 4206592 +[Gamescope WSI] Executable name: ArmaReforgerWorkbenchSteamDiag.exe +ATTENTION: default value of option vk_wsi_force_swapchain_to_current_extent overridden by environment. +[Gamescope WSI] No application info given. +The XKEYBOARD keymap compiler (xkbcomp) reports: +> Warning: Unsupported maximum keycode 709, clipping. +> X11 cannot support keycodes above 255. +> Warning: Virtual modifier Hyper multiply defined +> Using 0, ignoring 0 +> Warning: Virtual modifier ScrollLock multiply defined +> Using 0, ignoring 0 +Errors from xkbcomp are not fatal to the X server +ATTENTION: default value of option vk_wsi_force_swapchain_to_current_extent overridden by environment. +[Gamescope WSI] Application info: + pApplicationName: ArmaReforgerWorkbenchSteamDiag.exe + applicationVersion: 0 + pEngineName: DXVK + engineVersion: 12587008 + apiVersion: 4206592 +ATTENTION: default value of option vk_wsi_force_swapchain_to_current_extent overridden by environment. +[Gamescope WSI] Application info: + pApplicationName: ArmaReforgerWorkbenchSteamDiag.exe + applicationVersion: 0 + pEngineName: vkd3d + engineVersion: 12587008 + apiVersion: 4206592 +[Gamescope WSI] Forcing on VK_EXT_swapchain_maintenance1. +ATTENTION: default value of option vk_wsi_force_swapchain_to_current_extent overridden by environment. +[Gamescope WSI] No application info given. +ATTENTION: default value of option vk_wsi_force_swapchain_to_current_extent overridden by environment. +[Gamescope WSI] Application info: + pApplicationName: ArmaReforgerWorkbenchSteamDiag.exe + applicationVersion: 0 + pEngineName: vkd3d + engineVersion: 12587008 + apiVersion: 4206592 +[Gamescope WSI] Forcing on VK_EXT_swapchain_maintenance1. +[Gamescope WSI] Creating Gamescope surface: xid: 0x1a001a4 +[Gamescope WSI] Atom of T was wrong type. Expected XCB_ATOM_CARDINAL. +[Gamescope WSI] Made gamescope surface for xid: 0x1a001a4 +[Gamescope WSI] Surface state: + steam app id: 1874910 + window xid: 0x1a001a4 + wayland surface res id: 5 + layer client flags: 0x4 + server hdr output enabled: false + hdr formats exposed to client: false +[Gamescope WSI] Creating Gamescope surface: xid: 0x1a003a4 +[Gamescope WSI] Atom of T was wrong type. Expected XCB_ATOM_CARDINAL. +[Gamescope WSI] Made gamescope surface for xid: 0x1a003a4 +[Gamescope WSI] Surface state: + steam app id: 1874910 + window xid: 0x1a003a4 + wayland surface res id: 10 + layer client flags: 0x4 + server hdr output enabled: false + hdr formats exposed to client: false +[Gamescope WSI] Creating swapchain for xid: 0x1a003a4 - oldSwapchain: (nil) - provided minImageCount: 3 - minImageCount: 3 - format: VK_FORMAT_B8G8R8A8_UNORM - colorspace: VK_COLOR_SPACE_SRGB_NONLINEAR_KHR - flip: false +[Gamescope WSI] Created swapchain for xid: 0x1a003a4 swapchain: 0x55557bbd8fc0 - imageCount: 4 +[Gamescope WSI] Destroying swapchain: 0x55557bbd8fc0 +[Gamescope WSI] Destroyed swapchain: 0x55557bbd8fc0 +[Gamescope WSI] Creating swapchain for xid: 0x1a003a4 - oldSwapchain: (nil) - provided minImageCount: 3 - minImageCount: 3 - format: VK_FORMAT_B8G8R8A8_UNORM - colorspace: VK_COLOR_SPACE_SRGB_NONLINEAR_KHR - flip: false +[Gamescope WSI] Created swapchain for xid: 0x1a003a4 swapchain: 0x55557bbd8fc0 - imageCount: 4 +[Gamescope WSI] Destroying swapchain: 0x55557bbd8fc0 +[Gamescope WSI] Destroyed swapchain: 0x55557bbd8fc0 +[Gamescope WSI] Creating swapchain for xid: 0x1a003a4 - oldSwapchain: (nil) - provided minImageCount: 3 - minImageCount: 3 - format: VK_FORMAT_B8G8R8A8_UNORM - colorspace: VK_COLOR_SPACE_SRGB_NONLINEAR_KHR - flip: false +[Gamescope WSI] Created swapchain for xid: 0x1a003a4 swapchain: 0x55557bb750b0 - imageCount: 4 +[gamescope] [Error] xwm: X11 I/O error! This is fatal. Aborting... diff --git a/docs/evidence/native-2026-09-19-044330-radio-fixture-failure/report.json b/docs/evidence/native-2026-09-19-044330-radio-fixture-failure/report.json new file mode 100644 index 0000000..3e0924a --- /dev/null +++ b/docs/evidence/native-2026-09-19-044330-radio-fixture-failure/report.json @@ -0,0 +1,20 @@ +{ + "log": "docs/evidence/native-2026-09-19-044330-radio-fixture-failure/console.log.txt", + "smoke_completions": 0, + "assertions_passed": 104, + "script_or_runtime_failures": [ + "04:44:46.753 SCRIPT (E): ERR SMOKE FAIL: radio service tuning outside five metres rejected" + ], + "engine_errors": [ + "04:44:10.615 WORLD (E): Unknown keyword/data 'SlidingTrackMaterial' at offset 19441(0x4bf1)", + "04:44:10.653 WORLD (E): Unknown keyword/data 'Parent' at offset 35955(0x8c73)", + "04:44:10.653 WORLD (E): Unknown keyword/data 'Parent' at offset 36915(0x9033)", + "04:44:10.655 WORLD (E): Unknown keyword/data 'Parent' at offset 42646(0xa696)", + "04:44:10.655 WORLD (E): Unknown keyword/data 'Parent' at offset 43645(0xaa7d)", + "04:44:10.655 WORLD (E): Unknown keyword/data 'Parent' at offset 44617(0xae49)", + "04:44:10.655 WORLD (E): Unknown keyword/data 'Parent' at offset 45590(0xb216)", + "04:44:46.753 SCRIPT (E): ERR SMOKE FAIL: radio service tuning outside five metres rejected" + ], + "missing_end_screen": [], + "scope": "scripted local Workbench integration only; no multiplayer, piloting or FPS claim" +} diff --git a/docs/evidence/native-2026-09-19-044330-radio-fixture-failure/runner.json.txt b/docs/evidence/native-2026-09-19-044330-radio-fixture-failure/runner.json.txt new file mode 100644 index 0000000..374e5cc --- /dev/null +++ b/docs/evidence/native-2026-09-19-044330-radio-fixture-failure/runner.json.txt @@ -0,0 +1,9 @@ +{ + "result": "test-failed", + "session": "/tmp/erri-workbench-profile/logs/logs_2026-09-19_04-43-30", + "rounds_required": 2, + "project": "core", + "display": "headless Gamescope 1280x720/30Hz", + "dedicated_server": false, + "audio": "silent sink and per-test-stream mute" +} diff --git a/docs/evidence/native-2026-09-19-044330-radio-fixture-failure/script.log.txt b/docs/evidence/native-2026-09-19-044330-radio-fixture-failure/script.log.txt new file mode 100644 index 0000000..3e90ed3 --- /dev/null +++ b/docs/evidence/native-2026-09-19-044330-radio-fixture-failure/script.log.txt @@ -0,0 +1,186 @@ +--------------------------------------------- +Log Z:\tmp\erri-workbench-profile\logs\logs_2026-09-19_04-43-30\script.log started at 2026-09-19 04:43:33 (2026-09-19 02:43:33 UTC) + +04:43:33.798 SCRIPT : SCRIPT : Initializing scripts +04:43:33.798 SCRIPT : SCRIPT : ScriptProjectManager init +04:43:34.722 SCRIPT : SCRIPT : Compiling GameLib scripts +04:43:34.777 SCRIPT : Module: Workbench; loaded 18x files; 36x classes; used 125K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE"; CRC32: 90ce0460 +04:43:34.777 SCRIPT : Module: GameLib; loaded 465x files; 648x classes; used 828K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE"; CRC32: 4507af04 +04:43:34.778 SCRIPT : SCRIPT : Compiling Game scripts +04:43:35.862 SCRIPT : Compiling Game scripts +04:43:35.862 SCRIPT (W): @"Scripts/Game/Editor/Components/EditableEntity/SCR_EditableEntityComponent.c,785": 'GetPlayerPlatformKind' is obsolete +04:43:35.862 SCRIPT (W): @"Scripts/Game/Editor/Components/EditableEntity/SCR_EditableEntityComponent.c,786": 'GetPlayerPlatformId' is obsolete +04:43:36.115 SCRIPT (W): @"Scripts/Game/ERR/ERR_SiteService.c,140": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +04:43:36.124 SCRIPT (W): @"Scripts/Game/Workshop/SCR_AddonManager.c,876": 'GetRefCount' is obsolete: Will be removed +04:43:36.157 SCRIPT (W): @"Scripts/Game/Campaign/SCR_PlayerProfileManagerComponent.c,142": 'PlayerData' is obsolete +04:43:36.267 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,159": 'GetDSSession' is obsolete +04:43:36.267 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,162": 'RoomID' is obsolete +04:43:36.267 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,197": 'GetDSSession' is obsolete +04:43:36.267 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,201": 'RoomID' is obsolete +04:43:36.363 SCRIPT (W): @"Scripts/Game/DataCollection/SCR_DataCollectorComponent.c,481": 'GetStorage' is obsolete +04:43:36.363 SCRIPT (W): @"Scripts/Game/DataCollection/SCR_DataCollectorComponent.c,483": 'GetOnlineWritePrivilege' is obsolete +04:43:36.364 SCRIPT (W): @"Scripts/Game/Utilities/SCR_PlayerIdentityUtils.c,20": 'GetPlayerIdentityId' is obsolete +04:43:36.404 SCRIPT (W): @"Scripts/Game/ERR/ERR_ExtractionService.c,45": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +04:43:36.404 SCRIPT (W): @"Scripts/Game/ERR/ERR_ExtractionService.c,56": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +04:43:36.405 SCRIPT (W): @"Scripts/Game/UI/Menu/MainMenuUI.c,643": 'GetNotifyCount' is obsolete: Will be substitued by Notification Api. +04:43:36.405 SCRIPT (W): @"Scripts/Game/UI/Menu/MainMenuUI.c,645": 'GetNotifyItem' is obsolete: Will be substitued by Notification Api. +04:43:36.429 SCRIPT (W): @"Scripts/Game/ERR/ERR_NativeTransportProbe.c,82": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +04:43:36.460 SCRIPT (W): @"Scripts/Game/DataCollection/PlayerData/SCR_PlayerData.c,210": 'PlayerData' is obsolete +04:43:36.730 SCRIPT : Module: WorkbenchGame; loaded 171x files; 616x classes; used 2478K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE"; CRC32: db6febb9 +04:43:36.737 SCRIPT : Module: Game; loaded 5701x files; 11171x classes; used 32480K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE,ENABLE_BASE_DESTRUCTION,BUDGET_OPTIMIZATION_CHECKS,SHOW_DISCLAIMER,DEBUG,RESPAWN_TIMER_COMPONENT_DEBUG,GAME_MODE_DEBUG,DEBUG_CONFIGURABLE_DIALOGS,DISABLE_WEAPON_SWITCHING,SCRIPTED_AIM_MODIFIER_DEBUG"; CRC32: 531b916a +04:43:37.676 SCRIPT : Unable to register a script command due keyword duplicity: ban +04:43:37.676 SCRIPT : Unable to register a script command due keyword duplicity: kick +04:43:56.834 SCRIPT : ERR SITE SURVEY: supply=6150/7050 elevationRange=0.625 min=202.875 max=203.5 +04:44:00.032 SCRIPT : Unable to register a script command due keyword duplicity: ban +04:44:00.032 SCRIPT : Unable to register a script command due keyword duplicity: kick +04:44:12.893 SCRIPT (W): SCR_PerceivedFactionManagerComponent trying to set fall back faction 'CIV' but this faction could not be found so it is null instead. +04:44:12.919 SCRIPT : ERR BASE SMOKE: core-only scripted escape; not manual or multiplayer acceptance +04:44:13.378 SCRIPT (W): Notification data in 'SCR_NotificationsLogDisplay' has duplicate notification info key: 'EDITOR_PERCEIVED_FACTION_PUNISHMENT_KILLING_SET'. There should only be one of each key! +04:44:13.378 SCRIPT (W): Notification data in 'SCR_NotificationsLogDisplay' has duplicate notification info key: 'EDITOR_PERCEIVED_FACTION_TYPE_DISABLED'. There should only be one of each key! +04:44:13.381 SCRIPT (W): Can't open config file "" +04:44:13.388 SCRIPT (W): Slot_WeaponInfo Has no Content! +04:44:13.388 SCRIPT (W): Slot_Chat Has no Content! +04:44:13.388 SCRIPT (W): Slot_VON Has no Content! +04:44:13.388 SCRIPT (W): Slot_AvailableActions Has no Content! +04:44:13.388 SCRIPT (W): Slot_Vehicle Has no Content! +04:44:13.389 SCRIPT (W): Slot_GameVersion Has no Content! +04:44:13.389 SCRIPT (W): Slot_Notifications Has no Content! +04:44:13.389 SCRIPT (W): Slot_Hints Has no Content! +04:44:13.404 SCRIPT (W): Ban Settings could not be loaded from BE Storage: Relying on default config +04:44:13.462 SCRIPT : ScenarioFramework: Available tasks are empty, no new tasks will be generated. +04:44:13.477 SCRIPT : SCR_BaseGameMode::OnGameStateChanged = GAME +04:44:13.659 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +04:44:15.165 SCRIPT : Rereintroduced [sites]: cache clearance position=<6086,211.538,7160> clear=1 +04:44:15.187 SCRIPT : Rereintroduced [sites]: authored everon-prison-1 at <6090,211.444,7160> +04:44:15.188 SCRIPT : Rereintroduced [sites]: cache clearance position=<6150,203.288,7050> clear=1 +04:44:15.218 SCRIPT : Rereintroduced [sites]: authored everon-supply-1 at <6150,203.288,7050> +04:44:15.220 SCRIPT : Rereintroduced [sites]: authored everon-radio-1 at <6500,159.756,7200> +04:44:15.270 SCRIPT : Rereintroduced [sites]: authored everon-extraction-1 at <7000,65.2562,7500> +04:44:15.270 SCRIPT : Rereintroduced [sites]: cache clearance position=<5960,220.256,7220> clear=1 +04:44:15.275 SCRIPT : Rereintroduced [sites]: transport parking=<5960,220.256,7212> radius=4 terrainRange=0.8125 obstructed=0 clear=1 +04:44:15.321 SCRIPT : Rereintroduced [sites]: authored everon-supply-2 at <5960,220.256,7220> +04:44:15.321 SCRIPT : Rereintroduced [sites]: cache clearance position=<6340,175.788,7400> clear=1 +04:44:15.323 SCRIPT : Rereintroduced [sites]: authored everon-medical-1 at <6340,175.788,7400> +04:44:15.323 SCRIPT : Rereintroduced [sites]: cache clearance position=<6740,140.6,7300> clear=1 +04:44:15.326 SCRIPT : Rereintroduced [sites]: cache clearance position=<6740,140.913,7296> clear=1 +04:44:15.328 SCRIPT : Rereintroduced [sites]: cache clearance position=<6736,140.975,7300> clear=1 +04:44:15.328 SCRIPT : Rereintroduced [sites]: cache clearance position=<6744,140.288,7300> clear=1 +04:44:15.329 SCRIPT : Rereintroduced [sites]: authored everon-outpost-1 at <6740,140.6,7300> +04:44:15.412 SCRIPT : Rereintroduced [sites]: 7 sites and 117 physical stock items ready +04:44:15.413 SCRIPT : Rereintroduced [time]: started at 14:00 with 1x progression +04:44:15.413 SCRIPT : Rereintroduced [mission]: phase 0 -> 1 +04:44:15.676 SCRIPT : INFO: Faction: player jakub (playerID = 1 | UUID = 00000000-0000-0000-0000-000000000000) has joined faction #AR-Faction_US (US) +04:44:15.755 SCRIPT : Rereintroduced [spawn]: player 1 at <6090,211.444,7160> +04:44:15.864 SCRIPT : ERR SMOKE PASS: definition authored configuration resolves +04:44:15.864 SCRIPT : ERR SMOKE PASS: definition duplicate site identity rejected +04:44:15.865 SCRIPT : ERR SMOKE PASS: definition dangling document target rejected +04:44:15.865 SCRIPT : ERR SMOKE PASS: definition non-radio document target rejected +04:44:15.865 SCRIPT : ERR SMOKE PASS: definition insufficient guaranteed radio clues rejected +04:44:15.865 SCRIPT : ERR SMOKE PASS: definition unbounded stock rejected +04:44:15.865 SCRIPT : ERR SMOKE PASS: definition unguaranteed clue route rejected +04:44:15.866 SCRIPT : ERR SMOKE PASS: definition radio sources sharing one footprint rejected +04:44:15.866 SCRIPT : ERR SMOKE PASS: definition unnamed location rejected +04:44:15.866 SCRIPT : ERR SMOKE PASS: definition proximity discovery cannot reveal progression sites +04:44:15.866 SCRIPT : ERR SMOKE PASS: definition escape cannot reveal the radio directly +04:44:15.866 SCRIPT : ERR SMOKE PASS: definition unbounded scenery offset rejected +04:44:15.866 SCRIPT : ERR SMOKE PASS: definition valid configuration restored after isolated mutations +04:44:15.867 SCRIPT : ERR SMOKE PASS: base contracts catalog resolves hostile vanilla factions and successful preparation +04:44:15.867 SCRIPT : ERR SMOKE PASS: base contracts physical prisoner matches injected faction and resource +04:44:15.867 SCRIPT : ERR SMOKE PASS: base contracts physical guard squad comes from injected catalog +04:44:15.867 SCRIPT : ERR SMOKE PASS: base contracts same-side factions rejected +04:44:15.867 SCRIPT : ERR SMOKE PASS: base contracts unknown world faction rejected +04:44:15.868 SCRIPT : ERR SMOKE PASS: base contracts missing prisoner resource rejected +04:44:15.868 SCRIPT : ERR SMOKE PASS: base contracts isolated catalog restored without mutating live configuration +04:44:15.868 SCRIPT : ERR SMOKE PASS: base contracts unauthorized settings request rejected +04:44:15.868 SCRIPT : ERR SMOKE PASS: base contracts partially numeric input rejected without mutation +04:44:15.868 SCRIPT : ERR SMOKE PASS: base contracts out-of-range duration rejected without mutation +04:44:15.871 SCRIPT : ERR SMOKE PASS: base contracts normalized base command saves validated duration +04:44:15.871 SCRIPT : ERR SMOKE PASS: base contracts base command reads saved duration +04:44:15.872 SCRIPT : ERR SMOKE PASS: base contracts base settings listing available +04:44:15.872 SCRIPT : ERR SMOKE PASS: base contracts base mission status available before companions +04:44:15.875 SCRIPT : ERR SMOKE PASS: base contracts test setting restored +04:44:15.875 SCRIPT : ERR SMOKE PASS: base outpost barrier is upright +04:44:15.875 SCRIPT : ERR COVER GEOMETRY: low=<6738.99,140.839,7295.42> high=<6740.98,141.655,7296.62> trace=0.377114 +04:44:15.875 SCRIPT : ERR SMOKE PASS: base outpost barrier has physical collision +04:44:15.876 SCRIPT : ERR SMOKE PASS: base outpost barrier is upright +04:44:15.876 SCRIPT : ERR COVER GEOMETRY: low=<6735.42,140.901,7299.02> high=<6736.62,141.718,7301.01> trace=0.377114 +04:44:15.876 SCRIPT : ERR SMOKE PASS: base outpost barrier has physical collision +04:44:15.876 SCRIPT : ERR SMOKE PASS: base outpost barrier is upright +04:44:15.876 SCRIPT : ERR COVER GEOMETRY: low=<6743.42,140.214,7299.02> high=<6744.62,141.03,7301.01> trace=0.377114 +04:44:15.876 SCRIPT : ERR SMOKE PASS: base outpost barrier has physical collision +04:44:15.876 SCRIPT : ERR SMOKE PASS: base exactly three authored outpost barriers exist +04:44:15.876 SCRIPT : ERR SMOKE PASS: mission time clock parsing includes midnight and final minute +04:44:15.877 SCRIPT : ERR SMOKE PASS: mission time malformed clock commands rejected +04:44:15.877 SCRIPT : ERR SMOKE PASS: mission time isolated fixture paths unused +04:44:15.877 SCRIPT : ERR SMOKE PASS: mission time legacy fixture created +04:44:15.878 SCRIPT : ERR SMOKE PASS: mission time existing six-key settings preserved +04:44:15.878 SCRIPT : ERR SMOKE PASS: mission time only absent time settings receive defaults +04:44:15.878 SCRIPT : ERR SMOKE PASS: mission time loading does not rewrite legacy file +04:44:15.883 SCRIPT : ERR SMOKE PASS: mission time explicit save upgrades valid legacy settings +04:44:15.884 SCRIPT : ERR SMOKE PASS: mission time new keys and old values survive reload +04:44:15.885 SCRIPT : ERR SMOKE PASS: mission time present out-of-range time cannot silently default +04:44:15.886 SCRIPT : ERR SMOKE PASS: mission time fractional clock setting rejected +04:44:15.886 SCRIPT : ERR SMOKE PASS: mission time zero multiplier rejected +04:44:15.887 SCRIPT : ERR SMOKE PASS: mission time missing legacy setting remains invalid +04:44:15.888 SCRIPT : ERR SMOKE PASS: mission time partially upgraded file defaults only missing new field +04:44:15.889 SCRIPT : ERR SMOKE PASS: mission time valid saved backup recovers invalid primary +04:44:15.889 SCRIPT : ERR SMOKE PASS: mission time server starts world clock before prison phase +04:44:15.889 SCRIPT : ERR SMOKE PASS: mission time engine progression matches applied multiplier +04:44:15.889 SCRIPT : ERR SMOKE PASS: mission time unauthorized clock mutation rejected +04:44:15.889 SCRIPT : ERR SMOKE PASS: mission time invalid clock command preserves setting +04:44:15.898 SCRIPT : ERR SMOKE PASS: mission time authorized settings persist and test restores originals +04:44:15.898 SCRIPT : ERR SMOKE PASS: mission time saved changes and repeated start leave current clock and speed intact +04:44:15.898 SCRIPT : ERR SMOKE PASS: mission time admin sees current clock separately from next round settings +04:44:15.899 SCRIPT : ERR SMOKE PASS: base native prison objective exists +04:44:15.899 SCRIPT : ERR SMOKE PASS: objective UI current native task exists +04:44:15.902 SCRIPT : ERR SMOKE PASS: objective UI native list and detail layouts created +04:44:15.902 SCRIPT : ERR SMOKE PASS: objective UI native handlers attached +04:44:15.902 SCRIPT : ERR SMOKE PASS: objective UI open list and details contain current title and instructions +04:44:15.903 SCRIPT : ERR SMOKE PASS: objective UI list-only task cannot expose an undiscovered map position +04:44:15.903 SCRIPT : ERR SMOKE PASS: objective UI actual local player receives the active objective +04:44:15.903 SCRIPT : ERR SMOKE PASS: objective UI extraction instructions follow a nondefault boundary +04:44:15.903 SCRIPT : ERR SMOKE PASS: base authored supply cache is a separate scavenging location +04:44:15.903 SCRIPT : ERR BASE STOCK: cache items=54 +04:44:15.903 SCRIPT : ERR SMOKE PASS: base cache holds finite physical equipment and objective documents +04:44:15.904 SCRIPT : ERR SMOKE PASS: base no companion HQ or support controller loaded +04:44:15.904 SCRIPT : ERR SMOKE PASS: base prisoner spawned in authored prison +04:44:15.904 SCRIPT : ERR SMOKE PASS: base gate, clues, radio and helicopter created by core +04:44:15.904 SCRIPT : Rereintroduced [mission]: phase 1 -> 2 +04:44:15.906 SCRIPT : ERR SMOKE PASS: base gate action begins escape +04:44:15.908 SCRIPT : ERR SMOKE PASS: base test defence duration accepted +04:44:15.908 SCRIPT : ERR SMOKE PASS: base previous native objective completes on phase change +04:44:15.908 SCRIPT : ERR SMOKE PASS: base search objective does not expose a hidden site +04:44:15.908 SCRIPT : ERR SMOKE PASS: objective UI current native task exists +04:44:15.911 SCRIPT : ERR SMOKE PASS: objective UI native list and detail layouts created +04:44:15.911 SCRIPT : ERR SMOKE PASS: objective UI native handlers attached +04:44:15.912 SCRIPT : ERR SMOKE PASS: objective UI open list and details contain current title and instructions +04:44:15.912 SCRIPT : ERR SMOKE PASS: objective UI list-only task cannot expose an undiscovered map position +04:44:15.912 SCRIPT : ERR SMOKE PASS: objective UI actual local player receives the active objective +04:44:15.912 SCRIPT : ERR SMOKE PASS: objective UI extraction instructions follow a nondefault boundary +04:44:15.912 SCRIPT : ERR SMOKE PASS: base both named supply routes revealed after escape +04:44:15.913 SCRIPT : ERR SMOKE PASS: base optional sites remain hidden until approached +04:44:21.914 SCRIPT : ERR SMOKE PASS: base unconscious player cannot discover optional sites +04:44:28.024 SCRIPT : ERR SMOKE PASS: base distant player cannot discover optional sites +04:44:28.025 SCRIPT : ERR SMOKE PASS: base isolated visibility obstacle created +04:44:28.025 SCRIPT : ERR VISIBILITY OBSTACLE: low=<6338.5,174.97,7403.87> high=<6341.5,178.737,7404.13> observer=<6340.43,174.706,7466.71> target=<6340,175.788,7400> +04:44:34.092 SCRIPT : ERR SMOKE PASS: base physical wall prevents nearby site discovery +04:44:40.161 SCRIPT : ERR SMOKE PASS: base conscious nearby player visually discovers named medical stash once +04:44:40.161 SCRIPT : ERR SMOKE PASS: base proximity cannot bypass radio documents +04:44:40.666 SCRIPT : ERR SMOKE PASS: base physical clue recovered +04:44:40.824 SCRIPT : Rereintroduced [intel]: player 1 recovered folder; location=everon-radio-1 knowledge=1 +04:44:43.197 SCRIPT : ERR SMOKE PASS: base physical clue recovered +04:44:43.845 SCRIPT : Rereintroduced [intel]: player 1 recovered folder; location=everon-radio-1 knowledge=2 +04:44:45.723 SCRIPT : ERR SMOKE PASS: base objective guidance reacts to discovered radio +04:44:45.723 SCRIPT : ERR SMOKE PASS: objective UI current native task exists +04:44:45.724 SCRIPT : ERR SMOKE PASS: objective UI open list and details contain current title and instructions +04:44:45.724 SCRIPT : ERR SMOKE PASS: objective UI list-only task cannot expose an undiscovered map position +04:44:45.724 SCRIPT : ERR SMOKE PASS: objective UI actual local player receives the active objective +04:44:45.724 SCRIPT : ERR SMOKE PASS: objective UI extraction instructions follow a nondefault boundary +04:44:45.727 SCRIPT : ERR SMOKE PASS: base discovery ticks do not repeat the location event +04:44:45.727 SCRIPT : ERR SMOKE PASS: base documents identify radio without Intel addon +04:44:46.740 SCRIPT : ERR SMOKE PASS: radio service identified radio and real controlled prisoner available +04:44:46.752 SCRIPT : ERR SMOKE PASS: radio service second physical defender created with simulated connection membership +04:44:46.752 SCRIPT : ERR SMOKE PASS: radio service ordinary AI cannot tune even while alive and nearby +04:44:46.753 SCRIPT : ERR SMOKE PASS: radio service missing radio rejected +04:44:46.753 SCRIPT (E): ERR SMOKE FAIL: radio service tuning outside five metres rejected +04:44:46.757 SCRIPT : ERR SMOKE PASS: radio service isolated test restores live duration setting and player state diff --git a/docs/evidence/native-2026-09-19-044330-radio-fixture-failure/source-sha256.json b/docs/evidence/native-2026-09-19-044330-radio-fixture-failure/source-sha256.json new file mode 100644 index 0000000..7b787be --- /dev/null +++ b/docs/evidence/native-2026-09-19-044330-radio-fixture-failure/source-sha256.json @@ -0,0 +1,115 @@ +{ + "addons/ai/Prefabs/ERR/MortarCrew.et": "05d3e7353ff9fe5523218a1487b31b7b742b0be8adbcb060c7099978cf008bce", + "addons/ai/Prefabs/ERR/MortarCrew.et.meta": "fdfd4fcd21a67c3d698fa4aadc4e5c76e665cebf4be86013bc389e493fab63cc", + "addons/ai/Scripts/Game/ERR/ERR_HQ.c": "ceafd6740ed277748744ce56ac0f0bb3a8521fcc060dafb2cdb99896aedf405a", + "addons/ai/Scripts/Game/ERR/ERR_HQJournal.c": "b3e402cfe92d415f37f666045afb062e6e11670ba03a0ca6f2d9fd4fc3520ac1", + "addons/ai/Scripts/Game/ERR/ERR_HQNetwork.c": "92ff2caca52e94c2cc9642dfc8509ce6e9349b257012bade8650bace9231128c", + "addons/ai/Scripts/Game/ERR/ERR_HQObservation.c": "36c978ec5f052213ac1236e1398d85063efbfd7ef60fe04f1fc11447fefe1d68", + "addons/ai/Scripts/Game/ERR/ERR_HQReport.c": "c4d16ccb571db4d9444c0a8d2be7318845d25ff90238b6d304e96a9ea19f1a08", + "addons/ai/Scripts/Game/ERR/ERR_HelicopterAvailability.c": "60eaef2f6d4b2fd44861c5a4434ef97e732e40a5ff7401e2da451ed2dd9c2762", + "addons/ai/Scripts/Game/ERR/ERR_MortarBattery.c": "66b8f16b692a0f75fc9d920f5224d9292a0f1dc7dd8b2dde912e676fa80ddc9c", + "addons/ai/Scripts/Game/ERR/ERR_MortarFiring.c": "657e96d1112b68c8ced37793e99f88e6078b38a579190e63d00b1f9a9a032e26", + "addons/ai/Scripts/Game/ERR/ERR_MortarPrediction.c": "470dd196ed64800c697d24c09d1344bacd2502587fac76af4ee0edae2563092d", + "addons/ai/Scripts/Game/ERR/ERR_MortarSalvo.c": "697c01f479df6c505a41d984a29c02002e3052114dafa2ec6252ae55e2979a2b", + "addons/ai/Scripts/Game/ERR/ERR_MortarSystem.c": "12d8fc39d47e03c3838e0642aa9e4a80baf60f250357493bff812d5c75812c86", + "addons/ai/Scripts/Game/ERR/ERR_SettlementSafety.c": "e5c0ebc95521a9a33a3f7d9cca6c551dda862a08b7af20b017877aba9584795b", + "addons/ai/Scripts/Game/ERR/ERR_SupportScenario.c": "71757018ec9716c4dc24f62a292a214919d3fd5daed3c16e03e56abd208e9f03", + "addons/ai/addon.gproj": "5f559db8f526700db11e6ae763f5245f19b7006fc68c56e4c09fb6f940bdf2a1", + "addons/chat/Missions/ERR_Everon.conf": "76f3ac0d21b585654beac7ddd68e3c8cbdd66dbfe909b17b04838fa813a7c29b", + "addons/chat/Missions/ERR_Everon.conf.meta": "0a23c98bf83873536c65fa17d38dea33a1d7b9e4ab210f90633ff688abcc551f", + "addons/chat/Scripts/Game/ERR/ERR_AdminCommands.c": "7ea6d6b240524cf0193c86fcab861fbdef9adca780acff11ee73f9ed0e99ce7b", + "addons/chat/Scripts/Game/ERR/ERR_NativeMortarProbe.c": "ddb892141500c192c0787b011d57dd8c07dd8c9a3ca5fdc407f6c271897bde0a", + "addons/chat/Scripts/Game/ERR/ERR_NativeRadioProbe.c": "84524163c63402755b4f834f74dfe6d8e5c397dc26031f532593c6f79f5a93b1", + "addons/chat/Scripts/Game/ERR/ERR_NativeSmoke.c": "0ab2fed95dcaa0442cf7feb25743308060d58497e347f17dbd25c8e970a9f81f", + "addons/chat/Scripts/WorkbenchGame/ERR/ERR_ValidateWorldPlugin.c": "81c92d408ce88cc9f98d6053f1d0c863427693ba748f00df9f1bf8079015ef94", + "addons/chat/addon.gproj": "ea1587e0174cf795334d306c71d99b06797fc891427cd57b6cab6e21cf0e4e0e", + "addons/core/Configs/ERR/EveronSites.conf": "2edb2c6983eb627800b65d9e244b9b228e0b82282e089c7b12e5a8921a2ea7bf", + "addons/core/Configs/ERR/EveronSites.conf.meta": "d5fe68025ef4e7c1e16082cf5873b7c7172eacbfaef4ab29b7e0e3c98f8dca56", + "addons/core/Configs/ERR/GameOverScreens.conf": "45231061911a1462d45fb6db0fecc2b0793f17b5ae71017174954ff4fbd20236", + "addons/core/Configs/ERR/GameOverScreens.conf.meta": "eb654b745c0b97b41c991694569ef4877a3c2315e0826f9556337cd68690843e", + "addons/core/Configs/ERR/VanillaFactions.conf": "f8b8b9898a16b4a4a55ab3c12d2547bef2dc433732c7643df980cb3aca715212", + "addons/core/Configs/ERR/VanillaFactions.conf.meta": "ac77725c0c21974991ef47a466b88122e939de8b46fd23e68889e7674cbb2bfd", + "addons/core/Missions/ERR_Everon_Base.conf": "1e6a0e9a756d15495201f71121626890f01efe6b00154c561672d4ec157960bd", + "addons/core/Missions/ERR_Everon_Base.conf.meta": "9b16267c644d815bcf98a3a3aaff30b93d7224fb24d3a2bac66730a28011f317", + "addons/core/Prefabs/ERR/Extraction.et": "1aa286ef253c5410f09fa641e4be91a7be8ec834487a7fbb74cfb45cab60ee1e", + "addons/core/Prefabs/ERR/Extraction.et.meta": "c2a838633001e2e3a202d39cb33aa744ebcd996017ad032359069641b5d13853", + "addons/core/Prefabs/ERR/FieldCover.et": "20f8095e69dbfe3db74ff19078e528ea75405362b335e03560ccd61f8df2e7f3", + "addons/core/Prefabs/ERR/FieldCover.et.meta": "83461ffa76244e1d69f20b053a9741ccdf7d127009182bd540a7e5ba6150c3d9", + "addons/core/Prefabs/ERR/GameMode.et": "385c97a5b8067091d92aa60c2d4fcf02002cf606b95523866ead65c96b8c0029", + "addons/core/Prefabs/ERR/GameMode.et.meta": "106769cd34525c9d440057072836cb7401a6752148c40edd7fe61c03bd58328c", + "addons/core/Prefabs/ERR/ObjectiveDocument.et": "2e72270bf186654af12d2c3ff9bf940690b03fb17fca44f873c1fde5d11384c0", + "addons/core/Prefabs/ERR/ObjectiveDocument.et.meta": "eaba9903be147b98a1106e2273e2270773df73b9b22f2cd4e20136a8e281382e", + "addons/core/Prefabs/ERR/Patrol.et": "c5685a8bc311cc5563fb3334beec9408d3d7a1069152fddeeb7df4f1b7f9e6ce", + "addons/core/Prefabs/ERR/Patrol.et.meta": "7c5da568fa2fcf0709ee2959253cb068d7c7ed7c2467af3b247a7e70efd96b69", + "addons/core/Prefabs/ERR/Prison.et": "1503db1441d8cd7a4f0b45c27ba9623b9fa39f0f81016e180bd2aa1379e1f42a", + "addons/core/Prefabs/ERR/Prison.et.meta": "2e426ef3de68f4107907854b51e818bc11d84649a01c538e3f18dd9ebec766bb", + "addons/core/Prefabs/ERR/PrisonDoor.et": "fc66be9d36f1f01084de59f1b0a1e8817f9e46547ead33d4fafaac0107446c40", + "addons/core/Prefabs/ERR/PrisonDoor.et.meta": "b8f3db52bf186426026668fbb9d633c3cbd4d438ab301fba880398f6a0e781c2", + "addons/core/Prefabs/ERR/PrisonWall.et": "8009d19365ae72a4749d7ad4fa04662575b06c65c6bf06507d380d57258b5eed", + "addons/core/Prefabs/ERR/PrisonWall.et.meta": "0294bc5dbb56f90f8153d62459bb0a6ad91d76a479812bbec9c7db182fdb58d6", + "addons/core/Prefabs/ERR/Radio.et": "b4b5cfe125b39019855816c9a1c508ca4d65d435b5546fdaa6c1fa3c8c9b1165", + "addons/core/Prefabs/ERR/Radio.et.meta": "bc91137b68ba550217914fb8892bb44d7e1920e4a1086f3e506623832a44212f", + "addons/core/Prefabs/ERR/SpectatorCamera.et": "b5b87d5b7b707f3745741aebe7c923067c8a74f8fbb2a4711834bab03bb5a812", + "addons/core/Prefabs/ERR/SpectatorCamera.et.meta": "2a16558f93915e31908a674509e9c89976470f78a84a1174a64b94b68b8f77ad", + "addons/core/Prefabs/ERR/SupplyCache.et": "bccf7afbaae97cfcdd78dd6dbbf4be5b2c045d348f50fe4581962e556c0044d7", + "addons/core/Prefabs/ERR/SupplyCache.et.meta": "2f5de3a4aab1e9d0e35521f48dc57b95bd6e449c383dec4f1c258e10295904cb", + "addons/core/Prefabs/ERR/SupplySite.et": "dc5decce5cabf39b6116e8794ec3960cb1e35761854fdbe69740da118787ded4", + "addons/core/Prefabs/ERR/SupplySite.et.meta": "b41944b12eb3528ff7a3ac94258b18c66ef161aa6a38894aee300a1ac4798630", + "addons/core/Scripts/Game/ERR/ERR_Actions.c": "adf93245e6d78c59b9839599d157a0d2b2b93ea93b3d1ae52e2904dd6c288266", + "addons/core/Scripts/Game/ERR/ERR_Actors.c": "b3c5aabb05f7cf35167bc09b5db51a4ffd89a46658805d6eedbfb80eee30273d", + "addons/core/Scripts/Game/ERR/ERR_AdminService.c": "047c14ce60cc0b167e202438f8f2b1063590e69ef88ea55b54598aea5f99c505", + "addons/core/Scripts/Game/ERR/ERR_DiscoveryMap.c": "2f4ea342fea0530061456be9cdce002d5e7a282e4e27eb88f3860e79f93612bf", + "addons/core/Scripts/Game/ERR/ERR_DiscoveryService.c": "6b5679447fe4a6d7d54c0545881ab56284f871556b3159207d421247f419eada", + "addons/core/Scripts/Game/ERR/ERR_DocumentComponent.c": "17bb76b80ebd3357e46d553c44674f602c7bd6901c92aec53ac8214194aa4ff2", + "addons/core/Scripts/Game/ERR/ERR_EscapeGameOverScreenInfo.c": "b1e1afb7795cb77c0bad94c85abf705b26b9dc2a9400905d80eafd56bdd009d3", + "addons/core/Scripts/Game/ERR/ERR_ExtractionService.c": "91357099b4e0401196b67d48963be54be30e56bdba57cdac67dc20b8ebb883e9", + "addons/core/Scripts/Game/ERR/ERR_FactionCatalog.c": "a5a8c53acf21259e14f59cb919535910f30dabff5a9179c664bc6a7a4d744d6e", + "addons/core/Scripts/Game/ERR/ERR_GameMode.c": "d766d1639378070bea64eef38baa4667f8b9f5f1a2a7b170f0fc5e8fd557917d", + "addons/core/Scripts/Game/ERR/ERR_Location.c": "d2035f56ded35743312ec6ca91a67f8623a466c91255e1893c570edf0954ff24", + "addons/core/Scripts/Game/ERR/ERR_MissionRules.c": "f7abc38ad8fdc375ce7fa63a65f0bade027d22b37e09de5e3f94ba8c3c63cc41", + "addons/core/Scripts/Game/ERR/ERR_NativeBaseSmoke.c": "60a573d974b4862b1b66e9cb0ef2ee7d056f698cf1e4f5af5233bde7c59e931f", + "addons/core/Scripts/Game/ERR/ERR_NativeContractsProbe.c": "d1556df885171cf967e96eef5d8981a2e9ee4e3938b7d32fdd0426f647bbabc0", + "addons/core/Scripts/Game/ERR/ERR_NativeDefinitionProbe.c": "d05ef8368ef5afa68e29f45843cb1878b5a09be768f8abdff2f4115c23759b01", + "addons/core/Scripts/Game/ERR/ERR_NativeExtractionProbe.c": "4b09385f73206de004f4f3c38a6192fd658a0d2012482dc5a84dff1599ceb972", + "addons/core/Scripts/Game/ERR/ERR_NativeObjectiveProbe.c": "451f46d9a51753841046698911ee9954088214b6df856776a316865466fbce0f", + "addons/core/Scripts/Game/ERR/ERR_NativeRadioDefenceProbe.c": "629917af38af5b5e34198ff5a5c0da7e48edf1c33d95bb278cceb3cc31028f5d", + "addons/core/Scripts/Game/ERR/ERR_NativeResultProbe.c": "b9a117eef2d5f65fbd792041a2b3e59e38e201bda8e0df8c503e1a1242cfc415", + "addons/core/Scripts/Game/ERR/ERR_NativeSiteSurvey.c": "ac0203753ade0cdff6d483132797a80e4520f14546c3f9dea288281cd4cd9c4f", + "addons/core/Scripts/Game/ERR/ERR_NativeStationTeardownDiagnostic.c": "c01cbdbfe25fd38916fa74f2c02333baaacd5228686fd6e40b33c27b3cea8ed8", + "addons/core/Scripts/Game/ERR/ERR_NativeTimeProbe.c": "c93d049785971e51246fcc07cf24804270a752a655505f2c38e48c80df5255ae", + "addons/core/Scripts/Game/ERR/ERR_NativeTransportProbe.c": "63ec0c5ce698114daa6314b2a6e3c3e98e76094117c477f9d0d072260686d193", + "addons/core/Scripts/Game/ERR/ERR_NativeTransportSurvey.c": "3e94493bf54d15be2bceb106ad18873e14e6755af09c05f07db7fb26fb7adff5", + "addons/core/Scripts/Game/ERR/ERR_ObjectiveDetails.c": "900bdcd11075230e0d311ca8725c1d7938cb2a4efa71360709003d90092a7e69", + "addons/core/Scripts/Game/ERR/ERR_ObjectiveText.c": "bbb29949194637e6781316836c895e2c0fa7ccdb547d4d944a717da2ad73b0a2", + "addons/core/Scripts/Game/ERR/ERR_Objectives.c": "88d95a52fcba103483ea751571e1afeae0e6fc82115ed50d6fc195424726960f", + "addons/core/Scripts/Game/ERR/ERR_Observer.c": "b719e723369ab4f403950c85226e1336eb48e3c127e84530ac1c695eb86bd0f9", + "addons/core/Scripts/Game/ERR/ERR_PlayerAdminCommands.c": "a084d7dc097dfcde3d6cd9c2e326b9e2f8f2a519f77b30c4f56ab7a1429aa721", + "addons/core/Scripts/Game/ERR/ERR_PlayerEscapeResult.c": "3124ab4d2d6d471409a47aba0af528790734df53243c03fe0cdac3e407047c14", + "addons/core/Scripts/Game/ERR/ERR_PlayerGuide.c": "2c9c365b88651f8b12618443638bf52c04e497221592bd483c33447e30468f36", + "addons/core/Scripts/Game/ERR/ERR_PlayerRoster.c": "a737ba739b3f73a91cd05d808a1d45070e83b5152c003c3164e29842dda51995", + "addons/core/Scripts/Game/ERR/ERR_RadioDefenceService.c": "85eb9c1b65d5987799927b6d8786b7299fcff849bcb15b91f8a4d1aa95823fd1", + "addons/core/Scripts/Game/ERR/ERR_Resources.c": "8a5314944f75b23982c6b99697045e3c0538aa2137b2c947a5b2411e6076ac03", + "addons/core/Scripts/Game/ERR/ERR_ScenarioComponent.c": "abba03af68323d5715ba1e2497fc66f3c706e6a6a983c3a386228abdfddeec89", + "addons/core/Scripts/Game/ERR/ERR_Settings.c": "2aee784e44c732e09f59150896491ab325ef5e62aa6bad725be1fda955a3f614", + "addons/core/Scripts/Game/ERR/ERR_SiteDefinition.c": "75b5121ceab77f0956f0dc34bd077b11af5586350de52321800427f18cc94477", + "addons/core/Scripts/Game/ERR/ERR_SiteService.c": "7ba02712562b3c8cd8de9851b6f26fed85020faacceef0767408b300b935c110", + "addons/core/Scripts/Game/ERR/ERR_SpawnLogic.c": "f84f0c22562912c020e8be81748f36a883dd265d8d9786d0548f32bda5b4b92e", + "addons/core/Scripts/Game/ERR/ERR_Supplies.c": "752e8a56b0b8cde33cf532032cb0a203553017b686faac2e19bee06f7a9c0713", + "addons/core/Scripts/Game/ERR/ERR_TimeService.c": "d9f481b7da01e08d2c982a948c18ba6bde76889d7cc9d26d510708f4ba479453", + "addons/core/Scripts/WorkbenchGame/ERR/ERR_ValidateBaseWorldPlugin.c": "7f44aa64ea7b4f8b3640a37a4b781c43bf6adb80e4a3a702d9491131698056f6", + "addons/core/Worlds/ERR_Everon.ent": "22324bc7eb0d80dec8a1f3bd61a9df9201b72f749f4e751766b0c9d0b7d46b87", + "addons/core/Worlds/ERR_Everon.ent.meta": "19d1903ca72baa326b4724a6791d0da1104a1e53f3f31dc1ca41a856efd68e83", + "addons/core/Worlds/ERR_Everon_Layers/default.layer": "f1a058bd315c7d01d464715ac9f4e18ae3d2432551d094a9afbd4c9c5a2a9416", + "addons/core/addon.gproj": "231274e6b62302f32c65f9ff31de2ce8a9e51e1c8d12c87deeec82ae1f40de46", + "addons/intel/Scripts/Game/ERR/ERR_IntelService.c": "482839434b94e7f8c345d5fd96490aeebb765f3dd0c1bb25fceea2f435c0e722", + "addons/intel/addon.gproj": "d0ced242cefb220a5cccd6779d61fda9bc55581701b9f78bcf13c09d92ddbcbe", + "addons/map/Materials/ERRM_MapRenderTarget.emat": "9877c5b175c5f30dd80bea36c711b21ab38219aa7075adf9ae79932e1d4c76bc", + "addons/map/Materials/ERRM_MapRenderTarget.emat.meta": "5ee1a705f8011a44020ca2691f5ccc17d44bf596fef9a36e98d1f267eb58fab0", + "addons/map/Prefabs/Items/Equipment/ERRM_SharedFieldMap.et": "30dee8e9eab459ea32a7d835a9fb89d43df47708057cab829f067b25a24cd581", + "addons/map/Prefabs/Items/Equipment/ERRM_SharedFieldMap.et.meta": "59093e9072c50d99c86da7609c87541016da5bcf92b98d99db4c524e1c8e0e8d", + "addons/map/Scripts/Game/ERR/ERR_ScenarioMap.c": "75fa1d742129ef7f33c005cd48f56db7f49ee7bde3c5428532b0b501b032b0a3", + "addons/map/Scripts/Game/ERRMap/ERRM_SharedMapComponent.c": "fc1a0c7df4fc96da446d7542a45a10fbec1eda1e543ba2f0581cb772277a47c5", + "addons/map/UI/layouts/ERRMap/SharedMapRenderTarget.layout": "49a2da4181b94d42174f58c7f9b6bf2207116c99427d61ff1c212092ac7db4d2", + "addons/map/UI/layouts/ERRMap/SharedMapRenderTarget.layout.meta": "5c846445cc089e2e08899ba703059d4adb805ff30ab5a16409a3cd59718cbd54", + "addons/map/addon.gproj": "1b371e5e01ea9fa46e76570fecb8aaa3a9298e34cba7ccca8a6bdb5ca86eb46a" +} diff --git a/docs/evidence/native-2026-09-19-044608-radio-position-fixture-failure/console.log.txt b/docs/evidence/native-2026-09-19-044608-radio-position-fixture-failure/console.log.txt new file mode 100644 index 0000000..5786801 --- /dev/null +++ b/docs/evidence/native-2026-09-19-044608-radio-position-fixture-failure/console.log.txt @@ -0,0 +1,493 @@ +--------------------------------------------- +Log Z:\tmp\erri-workbench-profile\logs\logs_2026-09-19_04-46-08\console.log started at 2026-09-19 04:46:08 (2026-09-19 02:46:08 UTC) + +04:46:08.348 ENGINE : FileSystem: Adding relative directory 'Z:\tmp\erri-workbench-profile\logs\logs_2026-09-19_04-46-08' to filesystem under name logs +04:46:08.348 ENGINE : FileSystem: Adding relative directory 'Z:\tmp\erri-workbench-profile\profile' to filesystem under name profile +04:46:08.348 ENGINE : FileSystem: Current working directory: 'Z:\home\jakub\.local\share\Steam\steamapps\common\Arma Reforger Tools\Workbench\' +04:46:08.350 PROFILING : Workbench Create Engine took: 9.681900 ms +04:46:09.386 INIT : INIT : Workbench Init Engine +04:46:09.386 ENGINE : Initializing engine, version 192142 +04:46:09.386 ENGINE : CLI Params: -gproj Z:/home/jakub/devel/escapistsrereintroduced/addons/core/addon.gproj -addonsDir Z:/home/jakub/devel/escapistsrereintroduced/addons -profile Z:/tmp/erri-workbench-profile -logconsole -wbModule WorldEditor -load Worlds/ERR_Everon.ent -plugin ERR_ValidateBaseWorldPlugin -errPlay 1 -errBaseSmoke 1 -errSmokeOutcome victory -noThrow -errStationTeardownDiag 1 +04:46:09.395 ENGINE : Addon dirs: +04:46:09.395 ENGINE : dir: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/core/' +04:46:09.395 ENGINE : dir: 'Z:/home/jakub/devel/escapistsrereintroduced/addons' +04:46:09.395 ENGINE : dir: './addons' +04:46:09.395 ENGINE : dir: 'Z:/tmp/erri-workbench-profile/addons' +04:46:09.395 ENGINE : Available addons: +04:46:09.395 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/core/addon.gproj' guid: '2528466DE220D91C' +04:46:09.395 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/ai/addon.gproj' guid: '5192138CB9D5B911' +04:46:09.395 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/chat/addon.gproj' guid: 'FA804F411BDDF2C6' +04:46:09.395 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/intel/addon.gproj' guid: 'D31039C7C53E348A' +04:46:09.395 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/map/addon.gproj' guid: '9AAEE9041D79809E' +04:46:09.395 ENGINE : gproj: './addons/core/core.gproj' guid: '5614BBCCBB55ED1C' (packed) +04:46:09.395 ENGINE : gproj: 'Z:/tmp/erri-workbench-profile/addons/ArmaReforger/ArmaReforger.gproj' guid: '58D0FB3206B6F859' (packed) +04:46:09.396 ENGINE : FileSystem: Adding relative directory 'Z:\home\jakub\devel\escapistsrereintroduced\addons\core' to filesystem under name ERR_Core +04:46:09.529 ENGINE : FileSystem: Adding package 'Z:/tmp/erri-workbench-profile/addons/ArmaReforger/' (pak count: 14) to filesystem under name ArmaReforger +04:46:09.534 ENGINE : FileSystem: Adding package './addons/core/' (pak count: 2) to filesystem under name core +04:46:09.534 ENGINE : CPU vendor : AuthenticAMD +04:46:09.534 ENGINE : CPU type : 2 +04:46:09.534 ENGINE : CPU name : AMD Ryzen 7 3800XT 8-Core Processor +04:46:09.534 ENGINE : CPU cache info : L1 [Inst 32KB, Data 32KB], L2 [Unif 512KB], L3 [Unif 16384KB] +04:46:09.534 ENGINE : CPU count logical : 16 +04:46:09.534 ENGINE : CPU count physical : 8 +04:46:09.534 ENGINE : CPU features : mmx sse sse2 sse3 ssse3 sse4_1 sse4_2 popcnt aesni pclmulqdq osxsave avx sha avx2 +04:46:09.534 RESOURCES : ResourceDB: loading cache (id=0 name=ERR_Core path=Z:\home\jakub\devel\escapistsrereintroduced\addons\core/resourceDatabase.rdb) +04:46:09.535 RESOURCES : ResourceDB: loading cache (id=1 name=ArmaReforger path=Z:/tmp/erri-workbench-profile/addons/ArmaReforger/resourceDatabase.rdb) +04:46:09.705 RESOURCES : ResourceDB: loading cache (id=2 name=core path=./addons/core/resourceDatabase.rdb) +04:46:09.707 RESOURCES : ResourceDB: loading cache (id=3 name=profile path=Z:\tmp\erri-workbench-profile\profile/resourceDatabase.rdb) +04:46:09.707 RESOURCES : ResourceDB: loading cache (id=4 name=logs path=Z:\tmp\erri-workbench-profile\logs\logs_2026-09-19_04-46-08/resourceDatabase.rdb) +04:46:09.858 RESOURCES : RESOURCES : ResourceDB: full scan +04:46:09.864 RESOURCES : RESOURCES : scanning... +04:46:09.864 RESOURCES : RESOURCES : scanning @"ERR_Core" +04:46:09.868 RESOURCES : RESOURCES : scanning @"ArmaReforger" +04:46:10.003 RESOURCES : RESOURCES : scanning @"core" +04:46:10.006 RESOURCES : RESOURCES : scanning @"profile" +04:46:10.006 RESOURCES : RESOURCES : scanning @"logs" +04:46:10.007 RESOURCES : RESOURCES : processing meta-files... +04:46:10.074 RESOURCES : RESOURCES : processing files... +04:46:10.085 INIT : Workbench startup +04:46:10.085 INIT : Workbench Init Engine +04:46:10.085 RESOURCES : ResourceDB: full scan +04:46:10.085 RESOURCES : processing files... +04:46:10.085 RESOURCES (W): resource not registered: @"$profile:rereintroduced.json". Setting null GUID +04:46:10.085 RESOURCES : RESOURCES : processing folders... +04:46:10.091 RESOURCES : RESOURCES : creating GUID-item mapping... +04:46:10.109 RESOURCES : RESOURCES : building tree... +04:46:10.166 PROFILING : ResourceDB: full scan took: 308.372700 ms +04:46:10.167 RESOURCES : ResourceDB: saving cache (id=0 name=ERR_Core path=Z:\home\jakub\devel\escapistsrereintroduced\addons\core/resourceDatabase.rdb) +04:46:10.169 RESOURCES : ResourceDB: written 3823/3823 bytes +04:46:10.169 RESOURCES : ResourceDB: cache successfully saved +04:46:10.169 RESOURCES : ResourceDB: saving cache (id=3 name=profile path=Z:\tmp\erri-workbench-profile\profile/resourceDatabase.rdb) +04:46:10.170 RESOURCES : ResourceDB: written 206/206 bytes +04:46:10.170 RESOURCES : ResourceDB: cache successfully saved +04:46:10.170 RESOURCES : ResourceDB: saving cache (id=4 name=logs path=Z:\tmp\erri-workbench-profile\logs\logs_2026-09-19_04-46-08/resourceDatabase.rdb) +04:46:10.171 RESOURCES : ResourceDB: written 81/81 bytes +04:46:10.171 RESOURCES : ResourceDB: cache successfully saved +04:46:10.171 ENGINE : GameProject load +04:46:10.171 ENGINE : Loaded addons: +04:46:10.171 ENGINE : gproj: './addons/core/core.gproj' guid: '5614BBCCBB55ED1C' +04:46:10.171 ENGINE : gproj: 'Z:/tmp/erri-workbench-profile/addons/ArmaReforger/ArmaReforger.gproj' guid: '58D0FB3206B6F859' +04:46:10.171 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/core/addon.gproj' guid: '2528466DE220D91C' +04:46:10.173 ENGINE : Loading custom engine user config '$profile:.save/app1874910_user76561198020202999/settings/ReforgerEngineSettings.conf' +04:46:10.173 INIT : GameProject engine user settings load @"$profile:.save/app1874910_user76561198020202999/settings/ReforgerEngineSettings.conf" +04:46:10.173 ENGINE : Engine user settings config loaded +04:46:10.173 PROFILING : Settings changed took: 0.001500 ms +04:46:10.274 RENDER : (OK) Adapter 'AMD Radeon RX 6950 XT (RADV NAVI21)' supports feature level 12_0 +04:46:10.275 RENDER : Basic screen setup: +04:46:10.275 RENDER : Back buffer format : TEXFMT_R8G8B8A8_SRGB (29) +04:46:10.275 RENDER : MSAA : none +04:46:10.291 RENDER : AMD AGS library initialized, version 6.1.0 x DLL 6.1.0 +04:46:10.291 RENDER : Extendeded AMD info for AMD Radeon RX 6950 XT (RADV NAVI21) (primary device) +04:46:10.291 RENDER : * architecture RDNA2, 80 CUs, 40 WGPs (for RDNA), 64 ROPs +04:46:10.291 RENDER : * core clocks 2720 MHz, memory 1124 MHz +04:46:10.291 RENDER : * TFlops 27.9, memory bandwidth (562.0 GB/s) +04:46:10.291 RENDER : AMD AGS correctly initialized +04:46:10.291 RENDER : GPU_ATI (0x1002) (AMD Radeon RX 6950 XT (RADV NAVI21)) with 1 GPU detected, VRAM 16128MB (fast 0MB), shared 64362MB, driver version 99.19.02-230831a-396538C-AMD-Software-Adrenalin-Edition +04:46:10.291 RENDER : Detected output devices: +04:46:10.291 RENDER : * 1 device/s connected to AMD Radeon RX 6950 XT (RADV NAVI21): +04:46:10.291 RENDER : Generic Non-PnP Monitor (\\.\DISPLAY1), 1280x720 (offset 0x0), 30Hz +04:46:10.291 RENDER : Concurrent frames limit 2 +04:46:10.365 RENDER : DX12 device successfully created by AMD AGS library +04:46:10.365 RENDER : * user markers not supported in this version AMD SW +04:46:10.365 RENDER : Graphics device features +04:46:10.365 RENDER : Needed: +04:46:10.365 RENDER : * Highest supported shader model: 6.8 (6.0 needed) +04:46:10.365 RENDER : Optional: +04:46:10.365 RENDER : * Allow tearing (VSYNC) : 1 +04:46:10.365 RENDER : * 16 bits : 1 +04:46:10.365 RENDER : * Resource heap tier : 3 +04:46:10.365 RENDER : * Persistent heaps (DRED) : 1 +04:46:10.365 RENDER : * DRED 1.2 is supported by compiler +04:46:10.388 RENDER : Main RT format setup. +04:46:10.388 RENDER : Main RT format for quality 0 : TEXFMT_R11G11B10_FLOAT (26) +04:46:10.388 RENDER : Main RT format for quality 1 : TEXFMT_R16G16B16A16_FLOAT (10) +04:46:10.390 ENGINE : Job system settings: coreCount=16, shortJobContextCount=16, shortJobThreadCount=15, longJobThreadCount=16 +04:46:10.419 PROFILING : Settings changed took: 0.021800 ms +04:46:10.860 AUDIO : Endpoint: Speakers (PulseAudio Output) +04:46:10.860 AUDIO : Format: Channels: 2, Sample rate: 48kHz, Avg. bytes: 384kB, Sample bits: 32, Block align: 8B +04:46:10.860 AUDIO : Audio client: +04:46:10.860 AUDIO : Format: Channels: 2, Sample rate: 48kHz, Buffer size: 1536B, Frame: 512 +04:46:10.864 RENDER : RENDER : Reload shaders +04:46:10.864 RENDER : Enfusion shader version 13 +04:46:10.864 INIT : INIT : ShaderListReload +04:46:10.864 PROFILING : ShaderListReload took: 0.000500 ms +04:46:11.004 AUDIO : Endpoint: Speakers (PulseAudio Output) +04:46:11.004 AUDIO : Format: Channels: 2, Sample rate: 48kHz, Avg. bytes: 384kB, Sample bits: 32, Block align: 8B +04:46:11.004 AUDIO : Audio client: +04:46:11.004 AUDIO : Format: Channels: 2, Sample rate: 48kHz, Buffer size: 1536B, Frame: 512 +04:46:11.110 RENDER : Loaded 3752 newer shader binaries +04:46:11.110 PROFILING : Reload shaders took: 246.567000 ms +04:46:11.111 ENGINE : Initializing inputs. +04:46:11.125 NETWORK : Initializing networking. +04:46:11.125 NETWORK : Using new GameRplScheduler. +04:46:11.125 SCRIPT : SCRIPT : Initializing scripts +04:46:11.126 SCRIPT : SCRIPT : ScriptProjectManager init +04:46:11.967 PROFILING : ScriptProjectManager init took: 841.449400 ms +04:46:12.001 PROFILING : Initializing scripts took: 875.563900 ms +04:46:12.018 ENGINE : Enfusion engine successfully created. +04:46:12.018 PROFILING : Workbench Init Engine took: 2632.167300 ms +04:46:12.018 INIT : INIT : Workbench Create Game +04:46:12.028 GUI : Using default language (en_us) +04:46:12.029 GUI : Loading 'en_us' localization file. +04:46:12.029 INIT : INIT : Loading StringTable +04:46:12.053 PROFILING : Loading StringTable took: 24.368700 ms +04:46:12.053 SCRIPT : SCRIPT : Compiling GameLib scripts +04:46:12.108 SCRIPT : Module: Workbench; loaded 18x files; 36x classes; used 125K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE"; CRC32: 90ce0460 +04:46:12.108 SCRIPT : Module: GameLib; loaded 465x files; 648x classes; used 828K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE"; CRC32: 4507af04 +04:46:12.109 PROFILING : Compiling GameLib scripts took: 56.257600 ms +04:46:12.109 SCRIPT : SCRIPT : Compiling Game scripts +04:46:13.154 INIT : Workbench Create Game +04:46:13.154 SCRIPT : Compiling Game scripts +04:46:13.154 SCRIPT (W): @"Scripts/Game/Editor/Components/EditableEntity/SCR_EditableEntityComponent.c,785": 'GetPlayerPlatformKind' is obsolete +04:46:13.154 SCRIPT (W): @"Scripts/Game/Editor/Components/EditableEntity/SCR_EditableEntityComponent.c,786": 'GetPlayerPlatformId' is obsolete +04:46:13.392 SCRIPT (W): @"Scripts/Game/ERR/ERR_SiteService.c,140": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +04:46:13.401 SCRIPT (W): @"Scripts/Game/Workshop/SCR_AddonManager.c,876": 'GetRefCount' is obsolete: Will be removed +04:46:13.430 SCRIPT (W): @"Scripts/Game/Campaign/SCR_PlayerProfileManagerComponent.c,142": 'PlayerData' is obsolete +04:46:13.524 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,159": 'GetDSSession' is obsolete +04:46:13.524 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,162": 'RoomID' is obsolete +04:46:13.524 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,197": 'GetDSSession' is obsolete +04:46:13.524 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,201": 'RoomID' is obsolete +04:46:13.615 SCRIPT (W): @"Scripts/Game/DataCollection/SCR_DataCollectorComponent.c,481": 'GetStorage' is obsolete +04:46:13.615 SCRIPT (W): @"Scripts/Game/DataCollection/SCR_DataCollectorComponent.c,483": 'GetOnlineWritePrivilege' is obsolete +04:46:13.616 SCRIPT (W): @"Scripts/Game/Utilities/SCR_PlayerIdentityUtils.c,20": 'GetPlayerIdentityId' is obsolete +04:46:13.656 SCRIPT (W): @"Scripts/Game/ERR/ERR_ExtractionService.c,45": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +04:46:13.656 SCRIPT (W): @"Scripts/Game/ERR/ERR_ExtractionService.c,56": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +04:46:13.657 SCRIPT (W): @"Scripts/Game/UI/Menu/MainMenuUI.c,643": 'GetNotifyCount' is obsolete: Will be substitued by Notification Api. +04:46:13.657 SCRIPT (W): @"Scripts/Game/UI/Menu/MainMenuUI.c,645": 'GetNotifyItem' is obsolete: Will be substitued by Notification Api. +04:46:13.683 SCRIPT (W): @"Scripts/Game/ERR/ERR_NativeTransportProbe.c,82": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +04:46:13.713 SCRIPT (W): @"Scripts/Game/DataCollection/PlayerData/SCR_PlayerData.c,210": 'PlayerData' is obsolete +04:46:13.978 SCRIPT : Module: WorkbenchGame; loaded 171x files; 616x classes; used 2478K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE"; CRC32: db6febb9 +04:46:13.985 SCRIPT : Module: Game; loaded 5701x files; 11171x classes; used 32480K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE,ENABLE_BASE_DESTRUCTION,BUDGET_OPTIMIZATION_CHECKS,SHOW_DISCLAIMER,DEBUG,RESPAWN_TIMER_COMPONENT_DEBUG,GAME_MODE_DEBUG,DEBUG_CONFIGURABLE_DIALOGS,DISABLE_WEAPON_SWITCHING,SCRIPTED_AIM_MODIFIER_DEBUG"; CRC32: 2ee8c501 +04:46:14.025 PROFILING : Compiling Game scripts took: 1915.228600 ms +04:46:14.030 INIT : Creating game instance(ArmaReforgerScripted), version 1.8.0.13 built 2026-08-21 14:30:18 UTC. +04:46:14.072 ENGINE : Game successfully created. +04:46:14.073 PROFILING : Workbench Create Game took: 2054.581500 ms +04:46:14.081 DEFAULT : Using thumbnail cache directory: C:/users/steamuser/AppData/Local/Temp/Arma Reforger Workbench/Projects/ERR_Core/thumbnails +04:46:14.895 INIT : INIT : Workbench Reload Game +04:46:14.897 ENGINE : Game destroyed. +04:46:14.902 GUI : Using default language (en_us) +04:46:14.903 GUI : Loading 'en_us' localization file. +04:46:14.903 INIT : INIT : Loading StringTable +04:46:14.912 PROFILING : Loading StringTable took: 9.070800 ms +04:46:14.912 INIT : Creating game instance(ArmaReforgerScripted), version 1.8.0.13 built 2026-08-21 14:30:18 UTC. +04:46:14.919 SCRIPT : Unable to register a script command due keyword duplicity: ban +04:46:14.919 SCRIPT : Unable to register a script command due keyword duplicity: kick +04:46:14.920 ENGINE : Game successfully created. +04:46:14.920 ENGINE : Game successfully initialized. +04:46:14.920 PROFILING : Workbench Reload Game took: 24.314600 ms +04:46:15.591 WORLD : WORLD : Entities load '$ERR_Core:Worlds/ERR_Everon.ent' +04:46:16.565 PROFILING : Entities load took: 973.225100 ms +04:46:16.574 WORLD : WORLD : CreateEntities +04:46:16.579 WORLD : WORLD : NotifyBeforeEntitiesCreated +04:46:16.579 PROFILING : NotifyBeforeEntitiesCreated took: 0.002800 ms +04:46:16.579 WORLD : WORLD : Wait for preloading data +04:46:16.579 PROFILING : Wait for preloading data took: 0.004000 ms +04:46:16.682 ENTITY : Create entity @"ENTITY:2" ('Eden', GenericTerrainEntity) at <0.000000 0.000000 0.000000> @"{5AD924374E8C7AF6}Prefabs/World/Game/Eden/GenericTerrain_Eden.et" +04:46:16.682 PROFILING : PROFILING : Terrain load +04:46:18.237 PROFILING : Terrain load took: 1554.351400 ms +04:46:22.222 WORLD : CreateEntities +04:46:22.223 ENTITY : Create entity @"ENTITY:610406" ('StaticModelEntity','Assets/Structures/Infrastructure/Towers/TransmitterTower_01/TransmitterTower_01_small.xob') at <1931.796021 81.777000 5138.725098> @"{6A004A8F0571D456}Prefabs/Structures/Infrastructure/Towers/TransmitterTower_01/TransmitterTower_01_small.et" +04:46:22.223 ENTITY : CreateComponent 'ScriptedRadioComponent' +04:46:22.223 DEFAULT (W): World doesn't contain RadioManagerEntity to support any BaseRadioComponent. +04:46:31.829 WORLD : WORLD : NotifyBeforeEntitiesInitialized +04:46:31.829 PROFILING : NotifyBeforeEntitiesInitialized took: 0.004900 ms +04:46:32.258 WORLD : WORLD : NotifyEntitiesInitialized +04:46:32.258 TERRAIN : TERRAIN : Initializing road networks... +04:46:32.261 PROFILING : Initializing road networks... took: 2.257500 ms +04:46:32.261 PROFILING : NotifyEntitiesInitialized took: 2.707000 ms +04:46:32.261 PROFILING : CreateEntities took: 15686.048700 ms +04:46:32.442 PROFILING : * WorldEditor: LoadWorld: 16867.306400 ms +04:46:33.895 TERRAIN : Loading tile map config (worlds/Eden/Eden/tileMap.conf) +04:46:33.896 TERRAIN : Loading minimap config (worlds/Eden/Eden/miniMap.conf) +04:46:33.897 TERRAIN : The default minimap texture ('worlds/Eden/EdenRasterized.edds') not found. Trying 'worlds/Eden/Eden.edds'... +04:46:33.898 TERRAIN : The default minimap texture ('worlds/Eden/Eden.edds') not found. Skipping... +04:46:33.989 SCRIPT : ERR SITE SURVEY: supply=6150/7050 elevationRange=0.625 min=202.875 max=203.5 +04:46:34.012 BACKEND : Attempting online Game Config instead. +04:46:37.197 INIT : INIT : Workbench Reload Game +04:46:37.199 ENGINE : Game destroyed. +04:46:37.206 GUI : Using default language (en_us) +04:46:37.206 GUI : Loading 'en_us' localization file. +04:46:37.206 INIT : INIT : Loading StringTable +04:46:37.230 PROFILING : Loading StringTable took: 23.782800 ms +04:46:37.230 INIT : Creating game instance(ArmaReforgerScripted), version 1.8.0.13 built 2026-08-21 14:30:18 UTC. +04:46:37.239 SCRIPT : Unable to register a script command due keyword duplicity: ban +04:46:37.239 SCRIPT : Unable to register a script command due keyword duplicity: kick +04:46:37.239 ENGINE : Game successfully created. +04:46:37.239 ENGINE : Game successfully initialized. +04:46:37.240 PROFILING : Workbench Reload Game took: 42.369500 ms +04:46:37.242 DEFAULT (W): LogiLED: Cannot initialize! (service not running or no compatible device detected) +04:46:37.302 PLATFORM : Save data from container 'settings' have been loaded +04:46:37.392 PLATFORM : Save data from container 'sessions' have been loaded +04:46:37.393 PLATFORM : GameProject user settings load from profile @"ReforgerGameSettings.conf" +04:46:37.393 ENGINE : Game user settings config loaded +04:46:37.490 DEFAULT : [SaveGameManager] Starting new playthrough nr.0 '' for mission '{B6C516F86302C679}Worlds/ERR_Everon.ent'. +04:46:37.499 WORLD : WORLD : Game::LoadEntities +04:46:37.499 WORLD : WORLD : Initializing world systems @"{1C60D2EDA2B468B8}Configs/Systems/BaseGameModeSystems.conf" +04:46:37.500 NETWORK : Enabled lag compensation, 29 frames with 100 FPS and 280 ms rewind limits. +04:46:37.500 WORLD : WORLD : CreateEntities +04:46:37.500 WORLD : WORLD : CreateEntities +04:46:37.500 WORLD : WORLD : NotifyBeforeEntitiesCreated +04:46:37.505 RESOURCES : Loaded mission headers from 7 addon(s)! +04:46:37.505 PROFILING : NotifyBeforeEntitiesCreated took: 4.804800 ms +04:46:37.505 WORLD : WORLD : Wait for preloading data +04:46:37.505 PROFILING : Wait for preloading data took: 0.000600 ms +04:46:42.027 WORLD : Game::LoadEntities +04:46:42.027 WORLD : CreateEntities +04:46:42.027 WORLD : CreateEntities +04:46:42.027 ENTITY : Create entity @"ENTITY:610406" ('StaticModelEntity','Assets/Structures/Infrastructure/Towers/TransmitterTower_01/TransmitterTower_01_small.xob') at <1931.796021 81.777000 5138.725098> @"{6A004A8F0571D456}Prefabs/Structures/Infrastructure/Towers/TransmitterTower_01/TransmitterTower_01_small.et" +04:46:42.027 ENTITY : CreateComponent 'ScriptedRadioComponent' +04:46:42.027 DEFAULT (W): World doesn't contain RadioManagerEntity to support any BaseRadioComponent. +04:46:43.396 ENTITY : Create entity @"ENTITY:842066" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1080.213013 10.776751 6018.347168> +04:46:43.396 ENTITY : CreateComponent 'Hierarchy' +04:46:43.396 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842066" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1080.213013 10.776751 6018.347168>') +04:46:43.396 ENTITY : Create entity @"ENTITY:842068" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1082.185913 10.778749 6018.331055> +04:46:43.396 ENTITY : CreateComponent 'Hierarchy' +04:46:43.396 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842068" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1082.185913 10.778749 6018.331055>') +04:46:43.396 ENTITY : Create entity @"ENTITY:842070" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1084.190918 10.790751 6018.334961> +04:46:43.396 ENTITY : CreateComponent 'Hierarchy' +04:46:43.396 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842070" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1084.190918 10.790751 6018.334961>') +04:46:43.401 ENTITY : Create entity @"ENTITY:842333" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4425.594727 9.981750 11029.402344> +04:46:43.401 ENTITY : CreateComponent 'Hierarchy' +04:46:43.401 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842333" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4425.594727 9.981750 11029.402344>') +04:46:43.401 ENTITY : Create entity @"ENTITY:842335" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4426.584473 9.983749 11031.109375> +04:46:43.401 ENTITY : CreateComponent 'Hierarchy' +04:46:43.401 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842335" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4426.584473 9.983749 11031.109375>') +04:46:43.401 ENTITY : Create entity @"ENTITY:842337" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4427.572266 9.995750 11032.853516> +04:46:43.401 ENTITY : CreateComponent 'Hierarchy' +04:46:43.401 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842337" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4427.572266 9.995750 11032.853516>') +04:46:43.405 ENTITY : Create entity @"ENTITY:842591" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.946289 10.470250 1551.986084> +04:46:43.405 ENTITY : CreateComponent 'Hierarchy' +04:46:43.405 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842591" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.946289 10.470250 1551.986084>') +04:46:43.405 ENTITY : Create entity @"ENTITY:842593" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.430664 10.472250 1550.081421> +04:46:43.405 ENTITY : CreateComponent 'Hierarchy' +04:46:43.405 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842593" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.430664 10.472250 1550.081421>') +04:46:43.405 ENTITY : Create entity @"ENTITY:842595" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10008.926758 10.484250 1548.140869> +04:46:43.405 ENTITY : CreateComponent 'Hierarchy' +04:46:43.405 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842595" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10008.926758 10.484250 1548.140869>') +04:46:47.886 ENTITY : Create entity @"ENTITY:2305843009213693956" ('Factions', SCR_FactionManager) at <0.000000 0.000000 0.000000> @"{589540B35EBA8CDC}Prefabs/MP/Managers/Factions/FactionManager_USxUSSR.et" +04:46:47.886 RESOURCES : GetResourceObject @"{5168FEA3054D6D15}Prefabs/Vehicles/Wheeled/M151A2/M151A2_M2HB_MERDC.et" +04:46:47.886 WORLD : Entity prefab load @"{5168FEA3054D6D15}Prefabs/Vehicles/Wheeled/M151A2/M151A2_M2HB_MERDC.et" +04:46:47.887 RESOURCES : GetResourceObject @"{F6B23D17D5067C11}Prefabs/Vehicles/Wheeled/M151A2/M151A2_M2HB.et" +04:46:47.887 WORLD : Entity prefab load @"{F6B23D17D5067C11}Prefabs/Vehicles/Wheeled/M151A2/M151A2_M2HB.et" +04:46:47.887 RESOURCES : GetResourceObject @"{F649585ABB3706C4}Prefabs/Vehicles/Wheeled/M151A2/M151A2.et" +04:46:47.887 WORLD : Entity prefab load @"{F649585ABB3706C4}Prefabs/Vehicles/Wheeled/M151A2/M151A2.et" +04:46:47.887 WORLD (E): Unknown keyword/data 'SlidingTrackMaterial' at offset 19441(0x4bf1) +04:46:47.922 RESOURCES : GetResourceObject @"{F7B9B434FCFF00B3}Prefabs/Vehicles/Wheeled/Conflict_Variants/BRDM2_Conflict.et" +04:46:47.922 WORLD : Entity prefab load @"{F7B9B434FCFF00B3}Prefabs/Vehicles/Wheeled/Conflict_Variants/BRDM2_Conflict.et" +04:46:47.922 RESOURCES : GetResourceObject @"{254289B9C09904AB}Prefabs/Vehicles/Wheeled/BRDM2/BRDM2.et" +04:46:47.922 WORLD : Entity prefab load @"{254289B9C09904AB}Prefabs/Vehicles/Wheeled/BRDM2/BRDM2.et" +04:46:47.922 RESOURCES : GetResourceObject @"{532B5F3CF8496E59}Prefabs/Vehicles/Wheeled/BRDM2/BRDM2_base.et" +04:46:47.922 WORLD : Entity prefab load @"{532B5F3CF8496E59}Prefabs/Vehicles/Wheeled/BRDM2/BRDM2_base.et" +04:46:47.922 WORLD (E): Unknown keyword/data 'Parent' at offset 35955(0x8c73) +04:46:47.922 WORLD (E): Unknown keyword/data 'Parent' at offset 36915(0x9033) +04:46:47.923 RESOURCES : GetResourceObject @"{BD75A18920BD1278}Prefabs/Vehicles/Wheeled/Conflict_Variants/BTR70_Conflict.et" +04:46:47.923 WORLD : Entity prefab load @"{BD75A18920BD1278}Prefabs/Vehicles/Wheeled/Conflict_Variants/BTR70_Conflict.et" +04:46:47.923 RESOURCES : GetResourceObject @"{C012BB3488BEA0C2}Prefabs/Vehicles/Wheeled/BTR70/BTR70.et" +04:46:47.923 WORLD : Entity prefab load @"{C012BB3488BEA0C2}Prefabs/Vehicles/Wheeled/BTR70/BTR70.et" +04:46:47.923 RESOURCES : GetResourceObject @"{1C5FE7B7FF49BB8D}Prefabs/Vehicles/Wheeled/BTR70/BTR70_Base.et" +04:46:47.923 WORLD : Entity prefab load @"{1C5FE7B7FF49BB8D}Prefabs/Vehicles/Wheeled/BTR70/BTR70_Base.et" +04:46:47.923 WORLD (E): Unknown keyword/data 'Parent' at offset 42646(0xa696) +04:46:47.923 WORLD (E): Unknown keyword/data 'Parent' at offset 43645(0xaa7d) +04:46:47.923 WORLD (E): Unknown keyword/data 'Parent' at offset 44617(0xae49) +04:46:47.923 WORLD (E): Unknown keyword/data 'Parent' at offset 45590(0xb216) +04:46:48.227 WORLD : WORLD : NotifyBeforeEntitiesInitialized +04:46:48.227 PROFILING : NotifyBeforeEntitiesInitialized took: 0.053200 ms +04:46:50.168 WORLD : InitEntities 'world' +04:46:50.168 ENTITY : Init entity @"ENTITY:2305843009213693953" ('Rereintroduced', ERR_GameMode) at <1076.468018 51.000999 1325.246948> @"{978E045E53EF36C8}Prefabs/ERR/GameMode.et" +04:46:50.168 SCRIPT (W): SCR_PerceivedFactionManagerComponent trying to set fall back faction 'CIV' but this faction could not be found so it is null instead. +04:46:50.195 WORLD : InitEntities 'world' +04:46:50.195 ENTITY : Init entity @"ENTITY:2305843009213693953" ('Rereintroduced', ERR_GameMode) at <1076.468018 51.000999 1325.246948> @"{978E045E53EF36C8}Prefabs/ERR/GameMode.et" +04:46:50.195 SCRIPT : ERR BASE SMOKE: core-only scripted escape; not manual or multiplayer acceptance +04:46:50.196 WORLD : WORLD : NotifyEntitiesInitialized +04:46:50.196 TERRAIN : TERRAIN : Initializing road networks... +04:46:50.199 PROFILING : Initializing road networks... took: 2.864700 ms +04:46:50.199 DEFAULT : DEFAULT : WorldVolumesCollection +04:46:50.268 PROFILING : WorldVolumesCollection took: 68.978600 ms +04:46:50.268 INIT : INIT : SoundWorldInit +04:46:50.282 PROFILING : SoundWorldInit took: 14.188900 ms +04:46:50.282 PROFILING : NotifyEntitiesInitialized took: 86.287500 ms +04:46:50.282 PROFILING : CreateEntities took: 12782.042400 ms +04:46:50.283 PROFILING : CreateEntities took: 12782.232700 ms +04:46:50.283 WORLD : WORLD : Wait for preloading data around camera +04:46:50.283 PROFILING : Wait for preloading data around camera took: 0.000800 ms +04:46:50.283 WORLD : WORLD : EOnActivate +04:46:50.316 PROFILING : EOnActivate took: 32.823700 ms +04:46:50.316 PROFILING : Game::LoadEntities took: 12817.207700 ms +04:46:50.624 DEFAULT : Entered offline game state. +04:46:50.728 NETWORK : Player connected: connectionID=2147483646 +04:46:50.728 NETWORK : ### Connecting player: connectionID=2147483646, Name= +04:46:50.728 NETWORK : ### Creating player: PlayerId=1, Name=jakub +04:46:50.734 ENTITY : SpawnEntityPrefab @"{225E51284CC95CFA}Prefabs/Characters/Core/DefaultPlayerControllerMP.et" +04:46:50.734 ENTITY : Create entity @"ENTITY:4611686018427388381" ('SCR_PlayerController') at <0.000000 0.000000 0.000000> +04:46:50.734 ENTITY : EntityPrefabUse @"{225E51284CC95CFA}Prefabs/Characters/Core/DefaultPlayerControllerMP.et" +04:46:50.734 SCRIPT (W): Notification data in 'SCR_NotificationsLogDisplay' has duplicate notification info key: 'EDITOR_PERCEIVED_FACTION_PUNISHMENT_KILLING_SET'. There should only be one of each key! +04:46:50.734 SCRIPT (W): Notification data in 'SCR_NotificationsLogDisplay' has duplicate notification info key: 'EDITOR_PERCEIVED_FACTION_TYPE_DISABLED'. There should only be one of each key! +04:46:50.736 SCRIPT (W): Can't open config file "" +04:46:50.742 WORLD : InitEntities 'world' +04:46:50.743 ENTITY : Init entity @"ENTITY:4611686018427388381" ('SCR_PlayerController') at <0.000000 0.000000 0.000000> @"{225E51284CC95CFA}Prefabs/Characters/Core/DefaultPlayerControllerMP.et" +04:46:50.743 GUI : WidgetManager: CrateWidgets @"{3C9DCDD76AB83157}UI/layouts/HUD/HUDLayouts/HUDManager_Root.layout" +04:46:50.743 SCRIPT (W): Slot_WeaponInfo Has no Content! +04:46:50.743 SCRIPT (W): Slot_Chat Has no Content! +04:46:50.743 SCRIPT (W): Slot_VON Has no Content! +04:46:50.744 SCRIPT (W): Slot_AvailableActions Has no Content! +04:46:50.744 SCRIPT (W): Slot_Vehicle Has no Content! +04:46:50.744 SCRIPT (W): Slot_GameVersion Has no Content! +04:46:50.744 SCRIPT (W): Slot_Notifications Has no Content! +04:46:50.744 SCRIPT (W): Slot_Hints Has no Content! +04:46:50.759 NETWORK : ### Updating player: PlayerId=1, Name=jakub, rplIdentity=0xFFFFFFFE, IdentityId=00000000-0000-0000-0000-000000000000 +04:46:50.760 SCRIPT (W): Ban Settings could not be loaded from BE Storage: Relying on default config +04:46:50.760 NETWORK : Players connecting: 0 +04:46:50.760 NETWORK : Players connected: 1 / 1 +04:46:50.787 DEFAULT : Using autosave directory: C:/users/steamuser/AppData/Local/Temp/Arma Reforger Workbench/Projects/ERR_Core/autosaves +04:46:50.790 PROFILING : Workbench startup took: 42499.239100 ms +04:46:50.817 WORLD : Frame start +04:46:50.817 SCRIPT : ScenarioFramework: Available tasks are empty, no new tasks will be generated. +04:46:50.831 WORLD : UpdateEntities +04:46:50.831 WORLD : Frame +04:46:50.831 SCRIPT : SCR_BaseGameMode::OnGameStateChanged = GAME +04:46:51.009 WORLD : UpdateEntities +04:46:51.009 WORLD : PostFrame +04:46:51.009 GUI : WidgetManager: CrateWidgets @"{D89BBA18F99053D6}UI/layouts/HUD/Chat/ChatHud.layout" +04:46:51.009 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +04:46:51.054 RESOURCES : GetResourceObject @"{20A6917D2114E29A}UI/layouts/HUD/Hint/HintInfoDisplay.layout" +04:46:51.054 GUI : Layout load @"{20A6917D2114E29A}UI/layouts/HUD/Hint/HintInfoDisplay.layout" +04:46:51.055 GUI : Widget prefab @"{EA1CC57D868E94F9}UI/layouts/HUD/Hint/Hint.layout" +04:46:51.055 GUI (W): Overridden prefab member (GUID: '{661AB14E0F471C66}' type: ButtonWidgetClass) no longer exists in prefab +04:46:51.202 RENDER : RENDER : ObjectsHeightMap::Build +04:46:51.203 RENDER : RENDER : MeshOccupancyGridManager::GenerateAllForWorld +04:46:51.367 PROFILING : MeshOccupancyGridManager::GenerateAllForWorld took: 164.046200 ms +04:46:51.374 PROFILING : ObjectsHeightMap::Build took: 171.750000 ms +04:46:52.537 SCRIPT : Rereintroduced [sites]: cache clearance position=<6086,211.538,7160> clear=1 +04:46:52.556 SCRIPT : Rereintroduced [sites]: authored everon-prison-1 at <6090,211.444,7160> +04:46:52.557 SCRIPT : Rereintroduced [sites]: cache clearance position=<6150,203.288,7050> clear=1 +04:46:52.586 SCRIPT : Rereintroduced [sites]: authored everon-supply-1 at <6150,203.288,7050> +04:46:52.587 SCRIPT : Rereintroduced [sites]: authored everon-radio-1 at <6500,159.756,7200> +04:46:52.638 SCRIPT : Rereintroduced [sites]: authored everon-extraction-1 at <7000,65.2562,7500> +04:46:52.638 SCRIPT : Rereintroduced [sites]: cache clearance position=<5960,220.256,7220> clear=1 +04:46:52.644 SCRIPT : Rereintroduced [sites]: transport parking=<5960,220.256,7212> radius=4 terrainRange=0.8125 obstructed=0 clear=1 +04:46:52.692 SCRIPT : Rereintroduced [sites]: authored everon-supply-2 at <5960,220.256,7220> +04:46:52.693 SCRIPT : Rereintroduced [sites]: cache clearance position=<6340,175.788,7400> clear=1 +04:46:52.695 SCRIPT : Rereintroduced [sites]: authored everon-medical-1 at <6340,175.788,7400> +04:46:52.696 SCRIPT : Rereintroduced [sites]: cache clearance position=<6740,140.6,7300> clear=1 +04:46:52.699 SCRIPT : Rereintroduced [sites]: cache clearance position=<6740,140.913,7296> clear=1 +04:46:52.701 SCRIPT : Rereintroduced [sites]: cache clearance position=<6736,140.975,7300> clear=1 +04:46:52.701 SCRIPT : Rereintroduced [sites]: cache clearance position=<6744,140.288,7300> clear=1 +04:46:52.702 SCRIPT : Rereintroduced [sites]: authored everon-outpost-1 at <6740,140.6,7300> +04:46:52.789 SCRIPT : Rereintroduced [sites]: 7 sites and 117 physical stock items ready +04:46:52.791 SCRIPT : Rereintroduced [time]: started at 14:00 with 1x progression +04:46:52.791 SCRIPT : Rereintroduced [mission]: phase 0 -> 1 +04:46:53.037 SCRIPT : INFO: Faction: player jakub (playerID = 1 | UUID = 00000000-0000-0000-0000-000000000000) has joined faction #AR-Faction_US (US) +04:46:53.118 SCRIPT : Rereintroduced [spawn]: player 1 at <6090,211.444,7160> +04:46:53.240 SCRIPT : ERR SMOKE PASS: definition authored configuration resolves +04:46:53.240 SCRIPT : ERR SMOKE PASS: definition duplicate site identity rejected +04:46:53.241 SCRIPT : ERR SMOKE PASS: definition dangling document target rejected +04:46:53.241 SCRIPT : ERR SMOKE PASS: definition non-radio document target rejected +04:46:53.241 SCRIPT : ERR SMOKE PASS: definition insufficient guaranteed radio clues rejected +04:46:53.241 SCRIPT : ERR SMOKE PASS: definition unbounded stock rejected +04:46:53.241 SCRIPT : ERR SMOKE PASS: definition unguaranteed clue route rejected +04:46:53.241 SCRIPT : ERR SMOKE PASS: definition radio sources sharing one footprint rejected +04:46:53.242 SCRIPT : ERR SMOKE PASS: definition unnamed location rejected +04:46:53.242 SCRIPT : ERR SMOKE PASS: definition proximity discovery cannot reveal progression sites +04:46:53.242 SCRIPT : ERR SMOKE PASS: definition escape cannot reveal the radio directly +04:46:53.242 SCRIPT : ERR SMOKE PASS: definition unbounded scenery offset rejected +04:46:53.242 SCRIPT : ERR SMOKE PASS: definition valid configuration restored after isolated mutations +04:46:53.243 SCRIPT : ERR SMOKE PASS: base contracts catalog resolves hostile vanilla factions and successful preparation +04:46:53.243 SCRIPT : ERR SMOKE PASS: base contracts physical prisoner matches injected faction and resource +04:46:53.243 SCRIPT : ERR SMOKE PASS: base contracts physical guard squad comes from injected catalog +04:46:53.243 SCRIPT : ERR SMOKE PASS: base contracts same-side factions rejected +04:46:53.243 SCRIPT : ERR SMOKE PASS: base contracts unknown world faction rejected +04:46:53.243 SCRIPT : ERR SMOKE PASS: base contracts missing prisoner resource rejected +04:46:53.244 SCRIPT : ERR SMOKE PASS: base contracts isolated catalog restored without mutating live configuration +04:46:53.244 SCRIPT : ERR SMOKE PASS: base contracts unauthorized settings request rejected +04:46:53.244 SCRIPT : ERR SMOKE PASS: base contracts partially numeric input rejected without mutation +04:46:53.244 SCRIPT : ERR SMOKE PASS: base contracts out-of-range duration rejected without mutation +04:46:53.248 SCRIPT : ERR SMOKE PASS: base contracts normalized base command saves validated duration +04:46:53.248 SCRIPT : ERR SMOKE PASS: base contracts base command reads saved duration +04:46:53.248 SCRIPT : ERR SMOKE PASS: base contracts base settings listing available +04:46:53.248 SCRIPT : ERR SMOKE PASS: base contracts base mission status available before companions +04:46:53.251 SCRIPT : ERR SMOKE PASS: base contracts test setting restored +04:46:53.251 SCRIPT : ERR SMOKE PASS: base outpost barrier is upright +04:46:53.251 SCRIPT : ERR COVER GEOMETRY: low=<6738.99,140.839,7295.42> high=<6740.98,141.655,7296.62> trace=0.377114 +04:46:53.251 SCRIPT : ERR SMOKE PASS: base outpost barrier has physical collision +04:46:53.252 SCRIPT : ERR SMOKE PASS: base outpost barrier is upright +04:46:53.252 SCRIPT : ERR COVER GEOMETRY: low=<6735.42,140.901,7299.02> high=<6736.62,141.718,7301.01> trace=0.377114 +04:46:53.252 SCRIPT : ERR SMOKE PASS: base outpost barrier has physical collision +04:46:53.252 SCRIPT : ERR SMOKE PASS: base outpost barrier is upright +04:46:53.252 SCRIPT : ERR COVER GEOMETRY: low=<6743.42,140.214,7299.02> high=<6744.62,141.03,7301.01> trace=0.377114 +04:46:53.252 SCRIPT : ERR SMOKE PASS: base outpost barrier has physical collision +04:46:53.252 SCRIPT : ERR SMOKE PASS: base exactly three authored outpost barriers exist +04:46:53.252 SCRIPT : ERR SMOKE PASS: mission time clock parsing includes midnight and final minute +04:46:53.253 SCRIPT : ERR SMOKE PASS: mission time malformed clock commands rejected +04:46:53.253 SCRIPT : ERR SMOKE PASS: mission time isolated fixture paths unused +04:46:53.253 SCRIPT : ERR SMOKE PASS: mission time legacy fixture created +04:46:53.254 SCRIPT : ERR SMOKE PASS: mission time existing six-key settings preserved +04:46:53.254 SCRIPT : ERR SMOKE PASS: mission time only absent time settings receive defaults +04:46:53.255 SCRIPT : ERR SMOKE PASS: mission time loading does not rewrite legacy file +04:46:53.261 SCRIPT : ERR SMOKE PASS: mission time explicit save upgrades valid legacy settings +04:46:53.261 SCRIPT : ERR SMOKE PASS: mission time new keys and old values survive reload +04:46:53.263 SCRIPT : ERR SMOKE PASS: mission time present out-of-range time cannot silently default +04:46:53.266 SCRIPT : ERR SMOKE PASS: mission time fractional clock setting rejected +04:46:53.267 SCRIPT : ERR SMOKE PASS: mission time zero multiplier rejected +04:46:53.268 SCRIPT : ERR SMOKE PASS: mission time missing legacy setting remains invalid +04:46:53.269 SCRIPT : ERR SMOKE PASS: mission time partially upgraded file defaults only missing new field +04:46:53.270 SCRIPT : ERR SMOKE PASS: mission time valid saved backup recovers invalid primary +04:46:53.271 SCRIPT : ERR SMOKE PASS: mission time server starts world clock before prison phase +04:46:53.271 SCRIPT : ERR SMOKE PASS: mission time engine progression matches applied multiplier +04:46:53.271 SCRIPT : ERR SMOKE PASS: mission time unauthorized clock mutation rejected +04:46:53.271 SCRIPT : ERR SMOKE PASS: mission time invalid clock command preserves setting +04:46:53.281 SCRIPT : ERR SMOKE PASS: mission time authorized settings persist and test restores originals +04:46:53.281 SCRIPT : ERR SMOKE PASS: mission time saved changes and repeated start leave current clock and speed intact +04:46:53.281 SCRIPT : ERR SMOKE PASS: mission time admin sees current clock separately from next round settings +04:46:53.281 SCRIPT : ERR SMOKE PASS: base native prison objective exists +04:46:53.281 SCRIPT : ERR SMOKE PASS: objective UI current native task exists +04:46:53.284 SCRIPT : ERR SMOKE PASS: objective UI native list and detail layouts created +04:46:53.284 SCRIPT : ERR SMOKE PASS: objective UI native handlers attached +04:46:53.285 SCRIPT : ERR SMOKE PASS: objective UI open list and details contain current title and instructions +04:46:53.285 SCRIPT : ERR SMOKE PASS: objective UI list-only task cannot expose an undiscovered map position +04:46:53.285 SCRIPT : ERR SMOKE PASS: objective UI actual local player receives the active objective +04:46:53.285 SCRIPT : ERR SMOKE PASS: objective UI extraction instructions follow a nondefault boundary +04:46:53.285 SCRIPT : ERR SMOKE PASS: base authored supply cache is a separate scavenging location +04:46:53.285 SCRIPT : ERR BASE STOCK: cache items=54 +04:46:53.286 SCRIPT : ERR SMOKE PASS: base cache holds finite physical equipment and objective documents +04:46:53.286 SCRIPT : ERR SMOKE PASS: base no companion HQ or support controller loaded +04:46:53.286 SCRIPT : ERR SMOKE PASS: base prisoner spawned in authored prison +04:46:53.287 SCRIPT : ERR SMOKE PASS: base gate, clues, radio and helicopter created by core +04:46:53.287 SCRIPT : Rereintroduced [mission]: phase 1 -> 2 +04:46:53.288 SCRIPT : ERR SMOKE PASS: base gate action begins escape +04:46:53.292 SCRIPT : ERR SMOKE PASS: base test defence duration accepted +04:46:53.292 SCRIPT : ERR SMOKE PASS: base previous native objective completes on phase change +04:46:53.292 SCRIPT : ERR SMOKE PASS: base search objective does not expose a hidden site +04:46:53.292 SCRIPT : ERR SMOKE PASS: objective UI current native task exists +04:46:53.296 SCRIPT : ERR SMOKE PASS: objective UI native list and detail layouts created +04:46:53.296 SCRIPT : ERR SMOKE PASS: objective UI native handlers attached +04:46:53.296 SCRIPT : ERR SMOKE PASS: objective UI open list and details contain current title and instructions +04:46:53.296 SCRIPT : ERR SMOKE PASS: objective UI list-only task cannot expose an undiscovered map position +04:46:53.296 SCRIPT : ERR SMOKE PASS: objective UI actual local player receives the active objective +04:46:53.297 SCRIPT : ERR SMOKE PASS: objective UI extraction instructions follow a nondefault boundary +04:46:53.297 SCRIPT : ERR SMOKE PASS: base both named supply routes revealed after escape +04:46:53.297 SCRIPT : ERR SMOKE PASS: base optional sites remain hidden until approached +04:46:59.344 SCRIPT : ERR SMOKE PASS: base unconscious player cannot discover optional sites +04:47:05.429 SCRIPT : ERR SMOKE PASS: base distant player cannot discover optional sites +04:47:05.430 SCRIPT : ERR SMOKE PASS: base isolated visibility obstacle created +04:47:05.430 SCRIPT : ERR VISIBILITY OBSTACLE: low=<6338.5,174.97,7403.87> high=<6341.5,178.737,7404.13> observer=<6340.63,174.709,7466.79> target=<6340,175.788,7400> +04:47:11.491 SCRIPT : ERR SMOKE PASS: base physical wall prevents nearby site discovery +04:47:17.554 SCRIPT : ERR SMOKE PASS: base conscious nearby player visually discovers named medical stash once +04:47:17.554 SCRIPT : ERR SMOKE PASS: base proximity cannot bypass radio documents +04:47:18.066 SCRIPT : ERR SMOKE PASS: base physical clue recovered +04:47:18.183 SCRIPT : Rereintroduced [intel]: player 1 recovered folder; location=everon-radio-1 knowledge=1 +04:47:20.589 SCRIPT : ERR SMOKE PASS: base physical clue recovered +04:47:21.187 SCRIPT : Rereintroduced [intel]: player 1 recovered folder; location=everon-radio-1 knowledge=2 +04:47:23.119 SCRIPT : ERR SMOKE PASS: base objective guidance reacts to discovered radio +04:47:23.119 SCRIPT : ERR SMOKE PASS: objective UI current native task exists +04:47:23.119 SCRIPT : ERR SMOKE PASS: objective UI open list and details contain current title and instructions +04:47:23.119 SCRIPT : ERR SMOKE PASS: objective UI list-only task cannot expose an undiscovered map position +04:47:23.119 SCRIPT : ERR SMOKE PASS: objective UI actual local player receives the active objective +04:47:23.119 SCRIPT : ERR SMOKE PASS: objective UI extraction instructions follow a nondefault boundary +04:47:23.122 SCRIPT : ERR SMOKE PASS: base discovery ticks do not repeat the location event +04:47:23.122 SCRIPT : ERR SMOKE PASS: base documents identify radio without Intel addon +04:47:24.124 SCRIPT : ERR SMOKE PASS: radio service identified radio and real controlled prisoner available +04:47:24.134 SCRIPT : ERR SMOKE PASS: radio service second physical defender created with simulated connection membership +04:47:24.134 SCRIPT : ERR SMOKE PASS: radio service ordinary AI cannot tune even while alive and nearby +04:47:24.135 SCRIPT : ERR SMOKE PASS: radio service missing radio rejected +04:47:24.135 SCRIPT (E): ERR SMOKE FAIL: radio service tuning outside five metres rejected +04:47:24.138 SCRIPT : ERR SMOKE PASS: radio service isolated test restores live duration setting and player state diff --git a/docs/evidence/native-2026-09-19-044608-radio-position-fixture-failure/error.log.txt b/docs/evidence/native-2026-09-19-044608-radio-position-fixture-failure/error.log.txt new file mode 100644 index 0000000..af6d079 --- /dev/null +++ b/docs/evidence/native-2026-09-19-044608-radio-position-fixture-failure/error.log.txt @@ -0,0 +1,122 @@ +--------------------------------------------- +Log Z:\tmp\erri-workbench-profile\logs\logs_2026-09-19_04-46-08\error.log started at 2026-09-19 04:46:10 (2026-09-19 02:46:10 UTC) + +04:46:10.085 INIT : Workbench startup +04:46:10.085 INIT : Workbench Init Engine +04:46:10.085 RESOURCES : ResourceDB: full scan +04:46:10.085 RESOURCES : processing files... +04:46:10.085 RESOURCES (W): resource not registered: @"$profile:rereintroduced.json". Setting null GUID +04:46:13.154 INIT : Workbench Create Game +04:46:13.154 SCRIPT : Compiling Game scripts +04:46:13.154 SCRIPT (W): @"Scripts/Game/Editor/Components/EditableEntity/SCR_EditableEntityComponent.c,785": 'GetPlayerPlatformKind' is obsolete +04:46:13.154 SCRIPT (W): @"Scripts/Game/Editor/Components/EditableEntity/SCR_EditableEntityComponent.c,786": 'GetPlayerPlatformId' is obsolete +04:46:13.392 SCRIPT (W): @"Scripts/Game/ERR/ERR_SiteService.c,140": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +04:46:13.401 SCRIPT (W): @"Scripts/Game/Workshop/SCR_AddonManager.c,876": 'GetRefCount' is obsolete: Will be removed +04:46:13.430 SCRIPT (W): @"Scripts/Game/Campaign/SCR_PlayerProfileManagerComponent.c,142": 'PlayerData' is obsolete +04:46:13.524 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,159": 'GetDSSession' is obsolete +04:46:13.524 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,162": 'RoomID' is obsolete +04:46:13.524 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,197": 'GetDSSession' is obsolete +04:46:13.524 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,201": 'RoomID' is obsolete +04:46:13.615 SCRIPT (W): @"Scripts/Game/DataCollection/SCR_DataCollectorComponent.c,481": 'GetStorage' is obsolete +04:46:13.615 SCRIPT (W): @"Scripts/Game/DataCollection/SCR_DataCollectorComponent.c,483": 'GetOnlineWritePrivilege' is obsolete +04:46:13.616 SCRIPT (W): @"Scripts/Game/Utilities/SCR_PlayerIdentityUtils.c,20": 'GetPlayerIdentityId' is obsolete +04:46:13.656 SCRIPT (W): @"Scripts/Game/ERR/ERR_ExtractionService.c,45": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +04:46:13.656 SCRIPT (W): @"Scripts/Game/ERR/ERR_ExtractionService.c,56": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +04:46:13.657 SCRIPT (W): @"Scripts/Game/UI/Menu/MainMenuUI.c,643": 'GetNotifyCount' is obsolete: Will be substitued by Notification Api. +04:46:13.657 SCRIPT (W): @"Scripts/Game/UI/Menu/MainMenuUI.c,645": 'GetNotifyItem' is obsolete: Will be substitued by Notification Api. +04:46:13.683 SCRIPT (W): @"Scripts/Game/ERR/ERR_NativeTransportProbe.c,82": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +04:46:13.713 SCRIPT (W): @"Scripts/Game/DataCollection/PlayerData/SCR_PlayerData.c,210": 'PlayerData' is obsolete +04:46:22.222 WORLD : CreateEntities +04:46:22.223 ENTITY : Create entity @"ENTITY:610406" ('StaticModelEntity','Assets/Structures/Infrastructure/Towers/TransmitterTower_01/TransmitterTower_01_small.xob') at <1931.796021 81.777000 5138.725098> @"{6A004A8F0571D456}Prefabs/Structures/Infrastructure/Towers/TransmitterTower_01/TransmitterTower_01_small.et" +04:46:22.223 ENTITY : CreateComponent 'ScriptedRadioComponent' +04:46:22.223 DEFAULT (W): World doesn't contain RadioManagerEntity to support any BaseRadioComponent. +04:46:37.242 DEFAULT (W): LogiLED: Cannot initialize! (service not running or no compatible device detected) +04:46:42.026 WORLD : Game::LoadEntities +04:46:42.027 WORLD : CreateEntities +04:46:42.027 WORLD : CreateEntities +04:46:42.027 ENTITY : Create entity @"ENTITY:610406" ('StaticModelEntity','Assets/Structures/Infrastructure/Towers/TransmitterTower_01/TransmitterTower_01_small.xob') at <1931.796021 81.777000 5138.725098> @"{6A004A8F0571D456}Prefabs/Structures/Infrastructure/Towers/TransmitterTower_01/TransmitterTower_01_small.et" +04:46:42.027 ENTITY : CreateComponent 'ScriptedRadioComponent' +04:46:42.027 DEFAULT (W): World doesn't contain RadioManagerEntity to support any BaseRadioComponent. +04:46:43.396 ENTITY : Create entity @"ENTITY:842066" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1080.213013 10.776751 6018.347168> +04:46:43.396 ENTITY : CreateComponent 'Hierarchy' +04:46:43.396 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842066" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1080.213013 10.776751 6018.347168>') +04:46:43.396 ENTITY : Create entity @"ENTITY:842068" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1082.185913 10.778749 6018.331055> +04:46:43.396 ENTITY : CreateComponent 'Hierarchy' +04:46:43.396 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842068" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1082.185913 10.778749 6018.331055>') +04:46:43.396 ENTITY : Create entity @"ENTITY:842070" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1084.190918 10.790751 6018.334961> +04:46:43.396 ENTITY : CreateComponent 'Hierarchy' +04:46:43.396 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842070" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1084.190918 10.790751 6018.334961>') +04:46:43.401 ENTITY : Create entity @"ENTITY:842333" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4425.594727 9.981750 11029.402344> +04:46:43.401 ENTITY : CreateComponent 'Hierarchy' +04:46:43.401 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842333" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4425.594727 9.981750 11029.402344>') +04:46:43.401 ENTITY : Create entity @"ENTITY:842335" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4426.584473 9.983749 11031.109375> +04:46:43.401 ENTITY : CreateComponent 'Hierarchy' +04:46:43.401 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842335" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4426.584473 9.983749 11031.109375>') +04:46:43.401 ENTITY : Create entity @"ENTITY:842337" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4427.572266 9.995750 11032.853516> +04:46:43.401 ENTITY : CreateComponent 'Hierarchy' +04:46:43.401 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842337" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4427.572266 9.995750 11032.853516>') +04:46:43.405 ENTITY : Create entity @"ENTITY:842591" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.946289 10.470250 1551.986084> +04:46:43.405 ENTITY : CreateComponent 'Hierarchy' +04:46:43.405 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842591" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.946289 10.470250 1551.986084>') +04:46:43.405 ENTITY : Create entity @"ENTITY:842593" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.430664 10.472250 1550.081421> +04:46:43.405 ENTITY : CreateComponent 'Hierarchy' +04:46:43.405 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842593" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.430664 10.472250 1550.081421>') +04:46:43.405 ENTITY : Create entity @"ENTITY:842595" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10008.926758 10.484250 1548.140869> +04:46:43.405 ENTITY : CreateComponent 'Hierarchy' +04:46:43.405 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842595" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10008.926758 10.484250 1548.140869>') +04:46:47.886 ENTITY : Create entity @"ENTITY:2305843009213693956" ('Factions', SCR_FactionManager) at <0.000000 0.000000 0.000000> @"{589540B35EBA8CDC}Prefabs/MP/Managers/Factions/FactionManager_USxUSSR.et" +04:46:47.886 RESOURCES : GetResourceObject @"{5168FEA3054D6D15}Prefabs/Vehicles/Wheeled/M151A2/M151A2_M2HB_MERDC.et" +04:46:47.886 WORLD : Entity prefab load @"{5168FEA3054D6D15}Prefabs/Vehicles/Wheeled/M151A2/M151A2_M2HB_MERDC.et" +04:46:47.886 RESOURCES : GetResourceObject @"{F6B23D17D5067C11}Prefabs/Vehicles/Wheeled/M151A2/M151A2_M2HB.et" +04:46:47.887 WORLD : Entity prefab load @"{F6B23D17D5067C11}Prefabs/Vehicles/Wheeled/M151A2/M151A2_M2HB.et" +04:46:47.887 RESOURCES : GetResourceObject @"{F649585ABB3706C4}Prefabs/Vehicles/Wheeled/M151A2/M151A2.et" +04:46:47.887 WORLD : Entity prefab load @"{F649585ABB3706C4}Prefabs/Vehicles/Wheeled/M151A2/M151A2.et" +04:46:47.887 WORLD (E): Unknown keyword/data 'SlidingTrackMaterial' at offset 19441(0x4bf1) +04:46:47.922 RESOURCES : GetResourceObject @"{F7B9B434FCFF00B3}Prefabs/Vehicles/Wheeled/Conflict_Variants/BRDM2_Conflict.et" +04:46:47.922 WORLD : Entity prefab load @"{F7B9B434FCFF00B3}Prefabs/Vehicles/Wheeled/Conflict_Variants/BRDM2_Conflict.et" +04:46:47.922 RESOURCES : GetResourceObject @"{254289B9C09904AB}Prefabs/Vehicles/Wheeled/BRDM2/BRDM2.et" +04:46:47.922 WORLD : Entity prefab load @"{254289B9C09904AB}Prefabs/Vehicles/Wheeled/BRDM2/BRDM2.et" +04:46:47.922 RESOURCES : GetResourceObject @"{532B5F3CF8496E59}Prefabs/Vehicles/Wheeled/BRDM2/BRDM2_base.et" +04:46:47.922 WORLD : Entity prefab load @"{532B5F3CF8496E59}Prefabs/Vehicles/Wheeled/BRDM2/BRDM2_base.et" +04:46:47.922 WORLD (E): Unknown keyword/data 'Parent' at offset 35955(0x8c73) +04:46:47.922 WORLD (E): Unknown keyword/data 'Parent' at offset 36915(0x9033) +04:46:47.923 RESOURCES : GetResourceObject @"{BD75A18920BD1278}Prefabs/Vehicles/Wheeled/Conflict_Variants/BTR70_Conflict.et" +04:46:47.923 WORLD : Entity prefab load @"{BD75A18920BD1278}Prefabs/Vehicles/Wheeled/Conflict_Variants/BTR70_Conflict.et" +04:46:47.923 RESOURCES : GetResourceObject @"{C012BB3488BEA0C2}Prefabs/Vehicles/Wheeled/BTR70/BTR70.et" +04:46:47.923 WORLD : Entity prefab load @"{C012BB3488BEA0C2}Prefabs/Vehicles/Wheeled/BTR70/BTR70.et" +04:46:47.923 RESOURCES : GetResourceObject @"{1C5FE7B7FF49BB8D}Prefabs/Vehicles/Wheeled/BTR70/BTR70_Base.et" +04:46:47.923 WORLD : Entity prefab load @"{1C5FE7B7FF49BB8D}Prefabs/Vehicles/Wheeled/BTR70/BTR70_Base.et" +04:46:47.923 WORLD (E): Unknown keyword/data 'Parent' at offset 42646(0xa696) +04:46:47.923 WORLD (E): Unknown keyword/data 'Parent' at offset 43645(0xaa7d) +04:46:47.923 WORLD (E): Unknown keyword/data 'Parent' at offset 44617(0xae49) +04:46:47.923 WORLD (E): Unknown keyword/data 'Parent' at offset 45590(0xb216) +04:46:50.168 WORLD : InitEntities 'world' +04:46:50.168 ENTITY : Init entity @"ENTITY:2305843009213693953" ('Rereintroduced', ERR_GameMode) at <1076.468018 51.000999 1325.246948> @"{978E045E53EF36C8}Prefabs/ERR/GameMode.et" +04:46:50.168 SCRIPT (W): SCR_PerceivedFactionManagerComponent trying to set fall back faction 'CIV' but this faction could not be found so it is null instead. +04:46:50.734 ENTITY : SpawnEntityPrefab @"{225E51284CC95CFA}Prefabs/Characters/Core/DefaultPlayerControllerMP.et" +04:46:50.734 ENTITY : Create entity @"ENTITY:4611686018427388381" ('SCR_PlayerController') at <0.000000 0.000000 0.000000> +04:46:50.734 ENTITY : EntityPrefabUse @"{225E51284CC95CFA}Prefabs/Characters/Core/DefaultPlayerControllerMP.et" +04:46:50.734 SCRIPT (W): Notification data in 'SCR_NotificationsLogDisplay' has duplicate notification info key: 'EDITOR_PERCEIVED_FACTION_PUNISHMENT_KILLING_SET'. There should only be one of each key! +04:46:50.734 SCRIPT (W): Notification data in 'SCR_NotificationsLogDisplay' has duplicate notification info key: 'EDITOR_PERCEIVED_FACTION_TYPE_DISABLED'. There should only be one of each key! +04:46:50.736 SCRIPT (W): Can't open config file "" +04:46:50.742 WORLD : InitEntities 'world' +04:46:50.743 ENTITY : Init entity @"ENTITY:4611686018427388381" ('SCR_PlayerController') at <0.000000 0.000000 0.000000> @"{225E51284CC95CFA}Prefabs/Characters/Core/DefaultPlayerControllerMP.et" +04:46:50.743 GUI : WidgetManager: CrateWidgets @"{3C9DCDD76AB83157}UI/layouts/HUD/HUDLayouts/HUDManager_Root.layout" +04:46:50.743 SCRIPT (W): Slot_WeaponInfo Has no Content! +04:46:50.743 SCRIPT (W): Slot_Chat Has no Content! +04:46:50.743 SCRIPT (W): Slot_VON Has no Content! +04:46:50.744 SCRIPT (W): Slot_AvailableActions Has no Content! +04:46:50.744 SCRIPT (W): Slot_Vehicle Has no Content! +04:46:50.744 SCRIPT (W): Slot_GameVersion Has no Content! +04:46:50.744 SCRIPT (W): Slot_Notifications Has no Content! +04:46:50.744 SCRIPT (W): Slot_Hints Has no Content! +04:46:50.760 SCRIPT (W): Ban Settings could not be loaded from BE Storage: Relying on default config +04:46:51.009 WORLD : UpdateEntities +04:46:51.009 WORLD : PostFrame +04:46:51.009 GUI : WidgetManager: CrateWidgets @"{D89BBA18F99053D6}UI/layouts/HUD/Chat/ChatHud.layout" +04:46:51.009 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +04:46:51.054 RESOURCES : GetResourceObject @"{20A6917D2114E29A}UI/layouts/HUD/Hint/HintInfoDisplay.layout" +04:46:51.054 GUI : Layout load @"{20A6917D2114E29A}UI/layouts/HUD/Hint/HintInfoDisplay.layout" +04:46:51.055 GUI : Widget prefab @"{EA1CC57D868E94F9}UI/layouts/HUD/Hint/Hint.layout" +04:46:51.055 GUI (W): Overridden prefab member (GUID: '{661AB14E0F471C66}' type: ButtonWidgetClass) no longer exists in prefab +04:47:24.135 SCRIPT (E): ERR SMOKE FAIL: radio service tuning outside five metres rejected diff --git a/docs/evidence/native-2026-09-19-044608-radio-position-fixture-failure/headless-launch.log.txt b/docs/evidence/native-2026-09-19-044608-radio-position-fixture-failure/headless-launch.log.txt new file mode 100644 index 0000000..5a2d04a --- /dev/null +++ b/docs/evidence/native-2026-09-19-044608-radio-position-fixture-failure/headless-launch.log.txt @@ -0,0 +1,150 @@ +[gamescope] [Info] console: gamescope version 3.16.28 (gcc 16.2.1) +No CAP_SYS_NICE, falling back to regular-priority compute and threads. +Performance will be affected. +[gamescope] [Info] scriptmgr: Loading scripts from: '/usr/share/gamescope/scripts' +[gamescope] [Info] scriptmgr: Loading scripts from: '/usr/share/gamescope/scripts/00-gamescope' +[gamescope] [Info] scriptmgr: Loading scripts from: '/usr/share/gamescope/scripts/00-gamescope/common' +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/common/inspect.lua' (id: 0) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/common/modegen.lua' (id: 1) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/common/util.lua' (id: 2) +[gamescope] [Info] scriptmgr: Loading scripts from: '/usr/share/gamescope/scripts/00-gamescope/displays' +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/asus.rogally.lcd.lua' (id: 3) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/deckhd.steamdeck.deckhd-lcd.lua' (id: 4) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/gpd.win4.lcd.lua' (id: 5) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/lenovo.legiongo.lcd.lua' (id: 6) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/lenovo.legiongos.lcd.lua' (id: 7) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/onexplayer.f1.oled.lua' (id: 8) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/valve.steamdeck.lcd.lua' (id: 9) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/valve.steamdeck.oled.lua' (id: 10) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/zotac.zone.oled.lua' (id: 11) +[gamescope] [Info] scriptmgr: Loading scripts from: '/etc/gamescope/scripts' +[gamescope] [Warn] scriptmgr: Directory '/etc/gamescope/scripts' does not exist +[gamescope] [Info] scriptmgr: Loading scripts from: '/home/jakub/.config/gamescope/scripts' +[gamescope] [Warn] scriptmgr: Directory '/home/jakub/.config/gamescope/scripts' does not exist +[gamescope] [Info] vulkan: selecting physical device 'AMD Radeon RX 6950 XT (RADV NAVI21)': queue family 1 (general queue family 0) +[gamescope] [Info] vulkan: physical device supports DRM format modifiers +[gamescope] [Info] wlserver: [backend/headless/backend.c:60] Creating headless backend +[gamescope] [Info] vulkan: supported DRM formats for sampling usage: +[gamescope] [Info] vulkan: AR24 (0x34325241) +[gamescope] [Info] vulkan: XR24 (0x34325258) +[gamescope] [Info] vulkan: AB24 (0x34324241) +[gamescope] [Info] vulkan: XB24 (0x34324258) +[gamescope] [Info] vulkan: RG16 (0x36314752) +[gamescope] [Info] vulkan: NV12 (0x3231564E) +[gamescope] [Info] vulkan: AB4H (0x48344241) +[gamescope] [Info] vulkan: XB4H (0x48344258) +[gamescope] [Info] vulkan: AB48 (0x38344241) +[gamescope] [Info] vulkan: XB48 (0x38344258) +[gamescope] [Info] vulkan: AB30 (0x30334241) +[gamescope] [Info] vulkan: XB30 (0x30334258) +[gamescope] [Info] vulkan: AR30 (0x30335241) +[gamescope] [Info] vulkan: XR30 (0x30335258) +[gamescope] [Info] wlserver: Using explicit sync when available +[gamescope] [Info] wlserver: Running compositor on wayland display 'gamescope-0' +[gamescope] [Info] wlserver: [backend/headless/backend.c:17] Starting headless backend +[gamescope] [Info] wlserver: Successfully initialized libei for input emulation! +[gamescope] [Error] wlserver: [xwayland/sockets.c:47] Failed to bind socket @/tmp/.X11-unix/X0: Address already in use +[gamescope] [Info] wlserver: [xwayland/server.c:108] Starting Xwayland on :2 +The XKEYBOARD keymap compiler (xkbcomp) reports: +> Warning: Multiple symbols for level 1/group 1 on key +> Using F23, ignoring XF86TouchpadOff +> Warning: Symbol map for key redefined +> Using last definition for conflicting fields +> Warning: Symbol map for key redefined +> Using last definition for conflicting fields +> Warning: Could not resolve keysym XF86ElectronicPrivacyScreenOn +> Warning: Could not resolve keysym XF86ElectronicPrivacyScreenOff +> Warning: Could not resolve keysym XF86ActionOnSelection +> Warning: Could not resolve keysym XF86ContextualInsert +> Warning: Could not resolve keysym XF86ContextualQuery +Errors from xkbcomp are not fatal to the X server +[gamescope] [Info] pipewire: stream state changed: connecting +[gamescope] [Info] pipewire: stream state changed: paused +[gamescope] [Info] pipewire: stream available on node ID: 135 +[gamescope] [Info] vblank: Using timerfd. +fsync: up and running. +[Gamescope WSI] No application info given. +[Gamescope WSI] Executable name: explorer.exe +ATTENTION: default value of option vk_wsi_force_swapchain_to_current_extent overridden by environment. +[Gamescope WSI] Application info: + pApplicationName: xalia.exe + applicationVersion: 0 + pEngineName: DXVK + engineVersion: 12587008 + apiVersion: 4206592 +[Gamescope WSI] Executable name: xalia.exe +ATTENTION: default value of option vk_wsi_force_swapchain_to_current_extent overridden by environment. +[Gamescope WSI] No application info given. +[Gamescope WSI] Application info: + pApplicationName: ArmaReforgerWorkbenchSteamDiag.exe + applicationVersion: 1 + pEngineName: DXVK + engineVersion: 12587008 + apiVersion: 4206592 +[Gamescope WSI] Executable name: ArmaReforgerWorkbenchSteamDiag.exe +ATTENTION: default value of option vk_wsi_force_swapchain_to_current_extent overridden by environment. +[Gamescope WSI] No application info given. +The XKEYBOARD keymap compiler (xkbcomp) reports: +> Warning: Unsupported maximum keycode 709, clipping. +> X11 cannot support keycodes above 255. +> Warning: Virtual modifier Hyper multiply defined +> Using 0, ignoring 0 +> Warning: Virtual modifier ScrollLock multiply defined +> Using 0, ignoring 0 +Errors from xkbcomp are not fatal to the X server +ATTENTION: default value of option vk_wsi_force_swapchain_to_current_extent overridden by environment. +[Gamescope WSI] Application info: + pApplicationName: ArmaReforgerWorkbenchSteamDiag.exe + applicationVersion: 0 + pEngineName: DXVK + engineVersion: 12587008 + apiVersion: 4206592 +ATTENTION: default value of option vk_wsi_force_swapchain_to_current_extent overridden by environment. +[Gamescope WSI] Application info: + pApplicationName: ArmaReforgerWorkbenchSteamDiag.exe + applicationVersion: 0 + pEngineName: vkd3d + engineVersion: 12587008 + apiVersion: 4206592 +[Gamescope WSI] Forcing on VK_EXT_swapchain_maintenance1. +ATTENTION: default value of option vk_wsi_force_swapchain_to_current_extent overridden by environment. +[Gamescope WSI] No application info given. +ATTENTION: default value of option vk_wsi_force_swapchain_to_current_extent overridden by environment. +[Gamescope WSI] Application info: + pApplicationName: ArmaReforgerWorkbenchSteamDiag.exe + applicationVersion: 0 + pEngineName: vkd3d + engineVersion: 12587008 + apiVersion: 4206592 +[Gamescope WSI] Forcing on VK_EXT_swapchain_maintenance1. +[Gamescope WSI] Creating Gamescope surface: xid: 0x1a001a4 +[Gamescope WSI] Atom of T was wrong type. Expected XCB_ATOM_CARDINAL. +[Gamescope WSI] Made gamescope surface for xid: 0x1a001a4 +[Gamescope WSI] Surface state: + steam app id: 1874910 + window xid: 0x1a001a4 + wayland surface res id: 5 + layer client flags: 0x4 + server hdr output enabled: false + hdr formats exposed to client: false +[Gamescope WSI] Creating Gamescope surface: xid: 0x1a003a4 +[Gamescope WSI] Atom of T was wrong type. Expected XCB_ATOM_CARDINAL. +[Gamescope WSI] Made gamescope surface for xid: 0x1a003a4 +[Gamescope WSI] Surface state: + steam app id: 1874910 + window xid: 0x1a003a4 + wayland surface res id: 10 + layer client flags: 0x4 + server hdr output enabled: false + hdr formats exposed to client: false +[Gamescope WSI] Creating swapchain for xid: 0x1a003a4 - oldSwapchain: (nil) - provided minImageCount: 3 - minImageCount: 3 - format: VK_FORMAT_B8G8R8A8_UNORM - colorspace: VK_COLOR_SPACE_SRGB_NONLINEAR_KHR - flip: false +[Gamescope WSI] Created swapchain for xid: 0x1a003a4 swapchain: 0x7faaf81152f0 - imageCount: 4 +[Gamescope WSI] Destroying swapchain: 0x7faaf81152f0 +[Gamescope WSI] Destroyed swapchain: 0x7faaf81152f0 +[Gamescope WSI] Creating swapchain for xid: 0x1a003a4 - oldSwapchain: (nil) - provided minImageCount: 3 - minImageCount: 3 - format: VK_FORMAT_B8G8R8A8_UNORM - colorspace: VK_COLOR_SPACE_SRGB_NONLINEAR_KHR - flip: false +[Gamescope WSI] Created swapchain for xid: 0x1a003a4 swapchain: 0x7faaf81152f0 - imageCount: 4 +[Gamescope WSI] Destroying swapchain: 0x7faaf81152f0 +[Gamescope WSI] Destroyed swapchain: 0x7faaf81152f0 +[Gamescope WSI] Creating swapchain for xid: 0x1a003a4 - oldSwapchain: (nil) - provided minImageCount: 3 - minImageCount: 3 - format: VK_FORMAT_B8G8R8A8_UNORM - colorspace: VK_COLOR_SPACE_SRGB_NONLINEAR_KHR - flip: false +[Gamescope WSI] Created swapchain for xid: 0x1a003a4 swapchain: 0x7faaf81152f0 - imageCount: 4 +[gamescope] [Error] xwm: X11 I/O error! This is fatal. Aborting... diff --git a/docs/evidence/native-2026-09-19-044608-radio-position-fixture-failure/report.json b/docs/evidence/native-2026-09-19-044608-radio-position-fixture-failure/report.json new file mode 100644 index 0000000..c908c62 --- /dev/null +++ b/docs/evidence/native-2026-09-19-044608-radio-position-fixture-failure/report.json @@ -0,0 +1,20 @@ +{ + "log": "docs/evidence/native-2026-09-19-044608-radio-position-fixture-failure/console.log.txt", + "smoke_completions": 0, + "assertions_passed": 104, + "script_or_runtime_failures": [ + "04:47:24.135 SCRIPT (E): ERR SMOKE FAIL: radio service tuning outside five metres rejected" + ], + "engine_errors": [ + "04:46:47.887 WORLD (E): Unknown keyword/data 'SlidingTrackMaterial' at offset 19441(0x4bf1)", + "04:46:47.922 WORLD (E): Unknown keyword/data 'Parent' at offset 35955(0x8c73)", + "04:46:47.922 WORLD (E): Unknown keyword/data 'Parent' at offset 36915(0x9033)", + "04:46:47.923 WORLD (E): Unknown keyword/data 'Parent' at offset 42646(0xa696)", + "04:46:47.923 WORLD (E): Unknown keyword/data 'Parent' at offset 43645(0xaa7d)", + "04:46:47.923 WORLD (E): Unknown keyword/data 'Parent' at offset 44617(0xae49)", + "04:46:47.923 WORLD (E): Unknown keyword/data 'Parent' at offset 45590(0xb216)", + "04:47:24.135 SCRIPT (E): ERR SMOKE FAIL: radio service tuning outside five metres rejected" + ], + "missing_end_screen": [], + "scope": "scripted local Workbench integration only; no multiplayer, piloting or FPS claim" +} diff --git a/docs/evidence/native-2026-09-19-044608-radio-position-fixture-failure/runner.json.txt b/docs/evidence/native-2026-09-19-044608-radio-position-fixture-failure/runner.json.txt new file mode 100644 index 0000000..24b6637 --- /dev/null +++ b/docs/evidence/native-2026-09-19-044608-radio-position-fixture-failure/runner.json.txt @@ -0,0 +1,9 @@ +{ + "result": "test-failed", + "session": "/tmp/erri-workbench-profile/logs/logs_2026-09-19_04-46-08", + "rounds_required": 2, + "project": "core", + "display": "headless Gamescope 1280x720/30Hz", + "dedicated_server": false, + "audio": "silent sink and per-test-stream mute" +} diff --git a/docs/evidence/native-2026-09-19-044608-radio-position-fixture-failure/script.log.txt b/docs/evidence/native-2026-09-19-044608-radio-position-fixture-failure/script.log.txt new file mode 100644 index 0000000..8590ea0 --- /dev/null +++ b/docs/evidence/native-2026-09-19-044608-radio-position-fixture-failure/script.log.txt @@ -0,0 +1,186 @@ +--------------------------------------------- +Log Z:\tmp\erri-workbench-profile\logs\logs_2026-09-19_04-46-08\script.log started at 2026-09-19 04:46:11 (2026-09-19 02:46:11 UTC) + +04:46:11.126 SCRIPT : SCRIPT : Initializing scripts +04:46:11.126 SCRIPT : SCRIPT : ScriptProjectManager init +04:46:12.053 SCRIPT : SCRIPT : Compiling GameLib scripts +04:46:12.108 SCRIPT : Module: Workbench; loaded 18x files; 36x classes; used 125K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE"; CRC32: 90ce0460 +04:46:12.108 SCRIPT : Module: GameLib; loaded 465x files; 648x classes; used 828K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE"; CRC32: 4507af04 +04:46:12.109 SCRIPT : SCRIPT : Compiling Game scripts +04:46:13.154 SCRIPT : Compiling Game scripts +04:46:13.154 SCRIPT (W): @"Scripts/Game/Editor/Components/EditableEntity/SCR_EditableEntityComponent.c,785": 'GetPlayerPlatformKind' is obsolete +04:46:13.154 SCRIPT (W): @"Scripts/Game/Editor/Components/EditableEntity/SCR_EditableEntityComponent.c,786": 'GetPlayerPlatformId' is obsolete +04:46:13.392 SCRIPT (W): @"Scripts/Game/ERR/ERR_SiteService.c,140": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +04:46:13.401 SCRIPT (W): @"Scripts/Game/Workshop/SCR_AddonManager.c,876": 'GetRefCount' is obsolete: Will be removed +04:46:13.430 SCRIPT (W): @"Scripts/Game/Campaign/SCR_PlayerProfileManagerComponent.c,142": 'PlayerData' is obsolete +04:46:13.524 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,159": 'GetDSSession' is obsolete +04:46:13.524 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,162": 'RoomID' is obsolete +04:46:13.524 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,197": 'GetDSSession' is obsolete +04:46:13.524 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,201": 'RoomID' is obsolete +04:46:13.615 SCRIPT (W): @"Scripts/Game/DataCollection/SCR_DataCollectorComponent.c,481": 'GetStorage' is obsolete +04:46:13.615 SCRIPT (W): @"Scripts/Game/DataCollection/SCR_DataCollectorComponent.c,483": 'GetOnlineWritePrivilege' is obsolete +04:46:13.616 SCRIPT (W): @"Scripts/Game/Utilities/SCR_PlayerIdentityUtils.c,20": 'GetPlayerIdentityId' is obsolete +04:46:13.656 SCRIPT (W): @"Scripts/Game/ERR/ERR_ExtractionService.c,45": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +04:46:13.656 SCRIPT (W): @"Scripts/Game/ERR/ERR_ExtractionService.c,56": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +04:46:13.657 SCRIPT (W): @"Scripts/Game/UI/Menu/MainMenuUI.c,643": 'GetNotifyCount' is obsolete: Will be substitued by Notification Api. +04:46:13.657 SCRIPT (W): @"Scripts/Game/UI/Menu/MainMenuUI.c,645": 'GetNotifyItem' is obsolete: Will be substitued by Notification Api. +04:46:13.683 SCRIPT (W): @"Scripts/Game/ERR/ERR_NativeTransportProbe.c,82": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +04:46:13.713 SCRIPT (W): @"Scripts/Game/DataCollection/PlayerData/SCR_PlayerData.c,210": 'PlayerData' is obsolete +04:46:13.978 SCRIPT : Module: WorkbenchGame; loaded 171x files; 616x classes; used 2478K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE"; CRC32: db6febb9 +04:46:13.985 SCRIPT : Module: Game; loaded 5701x files; 11171x classes; used 32480K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE,ENABLE_BASE_DESTRUCTION,BUDGET_OPTIMIZATION_CHECKS,SHOW_DISCLAIMER,DEBUG,RESPAWN_TIMER_COMPONENT_DEBUG,GAME_MODE_DEBUG,DEBUG_CONFIGURABLE_DIALOGS,DISABLE_WEAPON_SWITCHING,SCRIPTED_AIM_MODIFIER_DEBUG"; CRC32: 2ee8c501 +04:46:14.919 SCRIPT : Unable to register a script command due keyword duplicity: ban +04:46:14.919 SCRIPT : Unable to register a script command due keyword duplicity: kick +04:46:33.989 SCRIPT : ERR SITE SURVEY: supply=6150/7050 elevationRange=0.625 min=202.875 max=203.5 +04:46:37.239 SCRIPT : Unable to register a script command due keyword duplicity: ban +04:46:37.239 SCRIPT : Unable to register a script command due keyword duplicity: kick +04:46:50.168 SCRIPT (W): SCR_PerceivedFactionManagerComponent trying to set fall back faction 'CIV' but this faction could not be found so it is null instead. +04:46:50.195 SCRIPT : ERR BASE SMOKE: core-only scripted escape; not manual or multiplayer acceptance +04:46:50.734 SCRIPT (W): Notification data in 'SCR_NotificationsLogDisplay' has duplicate notification info key: 'EDITOR_PERCEIVED_FACTION_PUNISHMENT_KILLING_SET'. There should only be one of each key! +04:46:50.734 SCRIPT (W): Notification data in 'SCR_NotificationsLogDisplay' has duplicate notification info key: 'EDITOR_PERCEIVED_FACTION_TYPE_DISABLED'. There should only be one of each key! +04:46:50.736 SCRIPT (W): Can't open config file "" +04:46:50.743 SCRIPT (W): Slot_WeaponInfo Has no Content! +04:46:50.743 SCRIPT (W): Slot_Chat Has no Content! +04:46:50.743 SCRIPT (W): Slot_VON Has no Content! +04:46:50.744 SCRIPT (W): Slot_AvailableActions Has no Content! +04:46:50.744 SCRIPT (W): Slot_Vehicle Has no Content! +04:46:50.744 SCRIPT (W): Slot_GameVersion Has no Content! +04:46:50.744 SCRIPT (W): Slot_Notifications Has no Content! +04:46:50.744 SCRIPT (W): Slot_Hints Has no Content! +04:46:50.760 SCRIPT (W): Ban Settings could not be loaded from BE Storage: Relying on default config +04:46:50.817 SCRIPT : ScenarioFramework: Available tasks are empty, no new tasks will be generated. +04:46:50.831 SCRIPT : SCR_BaseGameMode::OnGameStateChanged = GAME +04:46:51.009 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +04:46:52.537 SCRIPT : Rereintroduced [sites]: cache clearance position=<6086,211.538,7160> clear=1 +04:46:52.556 SCRIPT : Rereintroduced [sites]: authored everon-prison-1 at <6090,211.444,7160> +04:46:52.557 SCRIPT : Rereintroduced [sites]: cache clearance position=<6150,203.288,7050> clear=1 +04:46:52.586 SCRIPT : Rereintroduced [sites]: authored everon-supply-1 at <6150,203.288,7050> +04:46:52.588 SCRIPT : Rereintroduced [sites]: authored everon-radio-1 at <6500,159.756,7200> +04:46:52.638 SCRIPT : Rereintroduced [sites]: authored everon-extraction-1 at <7000,65.2562,7500> +04:46:52.638 SCRIPT : Rereintroduced [sites]: cache clearance position=<5960,220.256,7220> clear=1 +04:46:52.644 SCRIPT : Rereintroduced [sites]: transport parking=<5960,220.256,7212> radius=4 terrainRange=0.8125 obstructed=0 clear=1 +04:46:52.692 SCRIPT : Rereintroduced [sites]: authored everon-supply-2 at <5960,220.256,7220> +04:46:52.693 SCRIPT : Rereintroduced [sites]: cache clearance position=<6340,175.788,7400> clear=1 +04:46:52.695 SCRIPT : Rereintroduced [sites]: authored everon-medical-1 at <6340,175.788,7400> +04:46:52.696 SCRIPT : Rereintroduced [sites]: cache clearance position=<6740,140.6,7300> clear=1 +04:46:52.699 SCRIPT : Rereintroduced [sites]: cache clearance position=<6740,140.913,7296> clear=1 +04:46:52.701 SCRIPT : Rereintroduced [sites]: cache clearance position=<6736,140.975,7300> clear=1 +04:46:52.701 SCRIPT : Rereintroduced [sites]: cache clearance position=<6744,140.288,7300> clear=1 +04:46:52.702 SCRIPT : Rereintroduced [sites]: authored everon-outpost-1 at <6740,140.6,7300> +04:46:52.789 SCRIPT : Rereintroduced [sites]: 7 sites and 117 physical stock items ready +04:46:52.791 SCRIPT : Rereintroduced [time]: started at 14:00 with 1x progression +04:46:52.791 SCRIPT : Rereintroduced [mission]: phase 0 -> 1 +04:46:53.037 SCRIPT : INFO: Faction: player jakub (playerID = 1 | UUID = 00000000-0000-0000-0000-000000000000) has joined faction #AR-Faction_US (US) +04:46:53.118 SCRIPT : Rereintroduced [spawn]: player 1 at <6090,211.444,7160> +04:46:53.240 SCRIPT : ERR SMOKE PASS: definition authored configuration resolves +04:46:53.240 SCRIPT : ERR SMOKE PASS: definition duplicate site identity rejected +04:46:53.241 SCRIPT : ERR SMOKE PASS: definition dangling document target rejected +04:46:53.241 SCRIPT : ERR SMOKE PASS: definition non-radio document target rejected +04:46:53.241 SCRIPT : ERR SMOKE PASS: definition insufficient guaranteed radio clues rejected +04:46:53.241 SCRIPT : ERR SMOKE PASS: definition unbounded stock rejected +04:46:53.241 SCRIPT : ERR SMOKE PASS: definition unguaranteed clue route rejected +04:46:53.241 SCRIPT : ERR SMOKE PASS: definition radio sources sharing one footprint rejected +04:46:53.242 SCRIPT : ERR SMOKE PASS: definition unnamed location rejected +04:46:53.242 SCRIPT : ERR SMOKE PASS: definition proximity discovery cannot reveal progression sites +04:46:53.242 SCRIPT : ERR SMOKE PASS: definition escape cannot reveal the radio directly +04:46:53.242 SCRIPT : ERR SMOKE PASS: definition unbounded scenery offset rejected +04:46:53.242 SCRIPT : ERR SMOKE PASS: definition valid configuration restored after isolated mutations +04:46:53.243 SCRIPT : ERR SMOKE PASS: base contracts catalog resolves hostile vanilla factions and successful preparation +04:46:53.243 SCRIPT : ERR SMOKE PASS: base contracts physical prisoner matches injected faction and resource +04:46:53.243 SCRIPT : ERR SMOKE PASS: base contracts physical guard squad comes from injected catalog +04:46:53.243 SCRIPT : ERR SMOKE PASS: base contracts same-side factions rejected +04:46:53.243 SCRIPT : ERR SMOKE PASS: base contracts unknown world faction rejected +04:46:53.243 SCRIPT : ERR SMOKE PASS: base contracts missing prisoner resource rejected +04:46:53.244 SCRIPT : ERR SMOKE PASS: base contracts isolated catalog restored without mutating live configuration +04:46:53.244 SCRIPT : ERR SMOKE PASS: base contracts unauthorized settings request rejected +04:46:53.244 SCRIPT : ERR SMOKE PASS: base contracts partially numeric input rejected without mutation +04:46:53.244 SCRIPT : ERR SMOKE PASS: base contracts out-of-range duration rejected without mutation +04:46:53.248 SCRIPT : ERR SMOKE PASS: base contracts normalized base command saves validated duration +04:46:53.248 SCRIPT : ERR SMOKE PASS: base contracts base command reads saved duration +04:46:53.248 SCRIPT : ERR SMOKE PASS: base contracts base settings listing available +04:46:53.248 SCRIPT : ERR SMOKE PASS: base contracts base mission status available before companions +04:46:53.251 SCRIPT : ERR SMOKE PASS: base contracts test setting restored +04:46:53.251 SCRIPT : ERR SMOKE PASS: base outpost barrier is upright +04:46:53.251 SCRIPT : ERR COVER GEOMETRY: low=<6738.99,140.839,7295.42> high=<6740.98,141.655,7296.62> trace=0.377114 +04:46:53.251 SCRIPT : ERR SMOKE PASS: base outpost barrier has physical collision +04:46:53.252 SCRIPT : ERR SMOKE PASS: base outpost barrier is upright +04:46:53.252 SCRIPT : ERR COVER GEOMETRY: low=<6735.42,140.901,7299.02> high=<6736.62,141.718,7301.01> trace=0.377114 +04:46:53.252 SCRIPT : ERR SMOKE PASS: base outpost barrier has physical collision +04:46:53.252 SCRIPT : ERR SMOKE PASS: base outpost barrier is upright +04:46:53.252 SCRIPT : ERR COVER GEOMETRY: low=<6743.42,140.214,7299.02> high=<6744.62,141.03,7301.01> trace=0.377114 +04:46:53.252 SCRIPT : ERR SMOKE PASS: base outpost barrier has physical collision +04:46:53.252 SCRIPT : ERR SMOKE PASS: base exactly three authored outpost barriers exist +04:46:53.252 SCRIPT : ERR SMOKE PASS: mission time clock parsing includes midnight and final minute +04:46:53.253 SCRIPT : ERR SMOKE PASS: mission time malformed clock commands rejected +04:46:53.253 SCRIPT : ERR SMOKE PASS: mission time isolated fixture paths unused +04:46:53.253 SCRIPT : ERR SMOKE PASS: mission time legacy fixture created +04:46:53.254 SCRIPT : ERR SMOKE PASS: mission time existing six-key settings preserved +04:46:53.254 SCRIPT : ERR SMOKE PASS: mission time only absent time settings receive defaults +04:46:53.255 SCRIPT : ERR SMOKE PASS: mission time loading does not rewrite legacy file +04:46:53.261 SCRIPT : ERR SMOKE PASS: mission time explicit save upgrades valid legacy settings +04:46:53.261 SCRIPT : ERR SMOKE PASS: mission time new keys and old values survive reload +04:46:53.263 SCRIPT : ERR SMOKE PASS: mission time present out-of-range time cannot silently default +04:46:53.266 SCRIPT : ERR SMOKE PASS: mission time fractional clock setting rejected +04:46:53.267 SCRIPT : ERR SMOKE PASS: mission time zero multiplier rejected +04:46:53.268 SCRIPT : ERR SMOKE PASS: mission time missing legacy setting remains invalid +04:46:53.269 SCRIPT : ERR SMOKE PASS: mission time partially upgraded file defaults only missing new field +04:46:53.270 SCRIPT : ERR SMOKE PASS: mission time valid saved backup recovers invalid primary +04:46:53.271 SCRIPT : ERR SMOKE PASS: mission time server starts world clock before prison phase +04:46:53.271 SCRIPT : ERR SMOKE PASS: mission time engine progression matches applied multiplier +04:46:53.271 SCRIPT : ERR SMOKE PASS: mission time unauthorized clock mutation rejected +04:46:53.271 SCRIPT : ERR SMOKE PASS: mission time invalid clock command preserves setting +04:46:53.281 SCRIPT : ERR SMOKE PASS: mission time authorized settings persist and test restores originals +04:46:53.281 SCRIPT : ERR SMOKE PASS: mission time saved changes and repeated start leave current clock and speed intact +04:46:53.281 SCRIPT : ERR SMOKE PASS: mission time admin sees current clock separately from next round settings +04:46:53.281 SCRIPT : ERR SMOKE PASS: base native prison objective exists +04:46:53.282 SCRIPT : ERR SMOKE PASS: objective UI current native task exists +04:46:53.284 SCRIPT : ERR SMOKE PASS: objective UI native list and detail layouts created +04:46:53.284 SCRIPT : ERR SMOKE PASS: objective UI native handlers attached +04:46:53.285 SCRIPT : ERR SMOKE PASS: objective UI open list and details contain current title and instructions +04:46:53.285 SCRIPT : ERR SMOKE PASS: objective UI list-only task cannot expose an undiscovered map position +04:46:53.285 SCRIPT : ERR SMOKE PASS: objective UI actual local player receives the active objective +04:46:53.285 SCRIPT : ERR SMOKE PASS: objective UI extraction instructions follow a nondefault boundary +04:46:53.285 SCRIPT : ERR SMOKE PASS: base authored supply cache is a separate scavenging location +04:46:53.286 SCRIPT : ERR BASE STOCK: cache items=54 +04:46:53.286 SCRIPT : ERR SMOKE PASS: base cache holds finite physical equipment and objective documents +04:46:53.286 SCRIPT : ERR SMOKE PASS: base no companion HQ or support controller loaded +04:46:53.286 SCRIPT : ERR SMOKE PASS: base prisoner spawned in authored prison +04:46:53.287 SCRIPT : ERR SMOKE PASS: base gate, clues, radio and helicopter created by core +04:46:53.287 SCRIPT : Rereintroduced [mission]: phase 1 -> 2 +04:46:53.288 SCRIPT : ERR SMOKE PASS: base gate action begins escape +04:46:53.292 SCRIPT : ERR SMOKE PASS: base test defence duration accepted +04:46:53.292 SCRIPT : ERR SMOKE PASS: base previous native objective completes on phase change +04:46:53.292 SCRIPT : ERR SMOKE PASS: base search objective does not expose a hidden site +04:46:53.293 SCRIPT : ERR SMOKE PASS: objective UI current native task exists +04:46:53.296 SCRIPT : ERR SMOKE PASS: objective UI native list and detail layouts created +04:46:53.296 SCRIPT : ERR SMOKE PASS: objective UI native handlers attached +04:46:53.296 SCRIPT : ERR SMOKE PASS: objective UI open list and details contain current title and instructions +04:46:53.296 SCRIPT : ERR SMOKE PASS: objective UI list-only task cannot expose an undiscovered map position +04:46:53.296 SCRIPT : ERR SMOKE PASS: objective UI actual local player receives the active objective +04:46:53.297 SCRIPT : ERR SMOKE PASS: objective UI extraction instructions follow a nondefault boundary +04:46:53.297 SCRIPT : ERR SMOKE PASS: base both named supply routes revealed after escape +04:46:53.297 SCRIPT : ERR SMOKE PASS: base optional sites remain hidden until approached +04:46:59.344 SCRIPT : ERR SMOKE PASS: base unconscious player cannot discover optional sites +04:47:05.429 SCRIPT : ERR SMOKE PASS: base distant player cannot discover optional sites +04:47:05.430 SCRIPT : ERR SMOKE PASS: base isolated visibility obstacle created +04:47:05.430 SCRIPT : ERR VISIBILITY OBSTACLE: low=<6338.5,174.97,7403.87> high=<6341.5,178.737,7404.13> observer=<6340.63,174.709,7466.79> target=<6340,175.788,7400> +04:47:11.491 SCRIPT : ERR SMOKE PASS: base physical wall prevents nearby site discovery +04:47:17.554 SCRIPT : ERR SMOKE PASS: base conscious nearby player visually discovers named medical stash once +04:47:17.554 SCRIPT : ERR SMOKE PASS: base proximity cannot bypass radio documents +04:47:18.066 SCRIPT : ERR SMOKE PASS: base physical clue recovered +04:47:18.183 SCRIPT : Rereintroduced [intel]: player 1 recovered folder; location=everon-radio-1 knowledge=1 +04:47:20.589 SCRIPT : ERR SMOKE PASS: base physical clue recovered +04:47:21.187 SCRIPT : Rereintroduced [intel]: player 1 recovered folder; location=everon-radio-1 knowledge=2 +04:47:23.119 SCRIPT : ERR SMOKE PASS: base objective guidance reacts to discovered radio +04:47:23.119 SCRIPT : ERR SMOKE PASS: objective UI current native task exists +04:47:23.119 SCRIPT : ERR SMOKE PASS: objective UI open list and details contain current title and instructions +04:47:23.119 SCRIPT : ERR SMOKE PASS: objective UI list-only task cannot expose an undiscovered map position +04:47:23.119 SCRIPT : ERR SMOKE PASS: objective UI actual local player receives the active objective +04:47:23.119 SCRIPT : ERR SMOKE PASS: objective UI extraction instructions follow a nondefault boundary +04:47:23.122 SCRIPT : ERR SMOKE PASS: base discovery ticks do not repeat the location event +04:47:23.122 SCRIPT : ERR SMOKE PASS: base documents identify radio without Intel addon +04:47:24.124 SCRIPT : ERR SMOKE PASS: radio service identified radio and real controlled prisoner available +04:47:24.134 SCRIPT : ERR SMOKE PASS: radio service second physical defender created with simulated connection membership +04:47:24.134 SCRIPT : ERR SMOKE PASS: radio service ordinary AI cannot tune even while alive and nearby +04:47:24.135 SCRIPT : ERR SMOKE PASS: radio service missing radio rejected +04:47:24.135 SCRIPT (E): ERR SMOKE FAIL: radio service tuning outside five metres rejected +04:47:24.138 SCRIPT : ERR SMOKE PASS: radio service isolated test restores live duration setting and player state diff --git a/docs/evidence/native-2026-09-19-044608-radio-position-fixture-failure/source-sha256.json b/docs/evidence/native-2026-09-19-044608-radio-position-fixture-failure/source-sha256.json new file mode 100644 index 0000000..4d6750f --- /dev/null +++ b/docs/evidence/native-2026-09-19-044608-radio-position-fixture-failure/source-sha256.json @@ -0,0 +1,115 @@ +{ + "addons/ai/Prefabs/ERR/MortarCrew.et": "05d3e7353ff9fe5523218a1487b31b7b742b0be8adbcb060c7099978cf008bce", + "addons/ai/Prefabs/ERR/MortarCrew.et.meta": "fdfd4fcd21a67c3d698fa4aadc4e5c76e665cebf4be86013bc389e493fab63cc", + "addons/ai/Scripts/Game/ERR/ERR_HQ.c": "ceafd6740ed277748744ce56ac0f0bb3a8521fcc060dafb2cdb99896aedf405a", + "addons/ai/Scripts/Game/ERR/ERR_HQJournal.c": "b3e402cfe92d415f37f666045afb062e6e11670ba03a0ca6f2d9fd4fc3520ac1", + "addons/ai/Scripts/Game/ERR/ERR_HQNetwork.c": "92ff2caca52e94c2cc9642dfc8509ce6e9349b257012bade8650bace9231128c", + "addons/ai/Scripts/Game/ERR/ERR_HQObservation.c": "36c978ec5f052213ac1236e1398d85063efbfd7ef60fe04f1fc11447fefe1d68", + "addons/ai/Scripts/Game/ERR/ERR_HQReport.c": "c4d16ccb571db4d9444c0a8d2be7318845d25ff90238b6d304e96a9ea19f1a08", + "addons/ai/Scripts/Game/ERR/ERR_HelicopterAvailability.c": "60eaef2f6d4b2fd44861c5a4434ef97e732e40a5ff7401e2da451ed2dd9c2762", + "addons/ai/Scripts/Game/ERR/ERR_MortarBattery.c": "66b8f16b692a0f75fc9d920f5224d9292a0f1dc7dd8b2dde912e676fa80ddc9c", + "addons/ai/Scripts/Game/ERR/ERR_MortarFiring.c": "657e96d1112b68c8ced37793e99f88e6078b38a579190e63d00b1f9a9a032e26", + "addons/ai/Scripts/Game/ERR/ERR_MortarPrediction.c": "470dd196ed64800c697d24c09d1344bacd2502587fac76af4ee0edae2563092d", + "addons/ai/Scripts/Game/ERR/ERR_MortarSalvo.c": "697c01f479df6c505a41d984a29c02002e3052114dafa2ec6252ae55e2979a2b", + "addons/ai/Scripts/Game/ERR/ERR_MortarSystem.c": "12d8fc39d47e03c3838e0642aa9e4a80baf60f250357493bff812d5c75812c86", + "addons/ai/Scripts/Game/ERR/ERR_SettlementSafety.c": "e5c0ebc95521a9a33a3f7d9cca6c551dda862a08b7af20b017877aba9584795b", + "addons/ai/Scripts/Game/ERR/ERR_SupportScenario.c": "71757018ec9716c4dc24f62a292a214919d3fd5daed3c16e03e56abd208e9f03", + "addons/ai/addon.gproj": "5f559db8f526700db11e6ae763f5245f19b7006fc68c56e4c09fb6f940bdf2a1", + "addons/chat/Missions/ERR_Everon.conf": "76f3ac0d21b585654beac7ddd68e3c8cbdd66dbfe909b17b04838fa813a7c29b", + "addons/chat/Missions/ERR_Everon.conf.meta": "0a23c98bf83873536c65fa17d38dea33a1d7b9e4ab210f90633ff688abcc551f", + "addons/chat/Scripts/Game/ERR/ERR_AdminCommands.c": "7ea6d6b240524cf0193c86fcab861fbdef9adca780acff11ee73f9ed0e99ce7b", + "addons/chat/Scripts/Game/ERR/ERR_NativeMortarProbe.c": "ddb892141500c192c0787b011d57dd8c07dd8c9a3ca5fdc407f6c271897bde0a", + "addons/chat/Scripts/Game/ERR/ERR_NativeRadioProbe.c": "84524163c63402755b4f834f74dfe6d8e5c397dc26031f532593c6f79f5a93b1", + "addons/chat/Scripts/Game/ERR/ERR_NativeSmoke.c": "0ab2fed95dcaa0442cf7feb25743308060d58497e347f17dbd25c8e970a9f81f", + "addons/chat/Scripts/WorkbenchGame/ERR/ERR_ValidateWorldPlugin.c": "81c92d408ce88cc9f98d6053f1d0c863427693ba748f00df9f1bf8079015ef94", + "addons/chat/addon.gproj": "ea1587e0174cf795334d306c71d99b06797fc891427cd57b6cab6e21cf0e4e0e", + "addons/core/Configs/ERR/EveronSites.conf": "2edb2c6983eb627800b65d9e244b9b228e0b82282e089c7b12e5a8921a2ea7bf", + "addons/core/Configs/ERR/EveronSites.conf.meta": "d5fe68025ef4e7c1e16082cf5873b7c7172eacbfaef4ab29b7e0e3c98f8dca56", + "addons/core/Configs/ERR/GameOverScreens.conf": "45231061911a1462d45fb6db0fecc2b0793f17b5ae71017174954ff4fbd20236", + "addons/core/Configs/ERR/GameOverScreens.conf.meta": "eb654b745c0b97b41c991694569ef4877a3c2315e0826f9556337cd68690843e", + "addons/core/Configs/ERR/VanillaFactions.conf": "f8b8b9898a16b4a4a55ab3c12d2547bef2dc433732c7643df980cb3aca715212", + "addons/core/Configs/ERR/VanillaFactions.conf.meta": "ac77725c0c21974991ef47a466b88122e939de8b46fd23e68889e7674cbb2bfd", + "addons/core/Missions/ERR_Everon_Base.conf": "1e6a0e9a756d15495201f71121626890f01efe6b00154c561672d4ec157960bd", + "addons/core/Missions/ERR_Everon_Base.conf.meta": "9b16267c644d815bcf98a3a3aaff30b93d7224fb24d3a2bac66730a28011f317", + "addons/core/Prefabs/ERR/Extraction.et": "1aa286ef253c5410f09fa641e4be91a7be8ec834487a7fbb74cfb45cab60ee1e", + "addons/core/Prefabs/ERR/Extraction.et.meta": "c2a838633001e2e3a202d39cb33aa744ebcd996017ad032359069641b5d13853", + "addons/core/Prefabs/ERR/FieldCover.et": "20f8095e69dbfe3db74ff19078e528ea75405362b335e03560ccd61f8df2e7f3", + "addons/core/Prefabs/ERR/FieldCover.et.meta": "83461ffa76244e1d69f20b053a9741ccdf7d127009182bd540a7e5ba6150c3d9", + "addons/core/Prefabs/ERR/GameMode.et": "385c97a5b8067091d92aa60c2d4fcf02002cf606b95523866ead65c96b8c0029", + "addons/core/Prefabs/ERR/GameMode.et.meta": "106769cd34525c9d440057072836cb7401a6752148c40edd7fe61c03bd58328c", + "addons/core/Prefabs/ERR/ObjectiveDocument.et": "2e72270bf186654af12d2c3ff9bf940690b03fb17fca44f873c1fde5d11384c0", + "addons/core/Prefabs/ERR/ObjectiveDocument.et.meta": "eaba9903be147b98a1106e2273e2270773df73b9b22f2cd4e20136a8e281382e", + "addons/core/Prefabs/ERR/Patrol.et": "c5685a8bc311cc5563fb3334beec9408d3d7a1069152fddeeb7df4f1b7f9e6ce", + "addons/core/Prefabs/ERR/Patrol.et.meta": "7c5da568fa2fcf0709ee2959253cb068d7c7ed7c2467af3b247a7e70efd96b69", + "addons/core/Prefabs/ERR/Prison.et": "1503db1441d8cd7a4f0b45c27ba9623b9fa39f0f81016e180bd2aa1379e1f42a", + "addons/core/Prefabs/ERR/Prison.et.meta": "2e426ef3de68f4107907854b51e818bc11d84649a01c538e3f18dd9ebec766bb", + "addons/core/Prefabs/ERR/PrisonDoor.et": "fc66be9d36f1f01084de59f1b0a1e8817f9e46547ead33d4fafaac0107446c40", + "addons/core/Prefabs/ERR/PrisonDoor.et.meta": "b8f3db52bf186426026668fbb9d633c3cbd4d438ab301fba880398f6a0e781c2", + "addons/core/Prefabs/ERR/PrisonWall.et": "8009d19365ae72a4749d7ad4fa04662575b06c65c6bf06507d380d57258b5eed", + "addons/core/Prefabs/ERR/PrisonWall.et.meta": "0294bc5dbb56f90f8153d62459bb0a6ad91d76a479812bbec9c7db182fdb58d6", + "addons/core/Prefabs/ERR/Radio.et": "b4b5cfe125b39019855816c9a1c508ca4d65d435b5546fdaa6c1fa3c8c9b1165", + "addons/core/Prefabs/ERR/Radio.et.meta": "bc91137b68ba550217914fb8892bb44d7e1920e4a1086f3e506623832a44212f", + "addons/core/Prefabs/ERR/SpectatorCamera.et": "b5b87d5b7b707f3745741aebe7c923067c8a74f8fbb2a4711834bab03bb5a812", + "addons/core/Prefabs/ERR/SpectatorCamera.et.meta": "2a16558f93915e31908a674509e9c89976470f78a84a1174a64b94b68b8f77ad", + "addons/core/Prefabs/ERR/SupplyCache.et": "bccf7afbaae97cfcdd78dd6dbbf4be5b2c045d348f50fe4581962e556c0044d7", + "addons/core/Prefabs/ERR/SupplyCache.et.meta": "2f5de3a4aab1e9d0e35521f48dc57b95bd6e449c383dec4f1c258e10295904cb", + "addons/core/Prefabs/ERR/SupplySite.et": "dc5decce5cabf39b6116e8794ec3960cb1e35761854fdbe69740da118787ded4", + "addons/core/Prefabs/ERR/SupplySite.et.meta": "b41944b12eb3528ff7a3ac94258b18c66ef161aa6a38894aee300a1ac4798630", + "addons/core/Scripts/Game/ERR/ERR_Actions.c": "adf93245e6d78c59b9839599d157a0d2b2b93ea93b3d1ae52e2904dd6c288266", + "addons/core/Scripts/Game/ERR/ERR_Actors.c": "b3c5aabb05f7cf35167bc09b5db51a4ffd89a46658805d6eedbfb80eee30273d", + "addons/core/Scripts/Game/ERR/ERR_AdminService.c": "047c14ce60cc0b167e202438f8f2b1063590e69ef88ea55b54598aea5f99c505", + "addons/core/Scripts/Game/ERR/ERR_DiscoveryMap.c": "2f4ea342fea0530061456be9cdce002d5e7a282e4e27eb88f3860e79f93612bf", + "addons/core/Scripts/Game/ERR/ERR_DiscoveryService.c": "6b5679447fe4a6d7d54c0545881ab56284f871556b3159207d421247f419eada", + "addons/core/Scripts/Game/ERR/ERR_DocumentComponent.c": "17bb76b80ebd3357e46d553c44674f602c7bd6901c92aec53ac8214194aa4ff2", + "addons/core/Scripts/Game/ERR/ERR_EscapeGameOverScreenInfo.c": "b1e1afb7795cb77c0bad94c85abf705b26b9dc2a9400905d80eafd56bdd009d3", + "addons/core/Scripts/Game/ERR/ERR_ExtractionService.c": "91357099b4e0401196b67d48963be54be30e56bdba57cdac67dc20b8ebb883e9", + "addons/core/Scripts/Game/ERR/ERR_FactionCatalog.c": "a5a8c53acf21259e14f59cb919535910f30dabff5a9179c664bc6a7a4d744d6e", + "addons/core/Scripts/Game/ERR/ERR_GameMode.c": "d766d1639378070bea64eef38baa4667f8b9f5f1a2a7b170f0fc5e8fd557917d", + "addons/core/Scripts/Game/ERR/ERR_Location.c": "d2035f56ded35743312ec6ca91a67f8623a466c91255e1893c570edf0954ff24", + "addons/core/Scripts/Game/ERR/ERR_MissionRules.c": "f7abc38ad8fdc375ce7fa63a65f0bade027d22b37e09de5e3f94ba8c3c63cc41", + "addons/core/Scripts/Game/ERR/ERR_NativeBaseSmoke.c": "60a573d974b4862b1b66e9cb0ef2ee7d056f698cf1e4f5af5233bde7c59e931f", + "addons/core/Scripts/Game/ERR/ERR_NativeContractsProbe.c": "d1556df885171cf967e96eef5d8981a2e9ee4e3938b7d32fdd0426f647bbabc0", + "addons/core/Scripts/Game/ERR/ERR_NativeDefinitionProbe.c": "d05ef8368ef5afa68e29f45843cb1878b5a09be768f8abdff2f4115c23759b01", + "addons/core/Scripts/Game/ERR/ERR_NativeExtractionProbe.c": "4b09385f73206de004f4f3c38a6192fd658a0d2012482dc5a84dff1599ceb972", + "addons/core/Scripts/Game/ERR/ERR_NativeObjectiveProbe.c": "451f46d9a51753841046698911ee9954088214b6df856776a316865466fbce0f", + "addons/core/Scripts/Game/ERR/ERR_NativeRadioDefenceProbe.c": "35a1c0d182ad12d11651744afa7faeb6dabf374c3aa96fbab9dbd54e7319a07e", + "addons/core/Scripts/Game/ERR/ERR_NativeResultProbe.c": "b9a117eef2d5f65fbd792041a2b3e59e38e201bda8e0df8c503e1a1242cfc415", + "addons/core/Scripts/Game/ERR/ERR_NativeSiteSurvey.c": "ac0203753ade0cdff6d483132797a80e4520f14546c3f9dea288281cd4cd9c4f", + "addons/core/Scripts/Game/ERR/ERR_NativeStationTeardownDiagnostic.c": "c01cbdbfe25fd38916fa74f2c02333baaacd5228686fd6e40b33c27b3cea8ed8", + "addons/core/Scripts/Game/ERR/ERR_NativeTimeProbe.c": "c93d049785971e51246fcc07cf24804270a752a655505f2c38e48c80df5255ae", + "addons/core/Scripts/Game/ERR/ERR_NativeTransportProbe.c": "63ec0c5ce698114daa6314b2a6e3c3e98e76094117c477f9d0d072260686d193", + "addons/core/Scripts/Game/ERR/ERR_NativeTransportSurvey.c": "3e94493bf54d15be2bceb106ad18873e14e6755af09c05f07db7fb26fb7adff5", + "addons/core/Scripts/Game/ERR/ERR_ObjectiveDetails.c": "900bdcd11075230e0d311ca8725c1d7938cb2a4efa71360709003d90092a7e69", + "addons/core/Scripts/Game/ERR/ERR_ObjectiveText.c": "bbb29949194637e6781316836c895e2c0fa7ccdb547d4d944a717da2ad73b0a2", + "addons/core/Scripts/Game/ERR/ERR_Objectives.c": "88d95a52fcba103483ea751571e1afeae0e6fc82115ed50d6fc195424726960f", + "addons/core/Scripts/Game/ERR/ERR_Observer.c": "b719e723369ab4f403950c85226e1336eb48e3c127e84530ac1c695eb86bd0f9", + "addons/core/Scripts/Game/ERR/ERR_PlayerAdminCommands.c": "a084d7dc097dfcde3d6cd9c2e326b9e2f8f2a519f77b30c4f56ab7a1429aa721", + "addons/core/Scripts/Game/ERR/ERR_PlayerEscapeResult.c": "3124ab4d2d6d471409a47aba0af528790734df53243c03fe0cdac3e407047c14", + "addons/core/Scripts/Game/ERR/ERR_PlayerGuide.c": "2c9c365b88651f8b12618443638bf52c04e497221592bd483c33447e30468f36", + "addons/core/Scripts/Game/ERR/ERR_PlayerRoster.c": "a737ba739b3f73a91cd05d808a1d45070e83b5152c003c3164e29842dda51995", + "addons/core/Scripts/Game/ERR/ERR_RadioDefenceService.c": "85eb9c1b65d5987799927b6d8786b7299fcff849bcb15b91f8a4d1aa95823fd1", + "addons/core/Scripts/Game/ERR/ERR_Resources.c": "8a5314944f75b23982c6b99697045e3c0538aa2137b2c947a5b2411e6076ac03", + "addons/core/Scripts/Game/ERR/ERR_ScenarioComponent.c": "abba03af68323d5715ba1e2497fc66f3c706e6a6a983c3a386228abdfddeec89", + "addons/core/Scripts/Game/ERR/ERR_Settings.c": "2aee784e44c732e09f59150896491ab325ef5e62aa6bad725be1fda955a3f614", + "addons/core/Scripts/Game/ERR/ERR_SiteDefinition.c": "75b5121ceab77f0956f0dc34bd077b11af5586350de52321800427f18cc94477", + "addons/core/Scripts/Game/ERR/ERR_SiteService.c": "7ba02712562b3c8cd8de9851b6f26fed85020faacceef0767408b300b935c110", + "addons/core/Scripts/Game/ERR/ERR_SpawnLogic.c": "f84f0c22562912c020e8be81748f36a883dd265d8d9786d0548f32bda5b4b92e", + "addons/core/Scripts/Game/ERR/ERR_Supplies.c": "752e8a56b0b8cde33cf532032cb0a203553017b686faac2e19bee06f7a9c0713", + "addons/core/Scripts/Game/ERR/ERR_TimeService.c": "d9f481b7da01e08d2c982a948c18ba6bde76889d7cc9d26d510708f4ba479453", + "addons/core/Scripts/WorkbenchGame/ERR/ERR_ValidateBaseWorldPlugin.c": "7f44aa64ea7b4f8b3640a37a4b781c43bf6adb80e4a3a702d9491131698056f6", + "addons/core/Worlds/ERR_Everon.ent": "22324bc7eb0d80dec8a1f3bd61a9df9201b72f749f4e751766b0c9d0b7d46b87", + "addons/core/Worlds/ERR_Everon.ent.meta": "19d1903ca72baa326b4724a6791d0da1104a1e53f3f31dc1ca41a856efd68e83", + "addons/core/Worlds/ERR_Everon_Layers/default.layer": "f1a058bd315c7d01d464715ac9f4e18ae3d2432551d094a9afbd4c9c5a2a9416", + "addons/core/addon.gproj": "231274e6b62302f32c65f9ff31de2ce8a9e51e1c8d12c87deeec82ae1f40de46", + "addons/intel/Scripts/Game/ERR/ERR_IntelService.c": "482839434b94e7f8c345d5fd96490aeebb765f3dd0c1bb25fceea2f435c0e722", + "addons/intel/addon.gproj": "d0ced242cefb220a5cccd6779d61fda9bc55581701b9f78bcf13c09d92ddbcbe", + "addons/map/Materials/ERRM_MapRenderTarget.emat": "9877c5b175c5f30dd80bea36c711b21ab38219aa7075adf9ae79932e1d4c76bc", + "addons/map/Materials/ERRM_MapRenderTarget.emat.meta": "5ee1a705f8011a44020ca2691f5ccc17d44bf596fef9a36e98d1f267eb58fab0", + "addons/map/Prefabs/Items/Equipment/ERRM_SharedFieldMap.et": "30dee8e9eab459ea32a7d835a9fb89d43df47708057cab829f067b25a24cd581", + "addons/map/Prefabs/Items/Equipment/ERRM_SharedFieldMap.et.meta": "59093e9072c50d99c86da7609c87541016da5bcf92b98d99db4c524e1c8e0e8d", + "addons/map/Scripts/Game/ERR/ERR_ScenarioMap.c": "75fa1d742129ef7f33c005cd48f56db7f49ee7bde3c5428532b0b501b032b0a3", + "addons/map/Scripts/Game/ERRMap/ERRM_SharedMapComponent.c": "fc1a0c7df4fc96da446d7542a45a10fbec1eda1e543ba2f0581cb772277a47c5", + "addons/map/UI/layouts/ERRMap/SharedMapRenderTarget.layout": "49a2da4181b94d42174f58c7f9b6bf2207116c99427d61ff1c212092ac7db4d2", + "addons/map/UI/layouts/ERRMap/SharedMapRenderTarget.layout.meta": "5c846445cc089e2e08899ba703059d4adb805ff30ab5a16409a3cd59718cbd54", + "addons/map/addon.gproj": "1b371e5e01ea9fa46e76570fecb8aaa3a9298e34cba7ccca8a6bdb5ca86eb46a" +} diff --git a/docs/evidence/native-2026-09-19-044924/console.log.txt b/docs/evidence/native-2026-09-19-044924/console.log.txt new file mode 100644 index 0000000..e1ae2b0 --- /dev/null +++ b/docs/evidence/native-2026-09-19-044924/console.log.txt @@ -0,0 +1,540 @@ +--------------------------------------------- +Log Z:\tmp\erri-workbench-profile\logs\logs_2026-09-19_04-49-24\console.log started at 2026-09-19 04:49:24 (2026-09-19 02:49:24 UTC) + +04:49:24.098 ENGINE : FileSystem: Adding relative directory 'Z:\tmp\erri-workbench-profile\logs\logs_2026-09-19_04-49-24' to filesystem under name logs +04:49:24.098 ENGINE : FileSystem: Adding relative directory 'Z:\tmp\erri-workbench-profile\profile' to filesystem under name profile +04:49:24.098 ENGINE : FileSystem: Current working directory: 'Z:\home\jakub\.local\share\Steam\steamapps\common\Arma Reforger Tools\Workbench\' +04:49:24.100 PROFILING : Workbench Create Engine took: 11.358300 ms +04:49:25.139 INIT : INIT : Workbench Init Engine +04:49:25.139 ENGINE : Initializing engine, version 192142 +04:49:25.139 ENGINE : CLI Params: -gproj Z:/home/jakub/devel/escapistsrereintroduced/addons/chat/addon.gproj -addonsDir Z:/home/jakub/devel/escapistsrereintroduced/addons -profile Z:/tmp/erri-workbench-profile -logconsole -wbModule WorldEditor -load Worlds/ERR_Everon.ent -plugin ERR_ValidateWorldPlugin -errPlay 1 -errSmoke 1 -errSmokeOutcome victory -noThrow -errStationTeardownDiag 1 +04:49:25.147 ENGINE : Addon dirs: +04:49:25.147 ENGINE : dir: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/chat/' +04:49:25.147 ENGINE : dir: 'Z:/home/jakub/devel/escapistsrereintroduced/addons' +04:49:25.147 ENGINE : dir: './addons' +04:49:25.147 ENGINE : dir: 'Z:/tmp/erri-workbench-profile/addons' +04:49:25.147 ENGINE : Available addons: +04:49:25.147 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/chat/addon.gproj' guid: 'FA804F411BDDF2C6' +04:49:25.147 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/ai/addon.gproj' guid: '5192138CB9D5B911' +04:49:25.147 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/core/addon.gproj' guid: '2528466DE220D91C' +04:49:25.147 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/intel/addon.gproj' guid: 'D31039C7C53E348A' +04:49:25.147 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/map/addon.gproj' guid: '9AAEE9041D79809E' +04:49:25.147 ENGINE : gproj: './addons/core/core.gproj' guid: '5614BBCCBB55ED1C' (packed) +04:49:25.147 ENGINE : gproj: 'Z:/tmp/erri-workbench-profile/addons/ArmaReforger/ArmaReforger.gproj' guid: '58D0FB3206B6F859' (packed) +04:49:25.147 ENGINE : FileSystem: Adding relative directory 'Z:\home\jakub\devel\escapistsrereintroduced\addons\chat' to filesystem under name ERR_Chat +04:49:25.147 ENGINE : FileSystem: Adding relative directory 'Z:\home\jakub\devel\escapistsrereintroduced\addons\map' to filesystem under name ERR_Map +04:49:25.148 ENGINE : FileSystem: Adding relative directory 'Z:\home\jakub\devel\escapistsrereintroduced\addons\intel' to filesystem under name ERR_Intel +04:49:25.148 ENGINE : FileSystem: Adding relative directory 'Z:\home\jakub\devel\escapistsrereintroduced\addons\ai' to filesystem under name ERR_Ai +04:49:25.148 ENGINE : FileSystem: Adding relative directory 'Z:\home\jakub\devel\escapistsrereintroduced\addons\core' to filesystem under name ERR_Core +04:49:25.262 ENGINE : FileSystem: Adding package 'Z:/tmp/erri-workbench-profile/addons/ArmaReforger/' (pak count: 14) to filesystem under name ArmaReforger +04:49:25.265 ENGINE : FileSystem: Adding package './addons/core/' (pak count: 2) to filesystem under name core +04:49:25.265 ENGINE : CPU vendor : AuthenticAMD +04:49:25.265 ENGINE : CPU type : 2 +04:49:25.265 ENGINE : CPU name : AMD Ryzen 7 3800XT 8-Core Processor +04:49:25.265 ENGINE : CPU cache info : L1 [Inst 32KB, Data 32KB], L2 [Unif 512KB], L3 [Unif 16384KB] +04:49:25.265 ENGINE : CPU count logical : 16 +04:49:25.265 ENGINE : CPU count physical : 8 +04:49:25.265 ENGINE : CPU features : mmx sse sse2 sse3 ssse3 sse4_1 sse4_2 popcnt aesni pclmulqdq osxsave avx sha avx2 +04:49:25.265 RESOURCES : ResourceDB: loading cache (id=0 name=ERR_Chat path=Z:\home\jakub\devel\escapistsrereintroduced\addons\chat/resourceDatabase.rdb) +04:49:25.265 RESOURCES : ResourceDB: loading cache (id=1 name=ERR_Map path=Z:\home\jakub\devel\escapistsrereintroduced\addons\map/resourceDatabase.rdb) +04:49:25.266 RESOURCES : ResourceDB: loading cache (id=2 name=ERR_Intel path=Z:\home\jakub\devel\escapistsrereintroduced\addons\intel/resourceDatabase.rdb) +04:49:25.266 RESOURCES : ResourceDB: loading cache (id=3 name=ERR_Ai path=Z:\home\jakub\devel\escapistsrereintroduced\addons\ai/resourceDatabase.rdb) +04:49:25.266 RESOURCES : ResourceDB: loading cache (id=4 name=ERR_Core path=Z:\home\jakub\devel\escapistsrereintroduced\addons\core/resourceDatabase.rdb) +04:49:25.267 RESOURCES : ResourceDB: loading cache (id=5 name=ArmaReforger path=Z:/tmp/erri-workbench-profile/addons/ArmaReforger/resourceDatabase.rdb) +04:49:25.403 RESOURCES : ResourceDB: loading cache (id=6 name=core path=./addons/core/resourceDatabase.rdb) +04:49:25.405 RESOURCES : ResourceDB: loading cache (id=7 name=profile path=Z:\tmp\erri-workbench-profile\profile/resourceDatabase.rdb) +04:49:25.405 RESOURCES : ResourceDB: loading cache (id=8 name=logs path=Z:\tmp\erri-workbench-profile\logs\logs_2026-09-19_04-49-24/resourceDatabase.rdb) +04:49:25.556 RESOURCES : RESOURCES : ResourceDB: full scan +04:49:25.561 RESOURCES : RESOURCES : scanning... +04:49:25.561 RESOURCES : RESOURCES : scanning @"ERR_Chat" +04:49:25.563 RESOURCES : RESOURCES : scanning @"ERR_Map" +04:49:25.564 RESOURCES : RESOURCES : scanning @"ERR_Intel" +04:49:25.565 RESOURCES : RESOURCES : scanning @"ERR_Ai" +04:49:25.566 RESOURCES : RESOURCES : scanning @"ERR_Core" +04:49:25.569 RESOURCES : RESOURCES : scanning @"ArmaReforger" +04:49:25.703 RESOURCES : RESOURCES : scanning @"core" +04:49:25.707 RESOURCES : RESOURCES : scanning @"profile" +04:49:25.707 RESOURCES : RESOURCES : scanning @"logs" +04:49:25.708 RESOURCES : RESOURCES : processing meta-files... +04:49:25.766 RESOURCES : RESOURCES : processing files... +04:49:25.777 INIT : Workbench startup +04:49:25.777 INIT : Workbench Init Engine +04:49:25.777 RESOURCES : ResourceDB: full scan +04:49:25.777 RESOURCES : processing files... +04:49:25.777 RESOURCES (W): resource not registered: @"$profile:rereintroduced.json". Setting null GUID +04:49:25.777 RESOURCES : RESOURCES : processing folders... +04:49:25.784 RESOURCES : RESOURCES : creating GUID-item mapping... +04:49:25.797 RESOURCES : RESOURCES : building tree... +04:49:25.846 PROFILING : ResourceDB: full scan took: 289.351100 ms +04:49:25.847 RESOURCES : ResourceDB: saving cache (id=0 name=ERR_Chat path=Z:\home\jakub\devel\escapistsrereintroduced\addons\chat/resourceDatabase.rdb) +04:49:25.848 RESOURCES : ResourceDB: written 630/630 bytes +04:49:25.848 RESOURCES : ResourceDB: cache successfully saved +04:49:25.848 RESOURCES : ResourceDB: saving cache (id=1 name=ERR_Map path=Z:\home\jakub\devel\escapistsrereintroduced\addons\map/resourceDatabase.rdb) +04:49:25.850 RESOURCES : ResourceDB: written 750/750 bytes +04:49:25.850 RESOURCES : ResourceDB: cache successfully saved +04:49:25.850 RESOURCES : ResourceDB: saving cache (id=2 name=ERR_Intel path=Z:\home\jakub\devel\escapistsrereintroduced\addons\intel/resourceDatabase.rdb) +04:49:25.851 RESOURCES : ResourceDB: written 227/227 bytes +04:49:25.851 RESOURCES : ResourceDB: cache successfully saved +04:49:25.851 RESOURCES : ResourceDB: saving cache (id=3 name=ERR_Ai path=Z:\home\jakub\devel\escapistsrereintroduced\addons\ai/resourceDatabase.rdb) +04:49:25.853 RESOURCES : ResourceDB: written 985/985 bytes +04:49:25.853 RESOURCES : ResourceDB: cache successfully saved +04:49:25.853 RESOURCES : ResourceDB: saving cache (id=4 name=ERR_Core path=Z:\home\jakub\devel\escapistsrereintroduced\addons\core/resourceDatabase.rdb) +04:49:25.855 RESOURCES : ResourceDB: written 3823/3823 bytes +04:49:25.855 RESOURCES : ResourceDB: cache successfully saved +04:49:25.855 RESOURCES : ResourceDB: saving cache (id=7 name=profile path=Z:\tmp\erri-workbench-profile\profile/resourceDatabase.rdb) +04:49:25.856 RESOURCES : ResourceDB: written 206/206 bytes +04:49:25.856 RESOURCES : ResourceDB: cache successfully saved +04:49:25.856 RESOURCES : ResourceDB: saving cache (id=8 name=logs path=Z:\tmp\erri-workbench-profile\logs\logs_2026-09-19_04-49-24/resourceDatabase.rdb) +04:49:25.858 RESOURCES : ResourceDB: written 81/81 bytes +04:49:25.858 RESOURCES : ResourceDB: cache successfully saved +04:49:25.858 ENGINE : GameProject load +04:49:25.858 ENGINE : Loaded addons: +04:49:25.858 ENGINE : gproj: './addons/core/core.gproj' guid: '5614BBCCBB55ED1C' +04:49:25.858 ENGINE : gproj: 'Z:/tmp/erri-workbench-profile/addons/ArmaReforger/ArmaReforger.gproj' guid: '58D0FB3206B6F859' +04:49:25.858 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/core/addon.gproj' guid: '2528466DE220D91C' +04:49:25.858 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/ai/addon.gproj' guid: '5192138CB9D5B911' +04:49:25.858 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/intel/addon.gproj' guid: 'D31039C7C53E348A' +04:49:25.858 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/map/addon.gproj' guid: '9AAEE9041D79809E' +04:49:25.858 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/chat/addon.gproj' guid: 'FA804F411BDDF2C6' +04:49:25.861 ENGINE : Loading custom engine user config '$profile:.save/app1874910_user76561198020202999/settings/ReforgerEngineSettings.conf' +04:49:25.861 INIT : GameProject engine user settings load @"$profile:.save/app1874910_user76561198020202999/settings/ReforgerEngineSettings.conf" +04:49:25.861 ENGINE : Engine user settings config loaded +04:49:25.861 PROFILING : Settings changed took: 0.001600 ms +04:49:25.963 RENDER : (OK) Adapter 'AMD Radeon RX 6950 XT (RADV NAVI21)' supports feature level 12_0 +04:49:25.965 RENDER : Basic screen setup: +04:49:25.965 RENDER : Back buffer format : TEXFMT_R8G8B8A8_SRGB (29) +04:49:25.965 RENDER : MSAA : none +04:49:25.978 RENDER : AMD AGS library initialized, version 6.1.0 x DLL 6.1.0 +04:49:25.978 RENDER : Extendeded AMD info for AMD Radeon RX 6950 XT (RADV NAVI21) (primary device) +04:49:25.978 RENDER : * architecture RDNA2, 80 CUs, 40 WGPs (for RDNA), 64 ROPs +04:49:25.978 RENDER : * core clocks 2720 MHz, memory 1124 MHz +04:49:25.978 RENDER : * TFlops 27.9, memory bandwidth (562.0 GB/s) +04:49:25.978 RENDER : AMD AGS correctly initialized +04:49:25.979 RENDER : GPU_ATI (0x1002) (AMD Radeon RX 6950 XT (RADV NAVI21)) with 1 GPU detected, VRAM 16128MB (fast 0MB), shared 64362MB, driver version 99.19.02-230831a-396538C-AMD-Software-Adrenalin-Edition +04:49:25.979 RENDER : Detected output devices: +04:49:25.979 RENDER : * 1 device/s connected to AMD Radeon RX 6950 XT (RADV NAVI21): +04:49:25.979 RENDER : Generic Non-PnP Monitor (\\.\DISPLAY1), 1280x720 (offset 0x0), 30Hz +04:49:25.979 RENDER : Concurrent frames limit 2 +04:49:26.053 RENDER : DX12 device successfully created by AMD AGS library +04:49:26.053 RENDER : * user markers not supported in this version AMD SW +04:49:26.053 RENDER : Graphics device features +04:49:26.053 RENDER : Needed: +04:49:26.053 RENDER : * Highest supported shader model: 6.8 (6.0 needed) +04:49:26.053 RENDER : Optional: +04:49:26.053 RENDER : * Allow tearing (VSYNC) : 1 +04:49:26.053 RENDER : * 16 bits : 1 +04:49:26.053 RENDER : * Resource heap tier : 3 +04:49:26.053 RENDER : * Persistent heaps (DRED) : 1 +04:49:26.053 RENDER : * DRED 1.2 is supported by compiler +04:49:26.076 RENDER : Main RT format setup. +04:49:26.076 RENDER : Main RT format for quality 0 : TEXFMT_R11G11B10_FLOAT (26) +04:49:26.076 RENDER : Main RT format for quality 1 : TEXFMT_R16G16B16A16_FLOAT (10) +04:49:26.078 ENGINE : Job system settings: coreCount=16, shortJobContextCount=16, shortJobThreadCount=15, longJobThreadCount=16 +04:49:26.114 PROFILING : Settings changed took: 0.014500 ms +04:49:26.578 AUDIO : Endpoint: Speakers (PulseAudio Output) +04:49:26.578 AUDIO : Format: Channels: 2, Sample rate: 48kHz, Avg. bytes: 384kB, Sample bits: 32, Block align: 8B +04:49:26.579 AUDIO : Audio client: +04:49:26.579 AUDIO : Format: Channels: 2, Sample rate: 48kHz, Buffer size: 1536B, Frame: 512 +04:49:26.582 RENDER : RENDER : Reload shaders +04:49:26.582 RENDER : Enfusion shader version 13 +04:49:26.582 INIT : INIT : ShaderListReload +04:49:26.582 PROFILING : ShaderListReload took: 0.000500 ms +04:49:26.727 AUDIO : Endpoint: Speakers (PulseAudio Output) +04:49:26.727 AUDIO : Format: Channels: 2, Sample rate: 48kHz, Avg. bytes: 384kB, Sample bits: 32, Block align: 8B +04:49:26.727 AUDIO : Audio client: +04:49:26.727 AUDIO : Format: Channels: 2, Sample rate: 48kHz, Buffer size: 1536B, Frame: 512 +04:49:26.936 RENDER : Loaded 3752 newer shader binaries +04:49:26.936 PROFILING : Reload shaders took: 353.826600 ms +04:49:26.936 ENGINE : Initializing inputs. +04:49:26.950 NETWORK : Initializing networking. +04:49:26.950 NETWORK : Using new GameRplScheduler. +04:49:26.950 SCRIPT : SCRIPT : Initializing scripts +04:49:26.950 SCRIPT : SCRIPT : ScriptProjectManager init +04:49:29.174 PROFILING : ScriptProjectManager init took: 2223.397300 ms +04:49:29.264 PROFILING : Initializing scripts took: 2313.777900 ms +04:49:29.282 ENGINE : Enfusion engine successfully created. +04:49:29.282 PROFILING : Workbench Init Engine took: 4143.465600 ms +04:49:29.282 INIT : INIT : Workbench Create Game +04:49:29.294 GUI : Using default language (en_us) +04:49:29.294 GUI : Loading 'en_us' localization file. +04:49:29.294 INIT : INIT : Loading StringTable +04:49:29.320 PROFILING : Loading StringTable took: 25.379100 ms +04:49:29.320 SCRIPT : SCRIPT : Compiling GameLib scripts +04:49:29.390 SCRIPT : Module: Workbench; loaded 18x files; 36x classes; used 125K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE"; CRC32: 90ce0460 +04:49:29.390 SCRIPT : Module: GameLib; loaded 465x files; 648x classes; used 828K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE"; CRC32: 4507af04 +04:49:29.391 PROFILING : Compiling GameLib scripts took: 71.256800 ms +04:49:29.391 SCRIPT : SCRIPT : Compiling Game scripts +04:49:30.650 INIT : Workbench Create Game +04:49:30.650 SCRIPT : Compiling Game scripts +04:49:30.650 SCRIPT (W): @"Scripts/Game/Editor/Components/EditableEntity/SCR_EditableEntityComponent.c,785": 'GetPlayerPlatformKind' is obsolete +04:49:30.650 SCRIPT (W): @"Scripts/Game/Editor/Components/EditableEntity/SCR_EditableEntityComponent.c,786": 'GetPlayerPlatformId' is obsolete +04:49:30.924 SCRIPT (W): @"Scripts/Game/ERR/ERR_SiteService.c,140": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +04:49:30.933 SCRIPT (W): @"Scripts/Game/Workshop/SCR_AddonManager.c,876": 'GetRefCount' is obsolete: Will be removed +04:49:30.966 SCRIPT (W): @"Scripts/Game/Campaign/SCR_PlayerProfileManagerComponent.c,142": 'PlayerData' is obsolete +04:49:31.069 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,159": 'GetDSSession' is obsolete +04:49:31.069 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,162": 'RoomID' is obsolete +04:49:31.069 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,197": 'GetDSSession' is obsolete +04:49:31.069 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,201": 'RoomID' is obsolete +04:49:31.162 SCRIPT (W): @"Scripts/Game/DataCollection/SCR_DataCollectorComponent.c,481": 'GetStorage' is obsolete +04:49:31.162 SCRIPT (W): @"Scripts/Game/DataCollection/SCR_DataCollectorComponent.c,483": 'GetOnlineWritePrivilege' is obsolete +04:49:31.163 SCRIPT (W): @"Scripts/Game/Utilities/SCR_PlayerIdentityUtils.c,20": 'GetPlayerIdentityId' is obsolete +04:49:31.205 SCRIPT (W): @"Scripts/Game/ERR/ERR_ExtractionService.c,45": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +04:49:31.206 SCRIPT (W): @"Scripts/Game/ERR/ERR_ExtractionService.c,56": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +04:49:31.207 SCRIPT (W): @"Scripts/Game/UI/Menu/MainMenuUI.c,643": 'GetNotifyCount' is obsolete: Will be substitued by Notification Api. +04:49:31.207 SCRIPT (W): @"Scripts/Game/UI/Menu/MainMenuUI.c,645": 'GetNotifyItem' is obsolete: Will be substitued by Notification Api. +04:49:31.234 SCRIPT (W): @"Scripts/Game/ERR/ERR_NativeTransportProbe.c,82": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +04:49:31.268 SCRIPT (W): @"Scripts/Game/DataCollection/PlayerData/SCR_PlayerData.c,210": 'PlayerData' is obsolete +04:49:31.544 SCRIPT : Module: WorkbenchGame; loaded 172x files; 617x classes; used 2483K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE"; CRC32: e963af0e +04:49:31.551 SCRIPT : Module: Game; loaded 5721x files; 11223x classes; used 32685K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE,ENABLE_BASE_DESTRUCTION,BUDGET_OPTIMIZATION_CHECKS,SHOW_DISCLAIMER,DEBUG,RESPAWN_TIMER_COMPONENT_DEBUG,GAME_MODE_DEBUG,DEBUG_CONFIGURABLE_DIALOGS,DISABLE_WEAPON_SWITCHING,SCRIPTED_AIM_MODIFIER_DEBUG"; CRC32: b0c1047a +04:49:31.590 PROFILING : Compiling Game scripts took: 2198.864000 ms +04:49:31.596 INIT : Creating game instance(ArmaReforgerScripted), version 1.8.0.13 built 2026-08-21 14:30:18 UTC. +04:49:31.633 ENGINE : Game successfully created. +04:49:31.635 PROFILING : Workbench Create Game took: 2352.528100 ms +04:49:31.643 DEFAULT : Using thumbnail cache directory: C:/users/steamuser/AppData/Local/Temp/Arma Reforger Workbench/Projects/ERR_Chat/thumbnails +04:49:32.483 INIT : INIT : Workbench Reload Game +04:49:32.484 ENGINE : Game destroyed. +04:49:32.491 GUI : Using default language (en_us) +04:49:32.491 GUI : Loading 'en_us' localization file. +04:49:32.491 INIT : INIT : Loading StringTable +04:49:32.501 PROFILING : Loading StringTable took: 9.167500 ms +04:49:32.501 INIT : Creating game instance(ArmaReforgerScripted), version 1.8.0.13 built 2026-08-21 14:30:18 UTC. +04:49:32.508 SCRIPT : Unable to register a script command due keyword duplicity: ban +04:49:32.508 SCRIPT : Unable to register a script command due keyword duplicity: kick +04:49:32.508 ENGINE : Game successfully created. +04:49:32.508 ENGINE : Game successfully initialized. +04:49:32.508 PROFILING : Workbench Reload Game took: 25.424900 ms +04:49:33.244 WORLD : WORLD : Entities load '$ERR_Core:Worlds/ERR_Everon.ent' +04:49:34.261 PROFILING : Entities load took: 1016.542100 ms +04:49:34.272 WORLD : WORLD : CreateEntities +04:49:34.278 WORLD : WORLD : NotifyBeforeEntitiesCreated +04:49:34.278 PROFILING : NotifyBeforeEntitiesCreated took: 0.003800 ms +04:49:34.278 WORLD : WORLD : Wait for preloading data +04:49:34.278 PROFILING : Wait for preloading data took: 0.003000 ms +04:49:34.388 ENTITY : Create entity @"ENTITY:2" ('Eden', GenericTerrainEntity) at <0.000000 0.000000 0.000000> @"{5AD924374E8C7AF6}Prefabs/World/Game/Eden/GenericTerrain_Eden.et" +04:49:34.388 PROFILING : PROFILING : Terrain load +04:49:36.425 PROFILING : Terrain load took: 2037.027200 ms +04:49:40.434 WORLD : CreateEntities +04:49:40.434 ENTITY : Create entity @"ENTITY:610406" ('StaticModelEntity','Assets/Structures/Infrastructure/Towers/TransmitterTower_01/TransmitterTower_01_small.xob') at <1931.796021 81.777000 5138.725098> @"{6A004A8F0571D456}Prefabs/Structures/Infrastructure/Towers/TransmitterTower_01/TransmitterTower_01_small.et" +04:49:40.434 ENTITY : CreateComponent 'ScriptedRadioComponent' +04:49:40.434 DEFAULT (W): World doesn't contain RadioManagerEntity to support any BaseRadioComponent. +04:49:51.106 WORLD : WORLD : NotifyBeforeEntitiesInitialized +04:49:51.106 PROFILING : NotifyBeforeEntitiesInitialized took: 0.005300 ms +04:49:51.591 WORLD : WORLD : NotifyEntitiesInitialized +04:49:51.591 TERRAIN : TERRAIN : Initializing road networks... +04:49:51.594 PROFILING : Initializing road networks... took: 2.318400 ms +04:49:51.594 PROFILING : NotifyEntitiesInitialized took: 2.667000 ms +04:49:51.594 PROFILING : CreateEntities took: 17321.811600 ms +04:49:51.780 PROFILING : * WorldEditor: LoadWorld: 18555.388800 ms +04:49:53.260 TERRAIN : Loading tile map config (worlds/Eden/Eden/tileMap.conf) +04:49:53.261 TERRAIN : Loading minimap config (worlds/Eden/Eden/miniMap.conf) +04:49:53.262 TERRAIN : The default minimap texture ('worlds/Eden/EdenRasterized.edds') not found. Trying 'worlds/Eden/Eden.edds'... +04:49:53.263 TERRAIN : The default minimap texture ('worlds/Eden/Eden.edds') not found. Skipping... +04:49:53.347 SCRIPT : ERR VALIDATION: prison terrain=211.344, radio terrain=159.656, extraction terrain=65.1562 +04:49:53.348 SCRIPT : ERR TERRAIN: x=6084 z=7154 y=211.531 +04:49:53.348 SCRIPT : ERR TERRAIN: x=6084 z=7157 y=211.516 +04:49:53.348 SCRIPT : ERR TERRAIN: x=6084 z=7160 y=211.5 +04:49:53.348 SCRIPT : ERR TERRAIN: x=6084 z=7163 y=211.453 +04:49:53.348 SCRIPT : ERR TERRAIN: x=6084 z=7166 y=211.406 +04:49:53.348 SCRIPT : ERR TERRAIN: x=6087 z=7154 y=211.438 +04:49:53.348 SCRIPT : ERR TERRAIN: x=6087 z=7157 y=211.438 +04:49:53.348 SCRIPT : ERR TERRAIN: x=6087 z=7160 y=211.422 +04:49:53.349 SCRIPT : ERR TERRAIN: x=6087 z=7163 y=211.391 +04:49:53.349 SCRIPT : ERR TERRAIN: x=6087 z=7166 y=211.344 +04:49:53.349 SCRIPT : ERR TERRAIN: x=6090 z=7154 y=211.344 +04:49:53.349 SCRIPT : ERR TERRAIN: x=6090 z=7157 y=211.344 +04:49:53.349 SCRIPT : ERR TERRAIN: x=6090 z=7160 y=211.344 +04:49:53.349 SCRIPT : ERR TERRAIN: x=6090 z=7163 y=211.328 +04:49:53.349 SCRIPT : ERR TERRAIN: x=6090 z=7166 y=211.281 +04:49:53.349 SCRIPT : ERR TERRAIN: x=6093 z=7154 y=211.25 +04:49:53.349 SCRIPT : ERR TERRAIN: x=6093 z=7157 y=211.281 +04:49:53.350 SCRIPT : ERR TERRAIN: x=6093 z=7160 y=211.25 +04:49:53.350 SCRIPT : ERR TERRAIN: x=6093 z=7163 y=211.234 +04:49:53.350 SCRIPT : ERR TERRAIN: x=6093 z=7166 y=211.188 +04:49:53.350 SCRIPT : ERR TERRAIN: x=6096 z=7154 y=211.156 +04:49:53.350 SCRIPT : ERR TERRAIN: x=6096 z=7157 y=211.172 +04:49:53.350 SCRIPT : ERR TERRAIN: x=6096 z=7160 y=211.156 +04:49:53.350 SCRIPT : ERR TERRAIN: x=6096 z=7163 y=211.141 +04:49:53.350 SCRIPT : ERR TERRAIN: x=6096 z=7166 y=211.094 +04:49:53.374 SCRIPT : ERR SITE CANDIDATE: position=<6090,211.344,7160> elevationRange=0.640625 +04:49:53.394 BACKEND : Attempting online Game Config instead. +04:49:56.544 INIT : INIT : Workbench Reload Game +04:49:56.546 ENGINE : Game destroyed. +04:49:56.552 GUI : Using default language (en_us) +04:49:56.552 GUI : Loading 'en_us' localization file. +04:49:56.552 INIT : INIT : Loading StringTable +04:49:56.572 PROFILING : Loading StringTable took: 19.596300 ms +04:49:56.573 INIT : Creating game instance(ArmaReforgerScripted), version 1.8.0.13 built 2026-08-21 14:30:18 UTC. +04:49:56.581 SCRIPT : Unable to register a script command due keyword duplicity: ban +04:49:56.581 SCRIPT : Unable to register a script command due keyword duplicity: kick +04:49:56.581 ENGINE : Game successfully created. +04:49:56.581 ENGINE : Game successfully initialized. +04:49:56.581 PROFILING : Workbench Reload Game took: 36.875900 ms +04:49:56.584 DEFAULT (W): LogiLED: Cannot initialize! (service not running or no compatible device detected) +04:49:56.641 PLATFORM : Save data from container 'settings' have been loaded +04:49:56.729 PLATFORM : Save data from container 'sessions' have been loaded +04:49:56.730 PLATFORM : GameProject user settings load from profile @"ReforgerGameSettings.conf" +04:49:56.730 ENGINE : Game user settings config loaded +04:49:56.827 DEFAULT : [SaveGameManager] Starting new playthrough nr.0 '' for mission '{B6C516F86302C679}Worlds/ERR_Everon.ent'. +04:49:56.837 WORLD : WORLD : Game::LoadEntities +04:49:56.837 WORLD : WORLD : Initializing world systems @"{1C60D2EDA2B468B8}Configs/Systems/BaseGameModeSystems.conf" +04:49:56.839 NETWORK : Enabled lag compensation, 29 frames with 100 FPS and 280 ms rewind limits. +04:49:56.839 WORLD : WORLD : CreateEntities +04:49:56.839 WORLD : WORLD : CreateEntities +04:49:56.839 WORLD : WORLD : NotifyBeforeEntitiesCreated +04:49:56.852 RESOURCES : Loaded mission headers from 7 addon(s)! +04:49:56.852 PROFILING : NotifyBeforeEntitiesCreated took: 13.398400 ms +04:49:56.852 WORLD : WORLD : Wait for preloading data +04:49:56.852 PROFILING : Wait for preloading data took: 0.000900 ms +04:50:01.351 WORLD : Game::LoadEntities +04:50:01.351 WORLD : CreateEntities +04:50:01.351 WORLD : CreateEntities +04:50:01.351 ENTITY : Create entity @"ENTITY:610406" ('StaticModelEntity','Assets/Structures/Infrastructure/Towers/TransmitterTower_01/TransmitterTower_01_small.xob') at <1931.796021 81.777000 5138.725098> @"{6A004A8F0571D456}Prefabs/Structures/Infrastructure/Towers/TransmitterTower_01/TransmitterTower_01_small.et" +04:50:01.351 ENTITY : CreateComponent 'ScriptedRadioComponent' +04:50:01.351 DEFAULT (W): World doesn't contain RadioManagerEntity to support any BaseRadioComponent. +04:50:02.796 ENTITY : Create entity @"ENTITY:842066" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1080.213013 10.776751 6018.347168> +04:50:02.796 ENTITY : CreateComponent 'Hierarchy' +04:50:02.796 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842066" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1080.213013 10.776751 6018.347168>') +04:50:02.796 ENTITY : Create entity @"ENTITY:842068" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1082.185913 10.778749 6018.331055> +04:50:02.796 ENTITY : CreateComponent 'Hierarchy' +04:50:02.796 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842068" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1082.185913 10.778749 6018.331055>') +04:50:02.796 ENTITY : Create entity @"ENTITY:842070" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1084.190918 10.790751 6018.334961> +04:50:02.796 ENTITY : CreateComponent 'Hierarchy' +04:50:02.796 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842070" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1084.190918 10.790751 6018.334961>') +04:50:02.803 ENTITY : Create entity @"ENTITY:842333" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4425.594727 9.981750 11029.402344> +04:50:02.803 ENTITY : CreateComponent 'Hierarchy' +04:50:02.803 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842333" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4425.594727 9.981750 11029.402344>') +04:50:02.803 ENTITY : Create entity @"ENTITY:842335" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4426.584473 9.983749 11031.109375> +04:50:02.803 ENTITY : CreateComponent 'Hierarchy' +04:50:02.803 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842335" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4426.584473 9.983749 11031.109375>') +04:50:02.803 ENTITY : Create entity @"ENTITY:842337" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4427.572266 9.995750 11032.853516> +04:50:02.803 ENTITY : CreateComponent 'Hierarchy' +04:50:02.803 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842337" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4427.572266 9.995750 11032.853516>') +04:50:02.808 ENTITY : Create entity @"ENTITY:842591" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.946289 10.470250 1551.986084> +04:50:02.808 ENTITY : CreateComponent 'Hierarchy' +04:50:02.808 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842591" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.946289 10.470250 1551.986084>') +04:50:02.808 ENTITY : Create entity @"ENTITY:842593" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.430664 10.472250 1550.081421> +04:50:02.808 ENTITY : CreateComponent 'Hierarchy' +04:50:02.808 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842593" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.430664 10.472250 1550.081421>') +04:50:02.808 ENTITY : Create entity @"ENTITY:842595" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10008.926758 10.484250 1548.140869> +04:50:02.808 ENTITY : CreateComponent 'Hierarchy' +04:50:02.808 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842595" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10008.926758 10.484250 1548.140869>') +04:50:07.791 ENTITY : Create entity @"ENTITY:2305843009213693956" ('Factions', SCR_FactionManager) at <0.000000 0.000000 0.000000> @"{589540B35EBA8CDC}Prefabs/MP/Managers/Factions/FactionManager_USxUSSR.et" +04:50:07.791 RESOURCES : GetResourceObject @"{5168FEA3054D6D15}Prefabs/Vehicles/Wheeled/M151A2/M151A2_M2HB_MERDC.et" +04:50:07.791 WORLD : Entity prefab load @"{5168FEA3054D6D15}Prefabs/Vehicles/Wheeled/M151A2/M151A2_M2HB_MERDC.et" +04:50:07.791 RESOURCES : GetResourceObject @"{F6B23D17D5067C11}Prefabs/Vehicles/Wheeled/M151A2/M151A2_M2HB.et" +04:50:07.791 WORLD : Entity prefab load @"{F6B23D17D5067C11}Prefabs/Vehicles/Wheeled/M151A2/M151A2_M2HB.et" +04:50:07.791 RESOURCES : GetResourceObject @"{F649585ABB3706C4}Prefabs/Vehicles/Wheeled/M151A2/M151A2.et" +04:50:07.791 WORLD : Entity prefab load @"{F649585ABB3706C4}Prefabs/Vehicles/Wheeled/M151A2/M151A2.et" +04:50:07.791 WORLD (E): Unknown keyword/data 'SlidingTrackMaterial' at offset 19441(0x4bf1) +04:50:07.830 RESOURCES : GetResourceObject @"{F7B9B434FCFF00B3}Prefabs/Vehicles/Wheeled/Conflict_Variants/BRDM2_Conflict.et" +04:50:07.830 WORLD : Entity prefab load @"{F7B9B434FCFF00B3}Prefabs/Vehicles/Wheeled/Conflict_Variants/BRDM2_Conflict.et" +04:50:07.830 RESOURCES : GetResourceObject @"{254289B9C09904AB}Prefabs/Vehicles/Wheeled/BRDM2/BRDM2.et" +04:50:07.830 WORLD : Entity prefab load @"{254289B9C09904AB}Prefabs/Vehicles/Wheeled/BRDM2/BRDM2.et" +04:50:07.830 RESOURCES : GetResourceObject @"{532B5F3CF8496E59}Prefabs/Vehicles/Wheeled/BRDM2/BRDM2_base.et" +04:50:07.830 WORLD : Entity prefab load @"{532B5F3CF8496E59}Prefabs/Vehicles/Wheeled/BRDM2/BRDM2_base.et" +04:50:07.830 WORLD (E): Unknown keyword/data 'Parent' at offset 35955(0x8c73) +04:50:07.830 WORLD (E): Unknown keyword/data 'Parent' at offset 36915(0x9033) +04:50:07.831 RESOURCES : GetResourceObject @"{BD75A18920BD1278}Prefabs/Vehicles/Wheeled/Conflict_Variants/BTR70_Conflict.et" +04:50:07.831 WORLD : Entity prefab load @"{BD75A18920BD1278}Prefabs/Vehicles/Wheeled/Conflict_Variants/BTR70_Conflict.et" +04:50:07.831 RESOURCES : GetResourceObject @"{C012BB3488BEA0C2}Prefabs/Vehicles/Wheeled/BTR70/BTR70.et" +04:50:07.831 WORLD : Entity prefab load @"{C012BB3488BEA0C2}Prefabs/Vehicles/Wheeled/BTR70/BTR70.et" +04:50:07.831 RESOURCES : GetResourceObject @"{1C5FE7B7FF49BB8D}Prefabs/Vehicles/Wheeled/BTR70/BTR70_Base.et" +04:50:07.831 WORLD : Entity prefab load @"{1C5FE7B7FF49BB8D}Prefabs/Vehicles/Wheeled/BTR70/BTR70_Base.et" +04:50:07.831 WORLD (E): Unknown keyword/data 'Parent' at offset 42646(0xa696) +04:50:07.831 WORLD (E): Unknown keyword/data 'Parent' at offset 43645(0xaa7d) +04:50:07.831 WORLD (E): Unknown keyword/data 'Parent' at offset 44617(0xae49) +04:50:07.831 WORLD (E): Unknown keyword/data 'Parent' at offset 45590(0xb216) +04:50:08.143 WORLD : WORLD : NotifyBeforeEntitiesInitialized +04:50:08.144 PROFILING : NotifyBeforeEntitiesInitialized took: 0.056400 ms +04:50:10.067 WORLD : InitEntities 'world' +04:50:10.067 ENTITY : Init entity @"ENTITY:2305843009213693953" ('Rereintroduced', ERR_GameMode) at <1076.468018 51.000999 1325.246948> @"{978E045E53EF36C8}Prefabs/ERR/GameMode.et" +04:50:10.067 SCRIPT (W): SCR_PerceivedFactionManagerComponent trying to set fall back faction 'CIV' but this faction could not be found so it is null instead. +04:50:10.098 WORLD : InitEntities 'world' +04:50:10.098 ENTITY : Init entity @"ENTITY:2305843009213693953" ('Rereintroduced', ERR_GameMode) at <1076.468018 51.000999 1325.246948> @"{978E045E53EF36C8}Prefabs/ERR/GameMode.et" +04:50:10.098 SCRIPT : ERR SMOKE: scripted integration test enabled; gameplay acceptance remains separate +04:50:10.099 WORLD : WORLD : NotifyEntitiesInitialized +04:50:10.099 TERRAIN : TERRAIN : Initializing road networks... +04:50:10.102 PROFILING : Initializing road networks... took: 2.514900 ms +04:50:10.102 DEFAULT : DEFAULT : WorldVolumesCollection +04:50:10.163 PROFILING : WorldVolumesCollection took: 61.472500 ms +04:50:10.163 INIT : INIT : SoundWorldInit +04:50:10.177 PROFILING : SoundWorldInit took: 14.147200 ms +04:50:10.177 PROFILING : NotifyEntitiesInitialized took: 78.335400 ms +04:50:10.177 PROFILING : CreateEntities took: 13338.273600 ms +04:50:10.178 PROFILING : CreateEntities took: 13338.482000 ms +04:50:10.178 WORLD : WORLD : Wait for preloading data around camera +04:50:10.178 PROFILING : Wait for preloading data around camera took: 0.000800 ms +04:50:10.178 WORLD : WORLD : EOnActivate +04:50:10.213 PROFILING : EOnActivate took: 34.947900 ms +04:50:10.213 PROFILING : Game::LoadEntities took: 13375.881400 ms +04:50:10.463 DEFAULT : Entered offline game state. +04:50:10.567 NETWORK : Player connected: connectionID=2147483646 +04:50:10.567 NETWORK : ### Connecting player: connectionID=2147483646, Name= +04:50:10.567 NETWORK : ### Creating player: PlayerId=1, Name=jakub +04:50:10.572 ENTITY : SpawnEntityPrefab @"{225E51284CC95CFA}Prefabs/Characters/Core/DefaultPlayerControllerMP.et" +04:50:10.572 ENTITY : Create entity @"ENTITY:4611686018427388381" ('SCR_PlayerController') at <0.000000 0.000000 0.000000> +04:50:10.573 ENTITY : EntityPrefabUse @"{225E51284CC95CFA}Prefabs/Characters/Core/DefaultPlayerControllerMP.et" +04:50:10.573 SCRIPT (W): Notification data in 'SCR_NotificationsLogDisplay' has duplicate notification info key: 'EDITOR_PERCEIVED_FACTION_PUNISHMENT_KILLING_SET'. There should only be one of each key! +04:50:10.573 SCRIPT (W): Notification data in 'SCR_NotificationsLogDisplay' has duplicate notification info key: 'EDITOR_PERCEIVED_FACTION_TYPE_DISABLED'. There should only be one of each key! +04:50:10.575 SCRIPT (W): Can't open config file "" +04:50:10.582 WORLD : InitEntities 'world' +04:50:10.582 ENTITY : Init entity @"ENTITY:4611686018427388381" ('SCR_PlayerController') at <0.000000 0.000000 0.000000> @"{225E51284CC95CFA}Prefabs/Characters/Core/DefaultPlayerControllerMP.et" +04:50:10.582 GUI : WidgetManager: CrateWidgets @"{3C9DCDD76AB83157}UI/layouts/HUD/HUDLayouts/HUDManager_Root.layout" +04:50:10.582 SCRIPT (W): Slot_WeaponInfo Has no Content! +04:50:10.583 SCRIPT (W): Slot_Chat Has no Content! +04:50:10.583 SCRIPT (W): Slot_VON Has no Content! +04:50:10.583 SCRIPT (W): Slot_AvailableActions Has no Content! +04:50:10.583 SCRIPT (W): Slot_Vehicle Has no Content! +04:50:10.583 SCRIPT (W): Slot_GameVersion Has no Content! +04:50:10.583 SCRIPT (W): Slot_Notifications Has no Content! +04:50:10.583 SCRIPT (W): Slot_Hints Has no Content! +04:50:10.599 NETWORK : ### Updating player: PlayerId=1, Name=jakub, rplIdentity=0xFFFFFFFE, IdentityId=00000000-0000-0000-0000-000000000000 +04:50:10.599 SCRIPT (W): Ban Settings could not be loaded from BE Storage: Relying on default config +04:50:10.600 NETWORK : Players connecting: 0 +04:50:10.600 NETWORK : Players connected: 1 / 1 +04:50:10.630 DEFAULT : Using autosave directory: C:/users/steamuser/AppData/Local/Temp/Arma Reforger Workbench/Projects/ERR_Chat/autosaves +04:50:10.631 PROFILING : Workbench startup took: 46602.332400 ms +04:50:10.655 WORLD : Frame start +04:50:10.656 SCRIPT : ScenarioFramework: Available tasks are empty, no new tasks will be generated. +04:50:10.670 WORLD : UpdateEntities +04:50:10.670 WORLD : Frame +04:50:10.670 SCRIPT : SCR_BaseGameMode::OnGameStateChanged = GAME +04:50:10.858 WORLD : UpdateEntities +04:50:10.858 WORLD : PostFrame +04:50:10.858 GUI : WidgetManager: CrateWidgets @"{D89BBA18F99053D6}UI/layouts/HUD/Chat/ChatHud.layout" +04:50:10.859 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +04:50:10.906 RESOURCES : GetResourceObject @"{20A6917D2114E29A}UI/layouts/HUD/Hint/HintInfoDisplay.layout" +04:50:10.907 GUI : Layout load @"{20A6917D2114E29A}UI/layouts/HUD/Hint/HintInfoDisplay.layout" +04:50:10.907 GUI : Widget prefab @"{EA1CC57D868E94F9}UI/layouts/HUD/Hint/Hint.layout" +04:50:10.907 GUI (W): Overridden prefab member (GUID: '{661AB14E0F471C66}' type: ButtonWidgetClass) no longer exists in prefab +04:50:11.044 RENDER : RENDER : ObjectsHeightMap::Build +04:50:11.044 RENDER : RENDER : MeshOccupancyGridManager::GenerateAllForWorld +04:50:11.222 PROFILING : MeshOccupancyGridManager::GenerateAllForWorld took: 177.450000 ms +04:50:11.230 PROFILING : ObjectsHeightMap::Build took: 185.845300 ms +04:50:12.391 SCRIPT : Rereintroduced [sites]: cache clearance position=<6086,211.538,7160> clear=1 +04:50:12.412 SCRIPT : Rereintroduced [sites]: authored everon-prison-1 at <6090,211.444,7160> +04:50:12.413 SCRIPT : Rereintroduced [sites]: cache clearance position=<6150,203.288,7050> clear=1 +04:50:12.444 SCRIPT : Rereintroduced [sites]: authored everon-supply-1 at <6150,203.288,7050> +04:50:12.446 SCRIPT : Rereintroduced [sites]: authored everon-radio-1 at <6500,159.756,7200> +04:50:12.499 SCRIPT : Rereintroduced [sites]: authored everon-extraction-1 at <7000,65.2562,7500> +04:50:12.499 SCRIPT : Rereintroduced [sites]: cache clearance position=<5960,220.256,7220> clear=1 +04:50:12.505 SCRIPT : Rereintroduced [sites]: transport parking=<5960,220.256,7212> radius=4 terrainRange=0.8125 obstructed=0 clear=1 +04:50:12.551 SCRIPT : Rereintroduced [sites]: authored everon-supply-2 at <5960,220.256,7220> +04:50:12.551 SCRIPT : Rereintroduced [sites]: cache clearance position=<6340,175.788,7400> clear=1 +04:50:12.553 SCRIPT : Rereintroduced [sites]: authored everon-medical-1 at <6340,175.788,7400> +04:50:12.554 SCRIPT : Rereintroduced [sites]: cache clearance position=<6740,140.6,7300> clear=1 +04:50:12.557 SCRIPT : Rereintroduced [sites]: cache clearance position=<6740,140.913,7296> clear=1 +04:50:12.558 SCRIPT : Rereintroduced [sites]: cache clearance position=<6736,140.975,7300> clear=1 +04:50:12.558 SCRIPT : Rereintroduced [sites]: cache clearance position=<6744,140.288,7300> clear=1 +04:50:12.560 SCRIPT : Rereintroduced [sites]: authored everon-outpost-1 at <6740,140.6,7300> +04:50:12.647 SCRIPT : Rereintroduced [sites]: 7 sites and 117 physical stock items ready +04:50:12.663 SCRIPT : Rereintroduced [time]: started at 14:00 with 1x progression +04:50:12.663 SCRIPT : Rereintroduced [mission]: phase 0 -> 1 +04:50:12.898 SCRIPT : INFO: Faction: player jakub (playerID = 1 | UUID = 00000000-0000-0000-0000-000000000000) has joined faction #AR-Faction_US (US) +04:50:12.974 SCRIPT : Rereintroduced [spawn]: player 1 at <6090,211.444,7160> +04:50:13.097 SCRIPT : ERR SMOKE PASS: new identity may enter prison +04:50:13.097 SCRIPT : ERR SMOKE PASS: spawn consumes identity life +04:50:13.097 SCRIPT : ERR SMOKE PASS: disconnect retains living actor and clears connection +04:50:13.097 SCRIPT : ERR SMOKE PASS: reconnected identity retains spent life +04:50:13.097 SCRIPT : ERR SMOKE PASS: duplicate active identity rejected +04:50:13.098 SCRIPT : ERR SMOKE PASS: recycled connection receives independent life and extraction admission policy +04:50:13.098 SCRIPT : ERR SMOKE PASS: base contracts catalog resolves hostile vanilla factions and successful preparation +04:50:13.098 SCRIPT : ERR SMOKE PASS: base contracts physical prisoner matches injected faction and resource +04:50:13.098 SCRIPT : ERR SMOKE PASS: base contracts physical guard squad comes from injected catalog +04:50:13.098 SCRIPT : ERR SMOKE PASS: base contracts same-side factions rejected +04:50:13.098 SCRIPT : ERR SMOKE PASS: base contracts unknown world faction rejected +04:50:13.098 SCRIPT : ERR SMOKE PASS: base contracts missing prisoner resource rejected +04:50:13.099 SCRIPT : ERR SMOKE PASS: base contracts isolated catalog restored without mutating live configuration +04:50:13.099 SCRIPT : ERR SMOKE PASS: base contracts unauthorized settings request rejected +04:50:13.099 SCRIPT : ERR SMOKE PASS: base contracts partially numeric input rejected without mutation +04:50:13.099 SCRIPT : ERR SMOKE PASS: base contracts out-of-range duration rejected without mutation +04:50:13.102 SCRIPT : ERR SMOKE PASS: base contracts normalized base command saves validated duration +04:50:13.102 SCRIPT : ERR SMOKE PASS: base contracts base command reads saved duration +04:50:13.102 SCRIPT : ERR SMOKE PASS: base contracts base settings listing available +04:50:13.102 SCRIPT : ERR SMOKE PASS: base contracts base mission status available before companions +04:50:13.105 SCRIPT : ERR SMOKE PASS: base contracts test setting restored +04:50:13.105 SCRIPT : ERR SMOKE PASS: companion command retained: hq interval show +04:50:13.105 SCRIPT : ERR SMOKE PASS: companion command retained: hq squads show +04:50:13.105 SCRIPT : ERR SMOKE PASS: companion command retained: hq radius show +04:50:13.105 SCRIPT : ERR SMOKE PASS: companion command retained: intel carrying show +04:50:13.106 SCRIPT : ERR SMOKE PASS: companion command retained: intel reveal show +04:50:13.106 SCRIPT : ERR SMOKE PASS: companion journal is behind Core admin authorization +04:50:13.106 SCRIPT : ERR SMOKE PASS: companion HQ status uses the shared command service +04:50:13.106 SCRIPT : ERR SMOKE PASS: initial prisoner position +04:50:13.106 SCRIPT : ERR SMOKE PASS: radio and extraction vehicle exist +04:50:13.106 SCRIPT : ERR SMOKE PASS: authored gate exposes lock action +04:50:13.106 SCRIPT : ERR GEOMETRY: gate low=<6089.98,211.436,7153.9> high=<6093.06,214.647,7154.1> +04:50:13.107 SCRIPT : ERR GEOMETRY: child origin=<6090,211.344,7154> low=<6089.98,211.436,7153.9> high=<6093.06,214.647,7154.1> +04:50:13.107 SCRIPT : ERR GEOMETRY: child origin=<6093,211.444,7154> low=<6093,210.641,7153.87> high=<6096,214.409,7154.13> +04:50:13.107 SCRIPT : ERR GEOMETRY: child origin=<6087,211.444,7154> low=<6087,210.641,7153.87> high=<6090,214.409,7154.13> +04:50:13.107 SCRIPT : ERR GEOMETRY: child origin=<6084,211.444,7154> low=<6084,210.641,7153.87> high=<6087,214.409,7154.13> +04:50:13.107 SCRIPT : ERR GEOMETRY: child origin=<6096,211.444,7163> low=<6095.87,210.641,7163> high=<6096.13,214.409,7166> +04:50:13.107 SCRIPT : ERR GEOMETRY: child origin=<6084,211.444,7163> low=<6083.87,210.641,7163> high=<6084.13,214.409,7166> +04:50:13.107 SCRIPT : ERR GEOMETRY: child origin=<6096,211.444,7160> low=<6095.87,210.641,7160> high=<6096.13,214.409,7163> +04:50:13.108 SCRIPT : ERR GEOMETRY: child origin=<6084,211.444,7160> low=<6083.87,210.641,7160> high=<6084.13,214.409,7163> +04:50:13.108 SCRIPT : ERR GEOMETRY: child origin=<6096,211.444,7157> low=<6095.87,210.641,7157> high=<6096.13,214.409,7160> +04:50:13.108 SCRIPT : ERR GEOMETRY: child origin=<6084,211.444,7157> low=<6083.87,210.641,7157> high=<6084.13,214.409,7160> +04:50:13.108 SCRIPT : ERR GEOMETRY: child origin=<6096,211.444,7154> low=<6095.87,210.641,7154> high=<6096.13,214.409,7157> +04:50:13.108 SCRIPT : ERR GEOMETRY: child origin=<6084,211.444,7154> low=<6083.87,210.641,7154> high=<6084.13,214.409,7157> +04:50:13.108 SCRIPT : ERR GEOMETRY: child origin=<6093,211.444,7166> low=<6093,210.641,7165.87> high=<6096,214.409,7166.13> +04:50:13.108 SCRIPT : ERR GEOMETRY: child origin=<6090,211.444,7166> low=<6090,210.641,7165.87> high=<6093,214.409,7166.13> +04:50:13.108 SCRIPT : ERR GEOMETRY: child origin=<6087,211.444,7166> low=<6087,210.641,7165.87> high=<6090,214.409,7166.13> +04:50:13.109 SCRIPT : ERR GEOMETRY: child origin=<6084,211.444,7166> low=<6084,210.641,7165.87> high=<6087,214.409,7166.13> +04:50:13.109 SCRIPT : ERR SMOKE PASS: lock permits prisoner +04:50:13.109 SCRIPT : Rereintroduced [mission]: phase 1 -> 2 +04:50:13.110 SCRIPT : ERR SMOKE PASS: lock action advances mission +04:50:13.110 SCRIPT : ERR SMOKE PASS: two guaranteed physical cache documents +04:50:13.113 SCRIPT : ERR SMOKE PASS: test does not rely on random intel +04:50:13.115 SCRIPT : ERR SMOKE PASS: isolated test profile defence duration +04:50:13.599 SCRIPT : ERR SMOKE PASS: authored cache document recovered into inventory +04:50:13.900 SCRIPT : Rereintroduced [intel]: player 1 recovered folder; location=everon-radio-1 knowledge=1 +04:50:15.130 RESOURCES : Screenshot saved to $logs:err-prison.png +04:50:16.125 SCRIPT : ERR SMOKE PASS: unlocked gate physically permits passage +04:50:16.125 SCRIPT : ERR SMOKE PASS: authored cache document recovered into inventory +04:50:16.926 SCRIPT : Rereintroduced [intel]: player 1 recovered folder; location=everon-radio-1 knowledge=2 +04:50:18.654 SCRIPT : ERR SMOKE PASS: carried intel identifies radio through intel service +04:50:18.654 SCRIPT : ERR SMOKE PASS: radio rejects distant player +04:50:19.673 SCRIPT : ERR SMOKE: radio=<6500,159.756,7200> player=<6502,159.531,7200> +04:50:19.673 SCRIPT : Rereintroduced [mission]: phase 2 -> 3 +04:50:19.674 SCRIPT : ERR SMOKE PASS: identified radio starts defence +04:50:22.710 SCRIPT : ERR SMOKE PASS: occupied defence timer running +04:50:25.226 SCRIPT : ERR SMOKE PASS: leaving area resets defence +04:50:56.143 SCRIPT : Rereintroduced [mission]: phase 3 -> 4 +04:50:58.548 SCRIPT : ERR SMOKE PASS: continuous occupied defence completes +04:50:58.548 SCRIPT : ERR SMOKE PASS: boarding extraction vehicle +04:51:01.589 SCRIPT : ERR SMOKE PASS: physical extraction occupancy +04:51:02.160 SCRIPT : Rereintroduced [mission]: phase 4 -> 5 +04:51:02.161 SCRIPT : ERR SMOKE PASS: scripted escape reaches victory after physical vehicle occupancy +04:51:02.161 SCRIPT : ERR SMOKE COMPLETE: terminal=5 lostHelicopterCase=0 playerDeathCase=0 +04:51:02.267 SCRIPT : SCR_BaseGameMode::OnGameStateChanged = POSTGAME +04:51:02.270 GUI : WidgetManager: CrateWidgets @"{144919871D65F121}UI/layouts/HUD/GameOver/EndScreen/EndScreen.layout" +04:51:02.270 SCRIPT (W): Slot_Chat Has no Content! +04:51:02.270 SCRIPT (W): Slot_VON Has no Content! +04:51:02.270 SCRIPT (W): Slot_GameVersion Has no Content! +04:51:02.271 SCRIPT (W): Slot_Notifications Has no Content! +04:51:04.320 SCRIPT : ERR RESULT UI: player=1 title=You escaped Everon +04:51:04.320 SCRIPT (W): SCR_ScriptedWidgetComponent.GetComponent: widget not found: SCR_InputButtonComponent Back +04:51:04.320 SCRIPT : -- Stack trace -- +04:51:04.320 SCRIPT : GetComponent() Scripts/Game/UI/Components/WidgetLibrary/SCR_ScriptedWidgetComponent.c : 43 +04:51:04.321 SCRIPT : GetInputButtonComponent() Scripts/Game/UI/Components/WidgetLibrary/SCR_InputButton/SCR_InputButtonComponent.c : 1214 +04:51:04.321 SCRIPT : OnMenuOpen() Scripts/Game/UI/GameOverScreen/SCR_GameOverScreenInput.c : 15 +04:51:04.321 SCRIPT : OpenGameOverScreen() Scripts/Game/GameOverScreen/SCR_GameOverScreenManagerComponent.c : 447 +04:51:04.321 SCRIPT : ShowGameOverScreen() Scripts/Game/GameOverScreen/SCR_GameOverScreenManagerComponent.c : 177 +04:51:04.322 SCRIPT : OnUpdate() Scripts/Game/game.c : 885 +04:51:04.322 SCRIPT : ----------------- +04:51:04.322 SCRIPT (W): SCR_ScriptedWidgetComponent.GetComponent: widget not found: SCR_InputButtonComponent ChatButton +04:51:04.322 SCRIPT : -- Stack trace -- +04:51:04.322 SCRIPT : GetComponent() Scripts/Game/UI/Components/WidgetLibrary/SCR_ScriptedWidgetComponent.c : 43 +04:51:04.322 SCRIPT : GetInputButtonComponent() Scripts/Game/UI/Components/WidgetLibrary/SCR_InputButton/SCR_InputButtonComponent.c : 1214 +04:51:04.323 SCRIPT : OnMenuOpen() Scripts/Game/UI/GameOverScreen/SCR_GameOverScreenInput.c : 21 +04:51:04.323 SCRIPT : OpenGameOverScreen() Scripts/Game/GameOverScreen/SCR_GameOverScreenManagerComponent.c : 447 +04:51:04.323 SCRIPT : ShowGameOverScreen() Scripts/Game/GameOverScreen/SCR_GameOverScreenManagerComponent.c : 177 +04:51:04.323 SCRIPT : OnUpdate() Scripts/Game/game.c : 885 +04:51:04.323 SCRIPT : ----------------- +04:51:04.325 GUI : WidgetManager: CrateWidgets @"{144919871D65F121}UI/layouts/HUD/GameOver/EndScreen/EndScreen.layout" +04:51:04.325 SCRIPT (W): Slot_Chat Has no Content! +04:51:04.325 SCRIPT (W): Slot_VON Has no Content! +04:51:04.325 SCRIPT (W): Slot_GameVersion Has no Content! +04:51:04.325 SCRIPT (W): Slot_Notifications Has no Content! +04:51:04.327 SCRIPT : ERR RESULT UI: player=1 title=You escaped Everon +04:51:06.204 RESOURCES : Screenshot saved to $logs:err-result.png diff --git a/docs/evidence/native-2026-09-19-044924/err-prison.png b/docs/evidence/native-2026-09-19-044924/err-prison.png new file mode 100644 index 0000000000000000000000000000000000000000..bf8bcc40005aa1fcc942376868619a45ca54e485 GIT binary patch literal 153701 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 @"{6A004A8F0571D456}Prefabs/Structures/Infrastructure/Towers/TransmitterTower_01/TransmitterTower_01_small.et" +04:49:40.434 ENTITY : CreateComponent 'ScriptedRadioComponent' +04:49:40.434 DEFAULT (W): World doesn't contain RadioManagerEntity to support any BaseRadioComponent. +04:49:56.584 DEFAULT (W): LogiLED: Cannot initialize! (service not running or no compatible device detected) +04:50:01.351 WORLD : Game::LoadEntities +04:50:01.351 WORLD : CreateEntities +04:50:01.351 WORLD : CreateEntities +04:50:01.351 ENTITY : Create entity @"ENTITY:610406" ('StaticModelEntity','Assets/Structures/Infrastructure/Towers/TransmitterTower_01/TransmitterTower_01_small.xob') at <1931.796021 81.777000 5138.725098> @"{6A004A8F0571D456}Prefabs/Structures/Infrastructure/Towers/TransmitterTower_01/TransmitterTower_01_small.et" +04:50:01.351 ENTITY : CreateComponent 'ScriptedRadioComponent' +04:50:01.351 DEFAULT (W): World doesn't contain RadioManagerEntity to support any BaseRadioComponent. +04:50:02.796 ENTITY : Create entity @"ENTITY:842066" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1080.213013 10.776751 6018.347168> +04:50:02.796 ENTITY : CreateComponent 'Hierarchy' +04:50:02.796 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842066" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1080.213013 10.776751 6018.347168>') +04:50:02.796 ENTITY : Create entity @"ENTITY:842068" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1082.185913 10.778749 6018.331055> +04:50:02.796 ENTITY : CreateComponent 'Hierarchy' +04:50:02.796 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842068" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1082.185913 10.778749 6018.331055>') +04:50:02.796 ENTITY : Create entity @"ENTITY:842070" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1084.190918 10.790751 6018.334961> +04:50:02.796 ENTITY : CreateComponent 'Hierarchy' +04:50:02.796 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842070" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1084.190918 10.790751 6018.334961>') +04:50:02.803 ENTITY : Create entity @"ENTITY:842333" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4425.594727 9.981750 11029.402344> +04:50:02.803 ENTITY : CreateComponent 'Hierarchy' +04:50:02.803 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842333" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4425.594727 9.981750 11029.402344>') +04:50:02.803 ENTITY : Create entity @"ENTITY:842335" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4426.584473 9.983749 11031.109375> +04:50:02.803 ENTITY : CreateComponent 'Hierarchy' +04:50:02.803 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842335" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4426.584473 9.983749 11031.109375>') +04:50:02.803 ENTITY : Create entity @"ENTITY:842337" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4427.572266 9.995750 11032.853516> +04:50:02.803 ENTITY : CreateComponent 'Hierarchy' +04:50:02.803 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842337" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4427.572266 9.995750 11032.853516>') +04:50:02.807 ENTITY : Create entity @"ENTITY:842591" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.946289 10.470250 1551.986084> +04:50:02.808 ENTITY : CreateComponent 'Hierarchy' +04:50:02.808 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842591" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.946289 10.470250 1551.986084>') +04:50:02.808 ENTITY : Create entity @"ENTITY:842593" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.430664 10.472250 1550.081421> +04:50:02.808 ENTITY : CreateComponent 'Hierarchy' +04:50:02.808 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842593" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.430664 10.472250 1550.081421>') +04:50:02.808 ENTITY : Create entity @"ENTITY:842595" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10008.926758 10.484250 1548.140869> +04:50:02.808 ENTITY : CreateComponent 'Hierarchy' +04:50:02.808 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842595" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10008.926758 10.484250 1548.140869>') +04:50:07.791 ENTITY : Create entity @"ENTITY:2305843009213693956" ('Factions', SCR_FactionManager) at <0.000000 0.000000 0.000000> @"{589540B35EBA8CDC}Prefabs/MP/Managers/Factions/FactionManager_USxUSSR.et" +04:50:07.791 RESOURCES : GetResourceObject @"{5168FEA3054D6D15}Prefabs/Vehicles/Wheeled/M151A2/M151A2_M2HB_MERDC.et" +04:50:07.791 WORLD : Entity prefab load @"{5168FEA3054D6D15}Prefabs/Vehicles/Wheeled/M151A2/M151A2_M2HB_MERDC.et" +04:50:07.791 RESOURCES : GetResourceObject @"{F6B23D17D5067C11}Prefabs/Vehicles/Wheeled/M151A2/M151A2_M2HB.et" +04:50:07.791 WORLD : Entity prefab load @"{F6B23D17D5067C11}Prefabs/Vehicles/Wheeled/M151A2/M151A2_M2HB.et" +04:50:07.791 RESOURCES : GetResourceObject @"{F649585ABB3706C4}Prefabs/Vehicles/Wheeled/M151A2/M151A2.et" +04:50:07.791 WORLD : Entity prefab load @"{F649585ABB3706C4}Prefabs/Vehicles/Wheeled/M151A2/M151A2.et" +04:50:07.791 WORLD (E): Unknown keyword/data 'SlidingTrackMaterial' at offset 19441(0x4bf1) +04:50:07.830 RESOURCES : GetResourceObject @"{F7B9B434FCFF00B3}Prefabs/Vehicles/Wheeled/Conflict_Variants/BRDM2_Conflict.et" +04:50:07.830 WORLD : Entity prefab load @"{F7B9B434FCFF00B3}Prefabs/Vehicles/Wheeled/Conflict_Variants/BRDM2_Conflict.et" +04:50:07.830 RESOURCES : GetResourceObject @"{254289B9C09904AB}Prefabs/Vehicles/Wheeled/BRDM2/BRDM2.et" +04:50:07.830 WORLD : Entity prefab load @"{254289B9C09904AB}Prefabs/Vehicles/Wheeled/BRDM2/BRDM2.et" +04:50:07.830 RESOURCES : GetResourceObject @"{532B5F3CF8496E59}Prefabs/Vehicles/Wheeled/BRDM2/BRDM2_base.et" +04:50:07.830 WORLD : Entity prefab load @"{532B5F3CF8496E59}Prefabs/Vehicles/Wheeled/BRDM2/BRDM2_base.et" +04:50:07.830 WORLD (E): Unknown keyword/data 'Parent' at offset 35955(0x8c73) +04:50:07.830 WORLD (E): Unknown keyword/data 'Parent' at offset 36915(0x9033) +04:50:07.831 RESOURCES : GetResourceObject @"{BD75A18920BD1278}Prefabs/Vehicles/Wheeled/Conflict_Variants/BTR70_Conflict.et" +04:50:07.831 WORLD : Entity prefab load @"{BD75A18920BD1278}Prefabs/Vehicles/Wheeled/Conflict_Variants/BTR70_Conflict.et" +04:50:07.831 RESOURCES : GetResourceObject @"{C012BB3488BEA0C2}Prefabs/Vehicles/Wheeled/BTR70/BTR70.et" +04:50:07.831 WORLD : Entity prefab load @"{C012BB3488BEA0C2}Prefabs/Vehicles/Wheeled/BTR70/BTR70.et" +04:50:07.831 RESOURCES : GetResourceObject @"{1C5FE7B7FF49BB8D}Prefabs/Vehicles/Wheeled/BTR70/BTR70_Base.et" +04:50:07.831 WORLD : Entity prefab load @"{1C5FE7B7FF49BB8D}Prefabs/Vehicles/Wheeled/BTR70/BTR70_Base.et" +04:50:07.831 WORLD (E): Unknown keyword/data 'Parent' at offset 42646(0xa696) +04:50:07.831 WORLD (E): Unknown keyword/data 'Parent' at offset 43645(0xaa7d) +04:50:07.831 WORLD (E): Unknown keyword/data 'Parent' at offset 44617(0xae49) +04:50:07.831 WORLD (E): Unknown keyword/data 'Parent' at offset 45590(0xb216) +04:50:10.067 WORLD : InitEntities 'world' +04:50:10.067 ENTITY : Init entity @"ENTITY:2305843009213693953" ('Rereintroduced', ERR_GameMode) at <1076.468018 51.000999 1325.246948> @"{978E045E53EF36C8}Prefabs/ERR/GameMode.et" +04:50:10.067 SCRIPT (W): SCR_PerceivedFactionManagerComponent trying to set fall back faction 'CIV' but this faction could not be found so it is null instead. +04:50:10.572 ENTITY : SpawnEntityPrefab @"{225E51284CC95CFA}Prefabs/Characters/Core/DefaultPlayerControllerMP.et" +04:50:10.572 ENTITY : Create entity @"ENTITY:4611686018427388381" ('SCR_PlayerController') at <0.000000 0.000000 0.000000> +04:50:10.573 ENTITY : EntityPrefabUse @"{225E51284CC95CFA}Prefabs/Characters/Core/DefaultPlayerControllerMP.et" +04:50:10.573 SCRIPT (W): Notification data in 'SCR_NotificationsLogDisplay' has duplicate notification info key: 'EDITOR_PERCEIVED_FACTION_PUNISHMENT_KILLING_SET'. There should only be one of each key! +04:50:10.573 SCRIPT (W): Notification data in 'SCR_NotificationsLogDisplay' has duplicate notification info key: 'EDITOR_PERCEIVED_FACTION_TYPE_DISABLED'. There should only be one of each key! +04:50:10.575 SCRIPT (W): Can't open config file "" +04:50:10.582 WORLD : InitEntities 'world' +04:50:10.582 ENTITY : Init entity @"ENTITY:4611686018427388381" ('SCR_PlayerController') at <0.000000 0.000000 0.000000> @"{225E51284CC95CFA}Prefabs/Characters/Core/DefaultPlayerControllerMP.et" +04:50:10.582 GUI : WidgetManager: CrateWidgets @"{3C9DCDD76AB83157}UI/layouts/HUD/HUDLayouts/HUDManager_Root.layout" +04:50:10.582 SCRIPT (W): Slot_WeaponInfo Has no Content! +04:50:10.583 SCRIPT (W): Slot_Chat Has no Content! +04:50:10.583 SCRIPT (W): Slot_VON Has no Content! +04:50:10.583 SCRIPT (W): Slot_AvailableActions Has no Content! +04:50:10.583 SCRIPT (W): Slot_Vehicle Has no Content! +04:50:10.583 SCRIPT (W): Slot_GameVersion Has no Content! +04:50:10.583 SCRIPT (W): Slot_Notifications Has no Content! +04:50:10.583 SCRIPT (W): Slot_Hints Has no Content! +04:50:10.599 SCRIPT (W): Ban Settings could not be loaded from BE Storage: Relying on default config +04:50:10.858 WORLD : UpdateEntities +04:50:10.858 WORLD : PostFrame +04:50:10.858 GUI : WidgetManager: CrateWidgets @"{D89BBA18F99053D6}UI/layouts/HUD/Chat/ChatHud.layout" +04:50:10.859 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +04:50:10.906 RESOURCES : GetResourceObject @"{20A6917D2114E29A}UI/layouts/HUD/Hint/HintInfoDisplay.layout" +04:50:10.907 GUI : Layout load @"{20A6917D2114E29A}UI/layouts/HUD/Hint/HintInfoDisplay.layout" +04:50:10.907 GUI : Widget prefab @"{EA1CC57D868E94F9}UI/layouts/HUD/Hint/Hint.layout" +04:50:10.907 GUI (W): Overridden prefab member (GUID: '{661AB14E0F471C66}' type: ButtonWidgetClass) no longer exists in prefab +04:51:02.270 GUI : WidgetManager: CrateWidgets @"{144919871D65F121}UI/layouts/HUD/GameOver/EndScreen/EndScreen.layout" +04:51:02.270 SCRIPT (W): Slot_Chat Has no Content! +04:51:02.270 SCRIPT (W): Slot_VON Has no Content! +04:51:02.270 SCRIPT (W): Slot_GameVersion Has no Content! +04:51:02.271 SCRIPT (W): Slot_Notifications Has no Content! +04:51:04.320 SCRIPT (W): SCR_ScriptedWidgetComponent.GetComponent: widget not found: SCR_InputButtonComponent Back +04:51:04.322 SCRIPT (W): SCR_ScriptedWidgetComponent.GetComponent: widget not found: SCR_InputButtonComponent ChatButton +04:51:04.325 GUI : WidgetManager: CrateWidgets @"{144919871D65F121}UI/layouts/HUD/GameOver/EndScreen/EndScreen.layout" +04:51:04.325 SCRIPT (W): Slot_Chat Has no Content! +04:51:04.325 SCRIPT (W): Slot_VON Has no Content! +04:51:04.325 SCRIPT (W): Slot_GameVersion Has no Content! +04:51:04.325 SCRIPT (W): Slot_Notifications Has no Content! diff --git a/docs/evidence/native-2026-09-19-044924/headless-launch.log.txt b/docs/evidence/native-2026-09-19-044924/headless-launch.log.txt new file mode 100644 index 0000000..ec24faf --- /dev/null +++ b/docs/evidence/native-2026-09-19-044924/headless-launch.log.txt @@ -0,0 +1,150 @@ +[gamescope] [Info] console: gamescope version 3.16.28 (gcc 16.2.1) +No CAP_SYS_NICE, falling back to regular-priority compute and threads. +Performance will be affected. +[gamescope] [Info] scriptmgr: Loading scripts from: '/usr/share/gamescope/scripts' +[gamescope] [Info] scriptmgr: Loading scripts from: '/usr/share/gamescope/scripts/00-gamescope' +[gamescope] [Info] scriptmgr: Loading scripts from: '/usr/share/gamescope/scripts/00-gamescope/common' +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/common/inspect.lua' (id: 0) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/common/modegen.lua' (id: 1) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/common/util.lua' (id: 2) +[gamescope] [Info] scriptmgr: Loading scripts from: '/usr/share/gamescope/scripts/00-gamescope/displays' +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/asus.rogally.lcd.lua' (id: 3) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/deckhd.steamdeck.deckhd-lcd.lua' (id: 4) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/gpd.win4.lcd.lua' (id: 5) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/lenovo.legiongo.lcd.lua' (id: 6) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/lenovo.legiongos.lcd.lua' (id: 7) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/onexplayer.f1.oled.lua' (id: 8) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/valve.steamdeck.lcd.lua' (id: 9) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/valve.steamdeck.oled.lua' (id: 10) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/zotac.zone.oled.lua' (id: 11) +[gamescope] [Info] scriptmgr: Loading scripts from: '/etc/gamescope/scripts' +[gamescope] [Warn] scriptmgr: Directory '/etc/gamescope/scripts' does not exist +[gamescope] [Info] scriptmgr: Loading scripts from: '/home/jakub/.config/gamescope/scripts' +[gamescope] [Warn] scriptmgr: Directory '/home/jakub/.config/gamescope/scripts' does not exist +[gamescope] [Info] vulkan: selecting physical device 'AMD Radeon RX 6950 XT (RADV NAVI21)': queue family 1 (general queue family 0) +[gamescope] [Info] vulkan: physical device supports DRM format modifiers +[gamescope] [Info] wlserver: [backend/headless/backend.c:60] Creating headless backend +[gamescope] [Info] vulkan: supported DRM formats for sampling usage: +[gamescope] [Info] vulkan: AR24 (0x34325241) +[gamescope] [Info] vulkan: XR24 (0x34325258) +[gamescope] [Info] vulkan: AB24 (0x34324241) +[gamescope] [Info] vulkan: XB24 (0x34324258) +[gamescope] [Info] vulkan: RG16 (0x36314752) +[gamescope] [Info] vulkan: NV12 (0x3231564E) +[gamescope] [Info] vulkan: AB4H (0x48344241) +[gamescope] [Info] vulkan: XB4H (0x48344258) +[gamescope] [Info] vulkan: AB48 (0x38344241) +[gamescope] [Info] vulkan: XB48 (0x38344258) +[gamescope] [Info] vulkan: AB30 (0x30334241) +[gamescope] [Info] vulkan: XB30 (0x30334258) +[gamescope] [Info] vulkan: AR30 (0x30335241) +[gamescope] [Info] vulkan: XR30 (0x30335258) +[gamescope] [Info] wlserver: Using explicit sync when available +[gamescope] [Info] wlserver: Running compositor on wayland display 'gamescope-0' +[gamescope] [Info] wlserver: [backend/headless/backend.c:17] Starting headless backend +[gamescope] [Info] wlserver: Successfully initialized libei for input emulation! +[gamescope] [Error] wlserver: [xwayland/sockets.c:47] Failed to bind socket @/tmp/.X11-unix/X0: Address already in use +[gamescope] [Info] wlserver: [xwayland/server.c:108] Starting Xwayland on :2 +The XKEYBOARD keymap compiler (xkbcomp) reports: +> Warning: Multiple symbols for level 1/group 1 on key +> Using F23, ignoring XF86TouchpadOff +> Warning: Symbol map for key redefined +> Using last definition for conflicting fields +> Warning: Symbol map for key redefined +> Using last definition for conflicting fields +> Warning: Could not resolve keysym XF86ElectronicPrivacyScreenOn +> Warning: Could not resolve keysym XF86ElectronicPrivacyScreenOff +> Warning: Could not resolve keysym XF86ActionOnSelection +> Warning: Could not resolve keysym XF86ContextualInsert +> Warning: Could not resolve keysym XF86ContextualQuery +Errors from xkbcomp are not fatal to the X server +[gamescope] [Info] pipewire: stream state changed: connecting +[gamescope] [Info] pipewire: stream state changed: paused +[gamescope] [Info] pipewire: stream available on node ID: 148 +[gamescope] [Info] vblank: Using timerfd. +fsync: up and running. +[Gamescope WSI] No application info given. +[Gamescope WSI] Executable name: explorer.exe +ATTENTION: default value of option vk_wsi_force_swapchain_to_current_extent overridden by environment. +[Gamescope WSI] Application info: + pApplicationName: xalia.exe + applicationVersion: 0 + pEngineName: DXVK + engineVersion: 12587008 + apiVersion: 4206592 +[Gamescope WSI] Executable name: xalia.exe +ATTENTION: default value of option vk_wsi_force_swapchain_to_current_extent overridden by environment. +[Gamescope WSI] No application info given. +[Gamescope WSI] Application info: + pApplicationName: ArmaReforgerWorkbenchSteamDiag.exe + applicationVersion: 1 + pEngineName: DXVK + engineVersion: 12587008 + apiVersion: 4206592 +[Gamescope WSI] Executable name: ArmaReforgerWorkbenchSteamDiag.exe +ATTENTION: default value of option vk_wsi_force_swapchain_to_current_extent overridden by environment. +[Gamescope WSI] No application info given. +The XKEYBOARD keymap compiler (xkbcomp) reports: +> Warning: Unsupported maximum keycode 709, clipping. +> X11 cannot support keycodes above 255. +> Warning: Virtual modifier Hyper multiply defined +> Using 0, ignoring 0 +> Warning: Virtual modifier ScrollLock multiply defined +> Using 0, ignoring 0 +Errors from xkbcomp are not fatal to the X server +ATTENTION: default value of option vk_wsi_force_swapchain_to_current_extent overridden by environment. +[Gamescope WSI] Application info: + pApplicationName: ArmaReforgerWorkbenchSteamDiag.exe + applicationVersion: 0 + pEngineName: DXVK + engineVersion: 12587008 + apiVersion: 4206592 +ATTENTION: default value of option vk_wsi_force_swapchain_to_current_extent overridden by environment. +[Gamescope WSI] Application info: + pApplicationName: ArmaReforgerWorkbenchSteamDiag.exe + applicationVersion: 0 + pEngineName: vkd3d + engineVersion: 12587008 + apiVersion: 4206592 +[Gamescope WSI] Forcing on VK_EXT_swapchain_maintenance1. +ATTENTION: default value of option vk_wsi_force_swapchain_to_current_extent overridden by environment. +[Gamescope WSI] No application info given. +ATTENTION: default value of option vk_wsi_force_swapchain_to_current_extent overridden by environment. +[Gamescope WSI] Application info: + pApplicationName: ArmaReforgerWorkbenchSteamDiag.exe + applicationVersion: 0 + pEngineName: vkd3d + engineVersion: 12587008 + apiVersion: 4206592 +[Gamescope WSI] Forcing on VK_EXT_swapchain_maintenance1. +[Gamescope WSI] Creating Gamescope surface: xid: 0x1a001a4 +[Gamescope WSI] Atom of T was wrong type. Expected XCB_ATOM_CARDINAL. +[Gamescope WSI] Made gamescope surface for xid: 0x1a001a4 +[Gamescope WSI] Surface state: + steam app id: 1874910 + window xid: 0x1a001a4 + wayland surface res id: 5 + layer client flags: 0x4 + server hdr output enabled: false + hdr formats exposed to client: false +[Gamescope WSI] Creating Gamescope surface: xid: 0x1a003a4 +[Gamescope WSI] Atom of T was wrong type. Expected XCB_ATOM_CARDINAL. +[Gamescope WSI] Made gamescope surface for xid: 0x1a003a4 +[Gamescope WSI] Surface state: + steam app id: 1874910 + window xid: 0x1a003a4 + wayland surface res id: 10 + layer client flags: 0x4 + server hdr output enabled: false + hdr formats exposed to client: false +[Gamescope WSI] Creating swapchain for xid: 0x1a003a4 - oldSwapchain: (nil) - provided minImageCount: 3 - minImageCount: 3 - format: VK_FORMAT_B8G8R8A8_UNORM - colorspace: VK_COLOR_SPACE_SRGB_NONLINEAR_KHR - flip: false +[Gamescope WSI] Created swapchain for xid: 0x1a003a4 swapchain: 0x555593cfdd60 - imageCount: 4 +[Gamescope WSI] Destroying swapchain: 0x555593cfdd60 +[Gamescope WSI] Destroyed swapchain: 0x555593cfdd60 +[Gamescope WSI] Creating swapchain for xid: 0x1a003a4 - oldSwapchain: (nil) - provided minImageCount: 3 - minImageCount: 3 - format: VK_FORMAT_B8G8R8A8_UNORM - colorspace: VK_COLOR_SPACE_SRGB_NONLINEAR_KHR - flip: false +[Gamescope WSI] Created swapchain for xid: 0x1a003a4 swapchain: 0x555593c96110 - imageCount: 4 +[Gamescope WSI] Destroying swapchain: 0x555593c96110 +[Gamescope WSI] Destroyed swapchain: 0x555593c96110 +[Gamescope WSI] Creating swapchain for xid: 0x1a003a4 - oldSwapchain: (nil) - provided minImageCount: 3 - minImageCount: 3 - format: VK_FORMAT_B8G8R8A8_UNORM - colorspace: VK_COLOR_SPACE_SRGB_NONLINEAR_KHR - flip: false +[Gamescope WSI] Created swapchain for xid: 0x1a003a4 swapchain: 0x555593c8a3f0 - imageCount: 4 +[gamescope] [Error] xwm: X11 I/O error! This is fatal. Aborting... diff --git a/docs/evidence/native-2026-09-19-044924/report.json b/docs/evidence/native-2026-09-19-044924/report.json new file mode 100644 index 0000000..d86bfb4 --- /dev/null +++ b/docs/evidence/native-2026-09-19-044924/report.json @@ -0,0 +1,17 @@ +{ + "log": "docs/evidence/native-2026-09-19-044924/console.log.txt", + "smoke_completions": 1, + "assertions_passed": 48, + "script_or_runtime_failures": [], + "engine_errors": [ + "04:50:07.791 WORLD (E): Unknown keyword/data 'SlidingTrackMaterial' at offset 19441(0x4bf1)", + "04:50:07.830 WORLD (E): Unknown keyword/data 'Parent' at offset 35955(0x8c73)", + "04:50:07.830 WORLD (E): Unknown keyword/data 'Parent' at offset 36915(0x9033)", + "04:50:07.831 WORLD (E): Unknown keyword/data 'Parent' at offset 42646(0xa696)", + "04:50:07.831 WORLD (E): Unknown keyword/data 'Parent' at offset 43645(0xaa7d)", + "04:50:07.831 WORLD (E): Unknown keyword/data 'Parent' at offset 44617(0xae49)", + "04:50:07.831 WORLD (E): Unknown keyword/data 'Parent' at offset 45590(0xb216)" + ], + "missing_end_screen": [], + "scope": "scripted local Workbench integration only; no multiplayer, piloting or FPS claim" +} diff --git a/docs/evidence/native-2026-09-19-044924/rereintroduced-hq.log.txt b/docs/evidence/native-2026-09-19-044924/rereintroduced-hq.log.txt new file mode 100644 index 0000000..b50da01 --- /dev/null +++ b/docs/evidence/native-2026-09-19-044924/rereintroduced-hq.log.txt @@ -0,0 +1,32 @@ +#1 t=1.5s M0 REGISTER group 1 [session=1789786210-1] +#2 t=1.5s M0 MORTAR DEPLOY site=1 order=0 radio=M0 source=M0 position=<6000,202.788,7000>; authored gun and four-person crew; finite ammunition initialization pending [session=1789786210-1] +#3 t=3.5s M0 REGISTER group 2 [session=1789786210-1] +#4 t=3.5s M0 REGISTER group 3 [session=1789786210-1] +#5 t=3.5s M0 REGISTER group 4 [session=1789786210-1] +#6 t=3.5s M0 REGISTER group 5 [session=1789786210-1] +#7 t=3.5s M0 REGISTER group 6 [session=1789786210-1] +#8 t=3.5s M0 REGISTER group 7 [session=1789786210-1] +#9 t=11.8s M0 MORTAR CREW ACTIVATE site=1 order=0 radio=M0 source=M0 position=<6000,202.788,7000>; startup delay elapsed; activating and equipping crew [session=1789786210-1] +#10 t=11.8s M0 MORTAR EQUIP site=1 order=0 radio=M0 source=M0 position=<6000,202.788,7000>; crew=SCR_ChimeraCharacter<0x00000000D4DE42B0> @"ENTITY:4611686018427389117" ('SCR_ChimeraCharacter','Assets/Characters/Basebody/Basebody_Male_01.xob') at <6000.000000 203.316498 7004.000000> @"{86E565387A634103}Prefabs/Characters/Campaign/Final/OPFOR/USSR_Army/Regular/Campaign_USSR_Player_MortarCrew.et" inventory HE=9 requested=9 radio capability=1 (0=none) [session=1789786210-1] +#11 t=11.8s M0 MORTAR EQUIP site=1 order=0 radio=M0 source=M0 position=<6000,202.788,7000>; crew=SCR_ChimeraCharacter<0x00000000D4E18FB0> @"ENTITY:4611686018427389370" ('SCR_ChimeraCharacter','Assets/Characters/Basebody/Basebody_Male_01.xob') at <6003.000000 202.817322 7001.000000> @"{86E565387A634103}Prefabs/Characters/Campaign/Final/OPFOR/USSR_Army/Regular/Campaign_USSR_Player_MortarCrew.et" inventory HE=9 requested=9 radio capability=1 (0=none) [session=1789786210-1] +#12 t=11.8s M0 MORTAR EQUIP site=1 order=0 radio=M0 source=M0 position=<6000,202.788,7000>; crew=SCR_ChimeraCharacter<0x00000000D4E432F0> @"ENTITY:4611686018427389842" ('SCR_ChimeraCharacter','Assets/Characters/Basebody/Basebody_Male_01.xob') at <5997.000000 202.910233 7001.000000> @"{86E565387A634103}Prefabs/Characters/Campaign/Final/OPFOR/USSR_Army/Regular/Campaign_USSR_Player_MortarCrew.et" inventory HE=9 requested=9 radio capability=1 (0=none) [session=1789786210-1] +#13 t=11.8s M0 MORTAR RADIO EQUIP site=1 order=0 radio=M0 source=M0 position=<6000,202.788,7000>; operator=SCR_ChimeraCharacter<0x00000000D4E62F70> @"ENTITY:4611686018427390218" ('SCR_ChimeraCharacter','Assets/Characters/Basebody/Basebody_Male_01.xob') at <6006.000000 202.378967 6998.000000> @"{612F43A4D5AE765F}Prefabs/Characters/Factions/OPFOR/USSR_Army/Character_USSR_RTO.et" capability=2 (2=physical manpack); next HQ radio index verifies route [session=1789786210-1] +#14 t=27.9s M1 REPORT X=6502 Z=7200: at least 1 spotted nearby; on foot; speed/direction unknown; seen weapons: none drawn; vector X/Z=unknown (0s ago) [session=1789786210-1] +#15 t=28.9s M1 TRANSMIT unit 4 -> HQ (long-range) [session=1789786210-1] +#16 t=30.9s M1 RECEIVE HQ received from unit 4 [session=1789786210-1] +#17 t=32.9s M5 TRANSMIT HQ -> unit 7 (long-range) [session=1789786210-1] +#18 t=32.9s M4 TRANSMIT HQ -> unit 6 (long-range) [session=1789786210-1] +#19 t=32.9s M3 TRANSMIT HQ -> unit 5 (long-range) [session=1789786210-1] +#20 t=32.9s M2 TRANSMIT HQ -> unit 2 (long-range) [session=1789786210-1] +#21 t=34.9s M5 RECEIVE unit 7 received from HQ [session=1789786210-1] +#22 t=34.9s M5 ORDER DELIVERED group 7 from report M1: X=6502 Z=7200: at least 1 spotted nearby; on foot; speed/direction unknown; seen weapons: none drawn; vector X/Z=unknown (7s ago) [session=1789786210-1] +#23 t=34.9s M4 RECEIVE unit 6 received from HQ [session=1789786210-1] +#24 t=34.9s M4 ORDER DELIVERED group 6 from report M1: X=6502 Z=7200: at least 1 spotted nearby; on foot; speed/direction unknown; seen weapons: none drawn; vector X/Z=unknown (7s ago) [session=1789786210-1] +#25 t=34.9s M3 RECEIVE unit 5 received from HQ [session=1789786210-1] +#26 t=34.9s M3 ORDER DELIVERED group 5 from report M1: X=6502 Z=7200: at least 1 spotted nearby; on foot; speed/direction unknown; seen weapons: none drawn; vector X/Z=unknown (7s ago) [session=1789786210-1] +#27 t=34.9s M2 RECEIVE unit 2 received from HQ [session=1789786210-1] +#28 t=34.9s M2 ORDER DELIVERED group 2 from report M1: X=6502 Z=7200: at least 1 spotted nearby; on foot; speed/direction unknown; seen weapons: none drawn; vector X/Z=unknown (7s ago) [session=1789786210-1] +#29 t=37.9s M6 REPORT X=6502 Z=7200: at least 1 spotted nearby; on foot; speed/direction unknown; seen weapons: unknown; vector X/Z=unknown (0s ago) [session=1789786210-1] +#30 t=38.9s M6 TRANSMIT unit 4 -> HQ (long-range) [session=1789786210-1] +#31 t=40.9s M6 RECEIVE HQ received from unit 4 [session=1789786210-1] +#32 t=51s M0 STOP HQ stopped; tactical orders released [session=1789786210-1] diff --git a/docs/evidence/native-2026-09-19-044924/runner.json.txt b/docs/evidence/native-2026-09-19-044924/runner.json.txt new file mode 100644 index 0000000..efab429 --- /dev/null +++ b/docs/evidence/native-2026-09-19-044924/runner.json.txt @@ -0,0 +1,9 @@ +{ + "result": "smoke-completed", + "session": "/tmp/erri-workbench-profile/logs/logs_2026-09-19_04-49-24", + "rounds_required": 1, + "project": "chat", + "display": "headless Gamescope 1280x720/30Hz", + "dedicated_server": false, + "audio": "silent sink and per-test-stream mute" +} diff --git a/docs/evidence/native-2026-09-19-044924/script.log.txt b/docs/evidence/native-2026-09-19-044924/script.log.txt new file mode 100644 index 0000000..1319124 --- /dev/null +++ b/docs/evidence/native-2026-09-19-044924/script.log.txt @@ -0,0 +1,201 @@ +--------------------------------------------- +Log Z:\tmp\erri-workbench-profile\logs\logs_2026-09-19_04-49-24\script.log started at 2026-09-19 04:49:26 (2026-09-19 02:49:26 UTC) + +04:49:26.950 SCRIPT : SCRIPT : Initializing scripts +04:49:26.950 SCRIPT : SCRIPT : ScriptProjectManager init +04:49:29.320 SCRIPT : SCRIPT : Compiling GameLib scripts +04:49:29.390 SCRIPT : Module: Workbench; loaded 18x files; 36x classes; used 125K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE"; CRC32: 90ce0460 +04:49:29.390 SCRIPT : Module: GameLib; loaded 465x files; 648x classes; used 828K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE"; CRC32: 4507af04 +04:49:29.391 SCRIPT : SCRIPT : Compiling Game scripts +04:49:30.650 SCRIPT : Compiling Game scripts +04:49:30.650 SCRIPT (W): @"Scripts/Game/Editor/Components/EditableEntity/SCR_EditableEntityComponent.c,785": 'GetPlayerPlatformKind' is obsolete +04:49:30.650 SCRIPT (W): @"Scripts/Game/Editor/Components/EditableEntity/SCR_EditableEntityComponent.c,786": 'GetPlayerPlatformId' is obsolete +04:49:30.924 SCRIPT (W): @"Scripts/Game/ERR/ERR_SiteService.c,140": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +04:49:30.933 SCRIPT (W): @"Scripts/Game/Workshop/SCR_AddonManager.c,876": 'GetRefCount' is obsolete: Will be removed +04:49:30.966 SCRIPT (W): @"Scripts/Game/Campaign/SCR_PlayerProfileManagerComponent.c,142": 'PlayerData' is obsolete +04:49:31.069 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,159": 'GetDSSession' is obsolete +04:49:31.069 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,162": 'RoomID' is obsolete +04:49:31.069 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,197": 'GetDSSession' is obsolete +04:49:31.069 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,201": 'RoomID' is obsolete +04:49:31.162 SCRIPT (W): @"Scripts/Game/DataCollection/SCR_DataCollectorComponent.c,481": 'GetStorage' is obsolete +04:49:31.162 SCRIPT (W): @"Scripts/Game/DataCollection/SCR_DataCollectorComponent.c,483": 'GetOnlineWritePrivilege' is obsolete +04:49:31.163 SCRIPT (W): @"Scripts/Game/Utilities/SCR_PlayerIdentityUtils.c,20": 'GetPlayerIdentityId' is obsolete +04:49:31.205 SCRIPT (W): @"Scripts/Game/ERR/ERR_ExtractionService.c,45": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +04:49:31.206 SCRIPT (W): @"Scripts/Game/ERR/ERR_ExtractionService.c,56": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +04:49:31.207 SCRIPT (W): @"Scripts/Game/UI/Menu/MainMenuUI.c,643": 'GetNotifyCount' is obsolete: Will be substitued by Notification Api. +04:49:31.207 SCRIPT (W): @"Scripts/Game/UI/Menu/MainMenuUI.c,645": 'GetNotifyItem' is obsolete: Will be substitued by Notification Api. +04:49:31.234 SCRIPT (W): @"Scripts/Game/ERR/ERR_NativeTransportProbe.c,82": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +04:49:31.268 SCRIPT (W): @"Scripts/Game/DataCollection/PlayerData/SCR_PlayerData.c,210": 'PlayerData' is obsolete +04:49:31.544 SCRIPT : Module: WorkbenchGame; loaded 172x files; 617x classes; used 2483K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE"; CRC32: e963af0e +04:49:31.551 SCRIPT : Module: Game; loaded 5721x files; 11223x classes; used 32685K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE,ENABLE_BASE_DESTRUCTION,BUDGET_OPTIMIZATION_CHECKS,SHOW_DISCLAIMER,DEBUG,RESPAWN_TIMER_COMPONENT_DEBUG,GAME_MODE_DEBUG,DEBUG_CONFIGURABLE_DIALOGS,DISABLE_WEAPON_SWITCHING,SCRIPTED_AIM_MODIFIER_DEBUG"; CRC32: b0c1047a +04:49:32.508 SCRIPT : Unable to register a script command due keyword duplicity: ban +04:49:32.508 SCRIPT : Unable to register a script command due keyword duplicity: kick +04:49:53.347 SCRIPT : ERR VALIDATION: prison terrain=211.344, radio terrain=159.656, extraction terrain=65.1562 +04:49:53.348 SCRIPT : ERR TERRAIN: x=6084 z=7154 y=211.531 +04:49:53.348 SCRIPT : ERR TERRAIN: x=6084 z=7157 y=211.516 +04:49:53.348 SCRIPT : ERR TERRAIN: x=6084 z=7160 y=211.5 +04:49:53.348 SCRIPT : ERR TERRAIN: x=6084 z=7163 y=211.453 +04:49:53.348 SCRIPT : ERR TERRAIN: x=6084 z=7166 y=211.406 +04:49:53.348 SCRIPT : ERR TERRAIN: x=6087 z=7154 y=211.438 +04:49:53.348 SCRIPT : ERR TERRAIN: x=6087 z=7157 y=211.438 +04:49:53.348 SCRIPT : ERR TERRAIN: x=6087 z=7160 y=211.422 +04:49:53.349 SCRIPT : ERR TERRAIN: x=6087 z=7163 y=211.391 +04:49:53.349 SCRIPT : ERR TERRAIN: x=6087 z=7166 y=211.344 +04:49:53.349 SCRIPT : ERR TERRAIN: x=6090 z=7154 y=211.344 +04:49:53.349 SCRIPT : ERR TERRAIN: x=6090 z=7157 y=211.344 +04:49:53.349 SCRIPT : ERR TERRAIN: x=6090 z=7160 y=211.344 +04:49:53.349 SCRIPT : ERR TERRAIN: x=6090 z=7163 y=211.328 +04:49:53.349 SCRIPT : ERR TERRAIN: x=6090 z=7166 y=211.281 +04:49:53.349 SCRIPT : ERR TERRAIN: x=6093 z=7154 y=211.25 +04:49:53.349 SCRIPT : ERR TERRAIN: x=6093 z=7157 y=211.281 +04:49:53.350 SCRIPT : ERR TERRAIN: x=6093 z=7160 y=211.25 +04:49:53.350 SCRIPT : ERR TERRAIN: x=6093 z=7163 y=211.234 +04:49:53.350 SCRIPT : ERR TERRAIN: x=6093 z=7166 y=211.188 +04:49:53.350 SCRIPT : ERR TERRAIN: x=6096 z=7154 y=211.156 +04:49:53.350 SCRIPT : ERR TERRAIN: x=6096 z=7157 y=211.172 +04:49:53.350 SCRIPT : ERR TERRAIN: x=6096 z=7160 y=211.156 +04:49:53.350 SCRIPT : ERR TERRAIN: x=6096 z=7163 y=211.141 +04:49:53.350 SCRIPT : ERR TERRAIN: x=6096 z=7166 y=211.094 +04:49:53.374 SCRIPT : ERR SITE CANDIDATE: position=<6090,211.344,7160> elevationRange=0.640625 +04:49:56.581 SCRIPT : Unable to register a script command due keyword duplicity: ban +04:49:56.581 SCRIPT : Unable to register a script command due keyword duplicity: kick +04:50:10.067 SCRIPT (W): SCR_PerceivedFactionManagerComponent trying to set fall back faction 'CIV' but this faction could not be found so it is null instead. +04:50:10.099 SCRIPT : ERR SMOKE: scripted integration test enabled; gameplay acceptance remains separate +04:50:10.573 SCRIPT (W): Notification data in 'SCR_NotificationsLogDisplay' has duplicate notification info key: 'EDITOR_PERCEIVED_FACTION_PUNISHMENT_KILLING_SET'. There should only be one of each key! +04:50:10.573 SCRIPT (W): Notification data in 'SCR_NotificationsLogDisplay' has duplicate notification info key: 'EDITOR_PERCEIVED_FACTION_TYPE_DISABLED'. There should only be one of each key! +04:50:10.575 SCRIPT (W): Can't open config file "" +04:50:10.582 SCRIPT (W): Slot_WeaponInfo Has no Content! +04:50:10.583 SCRIPT (W): Slot_Chat Has no Content! +04:50:10.583 SCRIPT (W): Slot_VON Has no Content! +04:50:10.583 SCRIPT (W): Slot_AvailableActions Has no Content! +04:50:10.583 SCRIPT (W): Slot_Vehicle Has no Content! +04:50:10.583 SCRIPT (W): Slot_GameVersion Has no Content! +04:50:10.583 SCRIPT (W): Slot_Notifications Has no Content! +04:50:10.583 SCRIPT (W): Slot_Hints Has no Content! +04:50:10.599 SCRIPT (W): Ban Settings could not be loaded from BE Storage: Relying on default config +04:50:10.656 SCRIPT : ScenarioFramework: Available tasks are empty, no new tasks will be generated. +04:50:10.670 SCRIPT : SCR_BaseGameMode::OnGameStateChanged = GAME +04:50:10.859 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +04:50:12.391 SCRIPT : Rereintroduced [sites]: cache clearance position=<6086,211.538,7160> clear=1 +04:50:12.412 SCRIPT : Rereintroduced [sites]: authored everon-prison-1 at <6090,211.444,7160> +04:50:12.413 SCRIPT : Rereintroduced [sites]: cache clearance position=<6150,203.288,7050> clear=1 +04:50:12.444 SCRIPT : Rereintroduced [sites]: authored everon-supply-1 at <6150,203.288,7050> +04:50:12.446 SCRIPT : Rereintroduced [sites]: authored everon-radio-1 at <6500,159.756,7200> +04:50:12.499 SCRIPT : Rereintroduced [sites]: authored everon-extraction-1 at <7000,65.2562,7500> +04:50:12.499 SCRIPT : Rereintroduced [sites]: cache clearance position=<5960,220.256,7220> clear=1 +04:50:12.505 SCRIPT : Rereintroduced [sites]: transport parking=<5960,220.256,7212> radius=4 terrainRange=0.8125 obstructed=0 clear=1 +04:50:12.551 SCRIPT : Rereintroduced [sites]: authored everon-supply-2 at <5960,220.256,7220> +04:50:12.551 SCRIPT : Rereintroduced [sites]: cache clearance position=<6340,175.788,7400> clear=1 +04:50:12.553 SCRIPT : Rereintroduced [sites]: authored everon-medical-1 at <6340,175.788,7400> +04:50:12.554 SCRIPT : Rereintroduced [sites]: cache clearance position=<6740,140.6,7300> clear=1 +04:50:12.557 SCRIPT : Rereintroduced [sites]: cache clearance position=<6740,140.913,7296> clear=1 +04:50:12.558 SCRIPT : Rereintroduced [sites]: cache clearance position=<6736,140.975,7300> clear=1 +04:50:12.558 SCRIPT : Rereintroduced [sites]: cache clearance position=<6744,140.288,7300> clear=1 +04:50:12.560 SCRIPT : Rereintroduced [sites]: authored everon-outpost-1 at <6740,140.6,7300> +04:50:12.647 SCRIPT : Rereintroduced [sites]: 7 sites and 117 physical stock items ready +04:50:12.663 SCRIPT : Rereintroduced [time]: started at 14:00 with 1x progression +04:50:12.663 SCRIPT : Rereintroduced [mission]: phase 0 -> 1 +04:50:12.898 SCRIPT : INFO: Faction: player jakub (playerID = 1 | UUID = 00000000-0000-0000-0000-000000000000) has joined faction #AR-Faction_US (US) +04:50:12.974 SCRIPT : Rereintroduced [spawn]: player 1 at <6090,211.444,7160> +04:50:13.097 SCRIPT : ERR SMOKE PASS: new identity may enter prison +04:50:13.097 SCRIPT : ERR SMOKE PASS: spawn consumes identity life +04:50:13.097 SCRIPT : ERR SMOKE PASS: disconnect retains living actor and clears connection +04:50:13.097 SCRIPT : ERR SMOKE PASS: reconnected identity retains spent life +04:50:13.097 SCRIPT : ERR SMOKE PASS: duplicate active identity rejected +04:50:13.098 SCRIPT : ERR SMOKE PASS: recycled connection receives independent life and extraction admission policy +04:50:13.098 SCRIPT : ERR SMOKE PASS: base contracts catalog resolves hostile vanilla factions and successful preparation +04:50:13.098 SCRIPT : ERR SMOKE PASS: base contracts physical prisoner matches injected faction and resource +04:50:13.098 SCRIPT : ERR SMOKE PASS: base contracts physical guard squad comes from injected catalog +04:50:13.098 SCRIPT : ERR SMOKE PASS: base contracts same-side factions rejected +04:50:13.098 SCRIPT : ERR SMOKE PASS: base contracts unknown world faction rejected +04:50:13.098 SCRIPT : ERR SMOKE PASS: base contracts missing prisoner resource rejected +04:50:13.099 SCRIPT : ERR SMOKE PASS: base contracts isolated catalog restored without mutating live configuration +04:50:13.099 SCRIPT : ERR SMOKE PASS: base contracts unauthorized settings request rejected +04:50:13.099 SCRIPT : ERR SMOKE PASS: base contracts partially numeric input rejected without mutation +04:50:13.099 SCRIPT : ERR SMOKE PASS: base contracts out-of-range duration rejected without mutation +04:50:13.102 SCRIPT : ERR SMOKE PASS: base contracts normalized base command saves validated duration +04:50:13.102 SCRIPT : ERR SMOKE PASS: base contracts base command reads saved duration +04:50:13.102 SCRIPT : ERR SMOKE PASS: base contracts base settings listing available +04:50:13.102 SCRIPT : ERR SMOKE PASS: base contracts base mission status available before companions +04:50:13.105 SCRIPT : ERR SMOKE PASS: base contracts test setting restored +04:50:13.105 SCRIPT : ERR SMOKE PASS: companion command retained: hq interval show +04:50:13.105 SCRIPT : ERR SMOKE PASS: companion command retained: hq squads show +04:50:13.105 SCRIPT : ERR SMOKE PASS: companion command retained: hq radius show +04:50:13.105 SCRIPT : ERR SMOKE PASS: companion command retained: intel carrying show +04:50:13.106 SCRIPT : ERR SMOKE PASS: companion command retained: intel reveal show +04:50:13.106 SCRIPT : ERR SMOKE PASS: companion journal is behind Core admin authorization +04:50:13.106 SCRIPT : ERR SMOKE PASS: companion HQ status uses the shared command service +04:50:13.106 SCRIPT : ERR SMOKE PASS: initial prisoner position +04:50:13.106 SCRIPT : ERR SMOKE PASS: radio and extraction vehicle exist +04:50:13.106 SCRIPT : ERR SMOKE PASS: authored gate exposes lock action +04:50:13.106 SCRIPT : ERR GEOMETRY: gate low=<6089.98,211.436,7153.9> high=<6093.06,214.647,7154.1> +04:50:13.107 SCRIPT : ERR GEOMETRY: child origin=<6090,211.344,7154> low=<6089.98,211.436,7153.9> high=<6093.06,214.647,7154.1> +04:50:13.107 SCRIPT : ERR GEOMETRY: child origin=<6093,211.444,7154> low=<6093,210.641,7153.87> high=<6096,214.409,7154.13> +04:50:13.107 SCRIPT : ERR GEOMETRY: child origin=<6087,211.444,7154> low=<6087,210.641,7153.87> high=<6090,214.409,7154.13> +04:50:13.107 SCRIPT : ERR GEOMETRY: child origin=<6084,211.444,7154> low=<6084,210.641,7153.87> high=<6087,214.409,7154.13> +04:50:13.107 SCRIPT : ERR GEOMETRY: child origin=<6096,211.444,7163> low=<6095.87,210.641,7163> high=<6096.13,214.409,7166> +04:50:13.107 SCRIPT : ERR GEOMETRY: child origin=<6084,211.444,7163> low=<6083.87,210.641,7163> high=<6084.13,214.409,7166> +04:50:13.107 SCRIPT : ERR GEOMETRY: child origin=<6096,211.444,7160> low=<6095.87,210.641,7160> high=<6096.13,214.409,7163> +04:50:13.108 SCRIPT : ERR GEOMETRY: child origin=<6084,211.444,7160> low=<6083.87,210.641,7160> high=<6084.13,214.409,7163> +04:50:13.108 SCRIPT : ERR GEOMETRY: child origin=<6096,211.444,7157> low=<6095.87,210.641,7157> high=<6096.13,214.409,7160> +04:50:13.108 SCRIPT : ERR GEOMETRY: child origin=<6084,211.444,7157> low=<6083.87,210.641,7157> high=<6084.13,214.409,7160> +04:50:13.108 SCRIPT : ERR GEOMETRY: child origin=<6096,211.444,7154> low=<6095.87,210.641,7154> high=<6096.13,214.409,7157> +04:50:13.108 SCRIPT : ERR GEOMETRY: child origin=<6084,211.444,7154> low=<6083.87,210.641,7154> high=<6084.13,214.409,7157> +04:50:13.108 SCRIPT : ERR GEOMETRY: child origin=<6093,211.444,7166> low=<6093,210.641,7165.87> high=<6096,214.409,7166.13> +04:50:13.108 SCRIPT : ERR GEOMETRY: child origin=<6090,211.444,7166> low=<6090,210.641,7165.87> high=<6093,214.409,7166.13> +04:50:13.108 SCRIPT : ERR GEOMETRY: child origin=<6087,211.444,7166> low=<6087,210.641,7165.87> high=<6090,214.409,7166.13> +04:50:13.109 SCRIPT : ERR GEOMETRY: child origin=<6084,211.444,7166> low=<6084,210.641,7165.87> high=<6087,214.409,7166.13> +04:50:13.109 SCRIPT : ERR SMOKE PASS: lock permits prisoner +04:50:13.109 SCRIPT : Rereintroduced [mission]: phase 1 -> 2 +04:50:13.110 SCRIPT : ERR SMOKE PASS: lock action advances mission +04:50:13.110 SCRIPT : ERR SMOKE PASS: two guaranteed physical cache documents +04:50:13.113 SCRIPT : ERR SMOKE PASS: test does not rely on random intel +04:50:13.115 SCRIPT : ERR SMOKE PASS: isolated test profile defence duration +04:50:13.599 SCRIPT : ERR SMOKE PASS: authored cache document recovered into inventory +04:50:13.900 SCRIPT : Rereintroduced [intel]: player 1 recovered folder; location=everon-radio-1 knowledge=1 +04:50:16.125 SCRIPT : ERR SMOKE PASS: unlocked gate physically permits passage +04:50:16.125 SCRIPT : ERR SMOKE PASS: authored cache document recovered into inventory +04:50:16.926 SCRIPT : Rereintroduced [intel]: player 1 recovered folder; location=everon-radio-1 knowledge=2 +04:50:18.654 SCRIPT : ERR SMOKE PASS: carried intel identifies radio through intel service +04:50:18.654 SCRIPT : ERR SMOKE PASS: radio rejects distant player +04:50:19.673 SCRIPT : ERR SMOKE: radio=<6500,159.756,7200> player=<6502,159.531,7200> +04:50:19.673 SCRIPT : Rereintroduced [mission]: phase 2 -> 3 +04:50:19.674 SCRIPT : ERR SMOKE PASS: identified radio starts defence +04:50:22.710 SCRIPT : ERR SMOKE PASS: occupied defence timer running +04:50:25.226 SCRIPT : ERR SMOKE PASS: leaving area resets defence +04:50:56.143 SCRIPT : Rereintroduced [mission]: phase 3 -> 4 +04:50:58.548 SCRIPT : ERR SMOKE PASS: continuous occupied defence completes +04:50:58.548 SCRIPT : ERR SMOKE PASS: boarding extraction vehicle +04:51:01.589 SCRIPT : ERR SMOKE PASS: physical extraction occupancy +04:51:02.160 SCRIPT : Rereintroduced [mission]: phase 4 -> 5 +04:51:02.161 SCRIPT : ERR SMOKE PASS: scripted escape reaches victory after physical vehicle occupancy +04:51:02.161 SCRIPT : ERR SMOKE COMPLETE: terminal=5 lostHelicopterCase=0 playerDeathCase=0 +04:51:02.267 SCRIPT : SCR_BaseGameMode::OnGameStateChanged = POSTGAME +04:51:02.270 SCRIPT (W): Slot_Chat Has no Content! +04:51:02.270 SCRIPT (W): Slot_VON Has no Content! +04:51:02.270 SCRIPT (W): Slot_GameVersion Has no Content! +04:51:02.271 SCRIPT (W): Slot_Notifications Has no Content! +04:51:04.320 SCRIPT : ERR RESULT UI: player=1 title=You escaped Everon +04:51:04.320 SCRIPT (W): SCR_ScriptedWidgetComponent.GetComponent: widget not found: SCR_InputButtonComponent Back +04:51:04.320 SCRIPT : -- Stack trace -- +04:51:04.320 SCRIPT : GetComponent() Scripts/Game/UI/Components/WidgetLibrary/SCR_ScriptedWidgetComponent.c : 43 +04:51:04.321 SCRIPT : GetInputButtonComponent() Scripts/Game/UI/Components/WidgetLibrary/SCR_InputButton/SCR_InputButtonComponent.c : 1214 +04:51:04.321 SCRIPT : OnMenuOpen() Scripts/Game/UI/GameOverScreen/SCR_GameOverScreenInput.c : 15 +04:51:04.321 SCRIPT : OpenGameOverScreen() Scripts/Game/GameOverScreen/SCR_GameOverScreenManagerComponent.c : 447 +04:51:04.321 SCRIPT : ShowGameOverScreen() Scripts/Game/GameOverScreen/SCR_GameOverScreenManagerComponent.c : 177 +04:51:04.322 SCRIPT : OnUpdate() Scripts/Game/game.c : 885 +04:51:04.322 SCRIPT : ----------------- +04:51:04.322 SCRIPT (W): SCR_ScriptedWidgetComponent.GetComponent: widget not found: SCR_InputButtonComponent ChatButton +04:51:04.322 SCRIPT : -- Stack trace -- +04:51:04.322 SCRIPT : GetComponent() Scripts/Game/UI/Components/WidgetLibrary/SCR_ScriptedWidgetComponent.c : 43 +04:51:04.322 SCRIPT : GetInputButtonComponent() Scripts/Game/UI/Components/WidgetLibrary/SCR_InputButton/SCR_InputButtonComponent.c : 1214 +04:51:04.323 SCRIPT : OnMenuOpen() Scripts/Game/UI/GameOverScreen/SCR_GameOverScreenInput.c : 21 +04:51:04.323 SCRIPT : OpenGameOverScreen() Scripts/Game/GameOverScreen/SCR_GameOverScreenManagerComponent.c : 447 +04:51:04.323 SCRIPT : ShowGameOverScreen() Scripts/Game/GameOverScreen/SCR_GameOverScreenManagerComponent.c : 177 +04:51:04.323 SCRIPT : OnUpdate() Scripts/Game/game.c : 885 +04:51:04.323 SCRIPT : ----------------- +04:51:04.325 SCRIPT (W): Slot_Chat Has no Content! +04:51:04.325 SCRIPT (W): Slot_VON Has no Content! +04:51:04.325 SCRIPT (W): Slot_GameVersion Has no Content! +04:51:04.325 SCRIPT (W): Slot_Notifications Has no Content! +04:51:04.327 SCRIPT : ERR RESULT UI: player=1 title=You escaped Everon diff --git a/docs/evidence/native-2026-09-19-044924/source-sha256.json b/docs/evidence/native-2026-09-19-044924/source-sha256.json new file mode 100644 index 0000000..4d6750f --- /dev/null +++ b/docs/evidence/native-2026-09-19-044924/source-sha256.json @@ -0,0 +1,115 @@ +{ + "addons/ai/Prefabs/ERR/MortarCrew.et": "05d3e7353ff9fe5523218a1487b31b7b742b0be8adbcb060c7099978cf008bce", + "addons/ai/Prefabs/ERR/MortarCrew.et.meta": "fdfd4fcd21a67c3d698fa4aadc4e5c76e665cebf4be86013bc389e493fab63cc", + "addons/ai/Scripts/Game/ERR/ERR_HQ.c": "ceafd6740ed277748744ce56ac0f0bb3a8521fcc060dafb2cdb99896aedf405a", + "addons/ai/Scripts/Game/ERR/ERR_HQJournal.c": "b3e402cfe92d415f37f666045afb062e6e11670ba03a0ca6f2d9fd4fc3520ac1", + "addons/ai/Scripts/Game/ERR/ERR_HQNetwork.c": "92ff2caca52e94c2cc9642dfc8509ce6e9349b257012bade8650bace9231128c", + "addons/ai/Scripts/Game/ERR/ERR_HQObservation.c": "36c978ec5f052213ac1236e1398d85063efbfd7ef60fe04f1fc11447fefe1d68", + "addons/ai/Scripts/Game/ERR/ERR_HQReport.c": "c4d16ccb571db4d9444c0a8d2be7318845d25ff90238b6d304e96a9ea19f1a08", + "addons/ai/Scripts/Game/ERR/ERR_HelicopterAvailability.c": "60eaef2f6d4b2fd44861c5a4434ef97e732e40a5ff7401e2da451ed2dd9c2762", + "addons/ai/Scripts/Game/ERR/ERR_MortarBattery.c": "66b8f16b692a0f75fc9d920f5224d9292a0f1dc7dd8b2dde912e676fa80ddc9c", + "addons/ai/Scripts/Game/ERR/ERR_MortarFiring.c": "657e96d1112b68c8ced37793e99f88e6078b38a579190e63d00b1f9a9a032e26", + "addons/ai/Scripts/Game/ERR/ERR_MortarPrediction.c": "470dd196ed64800c697d24c09d1344bacd2502587fac76af4ee0edae2563092d", + "addons/ai/Scripts/Game/ERR/ERR_MortarSalvo.c": "697c01f479df6c505a41d984a29c02002e3052114dafa2ec6252ae55e2979a2b", + "addons/ai/Scripts/Game/ERR/ERR_MortarSystem.c": "12d8fc39d47e03c3838e0642aa9e4a80baf60f250357493bff812d5c75812c86", + "addons/ai/Scripts/Game/ERR/ERR_SettlementSafety.c": "e5c0ebc95521a9a33a3f7d9cca6c551dda862a08b7af20b017877aba9584795b", + "addons/ai/Scripts/Game/ERR/ERR_SupportScenario.c": "71757018ec9716c4dc24f62a292a214919d3fd5daed3c16e03e56abd208e9f03", + "addons/ai/addon.gproj": "5f559db8f526700db11e6ae763f5245f19b7006fc68c56e4c09fb6f940bdf2a1", + "addons/chat/Missions/ERR_Everon.conf": "76f3ac0d21b585654beac7ddd68e3c8cbdd66dbfe909b17b04838fa813a7c29b", + "addons/chat/Missions/ERR_Everon.conf.meta": "0a23c98bf83873536c65fa17d38dea33a1d7b9e4ab210f90633ff688abcc551f", + "addons/chat/Scripts/Game/ERR/ERR_AdminCommands.c": "7ea6d6b240524cf0193c86fcab861fbdef9adca780acff11ee73f9ed0e99ce7b", + "addons/chat/Scripts/Game/ERR/ERR_NativeMortarProbe.c": "ddb892141500c192c0787b011d57dd8c07dd8c9a3ca5fdc407f6c271897bde0a", + "addons/chat/Scripts/Game/ERR/ERR_NativeRadioProbe.c": "84524163c63402755b4f834f74dfe6d8e5c397dc26031f532593c6f79f5a93b1", + "addons/chat/Scripts/Game/ERR/ERR_NativeSmoke.c": "0ab2fed95dcaa0442cf7feb25743308060d58497e347f17dbd25c8e970a9f81f", + "addons/chat/Scripts/WorkbenchGame/ERR/ERR_ValidateWorldPlugin.c": "81c92d408ce88cc9f98d6053f1d0c863427693ba748f00df9f1bf8079015ef94", + "addons/chat/addon.gproj": "ea1587e0174cf795334d306c71d99b06797fc891427cd57b6cab6e21cf0e4e0e", + "addons/core/Configs/ERR/EveronSites.conf": "2edb2c6983eb627800b65d9e244b9b228e0b82282e089c7b12e5a8921a2ea7bf", + "addons/core/Configs/ERR/EveronSites.conf.meta": "d5fe68025ef4e7c1e16082cf5873b7c7172eacbfaef4ab29b7e0e3c98f8dca56", + "addons/core/Configs/ERR/GameOverScreens.conf": "45231061911a1462d45fb6db0fecc2b0793f17b5ae71017174954ff4fbd20236", + "addons/core/Configs/ERR/GameOverScreens.conf.meta": "eb654b745c0b97b41c991694569ef4877a3c2315e0826f9556337cd68690843e", + "addons/core/Configs/ERR/VanillaFactions.conf": "f8b8b9898a16b4a4a55ab3c12d2547bef2dc433732c7643df980cb3aca715212", + "addons/core/Configs/ERR/VanillaFactions.conf.meta": "ac77725c0c21974991ef47a466b88122e939de8b46fd23e68889e7674cbb2bfd", + "addons/core/Missions/ERR_Everon_Base.conf": "1e6a0e9a756d15495201f71121626890f01efe6b00154c561672d4ec157960bd", + "addons/core/Missions/ERR_Everon_Base.conf.meta": "9b16267c644d815bcf98a3a3aaff30b93d7224fb24d3a2bac66730a28011f317", + "addons/core/Prefabs/ERR/Extraction.et": "1aa286ef253c5410f09fa641e4be91a7be8ec834487a7fbb74cfb45cab60ee1e", + "addons/core/Prefabs/ERR/Extraction.et.meta": "c2a838633001e2e3a202d39cb33aa744ebcd996017ad032359069641b5d13853", + "addons/core/Prefabs/ERR/FieldCover.et": "20f8095e69dbfe3db74ff19078e528ea75405362b335e03560ccd61f8df2e7f3", + "addons/core/Prefabs/ERR/FieldCover.et.meta": "83461ffa76244e1d69f20b053a9741ccdf7d127009182bd540a7e5ba6150c3d9", + "addons/core/Prefabs/ERR/GameMode.et": "385c97a5b8067091d92aa60c2d4fcf02002cf606b95523866ead65c96b8c0029", + "addons/core/Prefabs/ERR/GameMode.et.meta": "106769cd34525c9d440057072836cb7401a6752148c40edd7fe61c03bd58328c", + "addons/core/Prefabs/ERR/ObjectiveDocument.et": "2e72270bf186654af12d2c3ff9bf940690b03fb17fca44f873c1fde5d11384c0", + "addons/core/Prefabs/ERR/ObjectiveDocument.et.meta": "eaba9903be147b98a1106e2273e2270773df73b9b22f2cd4e20136a8e281382e", + "addons/core/Prefabs/ERR/Patrol.et": "c5685a8bc311cc5563fb3334beec9408d3d7a1069152fddeeb7df4f1b7f9e6ce", + "addons/core/Prefabs/ERR/Patrol.et.meta": "7c5da568fa2fcf0709ee2959253cb068d7c7ed7c2467af3b247a7e70efd96b69", + "addons/core/Prefabs/ERR/Prison.et": "1503db1441d8cd7a4f0b45c27ba9623b9fa39f0f81016e180bd2aa1379e1f42a", + "addons/core/Prefabs/ERR/Prison.et.meta": "2e426ef3de68f4107907854b51e818bc11d84649a01c538e3f18dd9ebec766bb", + "addons/core/Prefabs/ERR/PrisonDoor.et": "fc66be9d36f1f01084de59f1b0a1e8817f9e46547ead33d4fafaac0107446c40", + "addons/core/Prefabs/ERR/PrisonDoor.et.meta": "b8f3db52bf186426026668fbb9d633c3cbd4d438ab301fba880398f6a0e781c2", + "addons/core/Prefabs/ERR/PrisonWall.et": "8009d19365ae72a4749d7ad4fa04662575b06c65c6bf06507d380d57258b5eed", + "addons/core/Prefabs/ERR/PrisonWall.et.meta": "0294bc5dbb56f90f8153d62459bb0a6ad91d76a479812bbec9c7db182fdb58d6", + "addons/core/Prefabs/ERR/Radio.et": "b4b5cfe125b39019855816c9a1c508ca4d65d435b5546fdaa6c1fa3c8c9b1165", + "addons/core/Prefabs/ERR/Radio.et.meta": "bc91137b68ba550217914fb8892bb44d7e1920e4a1086f3e506623832a44212f", + "addons/core/Prefabs/ERR/SpectatorCamera.et": "b5b87d5b7b707f3745741aebe7c923067c8a74f8fbb2a4711834bab03bb5a812", + "addons/core/Prefabs/ERR/SpectatorCamera.et.meta": "2a16558f93915e31908a674509e9c89976470f78a84a1174a64b94b68b8f77ad", + "addons/core/Prefabs/ERR/SupplyCache.et": "bccf7afbaae97cfcdd78dd6dbbf4be5b2c045d348f50fe4581962e556c0044d7", + "addons/core/Prefabs/ERR/SupplyCache.et.meta": "2f5de3a4aab1e9d0e35521f48dc57b95bd6e449c383dec4f1c258e10295904cb", + "addons/core/Prefabs/ERR/SupplySite.et": "dc5decce5cabf39b6116e8794ec3960cb1e35761854fdbe69740da118787ded4", + "addons/core/Prefabs/ERR/SupplySite.et.meta": "b41944b12eb3528ff7a3ac94258b18c66ef161aa6a38894aee300a1ac4798630", + "addons/core/Scripts/Game/ERR/ERR_Actions.c": "adf93245e6d78c59b9839599d157a0d2b2b93ea93b3d1ae52e2904dd6c288266", + "addons/core/Scripts/Game/ERR/ERR_Actors.c": "b3c5aabb05f7cf35167bc09b5db51a4ffd89a46658805d6eedbfb80eee30273d", + "addons/core/Scripts/Game/ERR/ERR_AdminService.c": "047c14ce60cc0b167e202438f8f2b1063590e69ef88ea55b54598aea5f99c505", + "addons/core/Scripts/Game/ERR/ERR_DiscoveryMap.c": "2f4ea342fea0530061456be9cdce002d5e7a282e4e27eb88f3860e79f93612bf", + "addons/core/Scripts/Game/ERR/ERR_DiscoveryService.c": "6b5679447fe4a6d7d54c0545881ab56284f871556b3159207d421247f419eada", + "addons/core/Scripts/Game/ERR/ERR_DocumentComponent.c": "17bb76b80ebd3357e46d553c44674f602c7bd6901c92aec53ac8214194aa4ff2", + "addons/core/Scripts/Game/ERR/ERR_EscapeGameOverScreenInfo.c": "b1e1afb7795cb77c0bad94c85abf705b26b9dc2a9400905d80eafd56bdd009d3", + "addons/core/Scripts/Game/ERR/ERR_ExtractionService.c": "91357099b4e0401196b67d48963be54be30e56bdba57cdac67dc20b8ebb883e9", + "addons/core/Scripts/Game/ERR/ERR_FactionCatalog.c": "a5a8c53acf21259e14f59cb919535910f30dabff5a9179c664bc6a7a4d744d6e", + "addons/core/Scripts/Game/ERR/ERR_GameMode.c": "d766d1639378070bea64eef38baa4667f8b9f5f1a2a7b170f0fc5e8fd557917d", + "addons/core/Scripts/Game/ERR/ERR_Location.c": "d2035f56ded35743312ec6ca91a67f8623a466c91255e1893c570edf0954ff24", + "addons/core/Scripts/Game/ERR/ERR_MissionRules.c": "f7abc38ad8fdc375ce7fa63a65f0bade027d22b37e09de5e3f94ba8c3c63cc41", + "addons/core/Scripts/Game/ERR/ERR_NativeBaseSmoke.c": "60a573d974b4862b1b66e9cb0ef2ee7d056f698cf1e4f5af5233bde7c59e931f", + "addons/core/Scripts/Game/ERR/ERR_NativeContractsProbe.c": "d1556df885171cf967e96eef5d8981a2e9ee4e3938b7d32fdd0426f647bbabc0", + "addons/core/Scripts/Game/ERR/ERR_NativeDefinitionProbe.c": "d05ef8368ef5afa68e29f45843cb1878b5a09be768f8abdff2f4115c23759b01", + "addons/core/Scripts/Game/ERR/ERR_NativeExtractionProbe.c": "4b09385f73206de004f4f3c38a6192fd658a0d2012482dc5a84dff1599ceb972", + "addons/core/Scripts/Game/ERR/ERR_NativeObjectiveProbe.c": "451f46d9a51753841046698911ee9954088214b6df856776a316865466fbce0f", + "addons/core/Scripts/Game/ERR/ERR_NativeRadioDefenceProbe.c": "35a1c0d182ad12d11651744afa7faeb6dabf374c3aa96fbab9dbd54e7319a07e", + "addons/core/Scripts/Game/ERR/ERR_NativeResultProbe.c": "b9a117eef2d5f65fbd792041a2b3e59e38e201bda8e0df8c503e1a1242cfc415", + "addons/core/Scripts/Game/ERR/ERR_NativeSiteSurvey.c": "ac0203753ade0cdff6d483132797a80e4520f14546c3f9dea288281cd4cd9c4f", + "addons/core/Scripts/Game/ERR/ERR_NativeStationTeardownDiagnostic.c": "c01cbdbfe25fd38916fa74f2c02333baaacd5228686fd6e40b33c27b3cea8ed8", + "addons/core/Scripts/Game/ERR/ERR_NativeTimeProbe.c": "c93d049785971e51246fcc07cf24804270a752a655505f2c38e48c80df5255ae", + "addons/core/Scripts/Game/ERR/ERR_NativeTransportProbe.c": "63ec0c5ce698114daa6314b2a6e3c3e98e76094117c477f9d0d072260686d193", + "addons/core/Scripts/Game/ERR/ERR_NativeTransportSurvey.c": "3e94493bf54d15be2bceb106ad18873e14e6755af09c05f07db7fb26fb7adff5", + "addons/core/Scripts/Game/ERR/ERR_ObjectiveDetails.c": "900bdcd11075230e0d311ca8725c1d7938cb2a4efa71360709003d90092a7e69", + "addons/core/Scripts/Game/ERR/ERR_ObjectiveText.c": "bbb29949194637e6781316836c895e2c0fa7ccdb547d4d944a717da2ad73b0a2", + "addons/core/Scripts/Game/ERR/ERR_Objectives.c": "88d95a52fcba103483ea751571e1afeae0e6fc82115ed50d6fc195424726960f", + "addons/core/Scripts/Game/ERR/ERR_Observer.c": "b719e723369ab4f403950c85226e1336eb48e3c127e84530ac1c695eb86bd0f9", + "addons/core/Scripts/Game/ERR/ERR_PlayerAdminCommands.c": "a084d7dc097dfcde3d6cd9c2e326b9e2f8f2a519f77b30c4f56ab7a1429aa721", + "addons/core/Scripts/Game/ERR/ERR_PlayerEscapeResult.c": "3124ab4d2d6d471409a47aba0af528790734df53243c03fe0cdac3e407047c14", + "addons/core/Scripts/Game/ERR/ERR_PlayerGuide.c": "2c9c365b88651f8b12618443638bf52c04e497221592bd483c33447e30468f36", + "addons/core/Scripts/Game/ERR/ERR_PlayerRoster.c": "a737ba739b3f73a91cd05d808a1d45070e83b5152c003c3164e29842dda51995", + "addons/core/Scripts/Game/ERR/ERR_RadioDefenceService.c": "85eb9c1b65d5987799927b6d8786b7299fcff849bcb15b91f8a4d1aa95823fd1", + "addons/core/Scripts/Game/ERR/ERR_Resources.c": "8a5314944f75b23982c6b99697045e3c0538aa2137b2c947a5b2411e6076ac03", + "addons/core/Scripts/Game/ERR/ERR_ScenarioComponent.c": "abba03af68323d5715ba1e2497fc66f3c706e6a6a983c3a386228abdfddeec89", + "addons/core/Scripts/Game/ERR/ERR_Settings.c": "2aee784e44c732e09f59150896491ab325ef5e62aa6bad725be1fda955a3f614", + "addons/core/Scripts/Game/ERR/ERR_SiteDefinition.c": "75b5121ceab77f0956f0dc34bd077b11af5586350de52321800427f18cc94477", + "addons/core/Scripts/Game/ERR/ERR_SiteService.c": "7ba02712562b3c8cd8de9851b6f26fed85020faacceef0767408b300b935c110", + "addons/core/Scripts/Game/ERR/ERR_SpawnLogic.c": "f84f0c22562912c020e8be81748f36a883dd265d8d9786d0548f32bda5b4b92e", + "addons/core/Scripts/Game/ERR/ERR_Supplies.c": "752e8a56b0b8cde33cf532032cb0a203553017b686faac2e19bee06f7a9c0713", + "addons/core/Scripts/Game/ERR/ERR_TimeService.c": "d9f481b7da01e08d2c982a948c18ba6bde76889d7cc9d26d510708f4ba479453", + "addons/core/Scripts/WorkbenchGame/ERR/ERR_ValidateBaseWorldPlugin.c": "7f44aa64ea7b4f8b3640a37a4b781c43bf6adb80e4a3a702d9491131698056f6", + "addons/core/Worlds/ERR_Everon.ent": "22324bc7eb0d80dec8a1f3bd61a9df9201b72f749f4e751766b0c9d0b7d46b87", + "addons/core/Worlds/ERR_Everon.ent.meta": "19d1903ca72baa326b4724a6791d0da1104a1e53f3f31dc1ca41a856efd68e83", + "addons/core/Worlds/ERR_Everon_Layers/default.layer": "f1a058bd315c7d01d464715ac9f4e18ae3d2432551d094a9afbd4c9c5a2a9416", + "addons/core/addon.gproj": "231274e6b62302f32c65f9ff31de2ce8a9e51e1c8d12c87deeec82ae1f40de46", + "addons/intel/Scripts/Game/ERR/ERR_IntelService.c": "482839434b94e7f8c345d5fd96490aeebb765f3dd0c1bb25fceea2f435c0e722", + "addons/intel/addon.gproj": "d0ced242cefb220a5cccd6779d61fda9bc55581701b9f78bcf13c09d92ddbcbe", + "addons/map/Materials/ERRM_MapRenderTarget.emat": "9877c5b175c5f30dd80bea36c711b21ab38219aa7075adf9ae79932e1d4c76bc", + "addons/map/Materials/ERRM_MapRenderTarget.emat.meta": "5ee1a705f8011a44020ca2691f5ccc17d44bf596fef9a36e98d1f267eb58fab0", + "addons/map/Prefabs/Items/Equipment/ERRM_SharedFieldMap.et": "30dee8e9eab459ea32a7d835a9fb89d43df47708057cab829f067b25a24cd581", + "addons/map/Prefabs/Items/Equipment/ERRM_SharedFieldMap.et.meta": "59093e9072c50d99c86da7609c87541016da5bcf92b98d99db4c524e1c8e0e8d", + "addons/map/Scripts/Game/ERR/ERR_ScenarioMap.c": "75fa1d742129ef7f33c005cd48f56db7f49ee7bde3c5428532b0b501b032b0a3", + "addons/map/Scripts/Game/ERRMap/ERRM_SharedMapComponent.c": "fc1a0c7df4fc96da446d7542a45a10fbec1eda1e543ba2f0581cb772277a47c5", + "addons/map/UI/layouts/ERRMap/SharedMapRenderTarget.layout": "49a2da4181b94d42174f58c7f9b6bf2207116c99427d61ff1c212092ac7db4d2", + "addons/map/UI/layouts/ERRMap/SharedMapRenderTarget.layout.meta": "5c846445cc089e2e08899ba703059d4adb805ff30ab5a16409a3cd59718cbd54", + "addons/map/addon.gproj": "1b371e5e01ea9fa46e76570fecb8aaa3a9298e34cba7ccca8a6bdb5ca86eb46a" +} diff --git a/docs/evidence/native-2026-09-19-045450-radio-recovery-fixture-failure/console.log.txt b/docs/evidence/native-2026-09-19-045450-radio-recovery-fixture-failure/console.log.txt new file mode 100644 index 0000000..b1b27d6 --- /dev/null +++ b/docs/evidence/native-2026-09-19-045450-radio-recovery-fixture-failure/console.log.txt @@ -0,0 +1,511 @@ +--------------------------------------------- +Log Z:\tmp\erri-workbench-profile\logs\logs_2026-09-19_04-54-50\console.log started at 2026-09-19 04:54:50 (2026-09-19 02:54:50 UTC) + +04:54:50.865 ENGINE : FileSystem: Adding relative directory 'Z:\tmp\erri-workbench-profile\logs\logs_2026-09-19_04-54-50' to filesystem under name logs +04:54:50.865 ENGINE : FileSystem: Adding relative directory 'Z:\tmp\erri-workbench-profile\profile' to filesystem under name profile +04:54:50.865 ENGINE : FileSystem: Current working directory: 'Z:\home\jakub\.local\share\Steam\steamapps\common\Arma Reforger Tools\Workbench\' +04:54:50.866 PROFILING : Workbench Create Engine took: 11.247600 ms +04:54:51.903 INIT : INIT : Workbench Init Engine +04:54:51.903 ENGINE : Initializing engine, version 192142 +04:54:51.903 ENGINE : CLI Params: -gproj Z:/home/jakub/devel/escapistsrereintroduced/addons/core/addon.gproj -addonsDir Z:/home/jakub/devel/escapistsrereintroduced/addons -profile Z:/tmp/erri-workbench-profile -logconsole -wbModule WorldEditor -load Worlds/ERR_Everon.ent -plugin ERR_ValidateBaseWorldPlugin -errPlay 1 -errBaseSmoke 1 -errSmokeOutcome victory -noThrow -errStationTeardownDiag 1 +04:54:51.911 ENGINE : Addon dirs: +04:54:51.911 ENGINE : dir: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/core/' +04:54:51.911 ENGINE : dir: 'Z:/home/jakub/devel/escapistsrereintroduced/addons' +04:54:51.911 ENGINE : dir: './addons' +04:54:51.911 ENGINE : dir: 'Z:/tmp/erri-workbench-profile/addons' +04:54:51.911 ENGINE : Available addons: +04:54:51.911 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/core/addon.gproj' guid: '2528466DE220D91C' +04:54:51.911 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/ai/addon.gproj' guid: '5192138CB9D5B911' +04:54:51.911 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/chat/addon.gproj' guid: 'FA804F411BDDF2C6' +04:54:51.911 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/intel/addon.gproj' guid: 'D31039C7C53E348A' +04:54:51.911 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/map/addon.gproj' guid: '9AAEE9041D79809E' +04:54:51.911 ENGINE : gproj: './addons/core/core.gproj' guid: '5614BBCCBB55ED1C' (packed) +04:54:51.911 ENGINE : gproj: 'Z:/tmp/erri-workbench-profile/addons/ArmaReforger/ArmaReforger.gproj' guid: '58D0FB3206B6F859' (packed) +04:54:51.911 ENGINE : FileSystem: Adding relative directory 'Z:\home\jakub\devel\escapistsrereintroduced\addons\core' to filesystem under name ERR_Core +04:54:52.029 ENGINE : FileSystem: Adding package 'Z:/tmp/erri-workbench-profile/addons/ArmaReforger/' (pak count: 14) to filesystem under name ArmaReforger +04:54:52.038 ENGINE : FileSystem: Adding package './addons/core/' (pak count: 2) to filesystem under name core +04:54:52.038 ENGINE : CPU vendor : AuthenticAMD +04:54:52.038 ENGINE : CPU type : 2 +04:54:52.038 ENGINE : CPU name : AMD Ryzen 7 3800XT 8-Core Processor +04:54:52.038 ENGINE : CPU cache info : L1 [Inst 32KB, Data 32KB], L2 [Unif 512KB], L3 [Unif 16384KB] +04:54:52.038 ENGINE : CPU count logical : 16 +04:54:52.038 ENGINE : CPU count physical : 8 +04:54:52.038 ENGINE : CPU features : mmx sse sse2 sse3 ssse3 sse4_1 sse4_2 popcnt aesni pclmulqdq osxsave avx sha avx2 +04:54:52.038 RESOURCES : ResourceDB: loading cache (id=0 name=ERR_Core path=Z:\home\jakub\devel\escapistsrereintroduced\addons\core/resourceDatabase.rdb) +04:54:52.039 RESOURCES : ResourceDB: loading cache (id=1 name=ArmaReforger path=Z:/tmp/erri-workbench-profile/addons/ArmaReforger/resourceDatabase.rdb) +04:54:52.193 RESOURCES : ResourceDB: loading cache (id=2 name=core path=./addons/core/resourceDatabase.rdb) +04:54:52.195 RESOURCES : ResourceDB: loading cache (id=3 name=profile path=Z:\tmp\erri-workbench-profile\profile/resourceDatabase.rdb) +04:54:52.195 RESOURCES : ResourceDB: loading cache (id=4 name=logs path=Z:\tmp\erri-workbench-profile\logs\logs_2026-09-19_04-54-50/resourceDatabase.rdb) +04:54:52.352 RESOURCES : RESOURCES : ResourceDB: full scan +04:54:52.357 RESOURCES : RESOURCES : scanning... +04:54:52.357 RESOURCES : RESOURCES : scanning @"ERR_Core" +04:54:52.360 RESOURCES : RESOURCES : scanning @"ArmaReforger" +04:54:52.497 RESOURCES : RESOURCES : scanning @"core" +04:54:52.500 RESOURCES : RESOURCES : scanning @"profile" +04:54:52.500 RESOURCES : RESOURCES : scanning @"logs" +04:54:52.501 RESOURCES : RESOURCES : processing meta-files... +04:54:52.567 RESOURCES : RESOURCES : processing files... +04:54:52.579 INIT : Workbench startup +04:54:52.579 INIT : Workbench Init Engine +04:54:52.579 RESOURCES : ResourceDB: full scan +04:54:52.579 RESOURCES : processing files... +04:54:52.579 RESOURCES (W): resource not registered: @"$profile:rereintroduced.json". Setting null GUID +04:54:52.579 RESOURCES : RESOURCES : processing folders... +04:54:52.585 RESOURCES : RESOURCES : creating GUID-item mapping... +04:54:52.601 RESOURCES : RESOURCES : building tree... +04:54:52.652 PROFILING : ResourceDB: full scan took: 299.788800 ms +04:54:52.653 RESOURCES : ResourceDB: saving cache (id=0 name=ERR_Core path=Z:\home\jakub\devel\escapistsrereintroduced\addons\core/resourceDatabase.rdb) +04:54:52.655 RESOURCES : ResourceDB: written 3823/3823 bytes +04:54:52.655 RESOURCES : ResourceDB: cache successfully saved +04:54:52.655 RESOURCES : ResourceDB: saving cache (id=3 name=profile path=Z:\tmp\erri-workbench-profile\profile/resourceDatabase.rdb) +04:54:52.657 RESOURCES : ResourceDB: written 206/206 bytes +04:54:52.657 RESOURCES : ResourceDB: cache successfully saved +04:54:52.657 RESOURCES : ResourceDB: saving cache (id=4 name=logs path=Z:\tmp\erri-workbench-profile\logs\logs_2026-09-19_04-54-50/resourceDatabase.rdb) +04:54:52.658 RESOURCES : ResourceDB: written 81/81 bytes +04:54:52.658 RESOURCES : ResourceDB: cache successfully saved +04:54:52.659 ENGINE : GameProject load +04:54:52.659 ENGINE : Loaded addons: +04:54:52.659 ENGINE : gproj: './addons/core/core.gproj' guid: '5614BBCCBB55ED1C' +04:54:52.659 ENGINE : gproj: 'Z:/tmp/erri-workbench-profile/addons/ArmaReforger/ArmaReforger.gproj' guid: '58D0FB3206B6F859' +04:54:52.659 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/core/addon.gproj' guid: '2528466DE220D91C' +04:54:52.660 ENGINE : Loading custom engine user config '$profile:.save/app1874910_user76561198020202999/settings/ReforgerEngineSettings.conf' +04:54:52.661 INIT : GameProject engine user settings load @"$profile:.save/app1874910_user76561198020202999/settings/ReforgerEngineSettings.conf" +04:54:52.661 ENGINE : Engine user settings config loaded +04:54:52.661 PROFILING : Settings changed took: 0.001600 ms +04:54:52.774 RENDER : (OK) Adapter 'AMD Radeon RX 6950 XT (RADV NAVI21)' supports feature level 12_0 +04:54:52.776 RENDER : Basic screen setup: +04:54:52.776 RENDER : Back buffer format : TEXFMT_R8G8B8A8_SRGB (29) +04:54:52.776 RENDER : MSAA : none +04:54:52.790 RENDER : AMD AGS library initialized, version 6.1.0 x DLL 6.1.0 +04:54:52.790 RENDER : Extendeded AMD info for AMD Radeon RX 6950 XT (RADV NAVI21) (primary device) +04:54:52.790 RENDER : * architecture RDNA2, 80 CUs, 40 WGPs (for RDNA), 64 ROPs +04:54:52.790 RENDER : * core clocks 2720 MHz, memory 1124 MHz +04:54:52.790 RENDER : * TFlops 27.9, memory bandwidth (562.0 GB/s) +04:54:52.790 RENDER : AMD AGS correctly initialized +04:54:52.792 RENDER : GPU_ATI (0x1002) (AMD Radeon RX 6950 XT (RADV NAVI21)) with 1 GPU detected, VRAM 16128MB (fast 0MB), shared 64362MB, driver version 99.19.02-230831a-396538C-AMD-Software-Adrenalin-Edition +04:54:52.792 RENDER : Detected output devices: +04:54:52.792 RENDER : * 1 device/s connected to AMD Radeon RX 6950 XT (RADV NAVI21): +04:54:52.792 RENDER : Generic Non-PnP Monitor (\\.\DISPLAY1), 1280x720 (offset 0x0), 30Hz +04:54:52.792 RENDER : Concurrent frames limit 2 +04:54:52.867 RENDER : DX12 device successfully created by AMD AGS library +04:54:52.867 RENDER : * user markers not supported in this version AMD SW +04:54:52.867 RENDER : Graphics device features +04:54:52.867 RENDER : Needed: +04:54:52.867 RENDER : * Highest supported shader model: 6.8 (6.0 needed) +04:54:52.867 RENDER : Optional: +04:54:52.867 RENDER : * Allow tearing (VSYNC) : 1 +04:54:52.867 RENDER : * 16 bits : 1 +04:54:52.867 RENDER : * Resource heap tier : 3 +04:54:52.867 RENDER : * Persistent heaps (DRED) : 1 +04:54:52.867 RENDER : * DRED 1.2 is supported by compiler +04:54:52.889 RENDER : Main RT format setup. +04:54:52.889 RENDER : Main RT format for quality 0 : TEXFMT_R11G11B10_FLOAT (26) +04:54:52.889 RENDER : Main RT format for quality 1 : TEXFMT_R16G16B16A16_FLOAT (10) +04:54:52.892 ENGINE : Job system settings: coreCount=16, shortJobContextCount=16, shortJobThreadCount=15, longJobThreadCount=16 +04:54:52.920 PROFILING : Settings changed took: 0.019600 ms +04:54:53.407 AUDIO : Endpoint: Speakers (PulseAudio Output) +04:54:53.407 AUDIO : Format: Channels: 2, Sample rate: 48kHz, Avg. bytes: 384kB, Sample bits: 32, Block align: 8B +04:54:53.407 AUDIO : Audio client: +04:54:53.407 AUDIO : Format: Channels: 2, Sample rate: 48kHz, Buffer size: 1536B, Frame: 512 +04:54:53.410 RENDER : RENDER : Reload shaders +04:54:53.410 RENDER : Enfusion shader version 13 +04:54:53.410 INIT : INIT : ShaderListReload +04:54:53.410 PROFILING : ShaderListReload took: 0.000400 ms +04:54:53.551 AUDIO : Endpoint: Speakers (PulseAudio Output) +04:54:53.551 AUDIO : Format: Channels: 2, Sample rate: 48kHz, Avg. bytes: 384kB, Sample bits: 32, Block align: 8B +04:54:53.551 AUDIO : Audio client: +04:54:53.551 AUDIO : Format: Channels: 2, Sample rate: 48kHz, Buffer size: 1536B, Frame: 512 +04:54:53.658 RENDER : Loaded 3752 newer shader binaries +04:54:53.658 PROFILING : Reload shaders took: 248.552200 ms +04:54:53.658 ENGINE : Initializing inputs. +04:54:53.671 NETWORK : Initializing networking. +04:54:53.671 NETWORK : Using new GameRplScheduler. +04:54:53.672 SCRIPT : SCRIPT : Initializing scripts +04:54:53.672 SCRIPT : SCRIPT : ScriptProjectManager init +04:54:54.544 PROFILING : ScriptProjectManager init took: 872.491700 ms +04:54:54.579 PROFILING : Initializing scripts took: 906.927900 ms +04:54:54.596 ENGINE : Enfusion engine successfully created. +04:54:54.596 PROFILING : Workbench Init Engine took: 2692.950800 ms +04:54:54.596 INIT : INIT : Workbench Create Game +04:54:54.605 GUI : Using default language (en_us) +04:54:54.605 GUI : Loading 'en_us' localization file. +04:54:54.605 INIT : INIT : Loading StringTable +04:54:54.629 PROFILING : Loading StringTable took: 23.243300 ms +04:54:54.629 SCRIPT : SCRIPT : Compiling GameLib scripts +04:54:54.684 SCRIPT : Module: Workbench; loaded 18x files; 36x classes; used 125K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE"; CRC32: 90ce0460 +04:54:54.684 SCRIPT : Module: GameLib; loaded 465x files; 648x classes; used 828K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE"; CRC32: 4507af04 +04:54:54.685 PROFILING : Compiling GameLib scripts took: 56.028900 ms +04:54:54.685 SCRIPT : SCRIPT : Compiling Game scripts +04:54:55.768 INIT : Workbench Create Game +04:54:55.768 SCRIPT : Compiling Game scripts +04:54:55.768 SCRIPT (W): @"Scripts/Game/Editor/Components/EditableEntity/SCR_EditableEntityComponent.c,785": 'GetPlayerPlatformKind' is obsolete +04:54:55.768 SCRIPT (W): @"Scripts/Game/Editor/Components/EditableEntity/SCR_EditableEntityComponent.c,786": 'GetPlayerPlatformId' is obsolete +04:54:56.011 SCRIPT (W): @"Scripts/Game/ERR/ERR_SiteService.c,140": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +04:54:56.020 SCRIPT (W): @"Scripts/Game/Workshop/SCR_AddonManager.c,876": 'GetRefCount' is obsolete: Will be removed +04:54:56.048 SCRIPT (W): @"Scripts/Game/Campaign/SCR_PlayerProfileManagerComponent.c,142": 'PlayerData' is obsolete +04:54:56.143 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,159": 'GetDSSession' is obsolete +04:54:56.143 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,162": 'RoomID' is obsolete +04:54:56.143 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,197": 'GetDSSession' is obsolete +04:54:56.143 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,201": 'RoomID' is obsolete +04:54:56.231 SCRIPT (W): @"Scripts/Game/DataCollection/SCR_DataCollectorComponent.c,481": 'GetStorage' is obsolete +04:54:56.231 SCRIPT (W): @"Scripts/Game/DataCollection/SCR_DataCollectorComponent.c,483": 'GetOnlineWritePrivilege' is obsolete +04:54:56.232 SCRIPT (W): @"Scripts/Game/Utilities/SCR_PlayerIdentityUtils.c,20": 'GetPlayerIdentityId' is obsolete +04:54:56.271 SCRIPT (W): @"Scripts/Game/ERR/ERR_ExtractionService.c,45": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +04:54:56.271 SCRIPT (W): @"Scripts/Game/ERR/ERR_ExtractionService.c,56": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +04:54:56.273 SCRIPT (W): @"Scripts/Game/UI/Menu/MainMenuUI.c,643": 'GetNotifyCount' is obsolete: Will be substitued by Notification Api. +04:54:56.273 SCRIPT (W): @"Scripts/Game/UI/Menu/MainMenuUI.c,645": 'GetNotifyItem' is obsolete: Will be substitued by Notification Api. +04:54:56.298 SCRIPT (W): @"Scripts/Game/ERR/ERR_NativeTransportProbe.c,82": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +04:54:56.327 SCRIPT (W): @"Scripts/Game/DataCollection/PlayerData/SCR_PlayerData.c,210": 'PlayerData' is obsolete +04:54:56.585 SCRIPT : Module: WorkbenchGame; loaded 171x files; 616x classes; used 2478K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE"; CRC32: db6febb9 +04:54:56.592 SCRIPT : Module: Game; loaded 5701x files; 11171x classes; used 32486K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE,ENABLE_BASE_DESTRUCTION,BUDGET_OPTIMIZATION_CHECKS,SHOW_DISCLAIMER,DEBUG,RESPAWN_TIMER_COMPONENT_DEBUG,GAME_MODE_DEBUG,DEBUG_CONFIGURABLE_DIALOGS,DISABLE_WEAPON_SWITCHING,SCRIPTED_AIM_MODIFIER_DEBUG"; CRC32: 8d3117a1 +04:54:56.629 PROFILING : Compiling Game scripts took: 1944.554200 ms +04:54:56.637 INIT : Creating game instance(ArmaReforgerScripted), version 1.8.0.13 built 2026-08-21 14:30:18 UTC. +04:54:56.680 ENGINE : Game successfully created. +04:54:56.681 PROFILING : Workbench Create Game took: 2085.541500 ms +04:54:56.689 DEFAULT : Using thumbnail cache directory: C:/users/steamuser/AppData/Local/Temp/Arma Reforger Workbench/Projects/ERR_Core/thumbnails +04:54:57.491 INIT : INIT : Workbench Reload Game +04:54:57.493 ENGINE : Game destroyed. +04:54:57.498 GUI : Using default language (en_us) +04:54:57.498 GUI : Loading 'en_us' localization file. +04:54:57.499 INIT : INIT : Loading StringTable +04:54:57.508 PROFILING : Loading StringTable took: 9.201100 ms +04:54:57.508 INIT : Creating game instance(ArmaReforgerScripted), version 1.8.0.13 built 2026-08-21 14:30:18 UTC. +04:54:57.515 SCRIPT : Unable to register a script command due keyword duplicity: ban +04:54:57.515 SCRIPT : Unable to register a script command due keyword duplicity: kick +04:54:57.515 ENGINE : Game successfully created. +04:54:57.515 ENGINE : Game successfully initialized. +04:54:57.515 PROFILING : Workbench Reload Game took: 23.591100 ms +04:54:58.197 WORLD : WORLD : Entities load '$ERR_Core:Worlds/ERR_Everon.ent' +04:54:59.205 PROFILING : Entities load took: 1007.854300 ms +04:54:59.216 WORLD : WORLD : CreateEntities +04:54:59.221 WORLD : WORLD : NotifyBeforeEntitiesCreated +04:54:59.221 PROFILING : NotifyBeforeEntitiesCreated took: 0.003400 ms +04:54:59.221 WORLD : WORLD : Wait for preloading data +04:54:59.221 PROFILING : Wait for preloading data took: 0.003600 ms +04:54:59.333 ENTITY : Create entity @"ENTITY:2" ('Eden', GenericTerrainEntity) at <0.000000 0.000000 0.000000> @"{5AD924374E8C7AF6}Prefabs/World/Game/Eden/GenericTerrain_Eden.et" +04:54:59.333 PROFILING : PROFILING : Terrain load +04:55:00.970 PROFILING : Terrain load took: 1636.536700 ms +04:55:05.035 WORLD : CreateEntities +04:55:05.036 ENTITY : Create entity @"ENTITY:610406" ('StaticModelEntity','Assets/Structures/Infrastructure/Towers/TransmitterTower_01/TransmitterTower_01_small.xob') at <1931.796021 81.777000 5138.725098> @"{6A004A8F0571D456}Prefabs/Structures/Infrastructure/Towers/TransmitterTower_01/TransmitterTower_01_small.et" +04:55:05.036 ENTITY : CreateComponent 'ScriptedRadioComponent' +04:55:05.036 DEFAULT (W): World doesn't contain RadioManagerEntity to support any BaseRadioComponent. +04:55:14.515 WORLD : WORLD : NotifyBeforeEntitiesInitialized +04:55:14.515 PROFILING : NotifyBeforeEntitiesInitialized took: 0.004700 ms +04:55:14.974 WORLD : WORLD : NotifyEntitiesInitialized +04:55:14.975 TERRAIN : TERRAIN : Initializing road networks... +04:55:14.977 PROFILING : Initializing road networks... took: 2.228700 ms +04:55:14.977 PROFILING : NotifyEntitiesInitialized took: 2.711700 ms +04:55:14.977 PROFILING : CreateEntities took: 15760.728300 ms +04:55:15.161 PROFILING : * WorldEditor: LoadWorld: 16980.633400 ms +04:55:16.665 TERRAIN : Loading tile map config (worlds/Eden/Eden/tileMap.conf) +04:55:16.666 TERRAIN : Loading minimap config (worlds/Eden/Eden/miniMap.conf) +04:55:16.666 TERRAIN : The default minimap texture ('worlds/Eden/EdenRasterized.edds') not found. Trying 'worlds/Eden/Eden.edds'... +04:55:16.667 TERRAIN : The default minimap texture ('worlds/Eden/Eden.edds') not found. Skipping... +04:55:16.758 SCRIPT : ERR SITE SURVEY: supply=6150/7050 elevationRange=0.625 min=202.875 max=203.5 +04:55:16.780 BACKEND : Attempting online Game Config instead. +04:55:19.869 INIT : INIT : Workbench Reload Game +04:55:19.872 ENGINE : Game destroyed. +04:55:19.879 GUI : Using default language (en_us) +04:55:19.880 GUI : Loading 'en_us' localization file. +04:55:19.880 INIT : INIT : Loading StringTable +04:55:19.899 PROFILING : Loading StringTable took: 19.368200 ms +04:55:19.900 INIT : Creating game instance(ArmaReforgerScripted), version 1.8.0.13 built 2026-08-21 14:30:18 UTC. +04:55:19.907 SCRIPT : Unable to register a script command due keyword duplicity: ban +04:55:19.907 SCRIPT : Unable to register a script command due keyword duplicity: kick +04:55:19.907 ENGINE : Game successfully created. +04:55:19.907 ENGINE : Game successfully initialized. +04:55:19.908 PROFILING : Workbench Reload Game took: 38.239500 ms +04:55:19.910 DEFAULT (W): LogiLED: Cannot initialize! (service not running or no compatible device detected) +04:55:19.958 PLATFORM : Save data from container 'settings' have been loaded +04:55:20.048 PLATFORM : Save data from container 'sessions' have been loaded +04:55:20.049 PLATFORM : GameProject user settings load from profile @"ReforgerGameSettings.conf" +04:55:20.049 ENGINE : Game user settings config loaded +04:55:20.146 DEFAULT : [SaveGameManager] Starting new playthrough nr.0 '' for mission '{B6C516F86302C679}Worlds/ERR_Everon.ent'. +04:55:20.154 WORLD : WORLD : Game::LoadEntities +04:55:20.154 WORLD : WORLD : Initializing world systems @"{1C60D2EDA2B468B8}Configs/Systems/BaseGameModeSystems.conf" +04:55:20.156 NETWORK : Enabled lag compensation, 29 frames with 100 FPS and 280 ms rewind limits. +04:55:20.156 WORLD : WORLD : CreateEntities +04:55:20.156 WORLD : WORLD : CreateEntities +04:55:20.156 WORLD : WORLD : NotifyBeforeEntitiesCreated +04:55:20.161 RESOURCES : Loaded mission headers from 7 addon(s)! +04:55:20.161 PROFILING : NotifyBeforeEntitiesCreated took: 5.132200 ms +04:55:20.161 WORLD : WORLD : Wait for preloading data +04:55:20.161 PROFILING : Wait for preloading data took: 0.000500 ms +04:55:24.886 WORLD : Game::LoadEntities +04:55:24.886 WORLD : CreateEntities +04:55:24.886 WORLD : CreateEntities +04:55:24.886 ENTITY : Create entity @"ENTITY:610406" ('StaticModelEntity','Assets/Structures/Infrastructure/Towers/TransmitterTower_01/TransmitterTower_01_small.xob') at <1931.796021 81.777000 5138.725098> @"{6A004A8F0571D456}Prefabs/Structures/Infrastructure/Towers/TransmitterTower_01/TransmitterTower_01_small.et" +04:55:24.886 ENTITY : CreateComponent 'ScriptedRadioComponent' +04:55:24.886 DEFAULT (W): World doesn't contain RadioManagerEntity to support any BaseRadioComponent. +04:55:26.294 ENTITY : Create entity @"ENTITY:842066" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1080.213013 10.776751 6018.347168> +04:55:26.294 ENTITY : CreateComponent 'Hierarchy' +04:55:26.294 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842066" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1080.213013 10.776751 6018.347168>') +04:55:26.294 ENTITY : Create entity @"ENTITY:842068" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1082.185913 10.778749 6018.331055> +04:55:26.294 ENTITY : CreateComponent 'Hierarchy' +04:55:26.294 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842068" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1082.185913 10.778749 6018.331055>') +04:55:26.294 ENTITY : Create entity @"ENTITY:842070" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1084.190918 10.790751 6018.334961> +04:55:26.294 ENTITY : CreateComponent 'Hierarchy' +04:55:26.294 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842070" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1084.190918 10.790751 6018.334961>') +04:55:26.299 ENTITY : Create entity @"ENTITY:842333" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4425.594727 9.981750 11029.402344> +04:55:26.299 ENTITY : CreateComponent 'Hierarchy' +04:55:26.299 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842333" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4425.594727 9.981750 11029.402344>') +04:55:26.299 ENTITY : Create entity @"ENTITY:842335" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4426.584473 9.983749 11031.109375> +04:55:26.299 ENTITY : CreateComponent 'Hierarchy' +04:55:26.299 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842335" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4426.584473 9.983749 11031.109375>') +04:55:26.299 ENTITY : Create entity @"ENTITY:842337" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4427.572266 9.995750 11032.853516> +04:55:26.299 ENTITY : CreateComponent 'Hierarchy' +04:55:26.299 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842337" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4427.572266 9.995750 11032.853516>') +04:55:26.303 ENTITY : Create entity @"ENTITY:842591" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.946289 10.470250 1551.986084> +04:55:26.303 ENTITY : CreateComponent 'Hierarchy' +04:55:26.303 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842591" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.946289 10.470250 1551.986084>') +04:55:26.303 ENTITY : Create entity @"ENTITY:842593" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.430664 10.472250 1550.081421> +04:55:26.303 ENTITY : CreateComponent 'Hierarchy' +04:55:26.303 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842593" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.430664 10.472250 1550.081421>') +04:55:26.303 ENTITY : Create entity @"ENTITY:842595" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10008.926758 10.484250 1548.140869> +04:55:26.303 ENTITY : CreateComponent 'Hierarchy' +04:55:26.303 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842595" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10008.926758 10.484250 1548.140869>') +04:55:30.859 ENTITY : Create entity @"ENTITY:2305843009213693956" ('Factions', SCR_FactionManager) at <0.000000 0.000000 0.000000> @"{589540B35EBA8CDC}Prefabs/MP/Managers/Factions/FactionManager_USxUSSR.et" +04:55:30.859 RESOURCES : GetResourceObject @"{5168FEA3054D6D15}Prefabs/Vehicles/Wheeled/M151A2/M151A2_M2HB_MERDC.et" +04:55:30.859 WORLD : Entity prefab load @"{5168FEA3054D6D15}Prefabs/Vehicles/Wheeled/M151A2/M151A2_M2HB_MERDC.et" +04:55:30.859 RESOURCES : GetResourceObject @"{F6B23D17D5067C11}Prefabs/Vehicles/Wheeled/M151A2/M151A2_M2HB.et" +04:55:30.859 WORLD : Entity prefab load @"{F6B23D17D5067C11}Prefabs/Vehicles/Wheeled/M151A2/M151A2_M2HB.et" +04:55:30.859 RESOURCES : GetResourceObject @"{F649585ABB3706C4}Prefabs/Vehicles/Wheeled/M151A2/M151A2.et" +04:55:30.859 WORLD : Entity prefab load @"{F649585ABB3706C4}Prefabs/Vehicles/Wheeled/M151A2/M151A2.et" +04:55:30.859 WORLD (E): Unknown keyword/data 'SlidingTrackMaterial' at offset 19441(0x4bf1) +04:55:30.897 RESOURCES : GetResourceObject @"{F7B9B434FCFF00B3}Prefabs/Vehicles/Wheeled/Conflict_Variants/BRDM2_Conflict.et" +04:55:30.897 WORLD : Entity prefab load @"{F7B9B434FCFF00B3}Prefabs/Vehicles/Wheeled/Conflict_Variants/BRDM2_Conflict.et" +04:55:30.897 RESOURCES : GetResourceObject @"{254289B9C09904AB}Prefabs/Vehicles/Wheeled/BRDM2/BRDM2.et" +04:55:30.897 WORLD : Entity prefab load @"{254289B9C09904AB}Prefabs/Vehicles/Wheeled/BRDM2/BRDM2.et" +04:55:30.897 RESOURCES : GetResourceObject @"{532B5F3CF8496E59}Prefabs/Vehicles/Wheeled/BRDM2/BRDM2_base.et" +04:55:30.897 WORLD : Entity prefab load @"{532B5F3CF8496E59}Prefabs/Vehicles/Wheeled/BRDM2/BRDM2_base.et" +04:55:30.897 WORLD (E): Unknown keyword/data 'Parent' at offset 35955(0x8c73) +04:55:30.897 WORLD (E): Unknown keyword/data 'Parent' at offset 36915(0x9033) +04:55:30.897 RESOURCES : GetResourceObject @"{BD75A18920BD1278}Prefabs/Vehicles/Wheeled/Conflict_Variants/BTR70_Conflict.et" +04:55:30.897 WORLD : Entity prefab load @"{BD75A18920BD1278}Prefabs/Vehicles/Wheeled/Conflict_Variants/BTR70_Conflict.et" +04:55:30.897 RESOURCES : GetResourceObject @"{C012BB3488BEA0C2}Prefabs/Vehicles/Wheeled/BTR70/BTR70.et" +04:55:30.897 WORLD : Entity prefab load @"{C012BB3488BEA0C2}Prefabs/Vehicles/Wheeled/BTR70/BTR70.et" +04:55:30.897 RESOURCES : GetResourceObject @"{1C5FE7B7FF49BB8D}Prefabs/Vehicles/Wheeled/BTR70/BTR70_Base.et" +04:55:30.897 WORLD : Entity prefab load @"{1C5FE7B7FF49BB8D}Prefabs/Vehicles/Wheeled/BTR70/BTR70_Base.et" +04:55:30.897 WORLD (E): Unknown keyword/data 'Parent' at offset 42646(0xa696) +04:55:30.897 WORLD (E): Unknown keyword/data 'Parent' at offset 43645(0xaa7d) +04:55:30.897 WORLD (E): Unknown keyword/data 'Parent' at offset 44617(0xae49) +04:55:30.898 WORLD (E): Unknown keyword/data 'Parent' at offset 45590(0xb216) +04:55:31.206 WORLD : WORLD : NotifyBeforeEntitiesInitialized +04:55:31.206 PROFILING : NotifyBeforeEntitiesInitialized took: 0.079600 ms +04:55:33.157 WORLD : InitEntities 'world' +04:55:33.157 ENTITY : Init entity @"ENTITY:2305843009213693953" ('Rereintroduced', ERR_GameMode) at <1076.468018 51.000999 1325.246948> @"{978E045E53EF36C8}Prefabs/ERR/GameMode.et" +04:55:33.157 SCRIPT (W): SCR_PerceivedFactionManagerComponent trying to set fall back faction 'CIV' but this faction could not be found so it is null instead. +04:55:33.183 WORLD : InitEntities 'world' +04:55:33.183 ENTITY : Init entity @"ENTITY:2305843009213693953" ('Rereintroduced', ERR_GameMode) at <1076.468018 51.000999 1325.246948> @"{978E045E53EF36C8}Prefabs/ERR/GameMode.et" +04:55:33.183 SCRIPT : ERR BASE SMOKE: core-only scripted escape; not manual or multiplayer acceptance +04:55:33.184 WORLD : WORLD : NotifyEntitiesInitialized +04:55:33.184 TERRAIN : TERRAIN : Initializing road networks... +04:55:33.186 PROFILING : Initializing road networks... took: 2.624900 ms +04:55:33.186 DEFAULT : DEFAULT : WorldVolumesCollection +04:55:33.245 PROFILING : WorldVolumesCollection took: 58.966000 ms +04:55:33.245 INIT : INIT : SoundWorldInit +04:55:33.259 PROFILING : SoundWorldInit took: 13.715000 ms +04:55:33.259 PROFILING : NotifyEntitiesInitialized took: 75.557900 ms +04:55:33.259 PROFILING : CreateEntities took: 13103.090900 ms +04:55:33.259 PROFILING : CreateEntities took: 13103.264600 ms +04:55:33.260 WORLD : WORLD : Wait for preloading data around camera +04:55:33.260 PROFILING : Wait for preloading data around camera took: 0.001200 ms +04:55:33.260 WORLD : WORLD : EOnActivate +04:55:33.293 PROFILING : EOnActivate took: 33.247600 ms +04:55:33.293 PROFILING : Game::LoadEntities took: 13138.695100 ms +04:55:33.589 DEFAULT : Entered offline game state. +04:55:33.693 NETWORK : Player connected: connectionID=2147483646 +04:55:33.693 NETWORK : ### Connecting player: connectionID=2147483646, Name= +04:55:33.693 NETWORK : ### Creating player: PlayerId=1, Name=jakub +04:55:33.697 ENTITY : SpawnEntityPrefab @"{225E51284CC95CFA}Prefabs/Characters/Core/DefaultPlayerControllerMP.et" +04:55:33.698 ENTITY : Create entity @"ENTITY:4611686018427388381" ('SCR_PlayerController') at <0.000000 0.000000 0.000000> +04:55:33.698 ENTITY : EntityPrefabUse @"{225E51284CC95CFA}Prefabs/Characters/Core/DefaultPlayerControllerMP.et" +04:55:33.698 SCRIPT (W): Notification data in 'SCR_NotificationsLogDisplay' has duplicate notification info key: 'EDITOR_PERCEIVED_FACTION_PUNISHMENT_KILLING_SET'. There should only be one of each key! +04:55:33.698 SCRIPT (W): Notification data in 'SCR_NotificationsLogDisplay' has duplicate notification info key: 'EDITOR_PERCEIVED_FACTION_TYPE_DISABLED'. There should only be one of each key! +04:55:33.700 SCRIPT (W): Can't open config file "" +04:55:33.705 WORLD : InitEntities 'world' +04:55:33.706 ENTITY : Init entity @"ENTITY:4611686018427388381" ('SCR_PlayerController') at <0.000000 0.000000 0.000000> @"{225E51284CC95CFA}Prefabs/Characters/Core/DefaultPlayerControllerMP.et" +04:55:33.706 GUI : WidgetManager: CrateWidgets @"{3C9DCDD76AB83157}UI/layouts/HUD/HUDLayouts/HUDManager_Root.layout" +04:55:33.706 SCRIPT (W): Slot_WeaponInfo Has no Content! +04:55:33.706 SCRIPT (W): Slot_Chat Has no Content! +04:55:33.706 SCRIPT (W): Slot_VON Has no Content! +04:55:33.706 SCRIPT (W): Slot_AvailableActions Has no Content! +04:55:33.706 SCRIPT (W): Slot_Vehicle Has no Content! +04:55:33.706 SCRIPT (W): Slot_GameVersion Has no Content! +04:55:33.706 SCRIPT (W): Slot_Notifications Has no Content! +04:55:33.707 SCRIPT (W): Slot_Hints Has no Content! +04:55:33.719 NETWORK : ### Updating player: PlayerId=1, Name=jakub, rplIdentity=0xFFFFFFFE, IdentityId=00000000-0000-0000-0000-000000000000 +04:55:33.720 SCRIPT (W): Ban Settings could not be loaded from BE Storage: Relying on default config +04:55:33.720 NETWORK : Players connecting: 0 +04:55:33.720 NETWORK : Players connected: 1 / 1 +04:55:33.749 DEFAULT : Using autosave directory: C:/users/steamuser/AppData/Local/Temp/Arma Reforger Workbench/Projects/ERR_Core/autosaves +04:55:33.750 PROFILING : Workbench startup took: 42950.993100 ms +04:55:33.770 WORLD : Frame start +04:55:33.771 SCRIPT : ScenarioFramework: Available tasks are empty, no new tasks will be generated. +04:55:33.784 WORLD : UpdateEntities +04:55:33.784 WORLD : Frame +04:55:33.784 SCRIPT : SCR_BaseGameMode::OnGameStateChanged = GAME +04:55:33.955 WORLD : UpdateEntities +04:55:33.955 WORLD : PostFrame +04:55:33.955 GUI : WidgetManager: CrateWidgets @"{D89BBA18F99053D6}UI/layouts/HUD/Chat/ChatHud.layout" +04:55:33.955 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +04:55:33.996 RESOURCES : GetResourceObject @"{20A6917D2114E29A}UI/layouts/HUD/Hint/HintInfoDisplay.layout" +04:55:33.996 GUI : Layout load @"{20A6917D2114E29A}UI/layouts/HUD/Hint/HintInfoDisplay.layout" +04:55:33.996 GUI : Widget prefab @"{EA1CC57D868E94F9}UI/layouts/HUD/Hint/Hint.layout" +04:55:33.996 GUI (W): Overridden prefab member (GUID: '{661AB14E0F471C66}' type: ButtonWidgetClass) no longer exists in prefab +04:55:34.127 RENDER : RENDER : ObjectsHeightMap::Build +04:55:34.127 RENDER : RENDER : MeshOccupancyGridManager::GenerateAllForWorld +04:55:34.279 PROFILING : MeshOccupancyGridManager::GenerateAllForWorld took: 150.966700 ms +04:55:34.286 PROFILING : ObjectsHeightMap::Build took: 158.480400 ms +04:55:35.456 SCRIPT : Rereintroduced [sites]: cache clearance position=<6086,211.538,7160> clear=1 +04:55:35.476 SCRIPT : Rereintroduced [sites]: authored everon-prison-1 at <6090,211.444,7160> +04:55:35.477 SCRIPT : Rereintroduced [sites]: cache clearance position=<6150,203.288,7050> clear=1 +04:55:35.507 SCRIPT : Rereintroduced [sites]: authored everon-supply-1 at <6150,203.288,7050> +04:55:35.510 SCRIPT : Rereintroduced [sites]: authored everon-radio-1 at <6500,159.756,7200> +04:55:35.562 SCRIPT : Rereintroduced [sites]: authored everon-extraction-1 at <7000,65.2562,7500> +04:55:35.562 SCRIPT : Rereintroduced [sites]: cache clearance position=<5960,220.256,7220> clear=1 +04:55:35.567 SCRIPT : Rereintroduced [sites]: transport parking=<5960,220.256,7212> radius=4 terrainRange=0.8125 obstructed=0 clear=1 +04:55:35.626 SCRIPT : Rereintroduced [sites]: authored everon-supply-2 at <5960,220.256,7220> +04:55:35.626 SCRIPT : Rereintroduced [sites]: cache clearance position=<6340,175.788,7400> clear=1 +04:55:35.629 SCRIPT : Rereintroduced [sites]: authored everon-medical-1 at <6340,175.788,7400> +04:55:35.629 SCRIPT : Rereintroduced [sites]: cache clearance position=<6740,140.6,7300> clear=1 +04:55:35.633 SCRIPT : Rereintroduced [sites]: cache clearance position=<6740,140.913,7296> clear=1 +04:55:35.634 SCRIPT : Rereintroduced [sites]: cache clearance position=<6736,140.975,7300> clear=1 +04:55:35.634 SCRIPT : Rereintroduced [sites]: cache clearance position=<6744,140.288,7300> clear=1 +04:55:35.636 SCRIPT : Rereintroduced [sites]: authored everon-outpost-1 at <6740,140.6,7300> +04:55:35.713 SCRIPT : Rereintroduced [sites]: 7 sites and 117 physical stock items ready +04:55:35.714 SCRIPT : Rereintroduced [time]: started at 14:00 with 1x progression +04:55:35.714 SCRIPT : Rereintroduced [mission]: phase 0 -> 1 +04:55:35.960 SCRIPT : INFO: Faction: player jakub (playerID = 1 | UUID = 00000000-0000-0000-0000-000000000000) has joined faction #AR-Faction_US (US) +04:55:36.036 SCRIPT : Rereintroduced [spawn]: player 1 at <6090,211.444,7160> +04:55:36.168 SCRIPT : ERR SMOKE PASS: definition authored configuration resolves +04:55:36.169 SCRIPT : ERR SMOKE PASS: definition duplicate site identity rejected +04:55:36.169 SCRIPT : ERR SMOKE PASS: definition dangling document target rejected +04:55:36.169 SCRIPT : ERR SMOKE PASS: definition non-radio document target rejected +04:55:36.169 SCRIPT : ERR SMOKE PASS: definition insufficient guaranteed radio clues rejected +04:55:36.169 SCRIPT : ERR SMOKE PASS: definition unbounded stock rejected +04:55:36.169 SCRIPT : ERR SMOKE PASS: definition unguaranteed clue route rejected +04:55:36.169 SCRIPT : ERR SMOKE PASS: definition radio sources sharing one footprint rejected +04:55:36.169 SCRIPT : ERR SMOKE PASS: definition unnamed location rejected +04:55:36.170 SCRIPT : ERR SMOKE PASS: definition proximity discovery cannot reveal progression sites +04:55:36.170 SCRIPT : ERR SMOKE PASS: definition escape cannot reveal the radio directly +04:55:36.170 SCRIPT : ERR SMOKE PASS: definition unbounded scenery offset rejected +04:55:36.170 SCRIPT : ERR SMOKE PASS: definition valid configuration restored after isolated mutations +04:55:36.170 SCRIPT : ERR SMOKE PASS: base contracts catalog resolves hostile vanilla factions and successful preparation +04:55:36.170 SCRIPT : ERR SMOKE PASS: base contracts physical prisoner matches injected faction and resource +04:55:36.171 SCRIPT : ERR SMOKE PASS: base contracts physical guard squad comes from injected catalog +04:55:36.171 SCRIPT : ERR SMOKE PASS: base contracts same-side factions rejected +04:55:36.171 SCRIPT : ERR SMOKE PASS: base contracts unknown world faction rejected +04:55:36.171 SCRIPT : ERR SMOKE PASS: base contracts missing prisoner resource rejected +04:55:36.171 SCRIPT : ERR SMOKE PASS: base contracts isolated catalog restored without mutating live configuration +04:55:36.171 SCRIPT : ERR SMOKE PASS: base contracts unauthorized settings request rejected +04:55:36.171 SCRIPT : ERR SMOKE PASS: base contracts partially numeric input rejected without mutation +04:55:36.171 SCRIPT : ERR SMOKE PASS: base contracts out-of-range duration rejected without mutation +04:55:36.176 SCRIPT : ERR SMOKE PASS: base contracts normalized base command saves validated duration +04:55:36.176 SCRIPT : ERR SMOKE PASS: base contracts base command reads saved duration +04:55:36.176 SCRIPT : ERR SMOKE PASS: base contracts base settings listing available +04:55:36.176 SCRIPT : ERR SMOKE PASS: base contracts base mission status available before companions +04:55:36.179 SCRIPT : ERR SMOKE PASS: base contracts test setting restored +04:55:36.180 SCRIPT : ERR SMOKE PASS: base outpost barrier is upright +04:55:36.180 SCRIPT : ERR COVER GEOMETRY: low=<6738.99,140.839,7295.42> high=<6740.98,141.655,7296.62> trace=0.377114 +04:55:36.180 SCRIPT : ERR SMOKE PASS: base outpost barrier has physical collision +04:55:36.180 SCRIPT : ERR SMOKE PASS: base outpost barrier is upright +04:55:36.180 SCRIPT : ERR COVER GEOMETRY: low=<6735.42,140.901,7299.02> high=<6736.62,141.718,7301.01> trace=0.377114 +04:55:36.180 SCRIPT : ERR SMOKE PASS: base outpost barrier has physical collision +04:55:36.180 SCRIPT : ERR SMOKE PASS: base outpost barrier is upright +04:55:36.181 SCRIPT : ERR COVER GEOMETRY: low=<6743.42,140.214,7299.02> high=<6744.62,141.03,7301.01> trace=0.377114 +04:55:36.181 SCRIPT : ERR SMOKE PASS: base outpost barrier has physical collision +04:55:36.181 SCRIPT : ERR SMOKE PASS: base exactly three authored outpost barriers exist +04:55:36.181 SCRIPT : ERR SMOKE PASS: mission time clock parsing includes midnight and final minute +04:55:36.181 SCRIPT : ERR SMOKE PASS: mission time malformed clock commands rejected +04:55:36.181 SCRIPT : ERR SMOKE PASS: mission time isolated fixture paths unused +04:55:36.182 SCRIPT : ERR SMOKE PASS: mission time legacy fixture created +04:55:36.182 SCRIPT : ERR SMOKE PASS: mission time existing six-key settings preserved +04:55:36.183 SCRIPT : ERR SMOKE PASS: mission time only absent time settings receive defaults +04:55:36.183 SCRIPT : ERR SMOKE PASS: mission time loading does not rewrite legacy file +04:55:36.189 SCRIPT : ERR SMOKE PASS: mission time explicit save upgrades valid legacy settings +04:55:36.189 SCRIPT : ERR SMOKE PASS: mission time new keys and old values survive reload +04:55:36.190 SCRIPT : ERR SMOKE PASS: mission time present out-of-range time cannot silently default +04:55:36.191 SCRIPT : ERR SMOKE PASS: mission time fractional clock setting rejected +04:55:36.192 SCRIPT : ERR SMOKE PASS: mission time zero multiplier rejected +04:55:36.193 SCRIPT : ERR SMOKE PASS: mission time missing legacy setting remains invalid +04:55:36.194 SCRIPT : ERR SMOKE PASS: mission time partially upgraded file defaults only missing new field +04:55:36.195 SCRIPT : ERR SMOKE PASS: mission time valid saved backup recovers invalid primary +04:55:36.195 SCRIPT : ERR SMOKE PASS: mission time server starts world clock before prison phase +04:55:36.195 SCRIPT : ERR SMOKE PASS: mission time engine progression matches applied multiplier +04:55:36.195 SCRIPT : ERR SMOKE PASS: mission time unauthorized clock mutation rejected +04:55:36.195 SCRIPT : ERR SMOKE PASS: mission time invalid clock command preserves setting +04:55:36.205 SCRIPT : ERR SMOKE PASS: mission time authorized settings persist and test restores originals +04:55:36.205 SCRIPT : ERR SMOKE PASS: mission time saved changes and repeated start leave current clock and speed intact +04:55:36.205 SCRIPT : ERR SMOKE PASS: mission time admin sees current clock separately from next round settings +04:55:36.205 SCRIPT : ERR SMOKE PASS: base native prison objective exists +04:55:36.205 SCRIPT : ERR SMOKE PASS: objective UI current native task exists +04:55:36.208 SCRIPT : ERR SMOKE PASS: objective UI native list and detail layouts created +04:55:36.208 SCRIPT : ERR SMOKE PASS: objective UI native handlers attached +04:55:36.209 SCRIPT : ERR SMOKE PASS: objective UI open list and details contain current title and instructions +04:55:36.209 SCRIPT : ERR SMOKE PASS: objective UI list-only task cannot expose an undiscovered map position +04:55:36.209 SCRIPT : ERR SMOKE PASS: objective UI actual local player receives the active objective +04:55:36.209 SCRIPT : ERR SMOKE PASS: objective UI extraction instructions follow a nondefault boundary +04:55:36.209 SCRIPT : ERR SMOKE PASS: base authored supply cache is a separate scavenging location +04:55:36.210 SCRIPT : ERR BASE STOCK: cache items=54 +04:55:36.210 SCRIPT : ERR SMOKE PASS: base cache holds finite physical equipment and objective documents +04:55:36.210 SCRIPT : ERR SMOKE PASS: base no companion HQ or support controller loaded +04:55:36.210 SCRIPT : ERR SMOKE PASS: base prisoner spawned in authored prison +04:55:36.210 SCRIPT : ERR SMOKE PASS: base gate, clues, radio and helicopter created by core +04:55:36.210 SCRIPT : Rereintroduced [mission]: phase 1 -> 2 +04:55:36.211 SCRIPT : ERR SMOKE PASS: base gate action begins escape +04:55:36.213 SCRIPT : ERR SMOKE PASS: base test defence duration accepted +04:55:36.214 SCRIPT : ERR SMOKE PASS: base previous native objective completes on phase change +04:55:36.214 SCRIPT : ERR SMOKE PASS: base search objective does not expose a hidden site +04:55:36.214 SCRIPT : ERR SMOKE PASS: objective UI current native task exists +04:55:36.216 SCRIPT : ERR SMOKE PASS: objective UI native list and detail layouts created +04:55:36.216 SCRIPT : ERR SMOKE PASS: objective UI native handlers attached +04:55:36.217 SCRIPT : ERR SMOKE PASS: objective UI open list and details contain current title and instructions +04:55:36.217 SCRIPT : ERR SMOKE PASS: objective UI list-only task cannot expose an undiscovered map position +04:55:36.217 SCRIPT : ERR SMOKE PASS: objective UI actual local player receives the active objective +04:55:36.217 SCRIPT : ERR SMOKE PASS: objective UI extraction instructions follow a nondefault boundary +04:55:36.217 SCRIPT : ERR SMOKE PASS: base both named supply routes revealed after escape +04:55:36.217 SCRIPT : ERR SMOKE PASS: base optional sites remain hidden until approached +04:55:42.235 SCRIPT : ERR SMOKE PASS: base unconscious player cannot discover optional sites +04:55:48.270 SCRIPT : ERR SMOKE PASS: base distant player cannot discover optional sites +04:55:48.270 SCRIPT : ERR SMOKE PASS: base isolated visibility obstacle created +04:55:48.271 SCRIPT : ERR VISIBILITY OBSTACLE: low=<6338.5,174.97,7403.87> high=<6341.5,178.737,7404.13> observer=<6340.66,174.711,7466.83> target=<6340,175.788,7400> +04:55:54.328 SCRIPT : ERR SMOKE PASS: base physical wall prevents nearby site discovery +04:56:00.373 SCRIPT : ERR SMOKE PASS: base conscious nearby player visually discovers named medical stash once +04:56:00.373 SCRIPT : ERR SMOKE PASS: base proximity cannot bypass radio documents +04:56:00.879 SCRIPT : ERR SMOKE PASS: base physical clue recovered +04:56:01.097 SCRIPT : Rereintroduced [intel]: player 1 recovered folder; location=everon-radio-1 knowledge=1 +04:56:03.398 SCRIPT : ERR SMOKE PASS: base physical clue recovered +04:56:04.117 SCRIPT : Rereintroduced [intel]: player 1 recovered folder; location=everon-radio-1 knowledge=2 +04:56:05.944 SCRIPT : ERR SMOKE PASS: base objective guidance reacts to discovered radio +04:56:05.944 SCRIPT : ERR SMOKE PASS: objective UI current native task exists +04:56:05.944 SCRIPT : ERR SMOKE PASS: objective UI open list and details contain current title and instructions +04:56:05.945 SCRIPT : ERR SMOKE PASS: objective UI list-only task cannot expose an undiscovered map position +04:56:05.945 SCRIPT : ERR SMOKE PASS: objective UI actual local player receives the active objective +04:56:05.945 SCRIPT : ERR SMOKE PASS: objective UI extraction instructions follow a nondefault boundary +04:56:05.947 SCRIPT : ERR SMOKE PASS: base discovery ticks do not repeat the location event +04:56:05.948 SCRIPT : ERR SMOKE PASS: base documents identify radio without Intel addon +04:56:07.459 SCRIPT : ERR SMOKE PASS: radio service identified radio and real controlled prisoner available +04:56:07.459 SCRIPT : ERR SMOKE PASS: radio service controlled prisoner supports native state restoration +04:56:07.462 SCRIPT : ERR SMOKE PASS: radio service isolated thirty-second duration saved +04:56:07.472 SCRIPT : ERR SMOKE PASS: radio service second physical defender spawned +04:56:08.472 SCRIPT : ERR SMOKE PASS: radio service second physical defender settles with simulated connection membership +04:56:08.473 SCRIPT : ERR SMOKE PASS: radio service ordinary AI cannot tune even while alive and nearby +04:56:08.473 SCRIPT : ERR SMOKE PASS: radio service missing radio rejected +04:56:09.488 SCRIPT : ERR RADIO POSITION: outside tuning range after deferred teleport actor=<6506.01,159.313,7200.01> radio=<6500,159.756,7200> distanceXZ=6.00537 +04:56:09.488 SCRIPT : ERR SMOKE PASS: radio service tuning outside five metres rejected +04:56:10.499 SCRIPT : ERR RADIO POSITION: unconscious tuning range after deferred teleport actor=<6502.01,159.672,7200.05> radio=<6500,159.756,7200> distanceXZ=2.00952 +04:56:10.499 SCRIPT : ERR SMOKE PASS: radio service unconscious prisoner cannot tune +04:56:11.510 SCRIPT (E): ERR SMOKE FAIL: radio service registered friendly conscious prisoner remains authorized +04:56:11.515 WORLD : UpdateEntities +04:56:11.515 WORLD : Frame +04:56:11.515 SCRIPT (W): GetAimCompensation: provided null entity +04:56:11.559 WORLD : UpdateEntities +04:56:11.559 WORLD : Frame +04:56:11.559 SCRIPT (W): GetAimCompensation: provided null entity +04:56:11.610 WORLD : UpdateEntities +04:56:11.610 WORLD : Frame +04:56:11.610 SCRIPT (W): GetAimCompensation: provided null entity +04:56:11.659 WORLD : UpdateEntities +04:56:11.660 WORLD : Frame +04:56:11.660 SCRIPT (W): GetAimCompensation: provided null entity diff --git a/docs/evidence/native-2026-09-19-045450-radio-recovery-fixture-failure/error.log.txt b/docs/evidence/native-2026-09-19-045450-radio-recovery-fixture-failure/error.log.txt new file mode 100644 index 0000000..41d0577 --- /dev/null +++ b/docs/evidence/native-2026-09-19-045450-radio-recovery-fixture-failure/error.log.txt @@ -0,0 +1,134 @@ +--------------------------------------------- +Log Z:\tmp\erri-workbench-profile\logs\logs_2026-09-19_04-54-50\error.log started at 2026-09-19 04:54:52 (2026-09-19 02:54:52 UTC) + +04:54:52.579 INIT : Workbench startup +04:54:52.579 INIT : Workbench Init Engine +04:54:52.579 RESOURCES : ResourceDB: full scan +04:54:52.579 RESOURCES : processing files... +04:54:52.579 RESOURCES (W): resource not registered: @"$profile:rereintroduced.json". Setting null GUID +04:54:55.768 INIT : Workbench Create Game +04:54:55.768 SCRIPT : Compiling Game scripts +04:54:55.768 SCRIPT (W): @"Scripts/Game/Editor/Components/EditableEntity/SCR_EditableEntityComponent.c,785": 'GetPlayerPlatformKind' is obsolete +04:54:55.768 SCRIPT (W): @"Scripts/Game/Editor/Components/EditableEntity/SCR_EditableEntityComponent.c,786": 'GetPlayerPlatformId' is obsolete +04:54:56.011 SCRIPT (W): @"Scripts/Game/ERR/ERR_SiteService.c,140": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +04:54:56.020 SCRIPT (W): @"Scripts/Game/Workshop/SCR_AddonManager.c,876": 'GetRefCount' is obsolete: Will be removed +04:54:56.048 SCRIPT (W): @"Scripts/Game/Campaign/SCR_PlayerProfileManagerComponent.c,142": 'PlayerData' is obsolete +04:54:56.143 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,159": 'GetDSSession' is obsolete +04:54:56.143 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,162": 'RoomID' is obsolete +04:54:56.143 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,197": 'GetDSSession' is obsolete +04:54:56.143 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,201": 'RoomID' is obsolete +04:54:56.231 SCRIPT (W): @"Scripts/Game/DataCollection/SCR_DataCollectorComponent.c,481": 'GetStorage' is obsolete +04:54:56.231 SCRIPT (W): @"Scripts/Game/DataCollection/SCR_DataCollectorComponent.c,483": 'GetOnlineWritePrivilege' is obsolete +04:54:56.232 SCRIPT (W): @"Scripts/Game/Utilities/SCR_PlayerIdentityUtils.c,20": 'GetPlayerIdentityId' is obsolete +04:54:56.271 SCRIPT (W): @"Scripts/Game/ERR/ERR_ExtractionService.c,45": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +04:54:56.271 SCRIPT (W): @"Scripts/Game/ERR/ERR_ExtractionService.c,56": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +04:54:56.273 SCRIPT (W): @"Scripts/Game/UI/Menu/MainMenuUI.c,643": 'GetNotifyCount' is obsolete: Will be substitued by Notification Api. +04:54:56.273 SCRIPT (W): @"Scripts/Game/UI/Menu/MainMenuUI.c,645": 'GetNotifyItem' is obsolete: Will be substitued by Notification Api. +04:54:56.298 SCRIPT (W): @"Scripts/Game/ERR/ERR_NativeTransportProbe.c,82": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +04:54:56.327 SCRIPT (W): @"Scripts/Game/DataCollection/PlayerData/SCR_PlayerData.c,210": 'PlayerData' is obsolete +04:55:05.035 WORLD : CreateEntities +04:55:05.036 ENTITY : Create entity @"ENTITY:610406" ('StaticModelEntity','Assets/Structures/Infrastructure/Towers/TransmitterTower_01/TransmitterTower_01_small.xob') at <1931.796021 81.777000 5138.725098> @"{6A004A8F0571D456}Prefabs/Structures/Infrastructure/Towers/TransmitterTower_01/TransmitterTower_01_small.et" +04:55:05.036 ENTITY : CreateComponent 'ScriptedRadioComponent' +04:55:05.036 DEFAULT (W): World doesn't contain RadioManagerEntity to support any BaseRadioComponent. +04:55:19.910 DEFAULT (W): LogiLED: Cannot initialize! (service not running or no compatible device detected) +04:55:24.886 WORLD : Game::LoadEntities +04:55:24.886 WORLD : CreateEntities +04:55:24.886 WORLD : CreateEntities +04:55:24.886 ENTITY : Create entity @"ENTITY:610406" ('StaticModelEntity','Assets/Structures/Infrastructure/Towers/TransmitterTower_01/TransmitterTower_01_small.xob') at <1931.796021 81.777000 5138.725098> @"{6A004A8F0571D456}Prefabs/Structures/Infrastructure/Towers/TransmitterTower_01/TransmitterTower_01_small.et" +04:55:24.886 ENTITY : CreateComponent 'ScriptedRadioComponent' +04:55:24.886 DEFAULT (W): World doesn't contain RadioManagerEntity to support any BaseRadioComponent. +04:55:26.294 ENTITY : Create entity @"ENTITY:842066" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1080.213013 10.776751 6018.347168> +04:55:26.294 ENTITY : CreateComponent 'Hierarchy' +04:55:26.294 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842066" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1080.213013 10.776751 6018.347168>') +04:55:26.294 ENTITY : Create entity @"ENTITY:842068" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1082.185913 10.778749 6018.331055> +04:55:26.294 ENTITY : CreateComponent 'Hierarchy' +04:55:26.294 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842068" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1082.185913 10.778749 6018.331055>') +04:55:26.294 ENTITY : Create entity @"ENTITY:842070" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1084.190918 10.790751 6018.334961> +04:55:26.294 ENTITY : CreateComponent 'Hierarchy' +04:55:26.294 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842070" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1084.190918 10.790751 6018.334961>') +04:55:26.299 ENTITY : Create entity @"ENTITY:842333" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4425.594727 9.981750 11029.402344> +04:55:26.299 ENTITY : CreateComponent 'Hierarchy' +04:55:26.299 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842333" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4425.594727 9.981750 11029.402344>') +04:55:26.299 ENTITY : Create entity @"ENTITY:842335" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4426.584473 9.983749 11031.109375> +04:55:26.299 ENTITY : CreateComponent 'Hierarchy' +04:55:26.299 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842335" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4426.584473 9.983749 11031.109375>') +04:55:26.299 ENTITY : Create entity @"ENTITY:842337" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4427.572266 9.995750 11032.853516> +04:55:26.299 ENTITY : CreateComponent 'Hierarchy' +04:55:26.299 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842337" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4427.572266 9.995750 11032.853516>') +04:55:26.303 ENTITY : Create entity @"ENTITY:842591" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.946289 10.470250 1551.986084> +04:55:26.303 ENTITY : CreateComponent 'Hierarchy' +04:55:26.303 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842591" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.946289 10.470250 1551.986084>') +04:55:26.303 ENTITY : Create entity @"ENTITY:842593" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.430664 10.472250 1550.081421> +04:55:26.303 ENTITY : CreateComponent 'Hierarchy' +04:55:26.303 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842593" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.430664 10.472250 1550.081421>') +04:55:26.303 ENTITY : Create entity @"ENTITY:842595" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10008.926758 10.484250 1548.140869> +04:55:26.303 ENTITY : CreateComponent 'Hierarchy' +04:55:26.303 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842595" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10008.926758 10.484250 1548.140869>') +04:55:30.859 ENTITY : Create entity @"ENTITY:2305843009213693956" ('Factions', SCR_FactionManager) at <0.000000 0.000000 0.000000> @"{589540B35EBA8CDC}Prefabs/MP/Managers/Factions/FactionManager_USxUSSR.et" +04:55:30.859 RESOURCES : GetResourceObject @"{5168FEA3054D6D15}Prefabs/Vehicles/Wheeled/M151A2/M151A2_M2HB_MERDC.et" +04:55:30.859 WORLD : Entity prefab load @"{5168FEA3054D6D15}Prefabs/Vehicles/Wheeled/M151A2/M151A2_M2HB_MERDC.et" +04:55:30.859 RESOURCES : GetResourceObject @"{F6B23D17D5067C11}Prefabs/Vehicles/Wheeled/M151A2/M151A2_M2HB.et" +04:55:30.859 WORLD : Entity prefab load @"{F6B23D17D5067C11}Prefabs/Vehicles/Wheeled/M151A2/M151A2_M2HB.et" +04:55:30.859 RESOURCES : GetResourceObject @"{F649585ABB3706C4}Prefabs/Vehicles/Wheeled/M151A2/M151A2.et" +04:55:30.859 WORLD : Entity prefab load @"{F649585ABB3706C4}Prefabs/Vehicles/Wheeled/M151A2/M151A2.et" +04:55:30.859 WORLD (E): Unknown keyword/data 'SlidingTrackMaterial' at offset 19441(0x4bf1) +04:55:30.897 RESOURCES : GetResourceObject @"{F7B9B434FCFF00B3}Prefabs/Vehicles/Wheeled/Conflict_Variants/BRDM2_Conflict.et" +04:55:30.897 WORLD : Entity prefab load @"{F7B9B434FCFF00B3}Prefabs/Vehicles/Wheeled/Conflict_Variants/BRDM2_Conflict.et" +04:55:30.897 RESOURCES : GetResourceObject @"{254289B9C09904AB}Prefabs/Vehicles/Wheeled/BRDM2/BRDM2.et" +04:55:30.897 WORLD : Entity prefab load @"{254289B9C09904AB}Prefabs/Vehicles/Wheeled/BRDM2/BRDM2.et" +04:55:30.897 RESOURCES : GetResourceObject @"{532B5F3CF8496E59}Prefabs/Vehicles/Wheeled/BRDM2/BRDM2_base.et" +04:55:30.897 WORLD : Entity prefab load @"{532B5F3CF8496E59}Prefabs/Vehicles/Wheeled/BRDM2/BRDM2_base.et" +04:55:30.897 WORLD (E): Unknown keyword/data 'Parent' at offset 35955(0x8c73) +04:55:30.897 WORLD (E): Unknown keyword/data 'Parent' at offset 36915(0x9033) +04:55:30.897 RESOURCES : GetResourceObject @"{BD75A18920BD1278}Prefabs/Vehicles/Wheeled/Conflict_Variants/BTR70_Conflict.et" +04:55:30.897 WORLD : Entity prefab load @"{BD75A18920BD1278}Prefabs/Vehicles/Wheeled/Conflict_Variants/BTR70_Conflict.et" +04:55:30.897 RESOURCES : GetResourceObject @"{C012BB3488BEA0C2}Prefabs/Vehicles/Wheeled/BTR70/BTR70.et" +04:55:30.897 WORLD : Entity prefab load @"{C012BB3488BEA0C2}Prefabs/Vehicles/Wheeled/BTR70/BTR70.et" +04:55:30.897 RESOURCES : GetResourceObject @"{1C5FE7B7FF49BB8D}Prefabs/Vehicles/Wheeled/BTR70/BTR70_Base.et" +04:55:30.897 WORLD : Entity prefab load @"{1C5FE7B7FF49BB8D}Prefabs/Vehicles/Wheeled/BTR70/BTR70_Base.et" +04:55:30.897 WORLD (E): Unknown keyword/data 'Parent' at offset 42646(0xa696) +04:55:30.897 WORLD (E): Unknown keyword/data 'Parent' at offset 43645(0xaa7d) +04:55:30.897 WORLD (E): Unknown keyword/data 'Parent' at offset 44617(0xae49) +04:55:30.898 WORLD (E): Unknown keyword/data 'Parent' at offset 45590(0xb216) +04:55:33.157 WORLD : InitEntities 'world' +04:55:33.157 ENTITY : Init entity @"ENTITY:2305843009213693953" ('Rereintroduced', ERR_GameMode) at <1076.468018 51.000999 1325.246948> @"{978E045E53EF36C8}Prefabs/ERR/GameMode.et" +04:55:33.157 SCRIPT (W): SCR_PerceivedFactionManagerComponent trying to set fall back faction 'CIV' but this faction could not be found so it is null instead. +04:55:33.697 ENTITY : SpawnEntityPrefab @"{225E51284CC95CFA}Prefabs/Characters/Core/DefaultPlayerControllerMP.et" +04:55:33.698 ENTITY : Create entity @"ENTITY:4611686018427388381" ('SCR_PlayerController') at <0.000000 0.000000 0.000000> +04:55:33.698 ENTITY : EntityPrefabUse @"{225E51284CC95CFA}Prefabs/Characters/Core/DefaultPlayerControllerMP.et" +04:55:33.698 SCRIPT (W): Notification data in 'SCR_NotificationsLogDisplay' has duplicate notification info key: 'EDITOR_PERCEIVED_FACTION_PUNISHMENT_KILLING_SET'. There should only be one of each key! +04:55:33.698 SCRIPT (W): Notification data in 'SCR_NotificationsLogDisplay' has duplicate notification info key: 'EDITOR_PERCEIVED_FACTION_TYPE_DISABLED'. There should only be one of each key! +04:55:33.700 SCRIPT (W): Can't open config file "" +04:55:33.705 WORLD : InitEntities 'world' +04:55:33.706 ENTITY : Init entity @"ENTITY:4611686018427388381" ('SCR_PlayerController') at <0.000000 0.000000 0.000000> @"{225E51284CC95CFA}Prefabs/Characters/Core/DefaultPlayerControllerMP.et" +04:55:33.706 GUI : WidgetManager: CrateWidgets @"{3C9DCDD76AB83157}UI/layouts/HUD/HUDLayouts/HUDManager_Root.layout" +04:55:33.706 SCRIPT (W): Slot_WeaponInfo Has no Content! +04:55:33.706 SCRIPT (W): Slot_Chat Has no Content! +04:55:33.706 SCRIPT (W): Slot_VON Has no Content! +04:55:33.706 SCRIPT (W): Slot_AvailableActions Has no Content! +04:55:33.706 SCRIPT (W): Slot_Vehicle Has no Content! +04:55:33.706 SCRIPT (W): Slot_GameVersion Has no Content! +04:55:33.706 SCRIPT (W): Slot_Notifications Has no Content! +04:55:33.707 SCRIPT (W): Slot_Hints Has no Content! +04:55:33.720 SCRIPT (W): Ban Settings could not be loaded from BE Storage: Relying on default config +04:55:33.955 WORLD : UpdateEntities +04:55:33.955 WORLD : PostFrame +04:55:33.955 GUI : WidgetManager: CrateWidgets @"{D89BBA18F99053D6}UI/layouts/HUD/Chat/ChatHud.layout" +04:55:33.955 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +04:55:33.996 RESOURCES : GetResourceObject @"{20A6917D2114E29A}UI/layouts/HUD/Hint/HintInfoDisplay.layout" +04:55:33.996 GUI : Layout load @"{20A6917D2114E29A}UI/layouts/HUD/Hint/HintInfoDisplay.layout" +04:55:33.996 GUI : Widget prefab @"{EA1CC57D868E94F9}UI/layouts/HUD/Hint/Hint.layout" +04:55:33.996 GUI (W): Overridden prefab member (GUID: '{661AB14E0F471C66}' type: ButtonWidgetClass) no longer exists in prefab +04:56:11.510 SCRIPT (E): ERR SMOKE FAIL: radio service registered friendly conscious prisoner remains authorized +04:56:11.515 WORLD : UpdateEntities +04:56:11.515 WORLD : Frame +04:56:11.515 SCRIPT (W): GetAimCompensation: provided null entity +04:56:11.559 WORLD : UpdateEntities +04:56:11.559 WORLD : Frame +04:56:11.559 SCRIPT (W): GetAimCompensation: provided null entity +04:56:11.610 WORLD : UpdateEntities +04:56:11.610 WORLD : Frame +04:56:11.610 SCRIPT (W): GetAimCompensation: provided null entity +04:56:11.659 WORLD : UpdateEntities +04:56:11.660 WORLD : Frame +04:56:11.660 SCRIPT (W): GetAimCompensation: provided null entity diff --git a/docs/evidence/native-2026-09-19-045450-radio-recovery-fixture-failure/headless-launch.log.txt b/docs/evidence/native-2026-09-19-045450-radio-recovery-fixture-failure/headless-launch.log.txt new file mode 100644 index 0000000..7c9097a --- /dev/null +++ b/docs/evidence/native-2026-09-19-045450-radio-recovery-fixture-failure/headless-launch.log.txt @@ -0,0 +1,150 @@ +[gamescope] [Info] console: gamescope version 3.16.28 (gcc 16.2.1) +No CAP_SYS_NICE, falling back to regular-priority compute and threads. +Performance will be affected. +[gamescope] [Info] scriptmgr: Loading scripts from: '/usr/share/gamescope/scripts' +[gamescope] [Info] scriptmgr: Loading scripts from: '/usr/share/gamescope/scripts/00-gamescope' +[gamescope] [Info] scriptmgr: Loading scripts from: '/usr/share/gamescope/scripts/00-gamescope/common' +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/common/inspect.lua' (id: 0) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/common/modegen.lua' (id: 1) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/common/util.lua' (id: 2) +[gamescope] [Info] scriptmgr: Loading scripts from: '/usr/share/gamescope/scripts/00-gamescope/displays' +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/asus.rogally.lcd.lua' (id: 3) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/deckhd.steamdeck.deckhd-lcd.lua' (id: 4) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/gpd.win4.lcd.lua' (id: 5) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/lenovo.legiongo.lcd.lua' (id: 6) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/lenovo.legiongos.lcd.lua' (id: 7) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/onexplayer.f1.oled.lua' (id: 8) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/valve.steamdeck.lcd.lua' (id: 9) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/valve.steamdeck.oled.lua' (id: 10) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/zotac.zone.oled.lua' (id: 11) +[gamescope] [Info] scriptmgr: Loading scripts from: '/etc/gamescope/scripts' +[gamescope] [Warn] scriptmgr: Directory '/etc/gamescope/scripts' does not exist +[gamescope] [Info] scriptmgr: Loading scripts from: '/home/jakub/.config/gamescope/scripts' +[gamescope] [Warn] scriptmgr: Directory '/home/jakub/.config/gamescope/scripts' does not exist +[gamescope] [Info] vulkan: selecting physical device 'AMD Radeon RX 6950 XT (RADV NAVI21)': queue family 1 (general queue family 0) +[gamescope] [Info] vulkan: physical device supports DRM format modifiers +[gamescope] [Info] wlserver: [backend/headless/backend.c:60] Creating headless backend +[gamescope] [Info] vulkan: supported DRM formats for sampling usage: +[gamescope] [Info] vulkan: AR24 (0x34325241) +[gamescope] [Info] vulkan: XR24 (0x34325258) +[gamescope] [Info] vulkan: AB24 (0x34324241) +[gamescope] [Info] vulkan: XB24 (0x34324258) +[gamescope] [Info] vulkan: RG16 (0x36314752) +[gamescope] [Info] vulkan: NV12 (0x3231564E) +[gamescope] [Info] vulkan: AB4H (0x48344241) +[gamescope] [Info] vulkan: XB4H (0x48344258) +[gamescope] [Info] vulkan: AB48 (0x38344241) +[gamescope] [Info] vulkan: XB48 (0x38344258) +[gamescope] [Info] vulkan: AB30 (0x30334241) +[gamescope] [Info] vulkan: XB30 (0x30334258) +[gamescope] [Info] vulkan: AR30 (0x30335241) +[gamescope] [Info] vulkan: XR30 (0x30335258) +[gamescope] [Info] wlserver: Using explicit sync when available +[gamescope] [Info] wlserver: Running compositor on wayland display 'gamescope-0' +[gamescope] [Info] wlserver: [backend/headless/backend.c:17] Starting headless backend +[gamescope] [Info] wlserver: Successfully initialized libei for input emulation! +[gamescope] [Error] wlserver: [xwayland/sockets.c:47] Failed to bind socket @/tmp/.X11-unix/X0: Address already in use +[gamescope] [Info] wlserver: [xwayland/server.c:108] Starting Xwayland on :2 +The XKEYBOARD keymap compiler (xkbcomp) reports: +> Warning: Multiple symbols for level 1/group 1 on key +> Using F23, ignoring XF86TouchpadOff +> Warning: Symbol map for key redefined +> Using last definition for conflicting fields +> Warning: Symbol map for key redefined +> Using last definition for conflicting fields +> Warning: Could not resolve keysym XF86ElectronicPrivacyScreenOn +> Warning: Could not resolve keysym XF86ElectronicPrivacyScreenOff +> Warning: Could not resolve keysym XF86ActionOnSelection +> Warning: Could not resolve keysym XF86ContextualInsert +> Warning: Could not resolve keysym XF86ContextualQuery +Errors from xkbcomp are not fatal to the X server +[gamescope] [Info] pipewire: stream state changed: connecting +[gamescope] [Info] pipewire: stream state changed: paused +[gamescope] [Info] pipewire: stream available on node ID: 173 +[gamescope] [Info] vblank: Using timerfd. +fsync: up and running. +[Gamescope WSI] No application info given. +[Gamescope WSI] Executable name: explorer.exe +ATTENTION: default value of option vk_wsi_force_swapchain_to_current_extent overridden by environment. +[Gamescope WSI] Application info: + pApplicationName: xalia.exe + applicationVersion: 0 + pEngineName: DXVK + engineVersion: 12587008 + apiVersion: 4206592 +[Gamescope WSI] Executable name: xalia.exe +ATTENTION: default value of option vk_wsi_force_swapchain_to_current_extent overridden by environment. +[Gamescope WSI] No application info given. +[Gamescope WSI] Application info: + pApplicationName: ArmaReforgerWorkbenchSteamDiag.exe + applicationVersion: 1 + pEngineName: DXVK + engineVersion: 12587008 + apiVersion: 4206592 +[Gamescope WSI] Executable name: ArmaReforgerWorkbenchSteamDiag.exe +ATTENTION: default value of option vk_wsi_force_swapchain_to_current_extent overridden by environment. +[Gamescope WSI] No application info given. +The XKEYBOARD keymap compiler (xkbcomp) reports: +> Warning: Unsupported maximum keycode 709, clipping. +> X11 cannot support keycodes above 255. +> Warning: Virtual modifier Hyper multiply defined +> Using 0, ignoring 0 +> Warning: Virtual modifier ScrollLock multiply defined +> Using 0, ignoring 0 +Errors from xkbcomp are not fatal to the X server +ATTENTION: default value of option vk_wsi_force_swapchain_to_current_extent overridden by environment. +[Gamescope WSI] Application info: + pApplicationName: ArmaReforgerWorkbenchSteamDiag.exe + applicationVersion: 0 + pEngineName: DXVK + engineVersion: 12587008 + apiVersion: 4206592 +ATTENTION: default value of option vk_wsi_force_swapchain_to_current_extent overridden by environment. +[Gamescope WSI] Application info: + pApplicationName: ArmaReforgerWorkbenchSteamDiag.exe + applicationVersion: 0 + pEngineName: vkd3d + engineVersion: 12587008 + apiVersion: 4206592 +[Gamescope WSI] Forcing on VK_EXT_swapchain_maintenance1. +ATTENTION: default value of option vk_wsi_force_swapchain_to_current_extent overridden by environment. +[Gamescope WSI] No application info given. +ATTENTION: default value of option vk_wsi_force_swapchain_to_current_extent overridden by environment. +[Gamescope WSI] Application info: + pApplicationName: ArmaReforgerWorkbenchSteamDiag.exe + applicationVersion: 0 + pEngineName: vkd3d + engineVersion: 12587008 + apiVersion: 4206592 +[Gamescope WSI] Forcing on VK_EXT_swapchain_maintenance1. +[Gamescope WSI] Creating Gamescope surface: xid: 0x1a001a4 +[Gamescope WSI] Atom of T was wrong type. Expected XCB_ATOM_CARDINAL. +[Gamescope WSI] Made gamescope surface for xid: 0x1a001a4 +[Gamescope WSI] Surface state: + steam app id: 1874910 + window xid: 0x1a001a4 + wayland surface res id: 5 + layer client flags: 0x4 + server hdr output enabled: false + hdr formats exposed to client: false +[Gamescope WSI] Creating Gamescope surface: xid: 0x1a003a4 +[Gamescope WSI] Atom of T was wrong type. Expected XCB_ATOM_CARDINAL. +[Gamescope WSI] Made gamescope surface for xid: 0x1a003a4 +[Gamescope WSI] Surface state: + steam app id: 1874910 + window xid: 0x1a003a4 + wayland surface res id: 10 + layer client flags: 0x4 + server hdr output enabled: false + hdr formats exposed to client: false +[Gamescope WSI] Creating swapchain for xid: 0x1a003a4 - oldSwapchain: (nil) - provided minImageCount: 3 - minImageCount: 3 - format: VK_FORMAT_B8G8R8A8_UNORM - colorspace: VK_COLOR_SPACE_SRGB_NONLINEAR_KHR - flip: false +[Gamescope WSI] Created swapchain for xid: 0x1a003a4 swapchain: 0x55557d7e7a50 - imageCount: 4 +[Gamescope WSI] Destroying swapchain: 0x55557d7e7a50 +[Gamescope WSI] Destroyed swapchain: 0x55557d7e7a50 +[Gamescope WSI] Creating swapchain for xid: 0x1a003a4 - oldSwapchain: (nil) - provided minImageCount: 3 - minImageCount: 3 - format: VK_FORMAT_B8G8R8A8_UNORM - colorspace: VK_COLOR_SPACE_SRGB_NONLINEAR_KHR - flip: false +[Gamescope WSI] Created swapchain for xid: 0x1a003a4 swapchain: 0x55557d78d930 - imageCount: 4 +[Gamescope WSI] Destroying swapchain: 0x55557d78d930 +[Gamescope WSI] Destroyed swapchain: 0x55557d78d930 +[Gamescope WSI] Creating swapchain for xid: 0x1a003a4 - oldSwapchain: (nil) - provided minImageCount: 3 - minImageCount: 3 - format: VK_FORMAT_B8G8R8A8_UNORM - colorspace: VK_COLOR_SPACE_SRGB_NONLINEAR_KHR - flip: false +[Gamescope WSI] Created swapchain for xid: 0x1a003a4 swapchain: 0x55557d7702c0 - imageCount: 4 +[gamescope] [Info] launch: Primary child shut down! diff --git a/docs/evidence/native-2026-09-19-045450-radio-recovery-fixture-failure/report.json b/docs/evidence/native-2026-09-19-045450-radio-recovery-fixture-failure/report.json new file mode 100644 index 0000000..37dc0ad --- /dev/null +++ b/docs/evidence/native-2026-09-19-045450-radio-recovery-fixture-failure/report.json @@ -0,0 +1,20 @@ +{ + "log": "docs/evidence/native-2026-09-19-045450-radio-recovery-fixture-failure/console.log.txt", + "smoke_completions": 0, + "assertions_passed": 108, + "script_or_runtime_failures": [ + "04:56:11.510 SCRIPT (E): ERR SMOKE FAIL: radio service registered friendly conscious prisoner remains authorized" + ], + "engine_errors": [ + "04:55:30.859 WORLD (E): Unknown keyword/data 'SlidingTrackMaterial' at offset 19441(0x4bf1)", + "04:55:30.897 WORLD (E): Unknown keyword/data 'Parent' at offset 35955(0x8c73)", + "04:55:30.897 WORLD (E): Unknown keyword/data 'Parent' at offset 36915(0x9033)", + "04:55:30.897 WORLD (E): Unknown keyword/data 'Parent' at offset 42646(0xa696)", + "04:55:30.897 WORLD (E): Unknown keyword/data 'Parent' at offset 43645(0xaa7d)", + "04:55:30.897 WORLD (E): Unknown keyword/data 'Parent' at offset 44617(0xae49)", + "04:55:30.898 WORLD (E): Unknown keyword/data 'Parent' at offset 45590(0xb216)", + "04:56:11.510 SCRIPT (E): ERR SMOKE FAIL: radio service registered friendly conscious prisoner remains authorized" + ], + "missing_end_screen": [], + "scope": "scripted local Workbench integration only; no multiplayer, piloting or FPS claim" +} diff --git a/docs/evidence/native-2026-09-19-045450-radio-recovery-fixture-failure/runner.json.txt b/docs/evidence/native-2026-09-19-045450-radio-recovery-fixture-failure/runner.json.txt new file mode 100644 index 0000000..01da169 --- /dev/null +++ b/docs/evidence/native-2026-09-19-045450-radio-recovery-fixture-failure/runner.json.txt @@ -0,0 +1,9 @@ +{ + "result": "test-failed", + "session": "/tmp/erri-workbench-profile/logs/logs_2026-09-19_04-54-50", + "rounds_required": 1, + "project": "core", + "display": "headless Gamescope 1280x720/30Hz", + "dedicated_server": false, + "audio": "silent sink and per-test-stream mute" +} diff --git a/docs/evidence/native-2026-09-19-045450-radio-recovery-fixture-failure/script.log.txt b/docs/evidence/native-2026-09-19-045450-radio-recovery-fixture-failure/script.log.txt new file mode 100644 index 0000000..8d0539f --- /dev/null +++ b/docs/evidence/native-2026-09-19-045450-radio-recovery-fixture-failure/script.log.txt @@ -0,0 +1,196 @@ +--------------------------------------------- +Log Z:\tmp\erri-workbench-profile\logs\logs_2026-09-19_04-54-50\script.log started at 2026-09-19 04:54:53 (2026-09-19 02:54:53 UTC) + +04:54:53.672 SCRIPT : SCRIPT : Initializing scripts +04:54:53.672 SCRIPT : SCRIPT : ScriptProjectManager init +04:54:54.629 SCRIPT : SCRIPT : Compiling GameLib scripts +04:54:54.684 SCRIPT : Module: Workbench; loaded 18x files; 36x classes; used 125K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE"; CRC32: 90ce0460 +04:54:54.684 SCRIPT : Module: GameLib; loaded 465x files; 648x classes; used 828K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE"; CRC32: 4507af04 +04:54:54.685 SCRIPT : SCRIPT : Compiling Game scripts +04:54:55.768 SCRIPT : Compiling Game scripts +04:54:55.768 SCRIPT (W): @"Scripts/Game/Editor/Components/EditableEntity/SCR_EditableEntityComponent.c,785": 'GetPlayerPlatformKind' is obsolete +04:54:55.768 SCRIPT (W): @"Scripts/Game/Editor/Components/EditableEntity/SCR_EditableEntityComponent.c,786": 'GetPlayerPlatformId' is obsolete +04:54:56.011 SCRIPT (W): @"Scripts/Game/ERR/ERR_SiteService.c,140": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +04:54:56.020 SCRIPT (W): @"Scripts/Game/Workshop/SCR_AddonManager.c,876": 'GetRefCount' is obsolete: Will be removed +04:54:56.048 SCRIPT (W): @"Scripts/Game/Campaign/SCR_PlayerProfileManagerComponent.c,142": 'PlayerData' is obsolete +04:54:56.143 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,159": 'GetDSSession' is obsolete +04:54:56.143 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,162": 'RoomID' is obsolete +04:54:56.143 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,197": 'GetDSSession' is obsolete +04:54:56.143 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,201": 'RoomID' is obsolete +04:54:56.231 SCRIPT (W): @"Scripts/Game/DataCollection/SCR_DataCollectorComponent.c,481": 'GetStorage' is obsolete +04:54:56.231 SCRIPT (W): @"Scripts/Game/DataCollection/SCR_DataCollectorComponent.c,483": 'GetOnlineWritePrivilege' is obsolete +04:54:56.232 SCRIPT (W): @"Scripts/Game/Utilities/SCR_PlayerIdentityUtils.c,20": 'GetPlayerIdentityId' is obsolete +04:54:56.271 SCRIPT (W): @"Scripts/Game/ERR/ERR_ExtractionService.c,45": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +04:54:56.271 SCRIPT (W): @"Scripts/Game/ERR/ERR_ExtractionService.c,56": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +04:54:56.273 SCRIPT (W): @"Scripts/Game/UI/Menu/MainMenuUI.c,643": 'GetNotifyCount' is obsolete: Will be substitued by Notification Api. +04:54:56.273 SCRIPT (W): @"Scripts/Game/UI/Menu/MainMenuUI.c,645": 'GetNotifyItem' is obsolete: Will be substitued by Notification Api. +04:54:56.298 SCRIPT (W): @"Scripts/Game/ERR/ERR_NativeTransportProbe.c,82": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +04:54:56.327 SCRIPT (W): @"Scripts/Game/DataCollection/PlayerData/SCR_PlayerData.c,210": 'PlayerData' is obsolete +04:54:56.585 SCRIPT : Module: WorkbenchGame; loaded 171x files; 616x classes; used 2478K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE"; CRC32: db6febb9 +04:54:56.593 SCRIPT : Module: Game; loaded 5701x files; 11171x classes; used 32486K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE,ENABLE_BASE_DESTRUCTION,BUDGET_OPTIMIZATION_CHECKS,SHOW_DISCLAIMER,DEBUG,RESPAWN_TIMER_COMPONENT_DEBUG,GAME_MODE_DEBUG,DEBUG_CONFIGURABLE_DIALOGS,DISABLE_WEAPON_SWITCHING,SCRIPTED_AIM_MODIFIER_DEBUG"; CRC32: 8d3117a1 +04:54:57.515 SCRIPT : Unable to register a script command due keyword duplicity: ban +04:54:57.515 SCRIPT : Unable to register a script command due keyword duplicity: kick +04:55:16.759 SCRIPT : ERR SITE SURVEY: supply=6150/7050 elevationRange=0.625 min=202.875 max=203.5 +04:55:19.907 SCRIPT : Unable to register a script command due keyword duplicity: ban +04:55:19.907 SCRIPT : Unable to register a script command due keyword duplicity: kick +04:55:33.157 SCRIPT (W): SCR_PerceivedFactionManagerComponent trying to set fall back faction 'CIV' but this faction could not be found so it is null instead. +04:55:33.183 SCRIPT : ERR BASE SMOKE: core-only scripted escape; not manual or multiplayer acceptance +04:55:33.698 SCRIPT (W): Notification data in 'SCR_NotificationsLogDisplay' has duplicate notification info key: 'EDITOR_PERCEIVED_FACTION_PUNISHMENT_KILLING_SET'. There should only be one of each key! +04:55:33.698 SCRIPT (W): Notification data in 'SCR_NotificationsLogDisplay' has duplicate notification info key: 'EDITOR_PERCEIVED_FACTION_TYPE_DISABLED'. There should only be one of each key! +04:55:33.700 SCRIPT (W): Can't open config file "" +04:55:33.706 SCRIPT (W): Slot_WeaponInfo Has no Content! +04:55:33.706 SCRIPT (W): Slot_Chat Has no Content! +04:55:33.706 SCRIPT (W): Slot_VON Has no Content! +04:55:33.706 SCRIPT (W): Slot_AvailableActions Has no Content! +04:55:33.706 SCRIPT (W): Slot_Vehicle Has no Content! +04:55:33.706 SCRIPT (W): Slot_GameVersion Has no Content! +04:55:33.706 SCRIPT (W): Slot_Notifications Has no Content! +04:55:33.707 SCRIPT (W): Slot_Hints Has no Content! +04:55:33.720 SCRIPT (W): Ban Settings could not be loaded from BE Storage: Relying on default config +04:55:33.771 SCRIPT : ScenarioFramework: Available tasks are empty, no new tasks will be generated. +04:55:33.784 SCRIPT : SCR_BaseGameMode::OnGameStateChanged = GAME +04:55:33.955 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +04:55:35.456 SCRIPT : Rereintroduced [sites]: cache clearance position=<6086,211.538,7160> clear=1 +04:55:35.476 SCRIPT : Rereintroduced [sites]: authored everon-prison-1 at <6090,211.444,7160> +04:55:35.477 SCRIPT : Rereintroduced [sites]: cache clearance position=<6150,203.288,7050> clear=1 +04:55:35.507 SCRIPT : Rereintroduced [sites]: authored everon-supply-1 at <6150,203.288,7050> +04:55:35.510 SCRIPT : Rereintroduced [sites]: authored everon-radio-1 at <6500,159.756,7200> +04:55:35.562 SCRIPT : Rereintroduced [sites]: authored everon-extraction-1 at <7000,65.2562,7500> +04:55:35.562 SCRIPT : Rereintroduced [sites]: cache clearance position=<5960,220.256,7220> clear=1 +04:55:35.567 SCRIPT : Rereintroduced [sites]: transport parking=<5960,220.256,7212> radius=4 terrainRange=0.8125 obstructed=0 clear=1 +04:55:35.626 SCRIPT : Rereintroduced [sites]: authored everon-supply-2 at <5960,220.256,7220> +04:55:35.626 SCRIPT : Rereintroduced [sites]: cache clearance position=<6340,175.788,7400> clear=1 +04:55:35.629 SCRIPT : Rereintroduced [sites]: authored everon-medical-1 at <6340,175.788,7400> +04:55:35.629 SCRIPT : Rereintroduced [sites]: cache clearance position=<6740,140.6,7300> clear=1 +04:55:35.633 SCRIPT : Rereintroduced [sites]: cache clearance position=<6740,140.913,7296> clear=1 +04:55:35.634 SCRIPT : Rereintroduced [sites]: cache clearance position=<6736,140.975,7300> clear=1 +04:55:35.634 SCRIPT : Rereintroduced [sites]: cache clearance position=<6744,140.288,7300> clear=1 +04:55:35.636 SCRIPT : Rereintroduced [sites]: authored everon-outpost-1 at <6740,140.6,7300> +04:55:35.713 SCRIPT : Rereintroduced [sites]: 7 sites and 117 physical stock items ready +04:55:35.714 SCRIPT : Rereintroduced [time]: started at 14:00 with 1x progression +04:55:35.714 SCRIPT : Rereintroduced [mission]: phase 0 -> 1 +04:55:35.960 SCRIPT : INFO: Faction: player jakub (playerID = 1 | UUID = 00000000-0000-0000-0000-000000000000) has joined faction #AR-Faction_US (US) +04:55:36.036 SCRIPT : Rereintroduced [spawn]: player 1 at <6090,211.444,7160> +04:55:36.168 SCRIPT : ERR SMOKE PASS: definition authored configuration resolves +04:55:36.169 SCRIPT : ERR SMOKE PASS: definition duplicate site identity rejected +04:55:36.169 SCRIPT : ERR SMOKE PASS: definition dangling document target rejected +04:55:36.169 SCRIPT : ERR SMOKE PASS: definition non-radio document target rejected +04:55:36.169 SCRIPT : ERR SMOKE PASS: definition insufficient guaranteed radio clues rejected +04:55:36.169 SCRIPT : ERR SMOKE PASS: definition unbounded stock rejected +04:55:36.169 SCRIPT : ERR SMOKE PASS: definition unguaranteed clue route rejected +04:55:36.169 SCRIPT : ERR SMOKE PASS: definition radio sources sharing one footprint rejected +04:55:36.169 SCRIPT : ERR SMOKE PASS: definition unnamed location rejected +04:55:36.170 SCRIPT : ERR SMOKE PASS: definition proximity discovery cannot reveal progression sites +04:55:36.170 SCRIPT : ERR SMOKE PASS: definition escape cannot reveal the radio directly +04:55:36.170 SCRIPT : ERR SMOKE PASS: definition unbounded scenery offset rejected +04:55:36.170 SCRIPT : ERR SMOKE PASS: definition valid configuration restored after isolated mutations +04:55:36.170 SCRIPT : ERR SMOKE PASS: base contracts catalog resolves hostile vanilla factions and successful preparation +04:55:36.170 SCRIPT : ERR SMOKE PASS: base contracts physical prisoner matches injected faction and resource +04:55:36.171 SCRIPT : ERR SMOKE PASS: base contracts physical guard squad comes from injected catalog +04:55:36.171 SCRIPT : ERR SMOKE PASS: base contracts same-side factions rejected +04:55:36.171 SCRIPT : ERR SMOKE PASS: base contracts unknown world faction rejected +04:55:36.171 SCRIPT : ERR SMOKE PASS: base contracts missing prisoner resource rejected +04:55:36.171 SCRIPT : ERR SMOKE PASS: base contracts isolated catalog restored without mutating live configuration +04:55:36.171 SCRIPT : ERR SMOKE PASS: base contracts unauthorized settings request rejected +04:55:36.171 SCRIPT : ERR SMOKE PASS: base contracts partially numeric input rejected without mutation +04:55:36.171 SCRIPT : ERR SMOKE PASS: base contracts out-of-range duration rejected without mutation +04:55:36.176 SCRIPT : ERR SMOKE PASS: base contracts normalized base command saves validated duration +04:55:36.176 SCRIPT : ERR SMOKE PASS: base contracts base command reads saved duration +04:55:36.176 SCRIPT : ERR SMOKE PASS: base contracts base settings listing available +04:55:36.176 SCRIPT : ERR SMOKE PASS: base contracts base mission status available before companions +04:55:36.179 SCRIPT : ERR SMOKE PASS: base contracts test setting restored +04:55:36.180 SCRIPT : ERR SMOKE PASS: base outpost barrier is upright +04:55:36.180 SCRIPT : ERR COVER GEOMETRY: low=<6738.99,140.839,7295.42> high=<6740.98,141.655,7296.62> trace=0.377114 +04:55:36.180 SCRIPT : ERR SMOKE PASS: base outpost barrier has physical collision +04:55:36.180 SCRIPT : ERR SMOKE PASS: base outpost barrier is upright +04:55:36.180 SCRIPT : ERR COVER GEOMETRY: low=<6735.42,140.901,7299.02> high=<6736.62,141.718,7301.01> trace=0.377114 +04:55:36.180 SCRIPT : ERR SMOKE PASS: base outpost barrier has physical collision +04:55:36.180 SCRIPT : ERR SMOKE PASS: base outpost barrier is upright +04:55:36.181 SCRIPT : ERR COVER GEOMETRY: low=<6743.42,140.214,7299.02> high=<6744.62,141.03,7301.01> trace=0.377114 +04:55:36.181 SCRIPT : ERR SMOKE PASS: base outpost barrier has physical collision +04:55:36.181 SCRIPT : ERR SMOKE PASS: base exactly three authored outpost barriers exist +04:55:36.181 SCRIPT : ERR SMOKE PASS: mission time clock parsing includes midnight and final minute +04:55:36.181 SCRIPT : ERR SMOKE PASS: mission time malformed clock commands rejected +04:55:36.181 SCRIPT : ERR SMOKE PASS: mission time isolated fixture paths unused +04:55:36.182 SCRIPT : ERR SMOKE PASS: mission time legacy fixture created +04:55:36.182 SCRIPT : ERR SMOKE PASS: mission time existing six-key settings preserved +04:55:36.183 SCRIPT : ERR SMOKE PASS: mission time only absent time settings receive defaults +04:55:36.183 SCRIPT : ERR SMOKE PASS: mission time loading does not rewrite legacy file +04:55:36.189 SCRIPT : ERR SMOKE PASS: mission time explicit save upgrades valid legacy settings +04:55:36.189 SCRIPT : ERR SMOKE PASS: mission time new keys and old values survive reload +04:55:36.190 SCRIPT : ERR SMOKE PASS: mission time present out-of-range time cannot silently default +04:55:36.191 SCRIPT : ERR SMOKE PASS: mission time fractional clock setting rejected +04:55:36.192 SCRIPT : ERR SMOKE PASS: mission time zero multiplier rejected +04:55:36.193 SCRIPT : ERR SMOKE PASS: mission time missing legacy setting remains invalid +04:55:36.194 SCRIPT : ERR SMOKE PASS: mission time partially upgraded file defaults only missing new field +04:55:36.195 SCRIPT : ERR SMOKE PASS: mission time valid saved backup recovers invalid primary +04:55:36.195 SCRIPT : ERR SMOKE PASS: mission time server starts world clock before prison phase +04:55:36.195 SCRIPT : ERR SMOKE PASS: mission time engine progression matches applied multiplier +04:55:36.195 SCRIPT : ERR SMOKE PASS: mission time unauthorized clock mutation rejected +04:55:36.195 SCRIPT : ERR SMOKE PASS: mission time invalid clock command preserves setting +04:55:36.205 SCRIPT : ERR SMOKE PASS: mission time authorized settings persist and test restores originals +04:55:36.205 SCRIPT : ERR SMOKE PASS: mission time saved changes and repeated start leave current clock and speed intact +04:55:36.205 SCRIPT : ERR SMOKE PASS: mission time admin sees current clock separately from next round settings +04:55:36.205 SCRIPT : ERR SMOKE PASS: base native prison objective exists +04:55:36.205 SCRIPT : ERR SMOKE PASS: objective UI current native task exists +04:55:36.208 SCRIPT : ERR SMOKE PASS: objective UI native list and detail layouts created +04:55:36.208 SCRIPT : ERR SMOKE PASS: objective UI native handlers attached +04:55:36.209 SCRIPT : ERR SMOKE PASS: objective UI open list and details contain current title and instructions +04:55:36.209 SCRIPT : ERR SMOKE PASS: objective UI list-only task cannot expose an undiscovered map position +04:55:36.209 SCRIPT : ERR SMOKE PASS: objective UI actual local player receives the active objective +04:55:36.209 SCRIPT : ERR SMOKE PASS: objective UI extraction instructions follow a nondefault boundary +04:55:36.209 SCRIPT : ERR SMOKE PASS: base authored supply cache is a separate scavenging location +04:55:36.210 SCRIPT : ERR BASE STOCK: cache items=54 +04:55:36.210 SCRIPT : ERR SMOKE PASS: base cache holds finite physical equipment and objective documents +04:55:36.210 SCRIPT : ERR SMOKE PASS: base no companion HQ or support controller loaded +04:55:36.210 SCRIPT : ERR SMOKE PASS: base prisoner spawned in authored prison +04:55:36.210 SCRIPT : ERR SMOKE PASS: base gate, clues, radio and helicopter created by core +04:55:36.210 SCRIPT : Rereintroduced [mission]: phase 1 -> 2 +04:55:36.211 SCRIPT : ERR SMOKE PASS: base gate action begins escape +04:55:36.213 SCRIPT : ERR SMOKE PASS: base test defence duration accepted +04:55:36.214 SCRIPT : ERR SMOKE PASS: base previous native objective completes on phase change +04:55:36.214 SCRIPT : ERR SMOKE PASS: base search objective does not expose a hidden site +04:55:36.214 SCRIPT : ERR SMOKE PASS: objective UI current native task exists +04:55:36.216 SCRIPT : ERR SMOKE PASS: objective UI native list and detail layouts created +04:55:36.216 SCRIPT : ERR SMOKE PASS: objective UI native handlers attached +04:55:36.217 SCRIPT : ERR SMOKE PASS: objective UI open list and details contain current title and instructions +04:55:36.217 SCRIPT : ERR SMOKE PASS: objective UI list-only task cannot expose an undiscovered map position +04:55:36.217 SCRIPT : ERR SMOKE PASS: objective UI actual local player receives the active objective +04:55:36.217 SCRIPT : ERR SMOKE PASS: objective UI extraction instructions follow a nondefault boundary +04:55:36.217 SCRIPT : ERR SMOKE PASS: base both named supply routes revealed after escape +04:55:36.217 SCRIPT : ERR SMOKE PASS: base optional sites remain hidden until approached +04:55:42.235 SCRIPT : ERR SMOKE PASS: base unconscious player cannot discover optional sites +04:55:48.270 SCRIPT : ERR SMOKE PASS: base distant player cannot discover optional sites +04:55:48.270 SCRIPT : ERR SMOKE PASS: base isolated visibility obstacle created +04:55:48.271 SCRIPT : ERR VISIBILITY OBSTACLE: low=<6338.5,174.97,7403.87> high=<6341.5,178.737,7404.13> observer=<6340.66,174.711,7466.83> target=<6340,175.788,7400> +04:55:54.328 SCRIPT : ERR SMOKE PASS: base physical wall prevents nearby site discovery +04:56:00.373 SCRIPT : ERR SMOKE PASS: base conscious nearby player visually discovers named medical stash once +04:56:00.373 SCRIPT : ERR SMOKE PASS: base proximity cannot bypass radio documents +04:56:00.879 SCRIPT : ERR SMOKE PASS: base physical clue recovered +04:56:01.097 SCRIPT : Rereintroduced [intel]: player 1 recovered folder; location=everon-radio-1 knowledge=1 +04:56:03.398 SCRIPT : ERR SMOKE PASS: base physical clue recovered +04:56:04.117 SCRIPT : Rereintroduced [intel]: player 1 recovered folder; location=everon-radio-1 knowledge=2 +04:56:05.944 SCRIPT : ERR SMOKE PASS: base objective guidance reacts to discovered radio +04:56:05.944 SCRIPT : ERR SMOKE PASS: objective UI current native task exists +04:56:05.944 SCRIPT : ERR SMOKE PASS: objective UI open list and details contain current title and instructions +04:56:05.945 SCRIPT : ERR SMOKE PASS: objective UI list-only task cannot expose an undiscovered map position +04:56:05.945 SCRIPT : ERR SMOKE PASS: objective UI actual local player receives the active objective +04:56:05.945 SCRIPT : ERR SMOKE PASS: objective UI extraction instructions follow a nondefault boundary +04:56:05.948 SCRIPT : ERR SMOKE PASS: base discovery ticks do not repeat the location event +04:56:05.948 SCRIPT : ERR SMOKE PASS: base documents identify radio without Intel addon +04:56:07.459 SCRIPT : ERR SMOKE PASS: radio service identified radio and real controlled prisoner available +04:56:07.459 SCRIPT : ERR SMOKE PASS: radio service controlled prisoner supports native state restoration +04:56:07.462 SCRIPT : ERR SMOKE PASS: radio service isolated thirty-second duration saved +04:56:07.472 SCRIPT : ERR SMOKE PASS: radio service second physical defender spawned +04:56:08.472 SCRIPT : ERR SMOKE PASS: radio service second physical defender settles with simulated connection membership +04:56:08.473 SCRIPT : ERR SMOKE PASS: radio service ordinary AI cannot tune even while alive and nearby +04:56:08.473 SCRIPT : ERR SMOKE PASS: radio service missing radio rejected +04:56:09.488 SCRIPT : ERR RADIO POSITION: outside tuning range after deferred teleport actor=<6506.01,159.313,7200.01> radio=<6500,159.756,7200> distanceXZ=6.00537 +04:56:09.488 SCRIPT : ERR SMOKE PASS: radio service tuning outside five metres rejected +04:56:10.499 SCRIPT : ERR RADIO POSITION: unconscious tuning range after deferred teleport actor=<6502.01,159.672,7200.05> radio=<6500,159.756,7200> distanceXZ=2.00952 +04:56:10.499 SCRIPT : ERR SMOKE PASS: radio service unconscious prisoner cannot tune +04:56:11.510 SCRIPT (E): ERR SMOKE FAIL: radio service registered friendly conscious prisoner remains authorized +04:56:11.515 SCRIPT (W): GetAimCompensation: provided null entity +04:56:11.559 SCRIPT (W): GetAimCompensation: provided null entity +04:56:11.610 SCRIPT (W): GetAimCompensation: provided null entity +04:56:11.660 SCRIPT (W): GetAimCompensation: provided null entity diff --git a/docs/evidence/native-2026-09-19-045450-radio-recovery-fixture-failure/source-sha256.json b/docs/evidence/native-2026-09-19-045450-radio-recovery-fixture-failure/source-sha256.json new file mode 100644 index 0000000..f7f43cf --- /dev/null +++ b/docs/evidence/native-2026-09-19-045450-radio-recovery-fixture-failure/source-sha256.json @@ -0,0 +1,115 @@ +{ + "addons/ai/Prefabs/ERR/MortarCrew.et": "05d3e7353ff9fe5523218a1487b31b7b742b0be8adbcb060c7099978cf008bce", + "addons/ai/Prefabs/ERR/MortarCrew.et.meta": "fdfd4fcd21a67c3d698fa4aadc4e5c76e665cebf4be86013bc389e493fab63cc", + "addons/ai/Scripts/Game/ERR/ERR_HQ.c": "ceafd6740ed277748744ce56ac0f0bb3a8521fcc060dafb2cdb99896aedf405a", + "addons/ai/Scripts/Game/ERR/ERR_HQJournal.c": "b3e402cfe92d415f37f666045afb062e6e11670ba03a0ca6f2d9fd4fc3520ac1", + "addons/ai/Scripts/Game/ERR/ERR_HQNetwork.c": "92ff2caca52e94c2cc9642dfc8509ce6e9349b257012bade8650bace9231128c", + "addons/ai/Scripts/Game/ERR/ERR_HQObservation.c": "36c978ec5f052213ac1236e1398d85063efbfd7ef60fe04f1fc11447fefe1d68", + "addons/ai/Scripts/Game/ERR/ERR_HQReport.c": "c4d16ccb571db4d9444c0a8d2be7318845d25ff90238b6d304e96a9ea19f1a08", + "addons/ai/Scripts/Game/ERR/ERR_HelicopterAvailability.c": "60eaef2f6d4b2fd44861c5a4434ef97e732e40a5ff7401e2da451ed2dd9c2762", + "addons/ai/Scripts/Game/ERR/ERR_MortarBattery.c": "66b8f16b692a0f75fc9d920f5224d9292a0f1dc7dd8b2dde912e676fa80ddc9c", + "addons/ai/Scripts/Game/ERR/ERR_MortarFiring.c": "657e96d1112b68c8ced37793e99f88e6078b38a579190e63d00b1f9a9a032e26", + "addons/ai/Scripts/Game/ERR/ERR_MortarPrediction.c": "470dd196ed64800c697d24c09d1344bacd2502587fac76af4ee0edae2563092d", + "addons/ai/Scripts/Game/ERR/ERR_MortarSalvo.c": "697c01f479df6c505a41d984a29c02002e3052114dafa2ec6252ae55e2979a2b", + "addons/ai/Scripts/Game/ERR/ERR_MortarSystem.c": "12d8fc39d47e03c3838e0642aa9e4a80baf60f250357493bff812d5c75812c86", + "addons/ai/Scripts/Game/ERR/ERR_SettlementSafety.c": "e5c0ebc95521a9a33a3f7d9cca6c551dda862a08b7af20b017877aba9584795b", + "addons/ai/Scripts/Game/ERR/ERR_SupportScenario.c": "71757018ec9716c4dc24f62a292a214919d3fd5daed3c16e03e56abd208e9f03", + "addons/ai/addon.gproj": "5f559db8f526700db11e6ae763f5245f19b7006fc68c56e4c09fb6f940bdf2a1", + "addons/chat/Missions/ERR_Everon.conf": "76f3ac0d21b585654beac7ddd68e3c8cbdd66dbfe909b17b04838fa813a7c29b", + "addons/chat/Missions/ERR_Everon.conf.meta": "0a23c98bf83873536c65fa17d38dea33a1d7b9e4ab210f90633ff688abcc551f", + "addons/chat/Scripts/Game/ERR/ERR_AdminCommands.c": "7ea6d6b240524cf0193c86fcab861fbdef9adca780acff11ee73f9ed0e99ce7b", + "addons/chat/Scripts/Game/ERR/ERR_NativeMortarProbe.c": "ddb892141500c192c0787b011d57dd8c07dd8c9a3ca5fdc407f6c271897bde0a", + "addons/chat/Scripts/Game/ERR/ERR_NativeRadioProbe.c": "84524163c63402755b4f834f74dfe6d8e5c397dc26031f532593c6f79f5a93b1", + "addons/chat/Scripts/Game/ERR/ERR_NativeSmoke.c": "0ab2fed95dcaa0442cf7feb25743308060d58497e347f17dbd25c8e970a9f81f", + "addons/chat/Scripts/WorkbenchGame/ERR/ERR_ValidateWorldPlugin.c": "81c92d408ce88cc9f98d6053f1d0c863427693ba748f00df9f1bf8079015ef94", + "addons/chat/addon.gproj": "ea1587e0174cf795334d306c71d99b06797fc891427cd57b6cab6e21cf0e4e0e", + "addons/core/Configs/ERR/EveronSites.conf": "2edb2c6983eb627800b65d9e244b9b228e0b82282e089c7b12e5a8921a2ea7bf", + "addons/core/Configs/ERR/EveronSites.conf.meta": "d5fe68025ef4e7c1e16082cf5873b7c7172eacbfaef4ab29b7e0e3c98f8dca56", + "addons/core/Configs/ERR/GameOverScreens.conf": "45231061911a1462d45fb6db0fecc2b0793f17b5ae71017174954ff4fbd20236", + "addons/core/Configs/ERR/GameOverScreens.conf.meta": "eb654b745c0b97b41c991694569ef4877a3c2315e0826f9556337cd68690843e", + "addons/core/Configs/ERR/VanillaFactions.conf": "f8b8b9898a16b4a4a55ab3c12d2547bef2dc433732c7643df980cb3aca715212", + "addons/core/Configs/ERR/VanillaFactions.conf.meta": "ac77725c0c21974991ef47a466b88122e939de8b46fd23e68889e7674cbb2bfd", + "addons/core/Missions/ERR_Everon_Base.conf": "1e6a0e9a756d15495201f71121626890f01efe6b00154c561672d4ec157960bd", + "addons/core/Missions/ERR_Everon_Base.conf.meta": "9b16267c644d815bcf98a3a3aaff30b93d7224fb24d3a2bac66730a28011f317", + "addons/core/Prefabs/ERR/Extraction.et": "1aa286ef253c5410f09fa641e4be91a7be8ec834487a7fbb74cfb45cab60ee1e", + "addons/core/Prefabs/ERR/Extraction.et.meta": "c2a838633001e2e3a202d39cb33aa744ebcd996017ad032359069641b5d13853", + "addons/core/Prefabs/ERR/FieldCover.et": "20f8095e69dbfe3db74ff19078e528ea75405362b335e03560ccd61f8df2e7f3", + "addons/core/Prefabs/ERR/FieldCover.et.meta": "83461ffa76244e1d69f20b053a9741ccdf7d127009182bd540a7e5ba6150c3d9", + "addons/core/Prefabs/ERR/GameMode.et": "385c97a5b8067091d92aa60c2d4fcf02002cf606b95523866ead65c96b8c0029", + "addons/core/Prefabs/ERR/GameMode.et.meta": "106769cd34525c9d440057072836cb7401a6752148c40edd7fe61c03bd58328c", + "addons/core/Prefabs/ERR/ObjectiveDocument.et": "2e72270bf186654af12d2c3ff9bf940690b03fb17fca44f873c1fde5d11384c0", + "addons/core/Prefabs/ERR/ObjectiveDocument.et.meta": "eaba9903be147b98a1106e2273e2270773df73b9b22f2cd4e20136a8e281382e", + "addons/core/Prefabs/ERR/Patrol.et": "c5685a8bc311cc5563fb3334beec9408d3d7a1069152fddeeb7df4f1b7f9e6ce", + "addons/core/Prefabs/ERR/Patrol.et.meta": "7c5da568fa2fcf0709ee2959253cb068d7c7ed7c2467af3b247a7e70efd96b69", + "addons/core/Prefabs/ERR/Prison.et": "1503db1441d8cd7a4f0b45c27ba9623b9fa39f0f81016e180bd2aa1379e1f42a", + "addons/core/Prefabs/ERR/Prison.et.meta": "2e426ef3de68f4107907854b51e818bc11d84649a01c538e3f18dd9ebec766bb", + "addons/core/Prefabs/ERR/PrisonDoor.et": "fc66be9d36f1f01084de59f1b0a1e8817f9e46547ead33d4fafaac0107446c40", + "addons/core/Prefabs/ERR/PrisonDoor.et.meta": "b8f3db52bf186426026668fbb9d633c3cbd4d438ab301fba880398f6a0e781c2", + "addons/core/Prefabs/ERR/PrisonWall.et": "8009d19365ae72a4749d7ad4fa04662575b06c65c6bf06507d380d57258b5eed", + "addons/core/Prefabs/ERR/PrisonWall.et.meta": "0294bc5dbb56f90f8153d62459bb0a6ad91d76a479812bbec9c7db182fdb58d6", + "addons/core/Prefabs/ERR/Radio.et": "b4b5cfe125b39019855816c9a1c508ca4d65d435b5546fdaa6c1fa3c8c9b1165", + "addons/core/Prefabs/ERR/Radio.et.meta": "bc91137b68ba550217914fb8892bb44d7e1920e4a1086f3e506623832a44212f", + "addons/core/Prefabs/ERR/SpectatorCamera.et": "b5b87d5b7b707f3745741aebe7c923067c8a74f8fbb2a4711834bab03bb5a812", + "addons/core/Prefabs/ERR/SpectatorCamera.et.meta": "2a16558f93915e31908a674509e9c89976470f78a84a1174a64b94b68b8f77ad", + "addons/core/Prefabs/ERR/SupplyCache.et": "bccf7afbaae97cfcdd78dd6dbbf4be5b2c045d348f50fe4581962e556c0044d7", + "addons/core/Prefabs/ERR/SupplyCache.et.meta": "2f5de3a4aab1e9d0e35521f48dc57b95bd6e449c383dec4f1c258e10295904cb", + "addons/core/Prefabs/ERR/SupplySite.et": "dc5decce5cabf39b6116e8794ec3960cb1e35761854fdbe69740da118787ded4", + "addons/core/Prefabs/ERR/SupplySite.et.meta": "b41944b12eb3528ff7a3ac94258b18c66ef161aa6a38894aee300a1ac4798630", + "addons/core/Scripts/Game/ERR/ERR_Actions.c": "adf93245e6d78c59b9839599d157a0d2b2b93ea93b3d1ae52e2904dd6c288266", + "addons/core/Scripts/Game/ERR/ERR_Actors.c": "b3c5aabb05f7cf35167bc09b5db51a4ffd89a46658805d6eedbfb80eee30273d", + "addons/core/Scripts/Game/ERR/ERR_AdminService.c": "047c14ce60cc0b167e202438f8f2b1063590e69ef88ea55b54598aea5f99c505", + "addons/core/Scripts/Game/ERR/ERR_DiscoveryMap.c": "2f4ea342fea0530061456be9cdce002d5e7a282e4e27eb88f3860e79f93612bf", + "addons/core/Scripts/Game/ERR/ERR_DiscoveryService.c": "6b5679447fe4a6d7d54c0545881ab56284f871556b3159207d421247f419eada", + "addons/core/Scripts/Game/ERR/ERR_DocumentComponent.c": "17bb76b80ebd3357e46d553c44674f602c7bd6901c92aec53ac8214194aa4ff2", + "addons/core/Scripts/Game/ERR/ERR_EscapeGameOverScreenInfo.c": "b1e1afb7795cb77c0bad94c85abf705b26b9dc2a9400905d80eafd56bdd009d3", + "addons/core/Scripts/Game/ERR/ERR_ExtractionService.c": "91357099b4e0401196b67d48963be54be30e56bdba57cdac67dc20b8ebb883e9", + "addons/core/Scripts/Game/ERR/ERR_FactionCatalog.c": "a5a8c53acf21259e14f59cb919535910f30dabff5a9179c664bc6a7a4d744d6e", + "addons/core/Scripts/Game/ERR/ERR_GameMode.c": "d766d1639378070bea64eef38baa4667f8b9f5f1a2a7b170f0fc5e8fd557917d", + "addons/core/Scripts/Game/ERR/ERR_Location.c": "d2035f56ded35743312ec6ca91a67f8623a466c91255e1893c570edf0954ff24", + "addons/core/Scripts/Game/ERR/ERR_MissionRules.c": "f7abc38ad8fdc375ce7fa63a65f0bade027d22b37e09de5e3f94ba8c3c63cc41", + "addons/core/Scripts/Game/ERR/ERR_NativeBaseSmoke.c": "98f7b58aad99b93ada4cc807692eb22913760f68f1efc921bcdebf1be58eefbc", + "addons/core/Scripts/Game/ERR/ERR_NativeContractsProbe.c": "d1556df885171cf967e96eef5d8981a2e9ee4e3938b7d32fdd0426f647bbabc0", + "addons/core/Scripts/Game/ERR/ERR_NativeDefinitionProbe.c": "d05ef8368ef5afa68e29f45843cb1878b5a09be768f8abdff2f4115c23759b01", + "addons/core/Scripts/Game/ERR/ERR_NativeExtractionProbe.c": "4b09385f73206de004f4f3c38a6192fd658a0d2012482dc5a84dff1599ceb972", + "addons/core/Scripts/Game/ERR/ERR_NativeObjectiveProbe.c": "451f46d9a51753841046698911ee9954088214b6df856776a316865466fbce0f", + "addons/core/Scripts/Game/ERR/ERR_NativeRadioDefenceProbe.c": "4b8779b7556a92aa4fb8031991b8293e2a66bdc4873d0b2999f72a75b62dedec", + "addons/core/Scripts/Game/ERR/ERR_NativeResultProbe.c": "b9a117eef2d5f65fbd792041a2b3e59e38e201bda8e0df8c503e1a1242cfc415", + "addons/core/Scripts/Game/ERR/ERR_NativeSiteSurvey.c": "ac0203753ade0cdff6d483132797a80e4520f14546c3f9dea288281cd4cd9c4f", + "addons/core/Scripts/Game/ERR/ERR_NativeStationTeardownDiagnostic.c": "c01cbdbfe25fd38916fa74f2c02333baaacd5228686fd6e40b33c27b3cea8ed8", + "addons/core/Scripts/Game/ERR/ERR_NativeTimeProbe.c": "c93d049785971e51246fcc07cf24804270a752a655505f2c38e48c80df5255ae", + "addons/core/Scripts/Game/ERR/ERR_NativeTransportProbe.c": "63ec0c5ce698114daa6314b2a6e3c3e98e76094117c477f9d0d072260686d193", + "addons/core/Scripts/Game/ERR/ERR_NativeTransportSurvey.c": "3e94493bf54d15be2bceb106ad18873e14e6755af09c05f07db7fb26fb7adff5", + "addons/core/Scripts/Game/ERR/ERR_ObjectiveDetails.c": "900bdcd11075230e0d311ca8725c1d7938cb2a4efa71360709003d90092a7e69", + "addons/core/Scripts/Game/ERR/ERR_ObjectiveText.c": "bbb29949194637e6781316836c895e2c0fa7ccdb547d4d944a717da2ad73b0a2", + "addons/core/Scripts/Game/ERR/ERR_Objectives.c": "88d95a52fcba103483ea751571e1afeae0e6fc82115ed50d6fc195424726960f", + "addons/core/Scripts/Game/ERR/ERR_Observer.c": "b719e723369ab4f403950c85226e1336eb48e3c127e84530ac1c695eb86bd0f9", + "addons/core/Scripts/Game/ERR/ERR_PlayerAdminCommands.c": "a084d7dc097dfcde3d6cd9c2e326b9e2f8f2a519f77b30c4f56ab7a1429aa721", + "addons/core/Scripts/Game/ERR/ERR_PlayerEscapeResult.c": "3124ab4d2d6d471409a47aba0af528790734df53243c03fe0cdac3e407047c14", + "addons/core/Scripts/Game/ERR/ERR_PlayerGuide.c": "2c9c365b88651f8b12618443638bf52c04e497221592bd483c33447e30468f36", + "addons/core/Scripts/Game/ERR/ERR_PlayerRoster.c": "a737ba739b3f73a91cd05d808a1d45070e83b5152c003c3164e29842dda51995", + "addons/core/Scripts/Game/ERR/ERR_RadioDefenceService.c": "85eb9c1b65d5987799927b6d8786b7299fcff849bcb15b91f8a4d1aa95823fd1", + "addons/core/Scripts/Game/ERR/ERR_Resources.c": "8a5314944f75b23982c6b99697045e3c0538aa2137b2c947a5b2411e6076ac03", + "addons/core/Scripts/Game/ERR/ERR_ScenarioComponent.c": "abba03af68323d5715ba1e2497fc66f3c706e6a6a983c3a386228abdfddeec89", + "addons/core/Scripts/Game/ERR/ERR_Settings.c": "2aee784e44c732e09f59150896491ab325ef5e62aa6bad725be1fda955a3f614", + "addons/core/Scripts/Game/ERR/ERR_SiteDefinition.c": "75b5121ceab77f0956f0dc34bd077b11af5586350de52321800427f18cc94477", + "addons/core/Scripts/Game/ERR/ERR_SiteService.c": "7ba02712562b3c8cd8de9851b6f26fed85020faacceef0767408b300b935c110", + "addons/core/Scripts/Game/ERR/ERR_SpawnLogic.c": "f84f0c22562912c020e8be81748f36a883dd265d8d9786d0548f32bda5b4b92e", + "addons/core/Scripts/Game/ERR/ERR_Supplies.c": "752e8a56b0b8cde33cf532032cb0a203553017b686faac2e19bee06f7a9c0713", + "addons/core/Scripts/Game/ERR/ERR_TimeService.c": "d9f481b7da01e08d2c982a948c18ba6bde76889d7cc9d26d510708f4ba479453", + "addons/core/Scripts/WorkbenchGame/ERR/ERR_ValidateBaseWorldPlugin.c": "7f44aa64ea7b4f8b3640a37a4b781c43bf6adb80e4a3a702d9491131698056f6", + "addons/core/Worlds/ERR_Everon.ent": "22324bc7eb0d80dec8a1f3bd61a9df9201b72f749f4e751766b0c9d0b7d46b87", + "addons/core/Worlds/ERR_Everon.ent.meta": "19d1903ca72baa326b4724a6791d0da1104a1e53f3f31dc1ca41a856efd68e83", + "addons/core/Worlds/ERR_Everon_Layers/default.layer": "f1a058bd315c7d01d464715ac9f4e18ae3d2432551d094a9afbd4c9c5a2a9416", + "addons/core/addon.gproj": "231274e6b62302f32c65f9ff31de2ce8a9e51e1c8d12c87deeec82ae1f40de46", + "addons/intel/Scripts/Game/ERR/ERR_IntelService.c": "482839434b94e7f8c345d5fd96490aeebb765f3dd0c1bb25fceea2f435c0e722", + "addons/intel/addon.gproj": "d0ced242cefb220a5cccd6779d61fda9bc55581701b9f78bcf13c09d92ddbcbe", + "addons/map/Materials/ERRM_MapRenderTarget.emat": "9877c5b175c5f30dd80bea36c711b21ab38219aa7075adf9ae79932e1d4c76bc", + "addons/map/Materials/ERRM_MapRenderTarget.emat.meta": "5ee1a705f8011a44020ca2691f5ccc17d44bf596fef9a36e98d1f267eb58fab0", + "addons/map/Prefabs/Items/Equipment/ERRM_SharedFieldMap.et": "30dee8e9eab459ea32a7d835a9fb89d43df47708057cab829f067b25a24cd581", + "addons/map/Prefabs/Items/Equipment/ERRM_SharedFieldMap.et.meta": "59093e9072c50d99c86da7609c87541016da5bcf92b98d99db4c524e1c8e0e8d", + "addons/map/Scripts/Game/ERR/ERR_ScenarioMap.c": "75fa1d742129ef7f33c005cd48f56db7f49ee7bde3c5428532b0b501b032b0a3", + "addons/map/Scripts/Game/ERRMap/ERRM_SharedMapComponent.c": "fc1a0c7df4fc96da446d7542a45a10fbec1eda1e543ba2f0581cb772277a47c5", + "addons/map/UI/layouts/ERRMap/SharedMapRenderTarget.layout": "49a2da4181b94d42174f58c7f9b6bf2207116c99427d61ff1c212092ac7db4d2", + "addons/map/UI/layouts/ERRMap/SharedMapRenderTarget.layout.meta": "5c846445cc089e2e08899ba703059d4adb805ff30ab5a16409a3cd59718cbd54", + "addons/map/addon.gproj": "1b371e5e01ea9fa46e76570fecb8aaa3a9298e34cba7ccca8a6bdb5ca86eb46a" +} diff --git a/docs/evidence/native-2026-09-19-050158-lifecycle-compile-failure/console.log.txt b/docs/evidence/native-2026-09-19-050158-lifecycle-compile-failure/console.log.txt new file mode 100644 index 0000000..49d56aa --- /dev/null +++ b/docs/evidence/native-2026-09-19-050158-lifecycle-compile-failure/console.log.txt @@ -0,0 +1,153 @@ +--------------------------------------------- +Log Z:\tmp\erri-workbench-profile\logs\logs_2026-09-19_05-01-58\console.log started at 2026-09-19 05:01:58 (2026-09-19 03:01:58 UTC) + +05:01:58.695 ENGINE : FileSystem: Adding relative directory 'Z:\tmp\erri-workbench-profile\logs\logs_2026-09-19_05-01-58' to filesystem under name logs +05:01:58.696 ENGINE : FileSystem: Adding relative directory 'Z:\tmp\erri-workbench-profile\profile' to filesystem under name profile +05:01:58.696 ENGINE : FileSystem: Current working directory: 'Z:\home\jakub\.local\share\Steam\steamapps\common\Arma Reforger Tools\Workbench\' +05:01:58.697 PROFILING : Workbench Create Engine took: 10.589300 ms +05:01:59.739 INIT : INIT : Workbench Init Engine +05:01:59.739 ENGINE : Initializing engine, version 192142 +05:01:59.739 ENGINE : CLI Params: -gproj Z:/home/jakub/devel/escapistsrereintroduced/addons/core/addon.gproj -addonsDir Z:/home/jakub/devel/escapistsrereintroduced/addons -profile Z:/tmp/erri-workbench-profile -logconsole -wbModule WorldEditor -load Worlds/ERR_Everon.ent -plugin ERR_ValidateBaseWorldPlugin -errPlay 1 -errBaseSmoke 1 -errSmokeOutcome lifecycle -noThrow -errStationTeardownDiag 1 +05:01:59.752 ENGINE : Addon dirs: +05:01:59.752 ENGINE : dir: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/core/' +05:01:59.752 ENGINE : dir: 'Z:/home/jakub/devel/escapistsrereintroduced/addons' +05:01:59.752 ENGINE : dir: './addons' +05:01:59.752 ENGINE : dir: 'Z:/tmp/erri-workbench-profile/addons' +05:01:59.752 ENGINE : Available addons: +05:01:59.752 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/core/addon.gproj' guid: '2528466DE220D91C' +05:01:59.752 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/ai/addon.gproj' guid: '5192138CB9D5B911' +05:01:59.752 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/chat/addon.gproj' guid: 'FA804F411BDDF2C6' +05:01:59.752 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/intel/addon.gproj' guid: 'D31039C7C53E348A' +05:01:59.752 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/map/addon.gproj' guid: '9AAEE9041D79809E' +05:01:59.752 ENGINE : gproj: './addons/core/core.gproj' guid: '5614BBCCBB55ED1C' (packed) +05:01:59.752 ENGINE : gproj: 'Z:/tmp/erri-workbench-profile/addons/ArmaReforger/ArmaReforger.gproj' guid: '58D0FB3206B6F859' (packed) +05:01:59.752 ENGINE : FileSystem: Adding relative directory 'Z:\home\jakub\devel\escapistsrereintroduced\addons\core' to filesystem under name ERR_Core +05:01:59.883 ENGINE : FileSystem: Adding package 'Z:/tmp/erri-workbench-profile/addons/ArmaReforger/' (pak count: 14) to filesystem under name ArmaReforger +05:01:59.887 ENGINE : FileSystem: Adding package './addons/core/' (pak count: 2) to filesystem under name core +05:01:59.887 ENGINE : CPU vendor : AuthenticAMD +05:01:59.887 ENGINE : CPU type : 2 +05:01:59.887 ENGINE : CPU name : AMD Ryzen 7 3800XT 8-Core Processor +05:01:59.887 ENGINE : CPU cache info : L1 [Inst 32KB, Data 32KB], L2 [Unif 512KB], L3 [Unif 16384KB] +05:01:59.887 ENGINE : CPU count logical : 16 +05:01:59.887 ENGINE : CPU count physical : 8 +05:01:59.887 ENGINE : CPU features : mmx sse sse2 sse3 ssse3 sse4_1 sse4_2 popcnt aesni pclmulqdq osxsave avx sha avx2 +05:01:59.887 RESOURCES : ResourceDB: loading cache (id=0 name=ERR_Core path=Z:\home\jakub\devel\escapistsrereintroduced\addons\core/resourceDatabase.rdb) +05:01:59.888 RESOURCES : ResourceDB: loading cache (id=1 name=ArmaReforger path=Z:/tmp/erri-workbench-profile/addons/ArmaReforger/resourceDatabase.rdb) +05:02:00.034 RESOURCES : ResourceDB: loading cache (id=2 name=core path=./addons/core/resourceDatabase.rdb) +05:02:00.035 RESOURCES : ResourceDB: loading cache (id=3 name=profile path=Z:\tmp\erri-workbench-profile\profile/resourceDatabase.rdb) +05:02:00.035 RESOURCES : ResourceDB: loading cache (id=4 name=logs path=Z:\tmp\erri-workbench-profile\logs\logs_2026-09-19_05-01-58/resourceDatabase.rdb) +05:02:00.183 RESOURCES : RESOURCES : ResourceDB: full scan +05:02:00.188 RESOURCES : RESOURCES : scanning... +05:02:00.188 RESOURCES : RESOURCES : scanning @"ERR_Core" +05:02:00.190 RESOURCES : RESOURCES : scanning @"ArmaReforger" +05:02:00.321 RESOURCES : RESOURCES : scanning @"core" +05:02:00.325 RESOURCES : RESOURCES : scanning @"profile" +05:02:00.326 RESOURCES : RESOURCES : scanning @"logs" +05:02:00.326 RESOURCES : RESOURCES : processing meta-files... +05:02:00.388 RESOURCES : RESOURCES : processing files... +05:02:00.399 INIT : Workbench startup +05:02:00.399 INIT : Workbench Init Engine +05:02:00.399 RESOURCES : ResourceDB: full scan +05:02:00.399 RESOURCES : processing files... +05:02:00.399 RESOURCES (W): resource not registered: @"$profile:rereintroduced.json". Setting null GUID +05:02:00.399 RESOURCES : RESOURCES : processing folders... +05:02:00.405 RESOURCES : RESOURCES : creating GUID-item mapping... +05:02:00.421 RESOURCES : RESOURCES : building tree... +05:02:00.473 PROFILING : ResourceDB: full scan took: 289.546800 ms +05:02:00.474 RESOURCES : ResourceDB: saving cache (id=0 name=ERR_Core path=Z:\home\jakub\devel\escapistsrereintroduced\addons\core/resourceDatabase.rdb) +05:02:00.476 RESOURCES : ResourceDB: written 4000/4000 bytes +05:02:00.476 RESOURCES : ResourceDB: cache successfully saved +05:02:00.476 RESOURCES : ResourceDB: saving cache (id=3 name=profile path=Z:\tmp\erri-workbench-profile\profile/resourceDatabase.rdb) +05:02:00.477 RESOURCES : ResourceDB: written 206/206 bytes +05:02:00.477 RESOURCES : ResourceDB: cache successfully saved +05:02:00.477 RESOURCES : ResourceDB: saving cache (id=4 name=logs path=Z:\tmp\erri-workbench-profile\logs\logs_2026-09-19_05-01-58/resourceDatabase.rdb) +05:02:00.479 RESOURCES : ResourceDB: written 81/81 bytes +05:02:00.479 RESOURCES : ResourceDB: cache successfully saved +05:02:00.479 ENGINE : GameProject load +05:02:00.479 ENGINE : Loaded addons: +05:02:00.479 ENGINE : gproj: './addons/core/core.gproj' guid: '5614BBCCBB55ED1C' +05:02:00.479 ENGINE : gproj: 'Z:/tmp/erri-workbench-profile/addons/ArmaReforger/ArmaReforger.gproj' guid: '58D0FB3206B6F859' +05:02:00.479 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/core/addon.gproj' guid: '2528466DE220D91C' +05:02:00.481 ENGINE : Loading custom engine user config '$profile:.save/app1874910_user76561198020202999/settings/ReforgerEngineSettings.conf' +05:02:00.481 INIT : GameProject engine user settings load @"$profile:.save/app1874910_user76561198020202999/settings/ReforgerEngineSettings.conf" +05:02:00.481 ENGINE : Engine user settings config loaded +05:02:00.481 PROFILING : Settings changed took: 0.001900 ms +05:02:00.581 RENDER : (OK) Adapter 'AMD Radeon RX 6950 XT (RADV NAVI21)' supports feature level 12_0 +05:02:00.583 RENDER : Basic screen setup: +05:02:00.583 RENDER : Back buffer format : TEXFMT_R8G8B8A8_SRGB (29) +05:02:00.583 RENDER : MSAA : none +05:02:00.596 RENDER : AMD AGS library initialized, version 6.1.0 x DLL 6.1.0 +05:02:00.596 RENDER : Extendeded AMD info for AMD Radeon RX 6950 XT (RADV NAVI21) (primary device) +05:02:00.596 RENDER : * architecture RDNA2, 80 CUs, 40 WGPs (for RDNA), 64 ROPs +05:02:00.596 RENDER : * core clocks 2720 MHz, memory 1124 MHz +05:02:00.596 RENDER : * TFlops 27.9, memory bandwidth (562.0 GB/s) +05:02:00.596 RENDER : AMD AGS correctly initialized +05:02:00.596 RENDER : GPU_ATI (0x1002) (AMD Radeon RX 6950 XT (RADV NAVI21)) with 1 GPU detected, VRAM 16128MB (fast 0MB), shared 64362MB, driver version 99.19.02-230831a-396538C-AMD-Software-Adrenalin-Edition +05:02:00.596 RENDER : Detected output devices: +05:02:00.596 RENDER : * 1 device/s connected to AMD Radeon RX 6950 XT (RADV NAVI21): +05:02:00.596 RENDER : Generic Non-PnP Monitor (\\.\DISPLAY1), 1280x720 (offset 0x0), 30Hz +05:02:00.596 RENDER : Concurrent frames limit 2 +05:02:00.673 RENDER : DX12 device successfully created by AMD AGS library +05:02:00.673 RENDER : * user markers not supported in this version AMD SW +05:02:00.673 RENDER : Graphics device features +05:02:00.673 RENDER : Needed: +05:02:00.673 RENDER : * Highest supported shader model: 6.8 (6.0 needed) +05:02:00.673 RENDER : Optional: +05:02:00.673 RENDER : * Allow tearing (VSYNC) : 1 +05:02:00.673 RENDER : * 16 bits : 1 +05:02:00.673 RENDER : * Resource heap tier : 3 +05:02:00.673 RENDER : * Persistent heaps (DRED) : 1 +05:02:00.673 RENDER : * DRED 1.2 is supported by compiler +05:02:00.699 RENDER : Main RT format setup. +05:02:00.699 RENDER : Main RT format for quality 0 : TEXFMT_R11G11B10_FLOAT (26) +05:02:00.699 RENDER : Main RT format for quality 1 : TEXFMT_R16G16B16A16_FLOAT (10) +05:02:00.701 ENGINE : Job system settings: coreCount=16, shortJobContextCount=16, shortJobThreadCount=15, longJobThreadCount=16 +05:02:00.731 PROFILING : Settings changed took: 0.017600 ms +05:02:01.179 AUDIO : Endpoint: Speakers (PulseAudio Output) +05:02:01.179 AUDIO : Format: Channels: 2, Sample rate: 48kHz, Avg. bytes: 384kB, Sample bits: 32, Block align: 8B +05:02:01.179 AUDIO : Audio client: +05:02:01.179 AUDIO : Format: Channels: 2, Sample rate: 48kHz, Buffer size: 1536B, Frame: 512 +05:02:01.182 RENDER : RENDER : Reload shaders +05:02:01.182 RENDER : Enfusion shader version 13 +05:02:01.183 INIT : INIT : ShaderListReload +05:02:01.183 PROFILING : ShaderListReload took: 0.000500 ms +05:02:01.322 AUDIO : Endpoint: Speakers (PulseAudio Output) +05:02:01.322 AUDIO : Format: Channels: 2, Sample rate: 48kHz, Avg. bytes: 384kB, Sample bits: 32, Block align: 8B +05:02:01.322 AUDIO : Audio client: +05:02:01.322 AUDIO : Format: Channels: 2, Sample rate: 48kHz, Buffer size: 1536B, Frame: 512 +05:02:01.437 RENDER : Loaded 3752 newer shader binaries +05:02:01.437 PROFILING : Reload shaders took: 254.409500 ms +05:02:01.437 ENGINE : Initializing inputs. +05:02:01.450 NETWORK : Initializing networking. +05:02:01.450 NETWORK : Using new GameRplScheduler. +05:02:01.451 SCRIPT : SCRIPT : Initializing scripts +05:02:01.451 SCRIPT : SCRIPT : ScriptProjectManager init +05:02:02.298 PROFILING : ScriptProjectManager init took: 847.087400 ms +05:02:02.341 PROFILING : Initializing scripts took: 889.809600 ms +05:02:02.360 ENGINE : Enfusion engine successfully created. +05:02:02.361 PROFILING : Workbench Init Engine took: 2621.519000 ms +05:02:02.361 INIT : INIT : Workbench Create Game +05:02:02.373 GUI : Using default language (en_us) +05:02:02.373 GUI : Loading 'en_us' localization file. +05:02:02.373 INIT : INIT : Loading StringTable +05:02:02.399 PROFILING : Loading StringTable took: 26.168700 ms +05:02:02.399 SCRIPT : SCRIPT : Compiling GameLib scripts +05:02:02.456 SCRIPT : Module: Workbench; loaded 18x files; 36x classes; used 125K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE"; CRC32: 90ce0460 +05:02:02.456 SCRIPT : Module: GameLib; loaded 465x files; 648x classes; used 828K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE"; CRC32: 4507af04 +05:02:02.457 PROFILING : Compiling GameLib scripts took: 57.447400 ms +05:02:02.457 SCRIPT : SCRIPT : Compiling Game scripts +05:02:03.168 INIT : Workbench Create Game +05:02:03.168 SCRIPT : Compiling Game scripts +05:02:03.168 SCRIPT (E): @"Scripts/Game/ERR/ERR_SpawnFinalization.c,3": Variable name 'PlayerId' is already used as type name +05:02:03.168 SCRIPT (E): @"Scripts/Game/ERR/ERR_SpawnFinalization.c,4": Variable name 'Identity' is already used as type name +05:02:03.486 SCRIPT (E): Can't compile "Game" script module! + +Scripts/Game/ERR/ERR_SpawnFinalization.c(3): Variable name 'PlayerId' is already used as type name +05:02:03.996 SCRIPT (W): Failed to load +05:02:03.996 PROFILING : Compiling Game scripts took: 1539.419500 ms +05:02:03.996 ENGINE (E): Unable to initialize a game/gamelib. Some workbench features will not work. +05:02:03.996 SCRIPT (W): Initializing default GameLib's game class. +05:02:03.996 INIT : Creating game instance(Game), version 1.8.0.13 built 2026-08-21 14:30:18 UTC. +05:02:04.026 ENGINE : Game successfully created. +05:02:04.034 PROFILING : Workbench Create Game took: 1672.964300 ms +05:02:04.059 DEFAULT : Using thumbnail cache directory: C:/users/steamuser/AppData/Local/Temp/Arma Reforger Workbench/Projects/ERR_Core/thumbnails diff --git a/docs/evidence/native-2026-09-19-050158-lifecycle-compile-failure/error.log.txt b/docs/evidence/native-2026-09-19-050158-lifecycle-compile-failure/error.log.txt new file mode 100644 index 0000000..180700d --- /dev/null +++ b/docs/evidence/native-2026-09-19-050158-lifecycle-compile-failure/error.log.txt @@ -0,0 +1,18 @@ +--------------------------------------------- +Log Z:\tmp\erri-workbench-profile\logs\logs_2026-09-19_05-01-58\error.log started at 2026-09-19 05:02:00 (2026-09-19 03:02:00 UTC) + +05:02:00.399 INIT : Workbench startup +05:02:00.399 INIT : Workbench Init Engine +05:02:00.399 RESOURCES : ResourceDB: full scan +05:02:00.399 RESOURCES : processing files... +05:02:00.399 RESOURCES (W): resource not registered: @"$profile:rereintroduced.json". Setting null GUID +05:02:03.168 INIT : Workbench Create Game +05:02:03.168 SCRIPT : Compiling Game scripts +05:02:03.168 SCRIPT (E): @"Scripts/Game/ERR/ERR_SpawnFinalization.c,3": Variable name 'PlayerId' is already used as type name +05:02:03.168 SCRIPT (E): @"Scripts/Game/ERR/ERR_SpawnFinalization.c,4": Variable name 'Identity' is already used as type name +05:02:03.486 SCRIPT (E): Can't compile "Game" script module! + +Scripts/Game/ERR/ERR_SpawnFinalization.c(3): Variable name 'PlayerId' is already used as type name +05:02:03.996 SCRIPT (W): Failed to load +05:02:03.996 ENGINE (E): Unable to initialize a game/gamelib. Some workbench features will not work. +05:02:03.996 SCRIPT (W): Initializing default GameLib's game class. diff --git a/docs/evidence/native-2026-09-19-050158-lifecycle-compile-failure/headless-launch.log.txt b/docs/evidence/native-2026-09-19-050158-lifecycle-compile-failure/headless-launch.log.txt new file mode 100644 index 0000000..d72fcb3 --- /dev/null +++ b/docs/evidence/native-2026-09-19-050158-lifecycle-compile-failure/headless-launch.log.txt @@ -0,0 +1,131 @@ +[gamescope] [Info] console: gamescope version 3.16.28 (gcc 16.2.1) +No CAP_SYS_NICE, falling back to regular-priority compute and threads. +Performance will be affected. +[gamescope] [Info] scriptmgr: Loading scripts from: '/usr/share/gamescope/scripts' +[gamescope] [Info] scriptmgr: Loading scripts from: '/usr/share/gamescope/scripts/00-gamescope' +[gamescope] [Info] scriptmgr: Loading scripts from: '/usr/share/gamescope/scripts/00-gamescope/common' +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/common/inspect.lua' (id: 0) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/common/modegen.lua' (id: 1) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/common/util.lua' (id: 2) +[gamescope] [Info] scriptmgr: Loading scripts from: '/usr/share/gamescope/scripts/00-gamescope/displays' +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/asus.rogally.lcd.lua' (id: 3) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/deckhd.steamdeck.deckhd-lcd.lua' (id: 4) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/gpd.win4.lcd.lua' (id: 5) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/lenovo.legiongo.lcd.lua' (id: 6) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/lenovo.legiongos.lcd.lua' (id: 7) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/onexplayer.f1.oled.lua' (id: 8) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/valve.steamdeck.lcd.lua' (id: 9) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/valve.steamdeck.oled.lua' (id: 10) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/zotac.zone.oled.lua' (id: 11) +[gamescope] [Info] scriptmgr: Loading scripts from: '/etc/gamescope/scripts' +[gamescope] [Warn] scriptmgr: Directory '/etc/gamescope/scripts' does not exist +[gamescope] [Info] scriptmgr: Loading scripts from: '/home/jakub/.config/gamescope/scripts' +[gamescope] [Warn] scriptmgr: Directory '/home/jakub/.config/gamescope/scripts' does not exist +[gamescope] [Info] vulkan: selecting physical device 'AMD Radeon RX 6950 XT (RADV NAVI21)': queue family 1 (general queue family 0) +[gamescope] [Info] vulkan: physical device supports DRM format modifiers +[gamescope] [Info] wlserver: [backend/headless/backend.c:60] Creating headless backend +[gamescope] [Info] vulkan: supported DRM formats for sampling usage: +[gamescope] [Info] vulkan: AR24 (0x34325241) +[gamescope] [Info] vulkan: XR24 (0x34325258) +[gamescope] [Info] vulkan: AB24 (0x34324241) +[gamescope] [Info] vulkan: XB24 (0x34324258) +[gamescope] [Info] vulkan: RG16 (0x36314752) +[gamescope] [Info] vulkan: NV12 (0x3231564E) +[gamescope] [Info] vulkan: AB4H (0x48344241) +[gamescope] [Info] vulkan: XB4H (0x48344258) +[gamescope] [Info] vulkan: AB48 (0x38344241) +[gamescope] [Info] vulkan: XB48 (0x38344258) +[gamescope] [Info] vulkan: AB30 (0x30334241) +[gamescope] [Info] vulkan: XB30 (0x30334258) +[gamescope] [Info] vulkan: AR30 (0x30335241) +[gamescope] [Info] vulkan: XR30 (0x30335258) +[gamescope] [Info] wlserver: Using explicit sync when available +[gamescope] [Info] wlserver: Running compositor on wayland display 'gamescope-0' +[gamescope] [Info] wlserver: [backend/headless/backend.c:17] Starting headless backend +[gamescope] [Info] wlserver: Successfully initialized libei for input emulation! +[gamescope] [Error] wlserver: [xwayland/sockets.c:47] Failed to bind socket @/tmp/.X11-unix/X0: Address already in use +[gamescope] [Info] wlserver: [xwayland/server.c:108] Starting Xwayland on :2 +The XKEYBOARD keymap compiler (xkbcomp) reports: +> Warning: Multiple symbols for level 1/group 1 on key +> Using F23, ignoring XF86TouchpadOff +> Warning: Symbol map for key redefined +> Using last definition for conflicting fields +> Warning: Symbol map for key redefined +> Using last definition for conflicting fields +> Warning: Could not resolve keysym XF86ElectronicPrivacyScreenOn +> Warning: Could not resolve keysym XF86ElectronicPrivacyScreenOff +> Warning: Could not resolve keysym XF86ActionOnSelection +> Warning: Could not resolve keysym XF86ContextualInsert +> Warning: Could not resolve keysym XF86ContextualQuery +Errors from xkbcomp are not fatal to the X server +[gamescope] [Info] pipewire: stream state changed: connecting +[gamescope] [Info] pipewire: stream state changed: paused +[gamescope] [Info] pipewire: stream available on node ID: 173 +[gamescope] [Info] vblank: Using timerfd. +fsync: up and running. +[Gamescope WSI] No application info given. +[Gamescope WSI] Executable name: explorer.exe +ATTENTION: default value of option vk_wsi_force_swapchain_to_current_extent overridden by environment. +[Gamescope WSI] Application info: + pApplicationName: xalia.exe + applicationVersion: 0 + pEngineName: DXVK + engineVersion: 12587008 + apiVersion: 4206592 +[Gamescope WSI] Executable name: xalia.exe +ATTENTION: default value of option vk_wsi_force_swapchain_to_current_extent overridden by environment. +[Gamescope WSI] No application info given. +[Gamescope WSI] Application info: + pApplicationName: ArmaReforgerWorkbenchSteamDiag.exe + applicationVersion: 1 + pEngineName: DXVK + engineVersion: 12587008 + apiVersion: 4206592 +[Gamescope WSI] Executable name: ArmaReforgerWorkbenchSteamDiag.exe +ATTENTION: default value of option vk_wsi_force_swapchain_to_current_extent overridden by environment. +[Gamescope WSI] No application info given. +The XKEYBOARD keymap compiler (xkbcomp) reports: +> Warning: Unsupported maximum keycode 709, clipping. +> X11 cannot support keycodes above 255. +> Warning: Virtual modifier Hyper multiply defined +> Using 0, ignoring 0 +> Warning: Virtual modifier ScrollLock multiply defined +> Using 0, ignoring 0 +Errors from xkbcomp are not fatal to the X server +ATTENTION: default value of option vk_wsi_force_swapchain_to_current_extent overridden by environment. +[Gamescope WSI] Application info: + pApplicationName: ArmaReforgerWorkbenchSteamDiag.exe + applicationVersion: 0 + pEngineName: DXVK + engineVersion: 12587008 + apiVersion: 4206592 +ATTENTION: default value of option vk_wsi_force_swapchain_to_current_extent overridden by environment. +[Gamescope WSI] Application info: + pApplicationName: ArmaReforgerWorkbenchSteamDiag.exe + applicationVersion: 0 + pEngineName: vkd3d + engineVersion: 12587008 + apiVersion: 4206592 +[Gamescope WSI] Forcing on VK_EXT_swapchain_maintenance1. +ATTENTION: default value of option vk_wsi_force_swapchain_to_current_extent overridden by environment. +[Gamescope WSI] No application info given. +ATTENTION: default value of option vk_wsi_force_swapchain_to_current_extent overridden by environment. +[Gamescope WSI] Application info: + pApplicationName: ArmaReforgerWorkbenchSteamDiag.exe + applicationVersion: 0 + pEngineName: vkd3d + engineVersion: 12587008 + apiVersion: 4206592 +[Gamescope WSI] Forcing on VK_EXT_swapchain_maintenance1. +[Gamescope WSI] Creating Gamescope surface: xid: 0x1a001a4 +[Gamescope WSI] Atom of T was wrong type. Expected XCB_ATOM_CARDINAL. +[Gamescope WSI] Made gamescope surface for xid: 0x1a001a4 +[Gamescope WSI] Surface state: + steam app id: 1874910 + window xid: 0x1a001a4 + wayland surface res id: 5 + layer client flags: 0x4 + server hdr output enabled: false + hdr formats exposed to client: false +[gamescope] [Info] launch: Primary child shut down! +(EE) failed to read Wayland events: Broken pipe diff --git a/docs/evidence/native-2026-09-19-050158-lifecycle-compile-failure/report.json b/docs/evidence/native-2026-09-19-050158-lifecycle-compile-failure/report.json new file mode 100644 index 0000000..de4f2ce --- /dev/null +++ b/docs/evidence/native-2026-09-19-050158-lifecycle-compile-failure/report.json @@ -0,0 +1,18 @@ +{ + "log": "docs/evidence/native-2026-09-19-050158-lifecycle-compile-failure/console.log.txt", + "smoke_completions": 0, + "assertions_passed": 0, + "script_or_runtime_failures": [ + "05:02:03.168 SCRIPT (E): @\"Scripts/Game/ERR/ERR_SpawnFinalization.c,3\": Variable name 'PlayerId' is already used as type name", + "05:02:03.168 SCRIPT (E): @\"Scripts/Game/ERR/ERR_SpawnFinalization.c,4\": Variable name 'Identity' is already used as type name", + "05:02:03.486 SCRIPT (E): Can't compile \"Game\" script module!" + ], + "engine_errors": [ + "05:02:03.168 SCRIPT (E): @\"Scripts/Game/ERR/ERR_SpawnFinalization.c,3\": Variable name 'PlayerId' is already used as type name", + "05:02:03.168 SCRIPT (E): @\"Scripts/Game/ERR/ERR_SpawnFinalization.c,4\": Variable name 'Identity' is already used as type name", + "05:02:03.486 SCRIPT (E): Can't compile \"Game\" script module!", + "05:02:03.996 ENGINE (E): Unable to initialize a game/gamelib. Some workbench features will not work." + ], + "missing_end_screen": [], + "scope": "scripted local Workbench integration only; no multiplayer, piloting or FPS claim" +} diff --git a/docs/evidence/native-2026-09-19-050158-lifecycle-compile-failure/runner.json.txt b/docs/evidence/native-2026-09-19-050158-lifecycle-compile-failure/runner.json.txt new file mode 100644 index 0000000..c92c265 --- /dev/null +++ b/docs/evidence/native-2026-09-19-050158-lifecycle-compile-failure/runner.json.txt @@ -0,0 +1,9 @@ +{ + "result": "test-failed", + "session": "/tmp/erri-workbench-profile/logs/logs_2026-09-19_05-01-58", + "rounds_required": 1, + "project": "core", + "display": "headless Gamescope 1280x720/30Hz", + "dedicated_server": false, + "audio": "silent sink and per-test-stream mute" +} diff --git a/docs/evidence/native-2026-09-19-050158-lifecycle-compile-failure/script.log.txt b/docs/evidence/native-2026-09-19-050158-lifecycle-compile-failure/script.log.txt new file mode 100644 index 0000000..6ed6cb6 --- /dev/null +++ b/docs/evidence/native-2026-09-19-050158-lifecycle-compile-failure/script.log.txt @@ -0,0 +1,17 @@ +--------------------------------------------- +Log Z:\tmp\erri-workbench-profile\logs\logs_2026-09-19_05-01-58\script.log started at 2026-09-19 05:02:01 (2026-09-19 03:02:01 UTC) + +05:02:01.451 SCRIPT : SCRIPT : Initializing scripts +05:02:01.451 SCRIPT : SCRIPT : ScriptProjectManager init +05:02:02.399 SCRIPT : SCRIPT : Compiling GameLib scripts +05:02:02.456 SCRIPT : Module: Workbench; loaded 18x files; 36x classes; used 125K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE"; CRC32: 90ce0460 +05:02:02.456 SCRIPT : Module: GameLib; loaded 465x files; 648x classes; used 828K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE"; CRC32: 4507af04 +05:02:02.457 SCRIPT : SCRIPT : Compiling Game scripts +05:02:03.168 SCRIPT : Compiling Game scripts +05:02:03.168 SCRIPT (E): @"Scripts/Game/ERR/ERR_SpawnFinalization.c,3": Variable name 'PlayerId' is already used as type name +05:02:03.168 SCRIPT (E): @"Scripts/Game/ERR/ERR_SpawnFinalization.c,4": Variable name 'Identity' is already used as type name +05:02:03.486 SCRIPT (E): Can't compile "Game" script module! + +Scripts/Game/ERR/ERR_SpawnFinalization.c(3): Variable name 'PlayerId' is already used as type name +05:02:03.996 SCRIPT (W): Failed to load +05:02:03.996 SCRIPT (W): Initializing default GameLib's game class. diff --git a/docs/evidence/native-2026-09-19-050158-lifecycle-compile-failure/source-sha256.json b/docs/evidence/native-2026-09-19-050158-lifecycle-compile-failure/source-sha256.json new file mode 100644 index 0000000..46a5c96 --- /dev/null +++ b/docs/evidence/native-2026-09-19-050158-lifecycle-compile-failure/source-sha256.json @@ -0,0 +1,118 @@ +{ + "addons/ai/Prefabs/ERR/MortarCrew.et": "05d3e7353ff9fe5523218a1487b31b7b742b0be8adbcb060c7099978cf008bce", + "addons/ai/Prefabs/ERR/MortarCrew.et.meta": "fdfd4fcd21a67c3d698fa4aadc4e5c76e665cebf4be86013bc389e493fab63cc", + "addons/ai/Scripts/Game/ERR/ERR_HQ.c": "ceafd6740ed277748744ce56ac0f0bb3a8521fcc060dafb2cdb99896aedf405a", + "addons/ai/Scripts/Game/ERR/ERR_HQJournal.c": "b3e402cfe92d415f37f666045afb062e6e11670ba03a0ca6f2d9fd4fc3520ac1", + "addons/ai/Scripts/Game/ERR/ERR_HQNetwork.c": "92ff2caca52e94c2cc9642dfc8509ce6e9349b257012bade8650bace9231128c", + "addons/ai/Scripts/Game/ERR/ERR_HQObservation.c": "36c978ec5f052213ac1236e1398d85063efbfd7ef60fe04f1fc11447fefe1d68", + "addons/ai/Scripts/Game/ERR/ERR_HQReport.c": "c4d16ccb571db4d9444c0a8d2be7318845d25ff90238b6d304e96a9ea19f1a08", + "addons/ai/Scripts/Game/ERR/ERR_HelicopterAvailability.c": "60eaef2f6d4b2fd44861c5a4434ef97e732e40a5ff7401e2da451ed2dd9c2762", + "addons/ai/Scripts/Game/ERR/ERR_MortarBattery.c": "66b8f16b692a0f75fc9d920f5224d9292a0f1dc7dd8b2dde912e676fa80ddc9c", + "addons/ai/Scripts/Game/ERR/ERR_MortarFiring.c": "657e96d1112b68c8ced37793e99f88e6078b38a579190e63d00b1f9a9a032e26", + "addons/ai/Scripts/Game/ERR/ERR_MortarPrediction.c": "470dd196ed64800c697d24c09d1344bacd2502587fac76af4ee0edae2563092d", + "addons/ai/Scripts/Game/ERR/ERR_MortarSalvo.c": "697c01f479df6c505a41d984a29c02002e3052114dafa2ec6252ae55e2979a2b", + "addons/ai/Scripts/Game/ERR/ERR_MortarSystem.c": "12d8fc39d47e03c3838e0642aa9e4a80baf60f250357493bff812d5c75812c86", + "addons/ai/Scripts/Game/ERR/ERR_SettlementSafety.c": "e5c0ebc95521a9a33a3f7d9cca6c551dda862a08b7af20b017877aba9584795b", + "addons/ai/Scripts/Game/ERR/ERR_SupportScenario.c": "71757018ec9716c4dc24f62a292a214919d3fd5daed3c16e03e56abd208e9f03", + "addons/ai/addon.gproj": "5f559db8f526700db11e6ae763f5245f19b7006fc68c56e4c09fb6f940bdf2a1", + "addons/chat/Missions/ERR_Everon.conf": "76f3ac0d21b585654beac7ddd68e3c8cbdd66dbfe909b17b04838fa813a7c29b", + "addons/chat/Missions/ERR_Everon.conf.meta": "0a23c98bf83873536c65fa17d38dea33a1d7b9e4ab210f90633ff688abcc551f", + "addons/chat/Scripts/Game/ERR/ERR_AdminCommands.c": "7ea6d6b240524cf0193c86fcab861fbdef9adca780acff11ee73f9ed0e99ce7b", + "addons/chat/Scripts/Game/ERR/ERR_NativeMortarProbe.c": "ddb892141500c192c0787b011d57dd8c07dd8c9a3ca5fdc407f6c271897bde0a", + "addons/chat/Scripts/Game/ERR/ERR_NativeRadioProbe.c": "84524163c63402755b4f834f74dfe6d8e5c397dc26031f532593c6f79f5a93b1", + "addons/chat/Scripts/Game/ERR/ERR_NativeSmoke.c": "0ab2fed95dcaa0442cf7feb25743308060d58497e347f17dbd25c8e970a9f81f", + "addons/chat/Scripts/WorkbenchGame/ERR/ERR_ValidateWorldPlugin.c": "81c92d408ce88cc9f98d6053f1d0c863427693ba748f00df9f1bf8079015ef94", + "addons/chat/addon.gproj": "ea1587e0174cf795334d306c71d99b06797fc891427cd57b6cab6e21cf0e4e0e", + "addons/core/Configs/ERR/EveronSites.conf": "2edb2c6983eb627800b65d9e244b9b228e0b82282e089c7b12e5a8921a2ea7bf", + "addons/core/Configs/ERR/EveronSites.conf.meta": "d5fe68025ef4e7c1e16082cf5873b7c7172eacbfaef4ab29b7e0e3c98f8dca56", + "addons/core/Configs/ERR/GameOverScreens.conf": "45231061911a1462d45fb6db0fecc2b0793f17b5ae71017174954ff4fbd20236", + "addons/core/Configs/ERR/GameOverScreens.conf.meta": "eb654b745c0b97b41c991694569ef4877a3c2315e0826f9556337cd68690843e", + "addons/core/Configs/ERR/VanillaFactions.conf": "f8b8b9898a16b4a4a55ab3c12d2547bef2dc433732c7643df980cb3aca715212", + "addons/core/Configs/ERR/VanillaFactions.conf.meta": "ac77725c0c21974991ef47a466b88122e939de8b46fd23e68889e7674cbb2bfd", + "addons/core/Missions/ERR_Everon_Base.conf": "1e6a0e9a756d15495201f71121626890f01efe6b00154c561672d4ec157960bd", + "addons/core/Missions/ERR_Everon_Base.conf.meta": "9b16267c644d815bcf98a3a3aaff30b93d7224fb24d3a2bac66730a28011f317", + "addons/core/Prefabs/ERR/Extraction.et": "1aa286ef253c5410f09fa641e4be91a7be8ec834487a7fbb74cfb45cab60ee1e", + "addons/core/Prefabs/ERR/Extraction.et.meta": "c2a838633001e2e3a202d39cb33aa744ebcd996017ad032359069641b5d13853", + "addons/core/Prefabs/ERR/FieldCover.et": "20f8095e69dbfe3db74ff19078e528ea75405362b335e03560ccd61f8df2e7f3", + "addons/core/Prefabs/ERR/FieldCover.et.meta": "83461ffa76244e1d69f20b053a9741ccdf7d127009182bd540a7e5ba6150c3d9", + "addons/core/Prefabs/ERR/GameMode.et": "385c97a5b8067091d92aa60c2d4fcf02002cf606b95523866ead65c96b8c0029", + "addons/core/Prefabs/ERR/GameMode.et.meta": "106769cd34525c9d440057072836cb7401a6752148c40edd7fe61c03bd58328c", + "addons/core/Prefabs/ERR/ObjectiveDocument.et": "2e72270bf186654af12d2c3ff9bf940690b03fb17fca44f873c1fde5d11384c0", + "addons/core/Prefabs/ERR/ObjectiveDocument.et.meta": "eaba9903be147b98a1106e2273e2270773df73b9b22f2cd4e20136a8e281382e", + "addons/core/Prefabs/ERR/Patrol.et": "c5685a8bc311cc5563fb3334beec9408d3d7a1069152fddeeb7df4f1b7f9e6ce", + "addons/core/Prefabs/ERR/Patrol.et.meta": "7c5da568fa2fcf0709ee2959253cb068d7c7ed7c2467af3b247a7e70efd96b69", + "addons/core/Prefabs/ERR/Prison.et": "1503db1441d8cd7a4f0b45c27ba9623b9fa39f0f81016e180bd2aa1379e1f42a", + "addons/core/Prefabs/ERR/Prison.et.meta": "2e426ef3de68f4107907854b51e818bc11d84649a01c538e3f18dd9ebec766bb", + "addons/core/Prefabs/ERR/PrisonDoor.et": "fc66be9d36f1f01084de59f1b0a1e8817f9e46547ead33d4fafaac0107446c40", + "addons/core/Prefabs/ERR/PrisonDoor.et.meta": "b8f3db52bf186426026668fbb9d633c3cbd4d438ab301fba880398f6a0e781c2", + "addons/core/Prefabs/ERR/PrisonWall.et": "8009d19365ae72a4749d7ad4fa04662575b06c65c6bf06507d380d57258b5eed", + "addons/core/Prefabs/ERR/PrisonWall.et.meta": "0294bc5dbb56f90f8153d62459bb0a6ad91d76a479812bbec9c7db182fdb58d6", + "addons/core/Prefabs/ERR/Radio.et": "b4b5cfe125b39019855816c9a1c508ca4d65d435b5546fdaa6c1fa3c8c9b1165", + "addons/core/Prefabs/ERR/Radio.et.meta": "bc91137b68ba550217914fb8892bb44d7e1920e4a1086f3e506623832a44212f", + "addons/core/Prefabs/ERR/SpectatorCamera.et": "b5b87d5b7b707f3745741aebe7c923067c8a74f8fbb2a4711834bab03bb5a812", + "addons/core/Prefabs/ERR/SpectatorCamera.et.meta": "2a16558f93915e31908a674509e9c89976470f78a84a1174a64b94b68b8f77ad", + "addons/core/Prefabs/ERR/SupplyCache.et": "bccf7afbaae97cfcdd78dd6dbbf4be5b2c045d348f50fe4581962e556c0044d7", + "addons/core/Prefabs/ERR/SupplyCache.et.meta": "2f5de3a4aab1e9d0e35521f48dc57b95bd6e449c383dec4f1c258e10295904cb", + "addons/core/Prefabs/ERR/SupplySite.et": "dc5decce5cabf39b6116e8794ec3960cb1e35761854fdbe69740da118787ded4", + "addons/core/Prefabs/ERR/SupplySite.et.meta": "b41944b12eb3528ff7a3ac94258b18c66ef161aa6a38894aee300a1ac4798630", + "addons/core/Scripts/Game/ERR/ERR_Actions.c": "adf93245e6d78c59b9839599d157a0d2b2b93ea93b3d1ae52e2904dd6c288266", + "addons/core/Scripts/Game/ERR/ERR_Actors.c": "b3c5aabb05f7cf35167bc09b5db51a4ffd89a46658805d6eedbfb80eee30273d", + "addons/core/Scripts/Game/ERR/ERR_AdminService.c": "047c14ce60cc0b167e202438f8f2b1063590e69ef88ea55b54598aea5f99c505", + "addons/core/Scripts/Game/ERR/ERR_DiscoveryMap.c": "2f4ea342fea0530061456be9cdce002d5e7a282e4e27eb88f3860e79f93612bf", + "addons/core/Scripts/Game/ERR/ERR_DiscoveryService.c": "6b5679447fe4a6d7d54c0545881ab56284f871556b3159207d421247f419eada", + "addons/core/Scripts/Game/ERR/ERR_DocumentComponent.c": "17bb76b80ebd3357e46d553c44674f602c7bd6901c92aec53ac8214194aa4ff2", + "addons/core/Scripts/Game/ERR/ERR_EscapeGameOverScreenInfo.c": "b1e1afb7795cb77c0bad94c85abf705b26b9dc2a9400905d80eafd56bdd009d3", + "addons/core/Scripts/Game/ERR/ERR_ExtractionService.c": "91357099b4e0401196b67d48963be54be30e56bdba57cdac67dc20b8ebb883e9", + "addons/core/Scripts/Game/ERR/ERR_FactionCatalog.c": "a5a8c53acf21259e14f59cb919535910f30dabff5a9179c664bc6a7a4d744d6e", + "addons/core/Scripts/Game/ERR/ERR_GameMode.c": "d766d1639378070bea64eef38baa4667f8b9f5f1a2a7b170f0fc5e8fd557917d", + "addons/core/Scripts/Game/ERR/ERR_Location.c": "d2035f56ded35743312ec6ca91a67f8623a466c91255e1893c570edf0954ff24", + "addons/core/Scripts/Game/ERR/ERR_MissionRules.c": "f7abc38ad8fdc375ce7fa63a65f0bade027d22b37e09de5e3f94ba8c3c63cc41", + "addons/core/Scripts/Game/ERR/ERR_NativeBaseSmoke.c": "128ce09f0d3f9a629aa3fcde1db0207249037de75b9dbdfadff141b43b1bfebf", + "addons/core/Scripts/Game/ERR/ERR_NativeContractsProbe.c": "d1556df885171cf967e96eef5d8981a2e9ee4e3938b7d32fdd0426f647bbabc0", + "addons/core/Scripts/Game/ERR/ERR_NativeDefinitionProbe.c": "d05ef8368ef5afa68e29f45843cb1878b5a09be768f8abdff2f4115c23759b01", + "addons/core/Scripts/Game/ERR/ERR_NativeExtractionProbe.c": "4b09385f73206de004f4f3c38a6192fd658a0d2012482dc5a84dff1599ceb972", + "addons/core/Scripts/Game/ERR/ERR_NativeLifecycleProbe.c": "cf9a12914631aa881f7d094d472d6274c91c8bb981293494272f447d03b7321f", + "addons/core/Scripts/Game/ERR/ERR_NativeObjectiveProbe.c": "451f46d9a51753841046698911ee9954088214b6df856776a316865466fbce0f", + "addons/core/Scripts/Game/ERR/ERR_NativeRadioDefenceProbe.c": "4b8779b7556a92aa4fb8031991b8293e2a66bdc4873d0b2999f72a75b62dedec", + "addons/core/Scripts/Game/ERR/ERR_NativeResultProbe.c": "b9a117eef2d5f65fbd792041a2b3e59e38e201bda8e0df8c503e1a1242cfc415", + "addons/core/Scripts/Game/ERR/ERR_NativeSiteSurvey.c": "ac0203753ade0cdff6d483132797a80e4520f14546c3f9dea288281cd4cd9c4f", + "addons/core/Scripts/Game/ERR/ERR_NativeStationTeardownDiagnostic.c": "c01cbdbfe25fd38916fa74f2c02333baaacd5228686fd6e40b33c27b3cea8ed8", + "addons/core/Scripts/Game/ERR/ERR_NativeTimeProbe.c": "c93d049785971e51246fcc07cf24804270a752a655505f2c38e48c80df5255ae", + "addons/core/Scripts/Game/ERR/ERR_NativeTransportProbe.c": "63ec0c5ce698114daa6314b2a6e3c3e98e76094117c477f9d0d072260686d193", + "addons/core/Scripts/Game/ERR/ERR_NativeTransportSurvey.c": "3e94493bf54d15be2bceb106ad18873e14e6755af09c05f07db7fb26fb7adff5", + "addons/core/Scripts/Game/ERR/ERR_ObjectiveDetails.c": "900bdcd11075230e0d311ca8725c1d7938cb2a4efa71360709003d90092a7e69", + "addons/core/Scripts/Game/ERR/ERR_ObjectiveText.c": "bbb29949194637e6781316836c895e2c0fa7ccdb547d4d944a717da2ad73b0a2", + "addons/core/Scripts/Game/ERR/ERR_Objectives.c": "88d95a52fcba103483ea751571e1afeae0e6fc82115ed50d6fc195424726960f", + "addons/core/Scripts/Game/ERR/ERR_Observer.c": "b719e723369ab4f403950c85226e1336eb48e3c127e84530ac1c695eb86bd0f9", + "addons/core/Scripts/Game/ERR/ERR_PlayerAdminCommands.c": "a084d7dc097dfcde3d6cd9c2e326b9e2f8f2a519f77b30c4f56ab7a1429aa721", + "addons/core/Scripts/Game/ERR/ERR_PlayerEscapeResult.c": "3124ab4d2d6d471409a47aba0af528790734df53243c03fe0cdac3e407047c14", + "addons/core/Scripts/Game/ERR/ERR_PlayerGuide.c": "2c9c365b88651f8b12618443638bf52c04e497221592bd483c33447e30468f36", + "addons/core/Scripts/Game/ERR/ERR_PlayerRoster.c": "a737ba739b3f73a91cd05d808a1d45070e83b5152c003c3164e29842dda51995", + "addons/core/Scripts/Game/ERR/ERR_RadioDefenceService.c": "85eb9c1b65d5987799927b6d8786b7299fcff849bcb15b91f8a4d1aa95823fd1", + "addons/core/Scripts/Game/ERR/ERR_Resources.c": "8a5314944f75b23982c6b99697045e3c0538aa2137b2c947a5b2411e6076ac03", + "addons/core/Scripts/Game/ERR/ERR_ScenarioComponent.c": "abba03af68323d5715ba1e2497fc66f3c706e6a6a983c3a386228abdfddeec89", + "addons/core/Scripts/Game/ERR/ERR_Settings.c": "2aee784e44c732e09f59150896491ab325ef5e62aa6bad725be1fda955a3f614", + "addons/core/Scripts/Game/ERR/ERR_SiteDefinition.c": "75b5121ceab77f0956f0dc34bd077b11af5586350de52321800427f18cc94477", + "addons/core/Scripts/Game/ERR/ERR_SiteService.c": "7ba02712562b3c8cd8de9851b6f26fed85020faacceef0767408b300b935c110", + "addons/core/Scripts/Game/ERR/ERR_SpawnFinalization.c": "f6687814000ec4d812397465f8ec5dcdc2be88bbc40f40d2fb8ed1371623f14b", + "addons/core/Scripts/Game/ERR/ERR_SpawnLogic.c": "3cb4a8963837faf6ac8a76dbfcdc94eee10c78020e67fadc14d21d28f96658e2", + "addons/core/Scripts/Game/ERR/ERR_SpawnPlacement.c": "284db0d4a5ecd38f9c658c91ce943f4c0c30dcf4d31bb3edeea92e4ab0b1436a", + "addons/core/Scripts/Game/ERR/ERR_Supplies.c": "752e8a56b0b8cde33cf532032cb0a203553017b686faac2e19bee06f7a9c0713", + "addons/core/Scripts/Game/ERR/ERR_TimeService.c": "d9f481b7da01e08d2c982a948c18ba6bde76889d7cc9d26d510708f4ba479453", + "addons/core/Scripts/WorkbenchGame/ERR/ERR_ValidateBaseWorldPlugin.c": "7f44aa64ea7b4f8b3640a37a4b781c43bf6adb80e4a3a702d9491131698056f6", + "addons/core/Worlds/ERR_Everon.ent": "22324bc7eb0d80dec8a1f3bd61a9df9201b72f749f4e751766b0c9d0b7d46b87", + "addons/core/Worlds/ERR_Everon.ent.meta": "19d1903ca72baa326b4724a6791d0da1104a1e53f3f31dc1ca41a856efd68e83", + "addons/core/Worlds/ERR_Everon_Layers/default.layer": "f1a058bd315c7d01d464715ac9f4e18ae3d2432551d094a9afbd4c9c5a2a9416", + "addons/core/addon.gproj": "231274e6b62302f32c65f9ff31de2ce8a9e51e1c8d12c87deeec82ae1f40de46", + "addons/intel/Scripts/Game/ERR/ERR_IntelService.c": "482839434b94e7f8c345d5fd96490aeebb765f3dd0c1bb25fceea2f435c0e722", + "addons/intel/addon.gproj": "d0ced242cefb220a5cccd6779d61fda9bc55581701b9f78bcf13c09d92ddbcbe", + "addons/map/Materials/ERRM_MapRenderTarget.emat": "9877c5b175c5f30dd80bea36c711b21ab38219aa7075adf9ae79932e1d4c76bc", + "addons/map/Materials/ERRM_MapRenderTarget.emat.meta": "5ee1a705f8011a44020ca2691f5ccc17d44bf596fef9a36e98d1f267eb58fab0", + "addons/map/Prefabs/Items/Equipment/ERRM_SharedFieldMap.et": "30dee8e9eab459ea32a7d835a9fb89d43df47708057cab829f067b25a24cd581", + "addons/map/Prefabs/Items/Equipment/ERRM_SharedFieldMap.et.meta": "59093e9072c50d99c86da7609c87541016da5bcf92b98d99db4c524e1c8e0e8d", + "addons/map/Scripts/Game/ERR/ERR_ScenarioMap.c": "75fa1d742129ef7f33c005cd48f56db7f49ee7bde3c5428532b0b501b032b0a3", + "addons/map/Scripts/Game/ERRMap/ERRM_SharedMapComponent.c": "fc1a0c7df4fc96da446d7542a45a10fbec1eda1e543ba2f0581cb772277a47c5", + "addons/map/UI/layouts/ERRMap/SharedMapRenderTarget.layout": "49a2da4181b94d42174f58c7f9b6bf2207116c99427d61ff1c212092ac7db4d2", + "addons/map/UI/layouts/ERRMap/SharedMapRenderTarget.layout.meta": "5c846445cc089e2e08899ba703059d4adb805ff30ab5a16409a3cd59718cbd54", + "addons/map/addon.gproj": "1b371e5e01ea9fa46e76570fecb8aaa3a9298e34cba7ccca8a6bdb5ca86eb46a" +} diff --git a/docs/evidence/native-2026-09-19-050240-lifecycle-reflection-failure/console.log.txt b/docs/evidence/native-2026-09-19-050240-lifecycle-reflection-failure/console.log.txt new file mode 100644 index 0000000..875815c --- /dev/null +++ b/docs/evidence/native-2026-09-19-050240-lifecycle-reflection-failure/console.log.txt @@ -0,0 +1,382 @@ +--------------------------------------------- +Log Z:\tmp\erri-workbench-profile\logs\logs_2026-09-19_05-02-40\console.log started at 2026-09-19 05:02:40 (2026-09-19 03:02:40 UTC) + +05:02:40.649 ENGINE : FileSystem: Adding relative directory 'Z:\tmp\erri-workbench-profile\logs\logs_2026-09-19_05-02-40' to filesystem under name logs +05:02:40.649 ENGINE : FileSystem: Adding relative directory 'Z:\tmp\erri-workbench-profile\profile' to filesystem under name profile +05:02:40.649 ENGINE : FileSystem: Current working directory: 'Z:\home\jakub\.local\share\Steam\steamapps\common\Arma Reforger Tools\Workbench\' +05:02:40.651 PROFILING : Workbench Create Engine took: 9.077900 ms +05:02:41.687 INIT : INIT : Workbench Init Engine +05:02:41.687 ENGINE : Initializing engine, version 192142 +05:02:41.687 ENGINE : CLI Params: -gproj Z:/home/jakub/devel/escapistsrereintroduced/addons/core/addon.gproj -addonsDir Z:/home/jakub/devel/escapistsrereintroduced/addons -profile Z:/tmp/erri-workbench-profile -logconsole -wbModule WorldEditor -load Worlds/ERR_Everon.ent -plugin ERR_ValidateBaseWorldPlugin -errPlay 1 -errBaseSmoke 1 -errSmokeOutcome lifecycle -noThrow -errStationTeardownDiag 1 +05:02:41.695 ENGINE : Addon dirs: +05:02:41.695 ENGINE : dir: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/core/' +05:02:41.695 ENGINE : dir: 'Z:/home/jakub/devel/escapistsrereintroduced/addons' +05:02:41.695 ENGINE : dir: './addons' +05:02:41.695 ENGINE : dir: 'Z:/tmp/erri-workbench-profile/addons' +05:02:41.695 ENGINE : Available addons: +05:02:41.695 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/core/addon.gproj' guid: '2528466DE220D91C' +05:02:41.695 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/ai/addon.gproj' guid: '5192138CB9D5B911' +05:02:41.695 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/chat/addon.gproj' guid: 'FA804F411BDDF2C6' +05:02:41.695 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/intel/addon.gproj' guid: 'D31039C7C53E348A' +05:02:41.695 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/map/addon.gproj' guid: '9AAEE9041D79809E' +05:02:41.695 ENGINE : gproj: './addons/core/core.gproj' guid: '5614BBCCBB55ED1C' (packed) +05:02:41.695 ENGINE : gproj: 'Z:/tmp/erri-workbench-profile/addons/ArmaReforger/ArmaReforger.gproj' guid: '58D0FB3206B6F859' (packed) +05:02:41.695 ENGINE : FileSystem: Adding relative directory 'Z:\home\jakub\devel\escapistsrereintroduced\addons\core' to filesystem under name ERR_Core +05:02:41.812 ENGINE : FileSystem: Adding package 'Z:/tmp/erri-workbench-profile/addons/ArmaReforger/' (pak count: 14) to filesystem under name ArmaReforger +05:02:41.815 ENGINE : FileSystem: Adding package './addons/core/' (pak count: 2) to filesystem under name core +05:02:41.815 ENGINE : CPU vendor : AuthenticAMD +05:02:41.815 ENGINE : CPU type : 2 +05:02:41.815 ENGINE : CPU name : AMD Ryzen 7 3800XT 8-Core Processor +05:02:41.815 ENGINE : CPU cache info : L1 [Inst 32KB, Data 32KB], L2 [Unif 512KB], L3 [Unif 16384KB] +05:02:41.815 ENGINE : CPU count logical : 16 +05:02:41.815 ENGINE : CPU count physical : 8 +05:02:41.815 ENGINE : CPU features : mmx sse sse2 sse3 ssse3 sse4_1 sse4_2 popcnt aesni pclmulqdq osxsave avx sha avx2 +05:02:41.815 RESOURCES : ResourceDB: loading cache (id=0 name=ERR_Core path=Z:\home\jakub\devel\escapistsrereintroduced\addons\core/resourceDatabase.rdb) +05:02:41.815 RESOURCES : ResourceDB: loading cache (id=1 name=ArmaReforger path=Z:/tmp/erri-workbench-profile/addons/ArmaReforger/resourceDatabase.rdb) +05:02:41.950 RESOURCES : ResourceDB: loading cache (id=2 name=core path=./addons/core/resourceDatabase.rdb) +05:02:41.952 RESOURCES : ResourceDB: loading cache (id=3 name=profile path=Z:\tmp\erri-workbench-profile\profile/resourceDatabase.rdb) +05:02:41.952 RESOURCES : ResourceDB: loading cache (id=4 name=logs path=Z:\tmp\erri-workbench-profile\logs\logs_2026-09-19_05-02-40/resourceDatabase.rdb) +05:02:42.101 RESOURCES : RESOURCES : ResourceDB: full scan +05:02:42.106 RESOURCES : RESOURCES : scanning... +05:02:42.106 RESOURCES : RESOURCES : scanning @"ERR_Core" +05:02:42.109 RESOURCES : RESOURCES : scanning @"ArmaReforger" +05:02:42.246 RESOURCES : RESOURCES : scanning @"core" +05:02:42.251 RESOURCES : RESOURCES : scanning @"profile" +05:02:42.251 RESOURCES : RESOURCES : scanning @"logs" +05:02:42.251 RESOURCES : RESOURCES : processing meta-files... +05:02:42.319 RESOURCES : RESOURCES : processing files... +05:02:42.330 INIT : Workbench startup +05:02:42.330 INIT : Workbench Init Engine +05:02:42.330 RESOURCES : ResourceDB: full scan +05:02:42.330 RESOURCES : processing files... +05:02:42.330 RESOURCES (W): resource not registered: @"$profile:rereintroduced.json". Setting null GUID +05:02:42.330 RESOURCES : RESOURCES : processing folders... +05:02:42.336 RESOURCES : RESOURCES : creating GUID-item mapping... +05:02:42.352 RESOURCES : RESOURCES : building tree... +05:02:42.405 PROFILING : ResourceDB: full scan took: 303.461600 ms +05:02:42.406 RESOURCES : ResourceDB: saving cache (id=0 name=ERR_Core path=Z:\home\jakub\devel\escapistsrereintroduced\addons\core/resourceDatabase.rdb) +05:02:42.408 RESOURCES : ResourceDB: written 4000/4000 bytes +05:02:42.408 RESOURCES : ResourceDB: cache successfully saved +05:02:42.408 RESOURCES : ResourceDB: saving cache (id=3 name=profile path=Z:\tmp\erri-workbench-profile\profile/resourceDatabase.rdb) +05:02:42.409 RESOURCES : ResourceDB: written 206/206 bytes +05:02:42.409 RESOURCES : ResourceDB: cache successfully saved +05:02:42.409 RESOURCES : ResourceDB: saving cache (id=4 name=logs path=Z:\tmp\erri-workbench-profile\logs\logs_2026-09-19_05-02-40/resourceDatabase.rdb) +05:02:42.411 RESOURCES : ResourceDB: written 81/81 bytes +05:02:42.411 RESOURCES : ResourceDB: cache successfully saved +05:02:42.411 ENGINE : GameProject load +05:02:42.411 ENGINE : Loaded addons: +05:02:42.411 ENGINE : gproj: './addons/core/core.gproj' guid: '5614BBCCBB55ED1C' +05:02:42.411 ENGINE : gproj: 'Z:/tmp/erri-workbench-profile/addons/ArmaReforger/ArmaReforger.gproj' guid: '58D0FB3206B6F859' +05:02:42.411 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/core/addon.gproj' guid: '2528466DE220D91C' +05:02:42.413 ENGINE : Loading custom engine user config '$profile:.save/app1874910_user76561198020202999/settings/ReforgerEngineSettings.conf' +05:02:42.413 INIT : GameProject engine user settings load @"$profile:.save/app1874910_user76561198020202999/settings/ReforgerEngineSettings.conf" +05:02:42.413 ENGINE : Engine user settings config loaded +05:02:42.413 PROFILING : Settings changed took: 0.001400 ms +05:02:42.516 RENDER : (OK) Adapter 'AMD Radeon RX 6950 XT (RADV NAVI21)' supports feature level 12_0 +05:02:42.518 RENDER : Basic screen setup: +05:02:42.518 RENDER : Back buffer format : TEXFMT_R8G8B8A8_SRGB (29) +05:02:42.518 RENDER : MSAA : none +05:02:42.530 RENDER : AMD AGS library initialized, version 6.1.0 x DLL 6.1.0 +05:02:42.530 RENDER : Extendeded AMD info for AMD Radeon RX 6950 XT (RADV NAVI21) (primary device) +05:02:42.530 RENDER : * architecture RDNA2, 80 CUs, 40 WGPs (for RDNA), 64 ROPs +05:02:42.530 RENDER : * core clocks 2720 MHz, memory 1124 MHz +05:02:42.531 RENDER : * TFlops 27.9, memory bandwidth (562.0 GB/s) +05:02:42.531 RENDER : AMD AGS correctly initialized +05:02:42.531 RENDER : GPU_ATI (0x1002) (AMD Radeon RX 6950 XT (RADV NAVI21)) with 1 GPU detected, VRAM 16128MB (fast 0MB), shared 64362MB, driver version 99.19.02-230831a-396538C-AMD-Software-Adrenalin-Edition +05:02:42.531 RENDER : Detected output devices: +05:02:42.531 RENDER : * 1 device/s connected to AMD Radeon RX 6950 XT (RADV NAVI21): +05:02:42.531 RENDER : Generic Non-PnP Monitor (\\.\DISPLAY1), 1280x720 (offset 0x0), 30Hz +05:02:42.531 RENDER : Concurrent frames limit 2 +05:02:42.608 RENDER : DX12 device successfully created by AMD AGS library +05:02:42.608 RENDER : * user markers not supported in this version AMD SW +05:02:42.608 RENDER : Graphics device features +05:02:42.608 RENDER : Needed: +05:02:42.608 RENDER : * Highest supported shader model: 6.8 (6.0 needed) +05:02:42.608 RENDER : Optional: +05:02:42.608 RENDER : * Allow tearing (VSYNC) : 1 +05:02:42.608 RENDER : * 16 bits : 1 +05:02:42.608 RENDER : * Resource heap tier : 3 +05:02:42.608 RENDER : * Persistent heaps (DRED) : 1 +05:02:42.608 RENDER : * DRED 1.2 is supported by compiler +05:02:42.633 RENDER : Main RT format setup. +05:02:42.633 RENDER : Main RT format for quality 0 : TEXFMT_R11G11B10_FLOAT (26) +05:02:42.633 RENDER : Main RT format for quality 1 : TEXFMT_R16G16B16A16_FLOAT (10) +05:02:42.635 ENGINE : Job system settings: coreCount=16, shortJobContextCount=16, shortJobThreadCount=15, longJobThreadCount=16 +05:02:42.664 PROFILING : Settings changed took: 0.020100 ms +05:02:43.162 AUDIO : Endpoint: Speakers (PulseAudio Output) +05:02:43.162 AUDIO : Format: Channels: 2, Sample rate: 48kHz, Avg. bytes: 384kB, Sample bits: 32, Block align: 8B +05:02:43.162 AUDIO : Audio client: +05:02:43.162 AUDIO : Format: Channels: 2, Sample rate: 48kHz, Buffer size: 1536B, Frame: 512 +05:02:43.165 RENDER : RENDER : Reload shaders +05:02:43.166 RENDER : Enfusion shader version 13 +05:02:43.166 INIT : INIT : ShaderListReload +05:02:43.166 PROFILING : ShaderListReload took: 0.000500 ms +05:02:43.311 AUDIO : Endpoint: Speakers (PulseAudio Output) +05:02:43.311 AUDIO : Format: Channels: 2, Sample rate: 48kHz, Avg. bytes: 384kB, Sample bits: 32, Block align: 8B +05:02:43.311 AUDIO : Audio client: +05:02:43.311 AUDIO : Format: Channels: 2, Sample rate: 48kHz, Buffer size: 1536B, Frame: 512 +05:02:43.419 RENDER : Loaded 3752 newer shader binaries +05:02:43.419 PROFILING : Reload shaders took: 254.088200 ms +05:02:43.420 ENGINE : Initializing inputs. +05:02:43.433 NETWORK : Initializing networking. +05:02:43.433 NETWORK : Using new GameRplScheduler. +05:02:43.433 SCRIPT : SCRIPT : Initializing scripts +05:02:43.434 SCRIPT : SCRIPT : ScriptProjectManager init +05:02:44.264 PROFILING : ScriptProjectManager init took: 830.230200 ms +05:02:44.298 PROFILING : Initializing scripts took: 864.453900 ms +05:02:44.316 ENGINE : Enfusion engine successfully created. +05:02:44.316 PROFILING : Workbench Init Engine took: 2628.761100 ms +05:02:44.316 INIT : INIT : Workbench Create Game +05:02:44.326 GUI : Using default language (en_us) +05:02:44.326 GUI : Loading 'en_us' localization file. +05:02:44.326 INIT : INIT : Loading StringTable +05:02:44.350 PROFILING : Loading StringTable took: 23.492300 ms +05:02:44.350 SCRIPT : SCRIPT : Compiling GameLib scripts +05:02:44.403 SCRIPT : Module: Workbench; loaded 18x files; 36x classes; used 125K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE"; CRC32: 90ce0460 +05:02:44.403 SCRIPT : Module: GameLib; loaded 465x files; 648x classes; used 828K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE"; CRC32: 4507af04 +05:02:44.404 PROFILING : Compiling GameLib scripts took: 53.874500 ms +05:02:44.404 SCRIPT : SCRIPT : Compiling Game scripts +05:02:45.560 INIT : Workbench Create Game +05:02:45.560 SCRIPT : Compiling Game scripts +05:02:45.560 SCRIPT (W): @"Scripts/Game/Editor/Components/EditableEntity/SCR_EditableEntityComponent.c,785": 'GetPlayerPlatformKind' is obsolete +05:02:45.560 SCRIPT (W): @"Scripts/Game/Editor/Components/EditableEntity/SCR_EditableEntityComponent.c,786": 'GetPlayerPlatformId' is obsolete +05:02:45.806 SCRIPT (W): @"Scripts/Game/ERR/ERR_SiteService.c,140": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +05:02:45.816 SCRIPT (W): @"Scripts/Game/Workshop/SCR_AddonManager.c,876": 'GetRefCount' is obsolete: Will be removed +05:02:45.849 SCRIPT (W): @"Scripts/Game/Campaign/SCR_PlayerProfileManagerComponent.c,142": 'PlayerData' is obsolete +05:02:45.947 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,159": 'GetDSSession' is obsolete +05:02:45.947 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,162": 'RoomID' is obsolete +05:02:45.947 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,197": 'GetDSSession' is obsolete +05:02:45.947 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,201": 'RoomID' is obsolete +05:02:46.040 SCRIPT (W): @"Scripts/Game/DataCollection/SCR_DataCollectorComponent.c,481": 'GetStorage' is obsolete +05:02:46.040 SCRIPT (W): @"Scripts/Game/DataCollection/SCR_DataCollectorComponent.c,483": 'GetOnlineWritePrivilege' is obsolete +05:02:46.041 SCRIPT (W): @"Scripts/Game/Utilities/SCR_PlayerIdentityUtils.c,20": 'GetPlayerIdentityId' is obsolete +05:02:46.082 SCRIPT (W): @"Scripts/Game/ERR/ERR_ExtractionService.c,45": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +05:02:46.082 SCRIPT (W): @"Scripts/Game/ERR/ERR_ExtractionService.c,56": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +05:02:46.083 SCRIPT (W): @"Scripts/Game/UI/Menu/MainMenuUI.c,643": 'GetNotifyCount' is obsolete: Will be substitued by Notification Api. +05:02:46.083 SCRIPT (W): @"Scripts/Game/UI/Menu/MainMenuUI.c,645": 'GetNotifyItem' is obsolete: Will be substitued by Notification Api. +05:02:46.110 SCRIPT (W): @"Scripts/Game/ERR/ERR_NativeTransportProbe.c,82": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +05:02:46.143 SCRIPT (W): @"Scripts/Game/DataCollection/PlayerData/SCR_PlayerData.c,210": 'PlayerData' is obsolete +05:02:46.415 SCRIPT : Module: WorkbenchGame; loaded 171x files; 616x classes; used 2478K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE"; CRC32: db6febb9 +05:02:46.422 SCRIPT : Module: Game; loaded 5704x files; 11180x classes; used 32528K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE,ENABLE_BASE_DESTRUCTION,BUDGET_OPTIMIZATION_CHECKS,SHOW_DISCLAIMER,DEBUG,RESPAWN_TIMER_COMPONENT_DEBUG,GAME_MODE_DEBUG,DEBUG_CONFIGURABLE_DIALOGS,DISABLE_WEAPON_SWITCHING,SCRIPTED_AIM_MODIFIER_DEBUG"; CRC32: 8623c668 +05:02:46.458 PROFILING : Compiling Game scripts took: 2054.739200 ms +05:02:46.464 INIT : Creating game instance(ArmaReforgerScripted), version 1.8.0.13 built 2026-08-21 14:30:18 UTC. +05:02:46.501 ENGINE : Game successfully created. +05:02:46.503 PROFILING : Workbench Create Game took: 2186.628500 ms +05:02:46.509 DEFAULT : Using thumbnail cache directory: C:/users/steamuser/AppData/Local/Temp/Arma Reforger Workbench/Projects/ERR_Core/thumbnails +05:02:47.360 INIT : INIT : Workbench Reload Game +05:02:47.362 ENGINE : Game destroyed. +05:02:47.368 GUI : Using default language (en_us) +05:02:47.368 GUI : Loading 'en_us' localization file. +05:02:47.368 INIT : INIT : Loading StringTable +05:02:47.379 PROFILING : Loading StringTable took: 10.025900 ms +05:02:47.379 INIT : Creating game instance(ArmaReforgerScripted), version 1.8.0.13 built 2026-08-21 14:30:18 UTC. +05:02:47.385 SCRIPT : Unable to register a script command due keyword duplicity: ban +05:02:47.385 SCRIPT : Unable to register a script command due keyword duplicity: kick +05:02:47.385 ENGINE : Game successfully created. +05:02:47.385 ENGINE : Game successfully initialized. +05:02:47.385 PROFILING : Workbench Reload Game took: 24.834700 ms +05:02:48.113 WORLD : WORLD : Entities load '$ERR_Core:Worlds/ERR_Everon.ent' +05:02:49.183 WORLD : Entities load '$ERR_Core:Worlds/ERR_Everon.ent' +05:02:49.184 WORLD : Entity layer load @"$ERR_Core:Worlds/ERR_Everon_Layers/default.layer" +05:02:49.184 RESOURCES : GetResourceObject @"{978E045E53EF36C8}Prefabs/ERR/GameMode.et" +05:02:49.184 WORLD : Entity prefab load @"{978E045E53EF36C8}Prefabs/ERR/GameMode.et" +05:02:49.184 WORLD (E): Unknown class 'ERR_SpawnLogic' at offset 499(0x1f3) +05:02:49.188 PROFILING : Entities load took: 1074.525100 ms +05:02:49.199 WORLD : WORLD : CreateEntities +05:02:49.205 WORLD : WORLD : NotifyBeforeEntitiesCreated +05:02:49.205 PROFILING : NotifyBeforeEntitiesCreated took: 0.003900 ms +05:02:49.205 WORLD : WORLD : Wait for preloading data +05:02:49.205 PROFILING : Wait for preloading data took: 0.004300 ms +05:02:49.314 ENTITY : Create entity @"ENTITY:2" ('Eden', GenericTerrainEntity) at <0.000000 0.000000 0.000000> @"{5AD924374E8C7AF6}Prefabs/World/Game/Eden/GenericTerrain_Eden.et" +05:02:49.315 PROFILING : PROFILING : Terrain load +05:02:50.879 PROFILING : Terrain load took: 1564.228700 ms +05:02:54.853 WORLD : CreateEntities +05:02:54.854 ENTITY : Create entity @"ENTITY:610406" ('StaticModelEntity','Assets/Structures/Infrastructure/Towers/TransmitterTower_01/TransmitterTower_01_small.xob') at <1931.796021 81.777000 5138.725098> @"{6A004A8F0571D456}Prefabs/Structures/Infrastructure/Towers/TransmitterTower_01/TransmitterTower_01_small.et" +05:02:54.854 ENTITY : CreateComponent 'ScriptedRadioComponent' +05:02:54.854 DEFAULT (W): World doesn't contain RadioManagerEntity to support any BaseRadioComponent. +05:03:04.496 WORLD : WORLD : NotifyBeforeEntitiesInitialized +05:03:04.496 PROFILING : NotifyBeforeEntitiesInitialized took: 0.004700 ms +05:03:04.933 WORLD : InitEntities 'world' +05:03:04.934 ENTITY : Init entity @"ENTITY:2305843009213693953" ('Rereintroduced', ERR_GameMode) at <1076.468018 51.000999 1325.246948> @"{978E045E53EF36C8}Prefabs/ERR/GameMode.et" +05:03:04.934 SCRIPT (E): SCR_RespawnSystemComponent is missing SCR_SpawnLogic! +05:03:04.934 WORLD : WORLD : NotifyEntitiesInitialized +05:03:04.934 TERRAIN : TERRAIN : Initializing road networks... +05:03:04.937 PROFILING : Initializing road networks... took: 2.721100 ms +05:03:04.938 PROFILING : NotifyEntitiesInitialized took: 3.321500 ms +05:03:04.938 PROFILING : CreateEntities took: 15738.088700 ms +05:03:05.114 PROFILING : * WorldEditor: LoadWorld: 17006.096800 ms +05:03:06.612 TERRAIN : Loading tile map config (worlds/Eden/Eden/tileMap.conf) +05:03:06.612 TERRAIN : Loading minimap config (worlds/Eden/Eden/miniMap.conf) +05:03:06.613 TERRAIN : The default minimap texture ('worlds/Eden/EdenRasterized.edds') not found. Trying 'worlds/Eden/Eden.edds'... +05:03:06.613 TERRAIN : The default minimap texture ('worlds/Eden/Eden.edds') not found. Skipping... +05:03:06.701 SCRIPT : ERR SITE SURVEY: supply=6150/7050 elevationRange=0.625 min=202.875 max=203.5 +05:03:06.726 BACKEND : Attempting online Game Config instead. +05:03:09.895 INIT : INIT : Workbench Reload Game +05:03:09.897 ENGINE : Game destroyed. +05:03:09.904 GUI : Using default language (en_us) +05:03:09.904 GUI : Loading 'en_us' localization file. +05:03:09.904 INIT : INIT : Loading StringTable +05:03:09.924 PROFILING : Loading StringTable took: 19.987700 ms +05:03:09.924 INIT : Creating game instance(ArmaReforgerScripted), version 1.8.0.13 built 2026-08-21 14:30:18 UTC. +05:03:09.932 SCRIPT : Unable to register a script command due keyword duplicity: ban +05:03:09.932 SCRIPT : Unable to register a script command due keyword duplicity: kick +05:03:09.932 ENGINE : Game successfully created. +05:03:09.932 ENGINE : Game successfully initialized. +05:03:09.933 PROFILING : Workbench Reload Game took: 37.488600 ms +05:03:09.935 DEFAULT (W): LogiLED: Cannot initialize! (service not running or no compatible device detected) +05:03:09.984 PLATFORM : Save data from container 'settings' have been loaded +05:03:10.076 PLATFORM : Save data from container 'sessions' have been loaded +05:03:10.077 PLATFORM : GameProject user settings load from profile @"ReforgerGameSettings.conf" +05:03:10.077 ENGINE : Game user settings config loaded +05:03:10.174 DEFAULT : [SaveGameManager] Starting new playthrough nr.0 '' for mission '{B6C516F86302C679}Worlds/ERR_Everon.ent'. +05:03:10.184 WORLD : WORLD : Game::LoadEntities +05:03:10.184 WORLD : WORLD : Initializing world systems @"{1C60D2EDA2B468B8}Configs/Systems/BaseGameModeSystems.conf" +05:03:10.186 NETWORK : Enabled lag compensation, 29 frames with 100 FPS and 280 ms rewind limits. +05:03:10.187 WORLD : WORLD : CreateEntities +05:03:10.187 WORLD : WORLD : CreateEntities +05:03:10.187 WORLD : WORLD : NotifyBeforeEntitiesCreated +05:03:10.192 RESOURCES : Loaded mission headers from 7 addon(s)! +05:03:10.192 PROFILING : NotifyBeforeEntitiesCreated took: 5.263000 ms +05:03:10.192 WORLD : WORLD : Wait for preloading data +05:03:10.192 PROFILING : Wait for preloading data took: 0.001000 ms +05:03:14.655 WORLD : Game::LoadEntities +05:03:14.655 WORLD : CreateEntities +05:03:14.655 WORLD : CreateEntities +05:03:14.655 ENTITY : Create entity @"ENTITY:610406" ('StaticModelEntity','Assets/Structures/Infrastructure/Towers/TransmitterTower_01/TransmitterTower_01_small.xob') at <1931.796021 81.777000 5138.725098> @"{6A004A8F0571D456}Prefabs/Structures/Infrastructure/Towers/TransmitterTower_01/TransmitterTower_01_small.et" +05:03:14.655 ENTITY : CreateComponent 'ScriptedRadioComponent' +05:03:14.655 DEFAULT (W): World doesn't contain RadioManagerEntity to support any BaseRadioComponent. +05:03:16.066 ENTITY : Create entity @"ENTITY:842066" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1080.213013 10.776751 6018.347168> +05:03:16.066 ENTITY : CreateComponent 'Hierarchy' +05:03:16.066 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842066" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1080.213013 10.776751 6018.347168>') +05:03:16.066 ENTITY : Create entity @"ENTITY:842068" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1082.185913 10.778749 6018.331055> +05:03:16.066 ENTITY : CreateComponent 'Hierarchy' +05:03:16.066 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842068" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1082.185913 10.778749 6018.331055>') +05:03:16.066 ENTITY : Create entity @"ENTITY:842070" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1084.190918 10.790751 6018.334961> +05:03:16.066 ENTITY : CreateComponent 'Hierarchy' +05:03:16.066 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842070" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1084.190918 10.790751 6018.334961>') +05:03:16.070 ENTITY : Create entity @"ENTITY:842333" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4425.594727 9.981750 11029.402344> +05:03:16.070 ENTITY : CreateComponent 'Hierarchy' +05:03:16.070 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842333" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4425.594727 9.981750 11029.402344>') +05:03:16.071 ENTITY : Create entity @"ENTITY:842335" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4426.584473 9.983749 11031.109375> +05:03:16.071 ENTITY : CreateComponent 'Hierarchy' +05:03:16.071 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842335" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4426.584473 9.983749 11031.109375>') +05:03:16.071 ENTITY : Create entity @"ENTITY:842337" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4427.572266 9.995750 11032.853516> +05:03:16.071 ENTITY : CreateComponent 'Hierarchy' +05:03:16.071 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842337" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4427.572266 9.995750 11032.853516>') +05:03:16.075 ENTITY : Create entity @"ENTITY:842591" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.946289 10.470250 1551.986084> +05:03:16.075 ENTITY : CreateComponent 'Hierarchy' +05:03:16.075 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842591" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.946289 10.470250 1551.986084>') +05:03:16.075 ENTITY : Create entity @"ENTITY:842593" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.430664 10.472250 1550.081421> +05:03:16.075 ENTITY : CreateComponent 'Hierarchy' +05:03:16.075 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842593" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.430664 10.472250 1550.081421>') +05:03:16.075 ENTITY : Create entity @"ENTITY:842595" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10008.926758 10.484250 1548.140869> +05:03:16.075 ENTITY : CreateComponent 'Hierarchy' +05:03:16.075 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842595" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10008.926758 10.484250 1548.140869>') +05:03:20.592 ENTITY : Create entity @"ENTITY:2305843009213693956" ('Factions', SCR_FactionManager) at <0.000000 0.000000 0.000000> @"{589540B35EBA8CDC}Prefabs/MP/Managers/Factions/FactionManager_USxUSSR.et" +05:03:20.592 RESOURCES : GetResourceObject @"{5168FEA3054D6D15}Prefabs/Vehicles/Wheeled/M151A2/M151A2_M2HB_MERDC.et" +05:03:20.592 WORLD : Entity prefab load @"{5168FEA3054D6D15}Prefabs/Vehicles/Wheeled/M151A2/M151A2_M2HB_MERDC.et" +05:03:20.592 RESOURCES : GetResourceObject @"{F6B23D17D5067C11}Prefabs/Vehicles/Wheeled/M151A2/M151A2_M2HB.et" +05:03:20.592 WORLD : Entity prefab load @"{F6B23D17D5067C11}Prefabs/Vehicles/Wheeled/M151A2/M151A2_M2HB.et" +05:03:20.592 RESOURCES : GetResourceObject @"{F649585ABB3706C4}Prefabs/Vehicles/Wheeled/M151A2/M151A2.et" +05:03:20.592 WORLD : Entity prefab load @"{F649585ABB3706C4}Prefabs/Vehicles/Wheeled/M151A2/M151A2.et" +05:03:20.592 WORLD (E): Unknown keyword/data 'SlidingTrackMaterial' at offset 19441(0x4bf1) +05:03:20.631 RESOURCES : GetResourceObject @"{F7B9B434FCFF00B3}Prefabs/Vehicles/Wheeled/Conflict_Variants/BRDM2_Conflict.et" +05:03:20.631 WORLD : Entity prefab load @"{F7B9B434FCFF00B3}Prefabs/Vehicles/Wheeled/Conflict_Variants/BRDM2_Conflict.et" +05:03:20.631 RESOURCES : GetResourceObject @"{254289B9C09904AB}Prefabs/Vehicles/Wheeled/BRDM2/BRDM2.et" +05:03:20.631 WORLD : Entity prefab load @"{254289B9C09904AB}Prefabs/Vehicles/Wheeled/BRDM2/BRDM2.et" +05:03:20.631 RESOURCES : GetResourceObject @"{532B5F3CF8496E59}Prefabs/Vehicles/Wheeled/BRDM2/BRDM2_base.et" +05:03:20.631 WORLD : Entity prefab load @"{532B5F3CF8496E59}Prefabs/Vehicles/Wheeled/BRDM2/BRDM2_base.et" +05:03:20.631 WORLD (E): Unknown keyword/data 'Parent' at offset 35955(0x8c73) +05:03:20.631 WORLD (E): Unknown keyword/data 'Parent' at offset 36915(0x9033) +05:03:20.632 RESOURCES : GetResourceObject @"{BD75A18920BD1278}Prefabs/Vehicles/Wheeled/Conflict_Variants/BTR70_Conflict.et" +05:03:20.632 WORLD : Entity prefab load @"{BD75A18920BD1278}Prefabs/Vehicles/Wheeled/Conflict_Variants/BTR70_Conflict.et" +05:03:20.632 RESOURCES : GetResourceObject @"{C012BB3488BEA0C2}Prefabs/Vehicles/Wheeled/BTR70/BTR70.et" +05:03:20.632 WORLD : Entity prefab load @"{C012BB3488BEA0C2}Prefabs/Vehicles/Wheeled/BTR70/BTR70.et" +05:03:20.632 RESOURCES : GetResourceObject @"{1C5FE7B7FF49BB8D}Prefabs/Vehicles/Wheeled/BTR70/BTR70_Base.et" +05:03:20.632 WORLD : Entity prefab load @"{1C5FE7B7FF49BB8D}Prefabs/Vehicles/Wheeled/BTR70/BTR70_Base.et" +05:03:20.632 WORLD (E): Unknown keyword/data 'Parent' at offset 42646(0xa696) +05:03:20.632 WORLD (E): Unknown keyword/data 'Parent' at offset 43645(0xaa7d) +05:03:20.632 WORLD (E): Unknown keyword/data 'Parent' at offset 44617(0xae49) +05:03:20.632 WORLD (E): Unknown keyword/data 'Parent' at offset 45590(0xb216) +05:03:20.931 WORLD : WORLD : NotifyBeforeEntitiesInitialized +05:03:20.931 PROFILING : NotifyBeforeEntitiesInitialized took: 0.052800 ms +05:03:22.890 WORLD : InitEntities 'world' +05:03:22.890 ENTITY : Init entity @"ENTITY:2305843009213693953" ('Rereintroduced', ERR_GameMode) at <1076.468018 51.000999 1325.246948> @"{978E045E53EF36C8}Prefabs/ERR/GameMode.et" +05:03:22.890 SCRIPT (W): SCR_PerceivedFactionManagerComponent trying to set fall back faction 'CIV' but this faction could not be found so it is null instead. +05:03:22.891 SCRIPT (E): SCR_RespawnSystemComponent is missing SCR_SpawnLogic! +05:03:22.891 SCRIPT (E): Virtual Machine Exception + +Reason: NULL pointer to instance + +Class: 'SCR_RespawnSystemComponent' +Function: 'OnInit' +Stack trace: +Scripts/Game/GameMode/Respawn/SCR_RespawnSystemComponent.c:320 Function OnInit +05:03:22.916 WORLD : InitEntities 'world' +05:03:22.916 ENTITY : Init entity @"ENTITY:2305843009213693953" ('Rereintroduced', ERR_GameMode) at <1076.468018 51.000999 1325.246948> @"{978E045E53EF36C8}Prefabs/ERR/GameMode.et" +05:03:22.916 SCRIPT : ERR BASE SMOKE: core-only scripted escape; not manual or multiplayer acceptance +05:03:22.916 WORLD : WORLD : NotifyEntitiesInitialized +05:03:22.916 TERRAIN : TERRAIN : Initializing road networks... +05:03:22.920 PROFILING : Initializing road networks... took: 3.220600 ms +05:03:22.920 DEFAULT : DEFAULT : WorldVolumesCollection +05:03:22.977 PROFILING : WorldVolumesCollection took: 57.651300 ms +05:03:22.977 INIT : INIT : SoundWorldInit +05:03:22.992 PROFILING : SoundWorldInit took: 14.246900 ms +05:03:22.992 PROFILING : NotifyEntitiesInitialized took: 75.407600 ms +05:03:22.992 PROFILING : CreateEntities took: 12804.757900 ms +05:03:22.992 PROFILING : CreateEntities took: 12804.937700 ms +05:03:22.993 WORLD : WORLD : Wait for preloading data around camera +05:03:22.993 PROFILING : Wait for preloading data around camera took: 0.000900 ms +05:03:22.993 WORLD : WORLD : EOnActivate +05:03:23.027 PROFILING : EOnActivate took: 33.983600 ms +05:03:23.027 PROFILING : Game::LoadEntities took: 12842.363600 ms +05:03:23.342 DEFAULT : Entered offline game state. +05:03:23.445 NETWORK : Player connected: connectionID=2147483646 +05:03:23.446 NETWORK : ### Connecting player: connectionID=2147483646, Name= +05:03:23.446 NETWORK : ### Creating player: PlayerId=1, Name=jakub +05:03:23.451 ENTITY : SpawnEntityPrefab @"{225E51284CC95CFA}Prefabs/Characters/Core/DefaultPlayerControllerMP.et" +05:03:23.451 ENTITY : Create entity @"ENTITY:4611686018427388381" ('SCR_PlayerController') at <0.000000 0.000000 0.000000> +05:03:23.451 ENTITY : EntityPrefabUse @"{225E51284CC95CFA}Prefabs/Characters/Core/DefaultPlayerControllerMP.et" +05:03:23.451 SCRIPT (W): Notification data in 'SCR_NotificationsLogDisplay' has duplicate notification info key: 'EDITOR_PERCEIVED_FACTION_PUNISHMENT_KILLING_SET'. There should only be one of each key! +05:03:23.452 SCRIPT (W): Notification data in 'SCR_NotificationsLogDisplay' has duplicate notification info key: 'EDITOR_PERCEIVED_FACTION_TYPE_DISABLED'. There should only be one of each key! +05:03:23.453 SCRIPT (W): Can't open config file "" +05:03:23.460 WORLD : InitEntities 'world' +05:03:23.460 ENTITY : Init entity @"ENTITY:4611686018427388381" ('SCR_PlayerController') at <0.000000 0.000000 0.000000> @"{225E51284CC95CFA}Prefabs/Characters/Core/DefaultPlayerControllerMP.et" +05:03:23.461 GUI : WidgetManager: CrateWidgets @"{3C9DCDD76AB83157}UI/layouts/HUD/HUDLayouts/HUDManager_Root.layout" +05:03:23.461 SCRIPT (W): Slot_WeaponInfo Has no Content! +05:03:23.461 SCRIPT (W): Slot_Chat Has no Content! +05:03:23.461 SCRIPT (W): Slot_VON Has no Content! +05:03:23.461 SCRIPT (W): Slot_AvailableActions Has no Content! +05:03:23.461 SCRIPT (W): Slot_Vehicle Has no Content! +05:03:23.461 SCRIPT (W): Slot_GameVersion Has no Content! +05:03:23.461 SCRIPT (W): Slot_Notifications Has no Content! +05:03:23.462 SCRIPT (W): Slot_Hints Has no Content! +05:03:23.477 SCRIPT (E): Virtual Machine Exception + +Reason: NULL pointer to instance + +Class: 'SCR_RespawnSystemComponent' +Function: 'OnPlayerRegistered_S' +Stack trace: +Scripts/Game/GameMode/Respawn/SCR_RespawnSystemComponent.c:251 Function OnPlayerRegistered_S +Scripts/Game/GameMode/SCR_BaseGameMode.c:1004 Function OnPlayerRegistered +05:03:23.477 NETWORK : ### Updating player: PlayerId=1, Name=jakub, rplIdentity=0xFFFFFFFE, IdentityId=00000000-0000-0000-0000-000000000000 +05:03:23.478 SCRIPT (E): Virtual Machine Exception + +Reason: NULL pointer to instance + +Class: 'SCR_RespawnSystemComponent' +Function: 'OnPlayerAuditSuccess_S' +Stack trace: +Scripts/Game/GameMode/Respawn/SCR_RespawnSystemComponent.c:258 Function OnPlayerAuditSuccess_S +Scripts/Game/GameMode/SCR_BaseGameMode.c:845 Function OnPlayerAuditSuccess +05:03:23.478 SCRIPT (W): Ban Settings could not be loaded from BE Storage: Relying on default config +05:03:23.478 NETWORK : Players connecting: 0 +05:03:23.478 NETWORK : Players connected: 1 / 1 +05:03:23.508 DEFAULT : Using autosave directory: C:/users/steamuser/AppData/Local/Temp/Arma Reforger Workbench/Projects/ERR_Core/autosaves +05:03:23.509 PROFILING : Workbench startup took: 42918.635300 ms +05:03:23.533 WORLD : Frame start +05:03:23.533 SCRIPT : ScenarioFramework: Available tasks are empty, no new tasks will be generated. +05:03:23.548 WORLD : UpdateEntities +05:03:23.548 WORLD : Frame +05:03:23.548 SCRIPT : SCR_BaseGameMode::OnGameStateChanged = GAME diff --git a/docs/evidence/native-2026-09-19-050240-lifecycle-reflection-failure/error.log.txt b/docs/evidence/native-2026-09-19-050240-lifecycle-reflection-failure/error.log.txt new file mode 100644 index 0000000..af8fa75 --- /dev/null +++ b/docs/evidence/native-2026-09-19-050240-lifecycle-reflection-failure/error.log.txt @@ -0,0 +1,148 @@ +--------------------------------------------- +Log Z:\tmp\erri-workbench-profile\logs\logs_2026-09-19_05-02-40\error.log started at 2026-09-19 05:02:42 (2026-09-19 03:02:42 UTC) + +05:02:42.330 INIT : Workbench startup +05:02:42.330 INIT : Workbench Init Engine +05:02:42.330 RESOURCES : ResourceDB: full scan +05:02:42.330 RESOURCES : processing files... +05:02:42.330 RESOURCES (W): resource not registered: @"$profile:rereintroduced.json". Setting null GUID +05:02:45.560 INIT : Workbench Create Game +05:02:45.560 SCRIPT : Compiling Game scripts +05:02:45.560 SCRIPT (W): @"Scripts/Game/Editor/Components/EditableEntity/SCR_EditableEntityComponent.c,785": 'GetPlayerPlatformKind' is obsolete +05:02:45.560 SCRIPT (W): @"Scripts/Game/Editor/Components/EditableEntity/SCR_EditableEntityComponent.c,786": 'GetPlayerPlatformId' is obsolete +05:02:45.806 SCRIPT (W): @"Scripts/Game/ERR/ERR_SiteService.c,140": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +05:02:45.816 SCRIPT (W): @"Scripts/Game/Workshop/SCR_AddonManager.c,876": 'GetRefCount' is obsolete: Will be removed +05:02:45.849 SCRIPT (W): @"Scripts/Game/Campaign/SCR_PlayerProfileManagerComponent.c,142": 'PlayerData' is obsolete +05:02:45.947 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,159": 'GetDSSession' is obsolete +05:02:45.947 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,162": 'RoomID' is obsolete +05:02:45.947 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,197": 'GetDSSession' is obsolete +05:02:45.947 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,201": 'RoomID' is obsolete +05:02:46.040 SCRIPT (W): @"Scripts/Game/DataCollection/SCR_DataCollectorComponent.c,481": 'GetStorage' is obsolete +05:02:46.040 SCRIPT (W): @"Scripts/Game/DataCollection/SCR_DataCollectorComponent.c,483": 'GetOnlineWritePrivilege' is obsolete +05:02:46.041 SCRIPT (W): @"Scripts/Game/Utilities/SCR_PlayerIdentityUtils.c,20": 'GetPlayerIdentityId' is obsolete +05:02:46.082 SCRIPT (W): @"Scripts/Game/ERR/ERR_ExtractionService.c,45": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +05:02:46.082 SCRIPT (W): @"Scripts/Game/ERR/ERR_ExtractionService.c,56": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +05:02:46.083 SCRIPT (W): @"Scripts/Game/UI/Menu/MainMenuUI.c,643": 'GetNotifyCount' is obsolete: Will be substitued by Notification Api. +05:02:46.083 SCRIPT (W): @"Scripts/Game/UI/Menu/MainMenuUI.c,645": 'GetNotifyItem' is obsolete: Will be substitued by Notification Api. +05:02:46.110 SCRIPT (W): @"Scripts/Game/ERR/ERR_NativeTransportProbe.c,82": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +05:02:46.143 SCRIPT (W): @"Scripts/Game/DataCollection/PlayerData/SCR_PlayerData.c,210": 'PlayerData' is obsolete +05:02:49.183 WORLD : Entities load '$ERR_Core:Worlds/ERR_Everon.ent' +05:02:49.184 WORLD : Entity layer load @"$ERR_Core:Worlds/ERR_Everon_Layers/default.layer" +05:02:49.184 RESOURCES : GetResourceObject @"{978E045E53EF36C8}Prefabs/ERR/GameMode.et" +05:02:49.184 WORLD : Entity prefab load @"{978E045E53EF36C8}Prefabs/ERR/GameMode.et" +05:02:49.184 WORLD (E): Unknown class 'ERR_SpawnLogic' at offset 499(0x1f3) +05:02:54.853 WORLD : CreateEntities +05:02:54.853 ENTITY : Create entity @"ENTITY:610406" ('StaticModelEntity','Assets/Structures/Infrastructure/Towers/TransmitterTower_01/TransmitterTower_01_small.xob') at <1931.796021 81.777000 5138.725098> @"{6A004A8F0571D456}Prefabs/Structures/Infrastructure/Towers/TransmitterTower_01/TransmitterTower_01_small.et" +05:02:54.854 ENTITY : CreateComponent 'ScriptedRadioComponent' +05:02:54.854 DEFAULT (W): World doesn't contain RadioManagerEntity to support any BaseRadioComponent. +05:03:04.933 WORLD : InitEntities 'world' +05:03:04.934 ENTITY : Init entity @"ENTITY:2305843009213693953" ('Rereintroduced', ERR_GameMode) at <1076.468018 51.000999 1325.246948> @"{978E045E53EF36C8}Prefabs/ERR/GameMode.et" +05:03:04.934 SCRIPT (E): SCR_RespawnSystemComponent is missing SCR_SpawnLogic! +05:03:09.935 DEFAULT (W): LogiLED: Cannot initialize! (service not running or no compatible device detected) +05:03:14.655 WORLD : Game::LoadEntities +05:03:14.655 WORLD : CreateEntities +05:03:14.655 WORLD : CreateEntities +05:03:14.655 ENTITY : Create entity @"ENTITY:610406" ('StaticModelEntity','Assets/Structures/Infrastructure/Towers/TransmitterTower_01/TransmitterTower_01_small.xob') at <1931.796021 81.777000 5138.725098> @"{6A004A8F0571D456}Prefabs/Structures/Infrastructure/Towers/TransmitterTower_01/TransmitterTower_01_small.et" +05:03:14.655 ENTITY : CreateComponent 'ScriptedRadioComponent' +05:03:14.655 DEFAULT (W): World doesn't contain RadioManagerEntity to support any BaseRadioComponent. +05:03:16.066 ENTITY : Create entity @"ENTITY:842066" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1080.213013 10.776751 6018.347168> +05:03:16.066 ENTITY : CreateComponent 'Hierarchy' +05:03:16.066 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842066" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1080.213013 10.776751 6018.347168>') +05:03:16.066 ENTITY : Create entity @"ENTITY:842068" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1082.185913 10.778749 6018.331055> +05:03:16.066 ENTITY : CreateComponent 'Hierarchy' +05:03:16.066 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842068" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1082.185913 10.778749 6018.331055>') +05:03:16.066 ENTITY : Create entity @"ENTITY:842070" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1084.190918 10.790751 6018.334961> +05:03:16.066 ENTITY : CreateComponent 'Hierarchy' +05:03:16.066 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842070" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1084.190918 10.790751 6018.334961>') +05:03:16.070 ENTITY : Create entity @"ENTITY:842333" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4425.594727 9.981750 11029.402344> +05:03:16.070 ENTITY : CreateComponent 'Hierarchy' +05:03:16.070 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842333" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4425.594727 9.981750 11029.402344>') +05:03:16.071 ENTITY : Create entity @"ENTITY:842335" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4426.584473 9.983749 11031.109375> +05:03:16.071 ENTITY : CreateComponent 'Hierarchy' +05:03:16.071 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842335" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4426.584473 9.983749 11031.109375>') +05:03:16.071 ENTITY : Create entity @"ENTITY:842337" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4427.572266 9.995750 11032.853516> +05:03:16.071 ENTITY : CreateComponent 'Hierarchy' +05:03:16.071 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842337" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4427.572266 9.995750 11032.853516>') +05:03:16.075 ENTITY : Create entity @"ENTITY:842591" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.946289 10.470250 1551.986084> +05:03:16.075 ENTITY : CreateComponent 'Hierarchy' +05:03:16.075 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842591" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.946289 10.470250 1551.986084>') +05:03:16.075 ENTITY : Create entity @"ENTITY:842593" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.430664 10.472250 1550.081421> +05:03:16.075 ENTITY : CreateComponent 'Hierarchy' +05:03:16.075 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842593" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.430664 10.472250 1550.081421>') +05:03:16.075 ENTITY : Create entity @"ENTITY:842595" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10008.926758 10.484250 1548.140869> +05:03:16.075 ENTITY : CreateComponent 'Hierarchy' +05:03:16.075 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842595" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10008.926758 10.484250 1548.140869>') +05:03:20.592 ENTITY : Create entity @"ENTITY:2305843009213693956" ('Factions', SCR_FactionManager) at <0.000000 0.000000 0.000000> @"{589540B35EBA8CDC}Prefabs/MP/Managers/Factions/FactionManager_USxUSSR.et" +05:03:20.592 RESOURCES : GetResourceObject @"{5168FEA3054D6D15}Prefabs/Vehicles/Wheeled/M151A2/M151A2_M2HB_MERDC.et" +05:03:20.592 WORLD : Entity prefab load @"{5168FEA3054D6D15}Prefabs/Vehicles/Wheeled/M151A2/M151A2_M2HB_MERDC.et" +05:03:20.592 RESOURCES : GetResourceObject @"{F6B23D17D5067C11}Prefabs/Vehicles/Wheeled/M151A2/M151A2_M2HB.et" +05:03:20.592 WORLD : Entity prefab load @"{F6B23D17D5067C11}Prefabs/Vehicles/Wheeled/M151A2/M151A2_M2HB.et" +05:03:20.592 RESOURCES : GetResourceObject @"{F649585ABB3706C4}Prefabs/Vehicles/Wheeled/M151A2/M151A2.et" +05:03:20.592 WORLD : Entity prefab load @"{F649585ABB3706C4}Prefabs/Vehicles/Wheeled/M151A2/M151A2.et" +05:03:20.592 WORLD (E): Unknown keyword/data 'SlidingTrackMaterial' at offset 19441(0x4bf1) +05:03:20.631 RESOURCES : GetResourceObject @"{F7B9B434FCFF00B3}Prefabs/Vehicles/Wheeled/Conflict_Variants/BRDM2_Conflict.et" +05:03:20.631 WORLD : Entity prefab load @"{F7B9B434FCFF00B3}Prefabs/Vehicles/Wheeled/Conflict_Variants/BRDM2_Conflict.et" +05:03:20.631 RESOURCES : GetResourceObject @"{254289B9C09904AB}Prefabs/Vehicles/Wheeled/BRDM2/BRDM2.et" +05:03:20.631 WORLD : Entity prefab load @"{254289B9C09904AB}Prefabs/Vehicles/Wheeled/BRDM2/BRDM2.et" +05:03:20.631 RESOURCES : GetResourceObject @"{532B5F3CF8496E59}Prefabs/Vehicles/Wheeled/BRDM2/BRDM2_base.et" +05:03:20.631 WORLD : Entity prefab load @"{532B5F3CF8496E59}Prefabs/Vehicles/Wheeled/BRDM2/BRDM2_base.et" +05:03:20.631 WORLD (E): Unknown keyword/data 'Parent' at offset 35955(0x8c73) +05:03:20.631 WORLD (E): Unknown keyword/data 'Parent' at offset 36915(0x9033) +05:03:20.632 RESOURCES : GetResourceObject @"{BD75A18920BD1278}Prefabs/Vehicles/Wheeled/Conflict_Variants/BTR70_Conflict.et" +05:03:20.632 WORLD : Entity prefab load @"{BD75A18920BD1278}Prefabs/Vehicles/Wheeled/Conflict_Variants/BTR70_Conflict.et" +05:03:20.632 RESOURCES : GetResourceObject @"{C012BB3488BEA0C2}Prefabs/Vehicles/Wheeled/BTR70/BTR70.et" +05:03:20.632 WORLD : Entity prefab load @"{C012BB3488BEA0C2}Prefabs/Vehicles/Wheeled/BTR70/BTR70.et" +05:03:20.632 RESOURCES : GetResourceObject @"{1C5FE7B7FF49BB8D}Prefabs/Vehicles/Wheeled/BTR70/BTR70_Base.et" +05:03:20.632 WORLD : Entity prefab load @"{1C5FE7B7FF49BB8D}Prefabs/Vehicles/Wheeled/BTR70/BTR70_Base.et" +05:03:20.632 WORLD (E): Unknown keyword/data 'Parent' at offset 42646(0xa696) +05:03:20.632 WORLD (E): Unknown keyword/data 'Parent' at offset 43645(0xaa7d) +05:03:20.632 WORLD (E): Unknown keyword/data 'Parent' at offset 44617(0xae49) +05:03:20.632 WORLD (E): Unknown keyword/data 'Parent' at offset 45590(0xb216) +05:03:22.890 WORLD : InitEntities 'world' +05:03:22.890 ENTITY : Init entity @"ENTITY:2305843009213693953" ('Rereintroduced', ERR_GameMode) at <1076.468018 51.000999 1325.246948> @"{978E045E53EF36C8}Prefabs/ERR/GameMode.et" +05:03:22.890 SCRIPT (W): SCR_PerceivedFactionManagerComponent trying to set fall back faction 'CIV' but this faction could not be found so it is null instead. +05:03:22.891 SCRIPT (E): SCR_RespawnSystemComponent is missing SCR_SpawnLogic! +05:03:22.891 SCRIPT (E): Virtual Machine Exception + +Reason: NULL pointer to instance + +Class: 'SCR_RespawnSystemComponent' +Function: 'OnInit' +Stack trace: +Scripts/Game/GameMode/Respawn/SCR_RespawnSystemComponent.c:320 Function OnInit +05:03:23.451 ENTITY : SpawnEntityPrefab @"{225E51284CC95CFA}Prefabs/Characters/Core/DefaultPlayerControllerMP.et" +05:03:23.451 ENTITY : Create entity @"ENTITY:4611686018427388381" ('SCR_PlayerController') at <0.000000 0.000000 0.000000> +05:03:23.451 ENTITY : EntityPrefabUse @"{225E51284CC95CFA}Prefabs/Characters/Core/DefaultPlayerControllerMP.et" +05:03:23.451 SCRIPT (W): Notification data in 'SCR_NotificationsLogDisplay' has duplicate notification info key: 'EDITOR_PERCEIVED_FACTION_PUNISHMENT_KILLING_SET'. There should only be one of each key! +05:03:23.452 SCRIPT (W): Notification data in 'SCR_NotificationsLogDisplay' has duplicate notification info key: 'EDITOR_PERCEIVED_FACTION_TYPE_DISABLED'. There should only be one of each key! +05:03:23.453 SCRIPT (W): Can't open config file "" +05:03:23.460 WORLD : InitEntities 'world' +05:03:23.460 ENTITY : Init entity @"ENTITY:4611686018427388381" ('SCR_PlayerController') at <0.000000 0.000000 0.000000> @"{225E51284CC95CFA}Prefabs/Characters/Core/DefaultPlayerControllerMP.et" +05:03:23.461 GUI : WidgetManager: CrateWidgets @"{3C9DCDD76AB83157}UI/layouts/HUD/HUDLayouts/HUDManager_Root.layout" +05:03:23.461 SCRIPT (W): Slot_WeaponInfo Has no Content! +05:03:23.461 SCRIPT (W): Slot_Chat Has no Content! +05:03:23.461 SCRIPT (W): Slot_VON Has no Content! +05:03:23.461 SCRIPT (W): Slot_AvailableActions Has no Content! +05:03:23.461 SCRIPT (W): Slot_Vehicle Has no Content! +05:03:23.461 SCRIPT (W): Slot_GameVersion Has no Content! +05:03:23.461 SCRIPT (W): Slot_Notifications Has no Content! +05:03:23.462 SCRIPT (W): Slot_Hints Has no Content! +05:03:23.477 SCRIPT (E): Virtual Machine Exception + +Reason: NULL pointer to instance + +Class: 'SCR_RespawnSystemComponent' +Function: 'OnPlayerRegistered_S' +Stack trace: +Scripts/Game/GameMode/Respawn/SCR_RespawnSystemComponent.c:251 Function OnPlayerRegistered_S +Scripts/Game/GameMode/SCR_BaseGameMode.c:1004 Function OnPlayerRegistered +05:03:23.478 SCRIPT (E): Virtual Machine Exception + +Reason: NULL pointer to instance + +Class: 'SCR_RespawnSystemComponent' +Function: 'OnPlayerAuditSuccess_S' +Stack trace: +Scripts/Game/GameMode/Respawn/SCR_RespawnSystemComponent.c:258 Function OnPlayerAuditSuccess_S +Scripts/Game/GameMode/SCR_BaseGameMode.c:845 Function OnPlayerAuditSuccess +05:03:23.478 SCRIPT (W): Ban Settings could not be loaded from BE Storage: Relying on default config diff --git a/docs/evidence/native-2026-09-19-050240-lifecycle-reflection-failure/headless-launch.log.txt b/docs/evidence/native-2026-09-19-050240-lifecycle-reflection-failure/headless-launch.log.txt new file mode 100644 index 0000000..b6dc115 --- /dev/null +++ b/docs/evidence/native-2026-09-19-050240-lifecycle-reflection-failure/headless-launch.log.txt @@ -0,0 +1,146 @@ +[gamescope] [Info] console: gamescope version 3.16.28 (gcc 16.2.1) +No CAP_SYS_NICE, falling back to regular-priority compute and threads. +Performance will be affected. +[gamescope] [Info] scriptmgr: Loading scripts from: '/usr/share/gamescope/scripts' +[gamescope] [Info] scriptmgr: Loading scripts from: '/usr/share/gamescope/scripts/00-gamescope' +[gamescope] [Info] scriptmgr: Loading scripts from: '/usr/share/gamescope/scripts/00-gamescope/common' +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/common/inspect.lua' (id: 0) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/common/modegen.lua' (id: 1) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/common/util.lua' (id: 2) +[gamescope] [Info] scriptmgr: Loading scripts from: '/usr/share/gamescope/scripts/00-gamescope/displays' +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/asus.rogally.lcd.lua' (id: 3) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/deckhd.steamdeck.deckhd-lcd.lua' (id: 4) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/gpd.win4.lcd.lua' (id: 5) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/lenovo.legiongo.lcd.lua' (id: 6) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/lenovo.legiongos.lcd.lua' (id: 7) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/onexplayer.f1.oled.lua' (id: 8) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/valve.steamdeck.lcd.lua' (id: 9) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/valve.steamdeck.oled.lua' (id: 10) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/zotac.zone.oled.lua' (id: 11) +[gamescope] [Info] scriptmgr: Loading scripts from: '/etc/gamescope/scripts' +[gamescope] [Warn] scriptmgr: Directory '/etc/gamescope/scripts' does not exist +[gamescope] [Info] scriptmgr: Loading scripts from: '/home/jakub/.config/gamescope/scripts' +[gamescope] [Warn] scriptmgr: Directory '/home/jakub/.config/gamescope/scripts' does not exist +[gamescope] [Info] vulkan: selecting physical device 'AMD Radeon RX 6950 XT (RADV NAVI21)': queue family 1 (general queue family 0) +[gamescope] [Info] vulkan: physical device supports DRM format modifiers +[gamescope] [Info] wlserver: [backend/headless/backend.c:60] Creating headless backend +[gamescope] [Info] vulkan: supported DRM formats for sampling usage: +[gamescope] [Info] vulkan: AR24 (0x34325241) +[gamescope] [Info] vulkan: XR24 (0x34325258) +[gamescope] [Info] vulkan: AB24 (0x34324241) +[gamescope] [Info] vulkan: XB24 (0x34324258) +[gamescope] [Info] vulkan: RG16 (0x36314752) +[gamescope] [Info] vulkan: NV12 (0x3231564E) +[gamescope] [Info] vulkan: AB4H (0x48344241) +[gamescope] [Info] vulkan: XB4H (0x48344258) +[gamescope] [Info] vulkan: AB48 (0x38344241) +[gamescope] [Info] vulkan: XB48 (0x38344258) +[gamescope] [Info] vulkan: AB30 (0x30334241) +[gamescope] [Info] vulkan: XB30 (0x30334258) +[gamescope] [Info] vulkan: AR30 (0x30335241) +[gamescope] [Info] vulkan: XR30 (0x30335258) +[gamescope] [Info] wlserver: Using explicit sync when available +[gamescope] [Info] wlserver: Running compositor on wayland display 'gamescope-0' +[gamescope] [Info] wlserver: [backend/headless/backend.c:17] Starting headless backend +[gamescope] [Info] wlserver: Successfully initialized libei for input emulation! +[gamescope] [Error] wlserver: [xwayland/sockets.c:47] Failed to bind socket @/tmp/.X11-unix/X0: Address already in use +[gamescope] [Info] wlserver: [xwayland/server.c:108] Starting Xwayland on :2 +The XKEYBOARD keymap compiler (xkbcomp) reports: +> Warning: Multiple symbols for level 1/group 1 on key +> Using F23, ignoring XF86TouchpadOff +> Warning: Symbol map for key redefined +> Using last definition for conflicting fields +> Warning: Symbol map for key redefined +> Using last definition for conflicting fields +> Warning: Could not resolve keysym XF86ElectronicPrivacyScreenOn +> Warning: Could not resolve keysym XF86ElectronicPrivacyScreenOff +> Warning: Could not resolve keysym XF86ActionOnSelection +> Warning: Could not resolve keysym XF86ContextualInsert +> Warning: Could not resolve keysym XF86ContextualQuery +Errors from xkbcomp are not fatal to the X server +[gamescope] [Info] pipewire: stream state changed: connecting +[gamescope] [Info] pipewire: stream state changed: paused +[gamescope] [Info] pipewire: stream available on node ID: 173 +[gamescope] [Info] vblank: Using timerfd. +fsync: up and running. +[Gamescope WSI] No application info given. +[Gamescope WSI] Executable name: explorer.exe +ATTENTION: default value of option vk_wsi_force_swapchain_to_current_extent overridden by environment. +[Gamescope WSI] Application info: + pApplicationName: xalia.exe + applicationVersion: 0 + pEngineName: DXVK + engineVersion: 12587008 + apiVersion: 4206592 +[Gamescope WSI] Executable name: xalia.exe +ATTENTION: default value of option vk_wsi_force_swapchain_to_current_extent overridden by environment. +[Gamescope WSI] No application info given. +[Gamescope WSI] Application info: + pApplicationName: ArmaReforgerWorkbenchSteamDiag.exe + applicationVersion: 1 + pEngineName: DXVK + engineVersion: 12587008 + apiVersion: 4206592 +[Gamescope WSI] Executable name: ArmaReforgerWorkbenchSteamDiag.exe +ATTENTION: default value of option vk_wsi_force_swapchain_to_current_extent overridden by environment. +[Gamescope WSI] No application info given. +The XKEYBOARD keymap compiler (xkbcomp) reports: +> Warning: Unsupported maximum keycode 709, clipping. +> X11 cannot support keycodes above 255. +> Warning: Virtual modifier Hyper multiply defined +> Using 0, ignoring 0 +> Warning: Virtual modifier ScrollLock multiply defined +> Using 0, ignoring 0 +Errors from xkbcomp are not fatal to the X server +ATTENTION: default value of option vk_wsi_force_swapchain_to_current_extent overridden by environment. +[Gamescope WSI] Application info: + pApplicationName: ArmaReforgerWorkbenchSteamDiag.exe + applicationVersion: 0 + pEngineName: DXVK + engineVersion: 12587008 + apiVersion: 4206592 +ATTENTION: default value of option vk_wsi_force_swapchain_to_current_extent overridden by environment. +[Gamescope WSI] Application info: + pApplicationName: ArmaReforgerWorkbenchSteamDiag.exe + applicationVersion: 0 + pEngineName: vkd3d + engineVersion: 12587008 + apiVersion: 4206592 +[Gamescope WSI] Forcing on VK_EXT_swapchain_maintenance1. +ATTENTION: default value of option vk_wsi_force_swapchain_to_current_extent overridden by environment. +[Gamescope WSI] No application info given. +ATTENTION: default value of option vk_wsi_force_swapchain_to_current_extent overridden by environment. +[Gamescope WSI] Application info: + pApplicationName: ArmaReforgerWorkbenchSteamDiag.exe + applicationVersion: 0 + pEngineName: vkd3d + engineVersion: 12587008 + apiVersion: 4206592 +[Gamescope WSI] Forcing on VK_EXT_swapchain_maintenance1. +[Gamescope WSI] Creating Gamescope surface: xid: 0x1c001a4 +[Gamescope WSI] Atom of T was wrong type. Expected XCB_ATOM_CARDINAL. +[Gamescope WSI] Made gamescope surface for xid: 0x1c001a4 +[Gamescope WSI] Surface state: + steam app id: 1874910 + window xid: 0x1c001a4 + wayland surface res id: 5 + layer client flags: 0x4 + server hdr output enabled: false + hdr formats exposed to client: false +[Gamescope WSI] Creating Gamescope surface: xid: 0x1c003a4 +[Gamescope WSI] Atom of T was wrong type. Expected XCB_ATOM_CARDINAL. +[Gamescope WSI] Made gamescope surface for xid: 0x1c003a4 +[Gamescope WSI] Surface state: + steam app id: 1874910 + window xid: 0x1c003a4 + wayland surface res id: 10 + layer client flags: 0x4 + server hdr output enabled: false + hdr formats exposed to client: false +[Gamescope WSI] Creating swapchain for xid: 0x1c003a4 - oldSwapchain: (nil) - provided minImageCount: 3 - minImageCount: 3 - format: VK_FORMAT_B8G8R8A8_UNORM - colorspace: VK_COLOR_SPACE_SRGB_NONLINEAR_KHR - flip: false +[Gamescope WSI] Created swapchain for xid: 0x1c003a4 swapchain: 0x55555bbe6c80 - imageCount: 4 +[Gamescope WSI] Destroying swapchain: 0x55555bbe6c80 +[Gamescope WSI] Destroyed swapchain: 0x55555bbe6c80 +[Gamescope WSI] Creating swapchain for xid: 0x1c003a4 - oldSwapchain: (nil) - provided minImageCount: 3 - minImageCount: 3 - format: VK_FORMAT_B8G8R8A8_UNORM - colorspace: VK_COLOR_SPACE_SRGB_NONLINEAR_KHR - flip: false +[Gamescope WSI] Created swapchain for xid: 0x1c003a4 swapchain: 0x55555bbf8130 - imageCount: 4 +[gamescope] [Info] launch: Primary child shut down! diff --git a/docs/evidence/native-2026-09-19-050240-lifecycle-reflection-failure/report.json b/docs/evidence/native-2026-09-19-050240-lifecycle-reflection-failure/report.json new file mode 100644 index 0000000..8e1ab7d --- /dev/null +++ b/docs/evidence/native-2026-09-19-050240-lifecycle-reflection-failure/report.json @@ -0,0 +1,29 @@ +{ + "log": "docs/evidence/native-2026-09-19-050240-lifecycle-reflection-failure/console.log.txt", + "smoke_completions": 0, + "assertions_passed": 0, + "script_or_runtime_failures": [ + "05:03:04.934 SCRIPT (E): SCR_RespawnSystemComponent is missing SCR_SpawnLogic!", + "05:03:22.891 SCRIPT (E): SCR_RespawnSystemComponent is missing SCR_SpawnLogic!", + "05:03:22.891 SCRIPT (E): Virtual Machine Exception", + "05:03:23.477 SCRIPT (E): Virtual Machine Exception", + "05:03:23.478 SCRIPT (E): Virtual Machine Exception" + ], + "engine_errors": [ + "05:02:49.184 WORLD (E): Unknown class 'ERR_SpawnLogic' at offset 499(0x1f3)", + "05:03:04.934 SCRIPT (E): SCR_RespawnSystemComponent is missing SCR_SpawnLogic!", + "05:03:20.592 WORLD (E): Unknown keyword/data 'SlidingTrackMaterial' at offset 19441(0x4bf1)", + "05:03:20.631 WORLD (E): Unknown keyword/data 'Parent' at offset 35955(0x8c73)", + "05:03:20.631 WORLD (E): Unknown keyword/data 'Parent' at offset 36915(0x9033)", + "05:03:20.632 WORLD (E): Unknown keyword/data 'Parent' at offset 42646(0xa696)", + "05:03:20.632 WORLD (E): Unknown keyword/data 'Parent' at offset 43645(0xaa7d)", + "05:03:20.632 WORLD (E): Unknown keyword/data 'Parent' at offset 44617(0xae49)", + "05:03:20.632 WORLD (E): Unknown keyword/data 'Parent' at offset 45590(0xb216)", + "05:03:22.891 SCRIPT (E): SCR_RespawnSystemComponent is missing SCR_SpawnLogic!", + "05:03:22.891 SCRIPT (E): Virtual Machine Exception", + "05:03:23.477 SCRIPT (E): Virtual Machine Exception", + "05:03:23.478 SCRIPT (E): Virtual Machine Exception" + ], + "missing_end_screen": [], + "scope": "scripted local Workbench integration only; no multiplayer, piloting or FPS claim" +} diff --git a/docs/evidence/native-2026-09-19-050240-lifecycle-reflection-failure/runner.json.txt b/docs/evidence/native-2026-09-19-050240-lifecycle-reflection-failure/runner.json.txt new file mode 100644 index 0000000..b1ec053 --- /dev/null +++ b/docs/evidence/native-2026-09-19-050240-lifecycle-reflection-failure/runner.json.txt @@ -0,0 +1,9 @@ +{ + "result": "test-failed", + "session": "/tmp/erri-workbench-profile/logs/logs_2026-09-19_05-02-40", + "rounds_required": 1, + "project": "core", + "display": "headless Gamescope 1280x720/30Hz", + "dedicated_server": false, + "audio": "silent sink and per-test-stream mute" +} diff --git a/docs/evidence/native-2026-09-19-050240-lifecycle-reflection-failure/script.log.txt b/docs/evidence/native-2026-09-19-050240-lifecycle-reflection-failure/script.log.txt new file mode 100644 index 0000000..ba8be50 --- /dev/null +++ b/docs/evidence/native-2026-09-19-050240-lifecycle-reflection-failure/script.log.txt @@ -0,0 +1,79 @@ +--------------------------------------------- +Log Z:\tmp\erri-workbench-profile\logs\logs_2026-09-19_05-02-40\script.log started at 2026-09-19 05:02:43 (2026-09-19 03:02:43 UTC) + +05:02:43.434 SCRIPT : SCRIPT : Initializing scripts +05:02:43.434 SCRIPT : SCRIPT : ScriptProjectManager init +05:02:44.350 SCRIPT : SCRIPT : Compiling GameLib scripts +05:02:44.403 SCRIPT : Module: Workbench; loaded 18x files; 36x classes; used 125K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE"; CRC32: 90ce0460 +05:02:44.403 SCRIPT : Module: GameLib; loaded 465x files; 648x classes; used 828K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE"; CRC32: 4507af04 +05:02:44.404 SCRIPT : SCRIPT : Compiling Game scripts +05:02:45.560 SCRIPT : Compiling Game scripts +05:02:45.560 SCRIPT (W): @"Scripts/Game/Editor/Components/EditableEntity/SCR_EditableEntityComponent.c,785": 'GetPlayerPlatformKind' is obsolete +05:02:45.560 SCRIPT (W): @"Scripts/Game/Editor/Components/EditableEntity/SCR_EditableEntityComponent.c,786": 'GetPlayerPlatformId' is obsolete +05:02:45.806 SCRIPT (W): @"Scripts/Game/ERR/ERR_SiteService.c,140": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +05:02:45.816 SCRIPT (W): @"Scripts/Game/Workshop/SCR_AddonManager.c,876": 'GetRefCount' is obsolete: Will be removed +05:02:45.849 SCRIPT (W): @"Scripts/Game/Campaign/SCR_PlayerProfileManagerComponent.c,142": 'PlayerData' is obsolete +05:02:45.947 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,159": 'GetDSSession' is obsolete +05:02:45.947 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,162": 'RoomID' is obsolete +05:02:45.947 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,197": 'GetDSSession' is obsolete +05:02:45.947 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,201": 'RoomID' is obsolete +05:02:46.040 SCRIPT (W): @"Scripts/Game/DataCollection/SCR_DataCollectorComponent.c,481": 'GetStorage' is obsolete +05:02:46.040 SCRIPT (W): @"Scripts/Game/DataCollection/SCR_DataCollectorComponent.c,483": 'GetOnlineWritePrivilege' is obsolete +05:02:46.041 SCRIPT (W): @"Scripts/Game/Utilities/SCR_PlayerIdentityUtils.c,20": 'GetPlayerIdentityId' is obsolete +05:02:46.082 SCRIPT (W): @"Scripts/Game/ERR/ERR_ExtractionService.c,45": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +05:02:46.082 SCRIPT (W): @"Scripts/Game/ERR/ERR_ExtractionService.c,56": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +05:02:46.083 SCRIPT (W): @"Scripts/Game/UI/Menu/MainMenuUI.c,643": 'GetNotifyCount' is obsolete: Will be substitued by Notification Api. +05:02:46.083 SCRIPT (W): @"Scripts/Game/UI/Menu/MainMenuUI.c,645": 'GetNotifyItem' is obsolete: Will be substitued by Notification Api. +05:02:46.110 SCRIPT (W): @"Scripts/Game/ERR/ERR_NativeTransportProbe.c,82": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +05:02:46.143 SCRIPT (W): @"Scripts/Game/DataCollection/PlayerData/SCR_PlayerData.c,210": 'PlayerData' is obsolete +05:02:46.415 SCRIPT : Module: WorkbenchGame; loaded 171x files; 616x classes; used 2478K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE"; CRC32: db6febb9 +05:02:46.422 SCRIPT : Module: Game; loaded 5704x files; 11180x classes; used 32528K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE,ENABLE_BASE_DESTRUCTION,BUDGET_OPTIMIZATION_CHECKS,SHOW_DISCLAIMER,DEBUG,RESPAWN_TIMER_COMPONENT_DEBUG,GAME_MODE_DEBUG,DEBUG_CONFIGURABLE_DIALOGS,DISABLE_WEAPON_SWITCHING,SCRIPTED_AIM_MODIFIER_DEBUG"; CRC32: 8623c668 +05:02:47.385 SCRIPT : Unable to register a script command due keyword duplicity: ban +05:02:47.385 SCRIPT : Unable to register a script command due keyword duplicity: kick +05:03:04.934 SCRIPT (E): SCR_RespawnSystemComponent is missing SCR_SpawnLogic! +05:03:06.701 SCRIPT : ERR SITE SURVEY: supply=6150/7050 elevationRange=0.625 min=202.875 max=203.5 +05:03:09.932 SCRIPT : Unable to register a script command due keyword duplicity: ban +05:03:09.932 SCRIPT : Unable to register a script command due keyword duplicity: kick +05:03:22.890 SCRIPT (W): SCR_PerceivedFactionManagerComponent trying to set fall back faction 'CIV' but this faction could not be found so it is null instead. +05:03:22.891 SCRIPT (E): SCR_RespawnSystemComponent is missing SCR_SpawnLogic! +05:03:22.891 SCRIPT (E): Virtual Machine Exception + +Reason: NULL pointer to instance + +Class: 'SCR_RespawnSystemComponent' +Function: 'OnInit' +Stack trace: +Scripts/Game/GameMode/Respawn/SCR_RespawnSystemComponent.c:320 Function OnInit +05:03:22.916 SCRIPT : ERR BASE SMOKE: core-only scripted escape; not manual or multiplayer acceptance +05:03:23.451 SCRIPT (W): Notification data in 'SCR_NotificationsLogDisplay' has duplicate notification info key: 'EDITOR_PERCEIVED_FACTION_PUNISHMENT_KILLING_SET'. There should only be one of each key! +05:03:23.452 SCRIPT (W): Notification data in 'SCR_NotificationsLogDisplay' has duplicate notification info key: 'EDITOR_PERCEIVED_FACTION_TYPE_DISABLED'. There should only be one of each key! +05:03:23.453 SCRIPT (W): Can't open config file "" +05:03:23.461 SCRIPT (W): Slot_WeaponInfo Has no Content! +05:03:23.461 SCRIPT (W): Slot_Chat Has no Content! +05:03:23.461 SCRIPT (W): Slot_VON Has no Content! +05:03:23.461 SCRIPT (W): Slot_AvailableActions Has no Content! +05:03:23.461 SCRIPT (W): Slot_Vehicle Has no Content! +05:03:23.461 SCRIPT (W): Slot_GameVersion Has no Content! +05:03:23.461 SCRIPT (W): Slot_Notifications Has no Content! +05:03:23.462 SCRIPT (W): Slot_Hints Has no Content! +05:03:23.477 SCRIPT (E): Virtual Machine Exception + +Reason: NULL pointer to instance + +Class: 'SCR_RespawnSystemComponent' +Function: 'OnPlayerRegistered_S' +Stack trace: +Scripts/Game/GameMode/Respawn/SCR_RespawnSystemComponent.c:251 Function OnPlayerRegistered_S +Scripts/Game/GameMode/SCR_BaseGameMode.c:1004 Function OnPlayerRegistered +05:03:23.478 SCRIPT (E): Virtual Machine Exception + +Reason: NULL pointer to instance + +Class: 'SCR_RespawnSystemComponent' +Function: 'OnPlayerAuditSuccess_S' +Stack trace: +Scripts/Game/GameMode/Respawn/SCR_RespawnSystemComponent.c:258 Function OnPlayerAuditSuccess_S +Scripts/Game/GameMode/SCR_BaseGameMode.c:845 Function OnPlayerAuditSuccess +05:03:23.478 SCRIPT (W): Ban Settings could not be loaded from BE Storage: Relying on default config +05:03:23.533 SCRIPT : ScenarioFramework: Available tasks are empty, no new tasks will be generated. +05:03:23.548 SCRIPT : SCR_BaseGameMode::OnGameStateChanged = GAME diff --git a/docs/evidence/native-2026-09-19-050240-lifecycle-reflection-failure/source-sha256.json b/docs/evidence/native-2026-09-19-050240-lifecycle-reflection-failure/source-sha256.json new file mode 100644 index 0000000..4c44b2b --- /dev/null +++ b/docs/evidence/native-2026-09-19-050240-lifecycle-reflection-failure/source-sha256.json @@ -0,0 +1,118 @@ +{ + "addons/ai/Prefabs/ERR/MortarCrew.et": "05d3e7353ff9fe5523218a1487b31b7b742b0be8adbcb060c7099978cf008bce", + "addons/ai/Prefabs/ERR/MortarCrew.et.meta": "fdfd4fcd21a67c3d698fa4aadc4e5c76e665cebf4be86013bc389e493fab63cc", + "addons/ai/Scripts/Game/ERR/ERR_HQ.c": "ceafd6740ed277748744ce56ac0f0bb3a8521fcc060dafb2cdb99896aedf405a", + "addons/ai/Scripts/Game/ERR/ERR_HQJournal.c": "b3e402cfe92d415f37f666045afb062e6e11670ba03a0ca6f2d9fd4fc3520ac1", + "addons/ai/Scripts/Game/ERR/ERR_HQNetwork.c": "92ff2caca52e94c2cc9642dfc8509ce6e9349b257012bade8650bace9231128c", + "addons/ai/Scripts/Game/ERR/ERR_HQObservation.c": "36c978ec5f052213ac1236e1398d85063efbfd7ef60fe04f1fc11447fefe1d68", + "addons/ai/Scripts/Game/ERR/ERR_HQReport.c": "c4d16ccb571db4d9444c0a8d2be7318845d25ff90238b6d304e96a9ea19f1a08", + "addons/ai/Scripts/Game/ERR/ERR_HelicopterAvailability.c": "60eaef2f6d4b2fd44861c5a4434ef97e732e40a5ff7401e2da451ed2dd9c2762", + "addons/ai/Scripts/Game/ERR/ERR_MortarBattery.c": "66b8f16b692a0f75fc9d920f5224d9292a0f1dc7dd8b2dde912e676fa80ddc9c", + "addons/ai/Scripts/Game/ERR/ERR_MortarFiring.c": "657e96d1112b68c8ced37793e99f88e6078b38a579190e63d00b1f9a9a032e26", + "addons/ai/Scripts/Game/ERR/ERR_MortarPrediction.c": "470dd196ed64800c697d24c09d1344bacd2502587fac76af4ee0edae2563092d", + "addons/ai/Scripts/Game/ERR/ERR_MortarSalvo.c": "697c01f479df6c505a41d984a29c02002e3052114dafa2ec6252ae55e2979a2b", + "addons/ai/Scripts/Game/ERR/ERR_MortarSystem.c": "12d8fc39d47e03c3838e0642aa9e4a80baf60f250357493bff812d5c75812c86", + "addons/ai/Scripts/Game/ERR/ERR_SettlementSafety.c": "e5c0ebc95521a9a33a3f7d9cca6c551dda862a08b7af20b017877aba9584795b", + "addons/ai/Scripts/Game/ERR/ERR_SupportScenario.c": "71757018ec9716c4dc24f62a292a214919d3fd5daed3c16e03e56abd208e9f03", + "addons/ai/addon.gproj": "5f559db8f526700db11e6ae763f5245f19b7006fc68c56e4c09fb6f940bdf2a1", + "addons/chat/Missions/ERR_Everon.conf": "76f3ac0d21b585654beac7ddd68e3c8cbdd66dbfe909b17b04838fa813a7c29b", + "addons/chat/Missions/ERR_Everon.conf.meta": "0a23c98bf83873536c65fa17d38dea33a1d7b9e4ab210f90633ff688abcc551f", + "addons/chat/Scripts/Game/ERR/ERR_AdminCommands.c": "7ea6d6b240524cf0193c86fcab861fbdef9adca780acff11ee73f9ed0e99ce7b", + "addons/chat/Scripts/Game/ERR/ERR_NativeMortarProbe.c": "ddb892141500c192c0787b011d57dd8c07dd8c9a3ca5fdc407f6c271897bde0a", + "addons/chat/Scripts/Game/ERR/ERR_NativeRadioProbe.c": "84524163c63402755b4f834f74dfe6d8e5c397dc26031f532593c6f79f5a93b1", + "addons/chat/Scripts/Game/ERR/ERR_NativeSmoke.c": "0ab2fed95dcaa0442cf7feb25743308060d58497e347f17dbd25c8e970a9f81f", + "addons/chat/Scripts/WorkbenchGame/ERR/ERR_ValidateWorldPlugin.c": "81c92d408ce88cc9f98d6053f1d0c863427693ba748f00df9f1bf8079015ef94", + "addons/chat/addon.gproj": "ea1587e0174cf795334d306c71d99b06797fc891427cd57b6cab6e21cf0e4e0e", + "addons/core/Configs/ERR/EveronSites.conf": "2edb2c6983eb627800b65d9e244b9b228e0b82282e089c7b12e5a8921a2ea7bf", + "addons/core/Configs/ERR/EveronSites.conf.meta": "d5fe68025ef4e7c1e16082cf5873b7c7172eacbfaef4ab29b7e0e3c98f8dca56", + "addons/core/Configs/ERR/GameOverScreens.conf": "45231061911a1462d45fb6db0fecc2b0793f17b5ae71017174954ff4fbd20236", + "addons/core/Configs/ERR/GameOverScreens.conf.meta": "eb654b745c0b97b41c991694569ef4877a3c2315e0826f9556337cd68690843e", + "addons/core/Configs/ERR/VanillaFactions.conf": "f8b8b9898a16b4a4a55ab3c12d2547bef2dc433732c7643df980cb3aca715212", + "addons/core/Configs/ERR/VanillaFactions.conf.meta": "ac77725c0c21974991ef47a466b88122e939de8b46fd23e68889e7674cbb2bfd", + "addons/core/Missions/ERR_Everon_Base.conf": "1e6a0e9a756d15495201f71121626890f01efe6b00154c561672d4ec157960bd", + "addons/core/Missions/ERR_Everon_Base.conf.meta": "9b16267c644d815bcf98a3a3aaff30b93d7224fb24d3a2bac66730a28011f317", + "addons/core/Prefabs/ERR/Extraction.et": "1aa286ef253c5410f09fa641e4be91a7be8ec834487a7fbb74cfb45cab60ee1e", + "addons/core/Prefabs/ERR/Extraction.et.meta": "c2a838633001e2e3a202d39cb33aa744ebcd996017ad032359069641b5d13853", + "addons/core/Prefabs/ERR/FieldCover.et": "20f8095e69dbfe3db74ff19078e528ea75405362b335e03560ccd61f8df2e7f3", + "addons/core/Prefabs/ERR/FieldCover.et.meta": "83461ffa76244e1d69f20b053a9741ccdf7d127009182bd540a7e5ba6150c3d9", + "addons/core/Prefabs/ERR/GameMode.et": "385c97a5b8067091d92aa60c2d4fcf02002cf606b95523866ead65c96b8c0029", + "addons/core/Prefabs/ERR/GameMode.et.meta": "106769cd34525c9d440057072836cb7401a6752148c40edd7fe61c03bd58328c", + "addons/core/Prefabs/ERR/ObjectiveDocument.et": "2e72270bf186654af12d2c3ff9bf940690b03fb17fca44f873c1fde5d11384c0", + "addons/core/Prefabs/ERR/ObjectiveDocument.et.meta": "eaba9903be147b98a1106e2273e2270773df73b9b22f2cd4e20136a8e281382e", + "addons/core/Prefabs/ERR/Patrol.et": "c5685a8bc311cc5563fb3334beec9408d3d7a1069152fddeeb7df4f1b7f9e6ce", + "addons/core/Prefabs/ERR/Patrol.et.meta": "7c5da568fa2fcf0709ee2959253cb068d7c7ed7c2467af3b247a7e70efd96b69", + "addons/core/Prefabs/ERR/Prison.et": "1503db1441d8cd7a4f0b45c27ba9623b9fa39f0f81016e180bd2aa1379e1f42a", + "addons/core/Prefabs/ERR/Prison.et.meta": "2e426ef3de68f4107907854b51e818bc11d84649a01c538e3f18dd9ebec766bb", + "addons/core/Prefabs/ERR/PrisonDoor.et": "fc66be9d36f1f01084de59f1b0a1e8817f9e46547ead33d4fafaac0107446c40", + "addons/core/Prefabs/ERR/PrisonDoor.et.meta": "b8f3db52bf186426026668fbb9d633c3cbd4d438ab301fba880398f6a0e781c2", + "addons/core/Prefabs/ERR/PrisonWall.et": "8009d19365ae72a4749d7ad4fa04662575b06c65c6bf06507d380d57258b5eed", + "addons/core/Prefabs/ERR/PrisonWall.et.meta": "0294bc5dbb56f90f8153d62459bb0a6ad91d76a479812bbec9c7db182fdb58d6", + "addons/core/Prefabs/ERR/Radio.et": "b4b5cfe125b39019855816c9a1c508ca4d65d435b5546fdaa6c1fa3c8c9b1165", + "addons/core/Prefabs/ERR/Radio.et.meta": "bc91137b68ba550217914fb8892bb44d7e1920e4a1086f3e506623832a44212f", + "addons/core/Prefabs/ERR/SpectatorCamera.et": "b5b87d5b7b707f3745741aebe7c923067c8a74f8fbb2a4711834bab03bb5a812", + "addons/core/Prefabs/ERR/SpectatorCamera.et.meta": "2a16558f93915e31908a674509e9c89976470f78a84a1174a64b94b68b8f77ad", + "addons/core/Prefabs/ERR/SupplyCache.et": "bccf7afbaae97cfcdd78dd6dbbf4be5b2c045d348f50fe4581962e556c0044d7", + "addons/core/Prefabs/ERR/SupplyCache.et.meta": "2f5de3a4aab1e9d0e35521f48dc57b95bd6e449c383dec4f1c258e10295904cb", + "addons/core/Prefabs/ERR/SupplySite.et": "dc5decce5cabf39b6116e8794ec3960cb1e35761854fdbe69740da118787ded4", + "addons/core/Prefabs/ERR/SupplySite.et.meta": "b41944b12eb3528ff7a3ac94258b18c66ef161aa6a38894aee300a1ac4798630", + "addons/core/Scripts/Game/ERR/ERR_Actions.c": "adf93245e6d78c59b9839599d157a0d2b2b93ea93b3d1ae52e2904dd6c288266", + "addons/core/Scripts/Game/ERR/ERR_Actors.c": "b3c5aabb05f7cf35167bc09b5db51a4ffd89a46658805d6eedbfb80eee30273d", + "addons/core/Scripts/Game/ERR/ERR_AdminService.c": "047c14ce60cc0b167e202438f8f2b1063590e69ef88ea55b54598aea5f99c505", + "addons/core/Scripts/Game/ERR/ERR_DiscoveryMap.c": "2f4ea342fea0530061456be9cdce002d5e7a282e4e27eb88f3860e79f93612bf", + "addons/core/Scripts/Game/ERR/ERR_DiscoveryService.c": "6b5679447fe4a6d7d54c0545881ab56284f871556b3159207d421247f419eada", + "addons/core/Scripts/Game/ERR/ERR_DocumentComponent.c": "17bb76b80ebd3357e46d553c44674f602c7bd6901c92aec53ac8214194aa4ff2", + "addons/core/Scripts/Game/ERR/ERR_EscapeGameOverScreenInfo.c": "b1e1afb7795cb77c0bad94c85abf705b26b9dc2a9400905d80eafd56bdd009d3", + "addons/core/Scripts/Game/ERR/ERR_ExtractionService.c": "91357099b4e0401196b67d48963be54be30e56bdba57cdac67dc20b8ebb883e9", + "addons/core/Scripts/Game/ERR/ERR_FactionCatalog.c": "a5a8c53acf21259e14f59cb919535910f30dabff5a9179c664bc6a7a4d744d6e", + "addons/core/Scripts/Game/ERR/ERR_GameMode.c": "d766d1639378070bea64eef38baa4667f8b9f5f1a2a7b170f0fc5e8fd557917d", + "addons/core/Scripts/Game/ERR/ERR_Location.c": "d2035f56ded35743312ec6ca91a67f8623a466c91255e1893c570edf0954ff24", + "addons/core/Scripts/Game/ERR/ERR_MissionRules.c": "f7abc38ad8fdc375ce7fa63a65f0bade027d22b37e09de5e3f94ba8c3c63cc41", + "addons/core/Scripts/Game/ERR/ERR_NativeBaseSmoke.c": "128ce09f0d3f9a629aa3fcde1db0207249037de75b9dbdfadff141b43b1bfebf", + "addons/core/Scripts/Game/ERR/ERR_NativeContractsProbe.c": "d1556df885171cf967e96eef5d8981a2e9ee4e3938b7d32fdd0426f647bbabc0", + "addons/core/Scripts/Game/ERR/ERR_NativeDefinitionProbe.c": "d05ef8368ef5afa68e29f45843cb1878b5a09be768f8abdff2f4115c23759b01", + "addons/core/Scripts/Game/ERR/ERR_NativeExtractionProbe.c": "4b09385f73206de004f4f3c38a6192fd658a0d2012482dc5a84dff1599ceb972", + "addons/core/Scripts/Game/ERR/ERR_NativeLifecycleProbe.c": "1175208a13567497136b879bbfdaddfb2c2d23b5c8535ea20e3d36e7525c3ee5", + "addons/core/Scripts/Game/ERR/ERR_NativeObjectiveProbe.c": "451f46d9a51753841046698911ee9954088214b6df856776a316865466fbce0f", + "addons/core/Scripts/Game/ERR/ERR_NativeRadioDefenceProbe.c": "4b8779b7556a92aa4fb8031991b8293e2a66bdc4873d0b2999f72a75b62dedec", + "addons/core/Scripts/Game/ERR/ERR_NativeResultProbe.c": "b9a117eef2d5f65fbd792041a2b3e59e38e201bda8e0df8c503e1a1242cfc415", + "addons/core/Scripts/Game/ERR/ERR_NativeSiteSurvey.c": "ac0203753ade0cdff6d483132797a80e4520f14546c3f9dea288281cd4cd9c4f", + "addons/core/Scripts/Game/ERR/ERR_NativeStationTeardownDiagnostic.c": "c01cbdbfe25fd38916fa74f2c02333baaacd5228686fd6e40b33c27b3cea8ed8", + "addons/core/Scripts/Game/ERR/ERR_NativeTimeProbe.c": "c93d049785971e51246fcc07cf24804270a752a655505f2c38e48c80df5255ae", + "addons/core/Scripts/Game/ERR/ERR_NativeTransportProbe.c": "63ec0c5ce698114daa6314b2a6e3c3e98e76094117c477f9d0d072260686d193", + "addons/core/Scripts/Game/ERR/ERR_NativeTransportSurvey.c": "3e94493bf54d15be2bceb106ad18873e14e6755af09c05f07db7fb26fb7adff5", + "addons/core/Scripts/Game/ERR/ERR_ObjectiveDetails.c": "900bdcd11075230e0d311ca8725c1d7938cb2a4efa71360709003d90092a7e69", + "addons/core/Scripts/Game/ERR/ERR_ObjectiveText.c": "bbb29949194637e6781316836c895e2c0fa7ccdb547d4d944a717da2ad73b0a2", + "addons/core/Scripts/Game/ERR/ERR_Objectives.c": "88d95a52fcba103483ea751571e1afeae0e6fc82115ed50d6fc195424726960f", + "addons/core/Scripts/Game/ERR/ERR_Observer.c": "b719e723369ab4f403950c85226e1336eb48e3c127e84530ac1c695eb86bd0f9", + "addons/core/Scripts/Game/ERR/ERR_PlayerAdminCommands.c": "a084d7dc097dfcde3d6cd9c2e326b9e2f8f2a519f77b30c4f56ab7a1429aa721", + "addons/core/Scripts/Game/ERR/ERR_PlayerEscapeResult.c": "3124ab4d2d6d471409a47aba0af528790734df53243c03fe0cdac3e407047c14", + "addons/core/Scripts/Game/ERR/ERR_PlayerGuide.c": "2c9c365b88651f8b12618443638bf52c04e497221592bd483c33447e30468f36", + "addons/core/Scripts/Game/ERR/ERR_PlayerRoster.c": "a737ba739b3f73a91cd05d808a1d45070e83b5152c003c3164e29842dda51995", + "addons/core/Scripts/Game/ERR/ERR_RadioDefenceService.c": "85eb9c1b65d5987799927b6d8786b7299fcff849bcb15b91f8a4d1aa95823fd1", + "addons/core/Scripts/Game/ERR/ERR_Resources.c": "8a5314944f75b23982c6b99697045e3c0538aa2137b2c947a5b2411e6076ac03", + "addons/core/Scripts/Game/ERR/ERR_ScenarioComponent.c": "abba03af68323d5715ba1e2497fc66f3c706e6a6a983c3a386228abdfddeec89", + "addons/core/Scripts/Game/ERR/ERR_Settings.c": "2aee784e44c732e09f59150896491ab325ef5e62aa6bad725be1fda955a3f614", + "addons/core/Scripts/Game/ERR/ERR_SiteDefinition.c": "75b5121ceab77f0956f0dc34bd077b11af5586350de52321800427f18cc94477", + "addons/core/Scripts/Game/ERR/ERR_SiteService.c": "7ba02712562b3c8cd8de9851b6f26fed85020faacceef0767408b300b935c110", + "addons/core/Scripts/Game/ERR/ERR_SpawnFinalization.c": "2e295b0f225208c5414728ba83333e5e0ab6eef3a708ce39eb1dfce5400c94c9", + "addons/core/Scripts/Game/ERR/ERR_SpawnLogic.c": "64c2cef62d8a435eea396f057255b269d457935bf5d261221700739bf37240b8", + "addons/core/Scripts/Game/ERR/ERR_SpawnPlacement.c": "284db0d4a5ecd38f9c658c91ce943f4c0c30dcf4d31bb3edeea92e4ab0b1436a", + "addons/core/Scripts/Game/ERR/ERR_Supplies.c": "752e8a56b0b8cde33cf532032cb0a203553017b686faac2e19bee06f7a9c0713", + "addons/core/Scripts/Game/ERR/ERR_TimeService.c": "d9f481b7da01e08d2c982a948c18ba6bde76889d7cc9d26d510708f4ba479453", + "addons/core/Scripts/WorkbenchGame/ERR/ERR_ValidateBaseWorldPlugin.c": "7f44aa64ea7b4f8b3640a37a4b781c43bf6adb80e4a3a702d9491131698056f6", + "addons/core/Worlds/ERR_Everon.ent": "22324bc7eb0d80dec8a1f3bd61a9df9201b72f749f4e751766b0c9d0b7d46b87", + "addons/core/Worlds/ERR_Everon.ent.meta": "19d1903ca72baa326b4724a6791d0da1104a1e53f3f31dc1ca41a856efd68e83", + "addons/core/Worlds/ERR_Everon_Layers/default.layer": "f1a058bd315c7d01d464715ac9f4e18ae3d2432551d094a9afbd4c9c5a2a9416", + "addons/core/addon.gproj": "231274e6b62302f32c65f9ff31de2ce8a9e51e1c8d12c87deeec82ae1f40de46", + "addons/intel/Scripts/Game/ERR/ERR_IntelService.c": "482839434b94e7f8c345d5fd96490aeebb765f3dd0c1bb25fceea2f435c0e722", + "addons/intel/addon.gproj": "d0ced242cefb220a5cccd6779d61fda9bc55581701b9f78bcf13c09d92ddbcbe", + "addons/map/Materials/ERRM_MapRenderTarget.emat": "9877c5b175c5f30dd80bea36c711b21ab38219aa7075adf9ae79932e1d4c76bc", + "addons/map/Materials/ERRM_MapRenderTarget.emat.meta": "5ee1a705f8011a44020ca2691f5ccc17d44bf596fef9a36e98d1f267eb58fab0", + "addons/map/Prefabs/Items/Equipment/ERRM_SharedFieldMap.et": "30dee8e9eab459ea32a7d835a9fb89d43df47708057cab829f067b25a24cd581", + "addons/map/Prefabs/Items/Equipment/ERRM_SharedFieldMap.et.meta": "59093e9072c50d99c86da7609c87541016da5bcf92b98d99db4c524e1c8e0e8d", + "addons/map/Scripts/Game/ERR/ERR_ScenarioMap.c": "75fa1d742129ef7f33c005cd48f56db7f49ee7bde3c5428532b0b501b032b0a3", + "addons/map/Scripts/Game/ERRMap/ERRM_SharedMapComponent.c": "fc1a0c7df4fc96da446d7542a45a10fbec1eda1e543ba2f0581cb772277a47c5", + "addons/map/UI/layouts/ERRMap/SharedMapRenderTarget.layout": "49a2da4181b94d42174f58c7f9b6bf2207116c99427d61ff1c212092ac7db4d2", + "addons/map/UI/layouts/ERRMap/SharedMapRenderTarget.layout.meta": "5c846445cc089e2e08899ba703059d4adb805ff30ab5a16409a3cd59718cbd54", + "addons/map/addon.gproj": "1b371e5e01ea9fa46e76570fecb8aaa3a9298e34cba7ccca8a6bdb5ca86eb46a" +} diff --git a/docs/evidence/native-2026-09-19-050403/console.log.txt b/docs/evidence/native-2026-09-19-050403/console.log.txt new file mode 100644 index 0000000..b202113 --- /dev/null +++ b/docs/evidence/native-2026-09-19-050403/console.log.txt @@ -0,0 +1,467 @@ +--------------------------------------------- +Log Z:\tmp\erri-workbench-profile\logs\logs_2026-09-19_05-04-03\console.log started at 2026-09-19 05:04:03 (2026-09-19 03:04:03 UTC) + +05:04:03.060 ENGINE : FileSystem: Adding relative directory 'Z:\tmp\erri-workbench-profile\logs\logs_2026-09-19_05-04-03' to filesystem under name logs +05:04:03.060 ENGINE : FileSystem: Adding relative directory 'Z:\tmp\erri-workbench-profile\profile' to filesystem under name profile +05:04:03.060 ENGINE : FileSystem: Current working directory: 'Z:\home\jakub\.local\share\Steam\steamapps\common\Arma Reforger Tools\Workbench\' +05:04:03.061 PROFILING : Workbench Create Engine took: 9.377800 ms +05:04:04.098 INIT : INIT : Workbench Init Engine +05:04:04.098 ENGINE : Initializing engine, version 192142 +05:04:04.098 ENGINE : CLI Params: -gproj Z:/home/jakub/devel/escapistsrereintroduced/addons/core/addon.gproj -addonsDir Z:/home/jakub/devel/escapistsrereintroduced/addons -profile Z:/tmp/erri-workbench-profile -logconsole -wbModule WorldEditor -load Worlds/ERR_Everon.ent -plugin ERR_ValidateBaseWorldPlugin -errPlay 1 -errBaseSmoke 1 -errSmokeOutcome lifecycle -noThrow -errStationTeardownDiag 1 +05:04:04.107 ENGINE : Addon dirs: +05:04:04.107 ENGINE : dir: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/core/' +05:04:04.107 ENGINE : dir: 'Z:/home/jakub/devel/escapistsrereintroduced/addons' +05:04:04.107 ENGINE : dir: './addons' +05:04:04.107 ENGINE : dir: 'Z:/tmp/erri-workbench-profile/addons' +05:04:04.107 ENGINE : Available addons: +05:04:04.107 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/core/addon.gproj' guid: '2528466DE220D91C' +05:04:04.107 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/ai/addon.gproj' guid: '5192138CB9D5B911' +05:04:04.107 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/chat/addon.gproj' guid: 'FA804F411BDDF2C6' +05:04:04.107 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/intel/addon.gproj' guid: 'D31039C7C53E348A' +05:04:04.107 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/map/addon.gproj' guid: '9AAEE9041D79809E' +05:04:04.107 ENGINE : gproj: './addons/core/core.gproj' guid: '5614BBCCBB55ED1C' (packed) +05:04:04.107 ENGINE : gproj: 'Z:/tmp/erri-workbench-profile/addons/ArmaReforger/ArmaReforger.gproj' guid: '58D0FB3206B6F859' (packed) +05:04:04.107 ENGINE : FileSystem: Adding relative directory 'Z:\home\jakub\devel\escapistsrereintroduced\addons\core' to filesystem under name ERR_Core +05:04:04.222 ENGINE : FileSystem: Adding package 'Z:/tmp/erri-workbench-profile/addons/ArmaReforger/' (pak count: 14) to filesystem under name ArmaReforger +05:04:04.225 ENGINE : FileSystem: Adding package './addons/core/' (pak count: 2) to filesystem under name core +05:04:04.225 ENGINE : CPU vendor : AuthenticAMD +05:04:04.225 ENGINE : CPU type : 2 +05:04:04.225 ENGINE : CPU name : AMD Ryzen 7 3800XT 8-Core Processor +05:04:04.225 ENGINE : CPU cache info : L1 [Inst 32KB, Data 32KB], L2 [Unif 512KB], L3 [Unif 16384KB] +05:04:04.225 ENGINE : CPU count logical : 16 +05:04:04.225 ENGINE : CPU count physical : 8 +05:04:04.225 ENGINE : CPU features : mmx sse sse2 sse3 ssse3 sse4_1 sse4_2 popcnt aesni pclmulqdq osxsave avx sha avx2 +05:04:04.225 RESOURCES : ResourceDB: loading cache (id=0 name=ERR_Core path=Z:\home\jakub\devel\escapistsrereintroduced\addons\core/resourceDatabase.rdb) +05:04:04.226 RESOURCES : ResourceDB: loading cache (id=1 name=ArmaReforger path=Z:/tmp/erri-workbench-profile/addons/ArmaReforger/resourceDatabase.rdb) +05:04:04.358 RESOURCES : ResourceDB: loading cache (id=2 name=core path=./addons/core/resourceDatabase.rdb) +05:04:04.360 RESOURCES : ResourceDB: loading cache (id=3 name=profile path=Z:\tmp\erri-workbench-profile\profile/resourceDatabase.rdb) +05:04:04.360 RESOURCES : ResourceDB: loading cache (id=4 name=logs path=Z:\tmp\erri-workbench-profile\logs\logs_2026-09-19_05-04-03/resourceDatabase.rdb) +05:04:04.514 RESOURCES : RESOURCES : ResourceDB: full scan +05:04:04.519 RESOURCES : RESOURCES : scanning... +05:04:04.519 RESOURCES : RESOURCES : scanning @"ERR_Core" +05:04:04.522 RESOURCES : RESOURCES : scanning @"ArmaReforger" +05:04:04.659 RESOURCES : RESOURCES : scanning @"core" +05:04:04.662 RESOURCES : RESOURCES : scanning @"profile" +05:04:04.662 RESOURCES : RESOURCES : scanning @"logs" +05:04:04.663 RESOURCES : RESOURCES : processing meta-files... +05:04:04.728 RESOURCES : RESOURCES : processing files... +05:04:04.738 INIT : Workbench startup +05:04:04.738 INIT : Workbench Init Engine +05:04:04.738 RESOURCES : ResourceDB: full scan +05:04:04.738 RESOURCES : processing files... +05:04:04.738 RESOURCES (W): resource not registered: @"$profile:rereintroduced.json". Setting null GUID +05:04:04.738 RESOURCES : RESOURCES : processing folders... +05:04:04.745 RESOURCES : RESOURCES : creating GUID-item mapping... +05:04:04.762 RESOURCES : RESOURCES : building tree... +05:04:04.817 PROFILING : ResourceDB: full scan took: 303.009600 ms +05:04:04.818 RESOURCES : ResourceDB: saving cache (id=0 name=ERR_Core path=Z:\home\jakub\devel\escapistsrereintroduced\addons\core/resourceDatabase.rdb) +05:04:04.820 RESOURCES : ResourceDB: written 4000/4000 bytes +05:04:04.820 RESOURCES : ResourceDB: cache successfully saved +05:04:04.820 RESOURCES : ResourceDB: saving cache (id=3 name=profile path=Z:\tmp\erri-workbench-profile\profile/resourceDatabase.rdb) +05:04:04.822 RESOURCES : ResourceDB: written 206/206 bytes +05:04:04.822 RESOURCES : ResourceDB: cache successfully saved +05:04:04.822 RESOURCES : ResourceDB: saving cache (id=4 name=logs path=Z:\tmp\erri-workbench-profile\logs\logs_2026-09-19_05-04-03/resourceDatabase.rdb) +05:04:04.823 RESOURCES : ResourceDB: written 81/81 bytes +05:04:04.823 RESOURCES : ResourceDB: cache successfully saved +05:04:04.823 ENGINE : GameProject load +05:04:04.823 ENGINE : Loaded addons: +05:04:04.823 ENGINE : gproj: './addons/core/core.gproj' guid: '5614BBCCBB55ED1C' +05:04:04.823 ENGINE : gproj: 'Z:/tmp/erri-workbench-profile/addons/ArmaReforger/ArmaReforger.gproj' guid: '58D0FB3206B6F859' +05:04:04.823 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/core/addon.gproj' guid: '2528466DE220D91C' +05:04:04.825 ENGINE : Loading custom engine user config '$profile:.save/app1874910_user76561198020202999/settings/ReforgerEngineSettings.conf' +05:04:04.825 INIT : GameProject engine user settings load @"$profile:.save/app1874910_user76561198020202999/settings/ReforgerEngineSettings.conf" +05:04:04.825 ENGINE : Engine user settings config loaded +05:04:04.825 PROFILING : Settings changed took: 0.001700 ms +05:04:04.930 RENDER : (OK) Adapter 'AMD Radeon RX 6950 XT (RADV NAVI21)' supports feature level 12_0 +05:04:04.932 RENDER : Basic screen setup: +05:04:04.932 RENDER : Back buffer format : TEXFMT_R8G8B8A8_SRGB (29) +05:04:04.932 RENDER : MSAA : none +05:04:04.945 RENDER : AMD AGS library initialized, version 6.1.0 x DLL 6.1.0 +05:04:04.945 RENDER : Extendeded AMD info for AMD Radeon RX 6950 XT (RADV NAVI21) (primary device) +05:04:04.945 RENDER : * architecture RDNA2, 80 CUs, 40 WGPs (for RDNA), 64 ROPs +05:04:04.945 RENDER : * core clocks 2720 MHz, memory 1124 MHz +05:04:04.945 RENDER : * TFlops 27.9, memory bandwidth (562.0 GB/s) +05:04:04.945 RENDER : AMD AGS correctly initialized +05:04:04.946 RENDER : GPU_ATI (0x1002) (AMD Radeon RX 6950 XT (RADV NAVI21)) with 1 GPU detected, VRAM 16128MB (fast 0MB), shared 64362MB, driver version 99.19.02-230831a-396538C-AMD-Software-Adrenalin-Edition +05:04:04.946 RENDER : Detected output devices: +05:04:04.946 RENDER : * 1 device/s connected to AMD Radeon RX 6950 XT (RADV NAVI21): +05:04:04.946 RENDER : Generic Non-PnP Monitor (\\.\DISPLAY1), 1280x720 (offset 0x0), 30Hz +05:04:04.946 RENDER : Concurrent frames limit 2 +05:04:05.020 RENDER : DX12 device successfully created by AMD AGS library +05:04:05.020 RENDER : * user markers not supported in this version AMD SW +05:04:05.020 RENDER : Graphics device features +05:04:05.020 RENDER : Needed: +05:04:05.020 RENDER : * Highest supported shader model: 6.8 (6.0 needed) +05:04:05.020 RENDER : Optional: +05:04:05.020 RENDER : * Allow tearing (VSYNC) : 1 +05:04:05.020 RENDER : * 16 bits : 1 +05:04:05.020 RENDER : * Resource heap tier : 3 +05:04:05.020 RENDER : * Persistent heaps (DRED) : 1 +05:04:05.020 RENDER : * DRED 1.2 is supported by compiler +05:04:05.043 RENDER : Main RT format setup. +05:04:05.043 RENDER : Main RT format for quality 0 : TEXFMT_R11G11B10_FLOAT (26) +05:04:05.043 RENDER : Main RT format for quality 1 : TEXFMT_R16G16B16A16_FLOAT (10) +05:04:05.045 ENGINE : Job system settings: coreCount=16, shortJobContextCount=16, shortJobThreadCount=15, longJobThreadCount=16 +05:04:05.075 PROFILING : Settings changed took: 0.019000 ms +05:04:05.508 AUDIO : Endpoint: Speakers (PulseAudio Output) +05:04:05.508 AUDIO : Format: Channels: 2, Sample rate: 48kHz, Avg. bytes: 384kB, Sample bits: 32, Block align: 8B +05:04:05.508 AUDIO : Audio client: +05:04:05.508 AUDIO : Format: Channels: 2, Sample rate: 48kHz, Buffer size: 1536B, Frame: 512 +05:04:05.513 RENDER : RENDER : Reload shaders +05:04:05.513 RENDER : Enfusion shader version 13 +05:04:05.513 INIT : INIT : ShaderListReload +05:04:05.513 PROFILING : ShaderListReload took: 0.000500 ms +05:04:05.654 AUDIO : Endpoint: Speakers (PulseAudio Output) +05:04:05.654 AUDIO : Format: Channels: 2, Sample rate: 48kHz, Avg. bytes: 384kB, Sample bits: 32, Block align: 8B +05:04:05.654 AUDIO : Audio client: +05:04:05.654 AUDIO : Format: Channels: 2, Sample rate: 48kHz, Buffer size: 1536B, Frame: 512 +05:04:05.773 RENDER : Loaded 3752 newer shader binaries +05:04:05.773 PROFILING : Reload shaders took: 260.626000 ms +05:04:05.773 ENGINE : Initializing inputs. +05:04:05.785 NETWORK : Initializing networking. +05:04:05.785 NETWORK : Using new GameRplScheduler. +05:04:05.785 SCRIPT : SCRIPT : Initializing scripts +05:04:05.785 SCRIPT : SCRIPT : ScriptProjectManager init +05:04:06.629 PROFILING : ScriptProjectManager init took: 843.636400 ms +05:04:06.663 PROFILING : Initializing scripts took: 877.974800 ms +05:04:06.683 ENGINE : Enfusion engine successfully created. +05:04:06.683 PROFILING : Workbench Init Engine took: 2585.134100 ms +05:04:06.683 INIT : INIT : Workbench Create Game +05:04:06.694 GUI : Using default language (en_us) +05:04:06.694 GUI : Loading 'en_us' localization file. +05:04:06.694 INIT : INIT : Loading StringTable +05:04:06.718 PROFILING : Loading StringTable took: 24.090300 ms +05:04:06.718 SCRIPT : SCRIPT : Compiling GameLib scripts +05:04:06.774 SCRIPT : Module: Workbench; loaded 18x files; 36x classes; used 125K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE"; CRC32: 90ce0460 +05:04:06.774 SCRIPT : Module: GameLib; loaded 465x files; 648x classes; used 828K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE"; CRC32: 4507af04 +05:04:06.775 PROFILING : Compiling GameLib scripts took: 56.160100 ms +05:04:06.775 SCRIPT : SCRIPT : Compiling Game scripts +05:04:07.861 INIT : Workbench Create Game +05:04:07.861 SCRIPT : Compiling Game scripts +05:04:07.861 SCRIPT (W): @"Scripts/Game/Editor/Components/EditableEntity/SCR_EditableEntityComponent.c,785": 'GetPlayerPlatformKind' is obsolete +05:04:07.861 SCRIPT (W): @"Scripts/Game/Editor/Components/EditableEntity/SCR_EditableEntityComponent.c,786": 'GetPlayerPlatformId' is obsolete +05:04:08.114 SCRIPT (W): @"Scripts/Game/ERR/ERR_SiteService.c,140": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +05:04:08.124 SCRIPT (W): @"Scripts/Game/Workshop/SCR_AddonManager.c,876": 'GetRefCount' is obsolete: Will be removed +05:04:08.160 SCRIPT (W): @"Scripts/Game/Campaign/SCR_PlayerProfileManagerComponent.c,142": 'PlayerData' is obsolete +05:04:08.261 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,159": 'GetDSSession' is obsolete +05:04:08.261 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,162": 'RoomID' is obsolete +05:04:08.261 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,197": 'GetDSSession' is obsolete +05:04:08.261 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,201": 'RoomID' is obsolete +05:04:08.359 SCRIPT (W): @"Scripts/Game/DataCollection/SCR_DataCollectorComponent.c,481": 'GetStorage' is obsolete +05:04:08.359 SCRIPT (W): @"Scripts/Game/DataCollection/SCR_DataCollectorComponent.c,483": 'GetOnlineWritePrivilege' is obsolete +05:04:08.360 SCRIPT (W): @"Scripts/Game/Utilities/SCR_PlayerIdentityUtils.c,20": 'GetPlayerIdentityId' is obsolete +05:04:08.403 SCRIPT (W): @"Scripts/Game/ERR/ERR_ExtractionService.c,45": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +05:04:08.403 SCRIPT (W): @"Scripts/Game/ERR/ERR_ExtractionService.c,56": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +05:04:08.404 SCRIPT (W): @"Scripts/Game/UI/Menu/MainMenuUI.c,643": 'GetNotifyCount' is obsolete: Will be substitued by Notification Api. +05:04:08.404 SCRIPT (W): @"Scripts/Game/UI/Menu/MainMenuUI.c,645": 'GetNotifyItem' is obsolete: Will be substitued by Notification Api. +05:04:08.430 SCRIPT (W): @"Scripts/Game/ERR/ERR_NativeTransportProbe.c,82": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +05:04:08.461 SCRIPT (W): @"Scripts/Game/DataCollection/PlayerData/SCR_PlayerData.c,210": 'PlayerData' is obsolete +05:04:08.730 SCRIPT : Module: WorkbenchGame; loaded 171x files; 616x classes; used 2478K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE"; CRC32: db6febb9 +05:04:08.738 SCRIPT : Module: Game; loaded 5704x files; 11180x classes; used 32533K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE,ENABLE_BASE_DESTRUCTION,BUDGET_OPTIMIZATION_CHECKS,SHOW_DISCLAIMER,DEBUG,RESPAWN_TIMER_COMPONENT_DEBUG,GAME_MODE_DEBUG,DEBUG_CONFIGURABLE_DIALOGS,DISABLE_WEAPON_SWITCHING,SCRIPTED_AIM_MODIFIER_DEBUG"; CRC32: 62b1e7fd +05:04:08.774 PROFILING : Compiling Game scripts took: 1999.369000 ms +05:04:08.780 INIT : Creating game instance(ArmaReforgerScripted), version 1.8.0.13 built 2026-08-21 14:30:18 UTC. +05:04:08.821 ENGINE : Game successfully created. +05:04:08.823 PROFILING : Workbench Create Game took: 2139.163200 ms +05:04:08.830 DEFAULT : Using thumbnail cache directory: C:/users/steamuser/AppData/Local/Temp/Arma Reforger Workbench/Projects/ERR_Core/thumbnails +05:04:09.651 INIT : INIT : Workbench Reload Game +05:04:09.653 ENGINE : Game destroyed. +05:04:09.659 GUI : Using default language (en_us) +05:04:09.659 GUI : Loading 'en_us' localization file. +05:04:09.659 INIT : INIT : Loading StringTable +05:04:09.669 PROFILING : Loading StringTable took: 9.152600 ms +05:04:09.669 INIT : Creating game instance(ArmaReforgerScripted), version 1.8.0.13 built 2026-08-21 14:30:18 UTC. +05:04:09.676 SCRIPT : Unable to register a script command due keyword duplicity: ban +05:04:09.676 SCRIPT : Unable to register a script command due keyword duplicity: kick +05:04:09.676 ENGINE : Game successfully created. +05:04:09.676 ENGINE : Game successfully initialized. +05:04:09.677 PROFILING : Workbench Reload Game took: 25.428200 ms +05:04:10.383 WORLD : WORLD : Entities load '$ERR_Core:Worlds/ERR_Everon.ent' +05:04:11.365 PROFILING : Entities load took: 981.341900 ms +05:04:11.376 WORLD : WORLD : CreateEntities +05:04:11.380 WORLD : WORLD : NotifyBeforeEntitiesCreated +05:04:11.381 PROFILING : NotifyBeforeEntitiesCreated took: 0.003600 ms +05:04:11.381 WORLD : WORLD : Wait for preloading data +05:04:11.381 PROFILING : Wait for preloading data took: 0.002900 ms +05:04:11.489 ENTITY : Create entity @"ENTITY:2" ('Eden', GenericTerrainEntity) at <0.000000 0.000000 0.000000> @"{5AD924374E8C7AF6}Prefabs/World/Game/Eden/GenericTerrain_Eden.et" +05:04:11.489 PROFILING : PROFILING : Terrain load +05:04:13.056 PROFILING : Terrain load took: 1566.115100 ms +05:04:17.126 WORLD : CreateEntities +05:04:17.127 ENTITY : Create entity @"ENTITY:610406" ('StaticModelEntity','Assets/Structures/Infrastructure/Towers/TransmitterTower_01/TransmitterTower_01_small.xob') at <1931.796021 81.777000 5138.725098> @"{6A004A8F0571D456}Prefabs/Structures/Infrastructure/Towers/TransmitterTower_01/TransmitterTower_01_small.et" +05:04:17.127 ENTITY : CreateComponent 'ScriptedRadioComponent' +05:04:17.127 DEFAULT (W): World doesn't contain RadioManagerEntity to support any BaseRadioComponent. +05:04:26.724 WORLD : WORLD : NotifyBeforeEntitiesInitialized +05:04:26.724 PROFILING : NotifyBeforeEntitiesInitialized took: 0.004700 ms +05:04:27.181 WORLD : WORLD : NotifyEntitiesInitialized +05:04:27.181 TERRAIN : TERRAIN : Initializing road networks... +05:04:27.184 PROFILING : Initializing road networks... took: 2.798700 ms +05:04:27.184 PROFILING : NotifyEntitiesInitialized took: 3.271200 ms +05:04:27.184 PROFILING : CreateEntities took: 15808.112900 ms +05:04:27.369 PROFILING : * WorldEditor: LoadWorld: 16991.907100 ms +05:04:28.900 TERRAIN : Loading tile map config (worlds/Eden/Eden/tileMap.conf) +05:04:28.900 TERRAIN : Loading minimap config (worlds/Eden/Eden/miniMap.conf) +05:04:28.901 TERRAIN : The default minimap texture ('worlds/Eden/EdenRasterized.edds') not found. Trying 'worlds/Eden/Eden.edds'... +05:04:28.901 TERRAIN : The default minimap texture ('worlds/Eden/Eden.edds') not found. Skipping... +05:04:28.992 SCRIPT : ERR SITE SURVEY: supply=6150/7050 elevationRange=0.625 min=202.875 max=203.5 +05:04:29.014 BACKEND : Attempting online Game Config instead. +05:04:32.215 INIT : INIT : Workbench Reload Game +05:04:32.217 ENGINE : Game destroyed. +05:04:32.224 GUI : Using default language (en_us) +05:04:32.224 GUI : Loading 'en_us' localization file. +05:04:32.224 INIT : INIT : Loading StringTable +05:04:32.245 PROFILING : Loading StringTable took: 20.597200 ms +05:04:32.245 INIT : Creating game instance(ArmaReforgerScripted), version 1.8.0.13 built 2026-08-21 14:30:18 UTC. +05:04:32.253 SCRIPT : Unable to register a script command due keyword duplicity: ban +05:04:32.253 SCRIPT : Unable to register a script command due keyword duplicity: kick +05:04:32.253 ENGINE : Game successfully created. +05:04:32.253 ENGINE : Game successfully initialized. +05:04:32.253 PROFILING : Workbench Reload Game took: 38.224600 ms +05:04:32.256 DEFAULT (W): LogiLED: Cannot initialize! (service not running or no compatible device detected) +05:04:32.306 PLATFORM : Save data from container 'settings' have been loaded +05:04:32.396 PLATFORM : Save data from container 'sessions' have been loaded +05:04:32.397 PLATFORM : GameProject user settings load from profile @"ReforgerGameSettings.conf" +05:04:32.397 ENGINE : Game user settings config loaded +05:04:32.494 DEFAULT : [SaveGameManager] Starting new playthrough nr.0 '' for mission '{B6C516F86302C679}Worlds/ERR_Everon.ent'. +05:04:32.501 WORLD : WORLD : Game::LoadEntities +05:04:32.501 WORLD : WORLD : Initializing world systems @"{1C60D2EDA2B468B8}Configs/Systems/BaseGameModeSystems.conf" +05:04:32.502 NETWORK : Enabled lag compensation, 29 frames with 100 FPS and 280 ms rewind limits. +05:04:32.502 WORLD : WORLD : CreateEntities +05:04:32.502 WORLD : WORLD : CreateEntities +05:04:32.502 WORLD : WORLD : NotifyBeforeEntitiesCreated +05:04:32.506 RESOURCES : Loaded mission headers from 7 addon(s)! +05:04:32.506 PROFILING : NotifyBeforeEntitiesCreated took: 4.436400 ms +05:04:32.506 WORLD : WORLD : Wait for preloading data +05:04:32.506 PROFILING : Wait for preloading data took: 0.000700 ms +05:04:36.875 WORLD : Game::LoadEntities +05:04:36.875 WORLD : CreateEntities +05:04:36.875 WORLD : CreateEntities +05:04:36.875 ENTITY : Create entity @"ENTITY:610406" ('StaticModelEntity','Assets/Structures/Infrastructure/Towers/TransmitterTower_01/TransmitterTower_01_small.xob') at <1931.796021 81.777000 5138.725098> @"{6A004A8F0571D456}Prefabs/Structures/Infrastructure/Towers/TransmitterTower_01/TransmitterTower_01_small.et" +05:04:36.875 ENTITY : CreateComponent 'ScriptedRadioComponent' +05:04:36.875 DEFAULT (W): World doesn't contain RadioManagerEntity to support any BaseRadioComponent. +05:04:38.291 ENTITY : Create entity @"ENTITY:842066" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1080.213013 10.776751 6018.347168> +05:04:38.291 ENTITY : CreateComponent 'Hierarchy' +05:04:38.291 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842066" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1080.213013 10.776751 6018.347168>') +05:04:38.291 ENTITY : Create entity @"ENTITY:842068" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1082.185913 10.778749 6018.331055> +05:04:38.291 ENTITY : CreateComponent 'Hierarchy' +05:04:38.291 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842068" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1082.185913 10.778749 6018.331055>') +05:04:38.291 ENTITY : Create entity @"ENTITY:842070" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1084.190918 10.790751 6018.334961> +05:04:38.291 ENTITY : CreateComponent 'Hierarchy' +05:04:38.291 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842070" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1084.190918 10.790751 6018.334961>') +05:04:38.297 ENTITY : Create entity @"ENTITY:842333" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4425.594727 9.981750 11029.402344> +05:04:38.297 ENTITY : CreateComponent 'Hierarchy' +05:04:38.297 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842333" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4425.594727 9.981750 11029.402344>') +05:04:38.297 ENTITY : Create entity @"ENTITY:842335" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4426.584473 9.983749 11031.109375> +05:04:38.297 ENTITY : CreateComponent 'Hierarchy' +05:04:38.297 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842335" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4426.584473 9.983749 11031.109375>') +05:04:38.297 ENTITY : Create entity @"ENTITY:842337" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4427.572266 9.995750 11032.853516> +05:04:38.297 ENTITY : CreateComponent 'Hierarchy' +05:04:38.297 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842337" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4427.572266 9.995750 11032.853516>') +05:04:38.302 ENTITY : Create entity @"ENTITY:842591" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.946289 10.470250 1551.986084> +05:04:38.302 ENTITY : CreateComponent 'Hierarchy' +05:04:38.302 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842591" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.946289 10.470250 1551.986084>') +05:04:38.302 ENTITY : Create entity @"ENTITY:842593" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.430664 10.472250 1550.081421> +05:04:38.302 ENTITY : CreateComponent 'Hierarchy' +05:04:38.302 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842593" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.430664 10.472250 1550.081421>') +05:04:38.302 ENTITY : Create entity @"ENTITY:842595" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10008.926758 10.484250 1548.140869> +05:04:38.302 ENTITY : CreateComponent 'Hierarchy' +05:04:38.302 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842595" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10008.926758 10.484250 1548.140869>') +05:04:42.916 ENTITY : Create entity @"ENTITY:2305843009213693956" ('Factions', SCR_FactionManager) at <0.000000 0.000000 0.000000> @"{589540B35EBA8CDC}Prefabs/MP/Managers/Factions/FactionManager_USxUSSR.et" +05:04:42.916 RESOURCES : GetResourceObject @"{5168FEA3054D6D15}Prefabs/Vehicles/Wheeled/M151A2/M151A2_M2HB_MERDC.et" +05:04:42.916 WORLD : Entity prefab load @"{5168FEA3054D6D15}Prefabs/Vehicles/Wheeled/M151A2/M151A2_M2HB_MERDC.et" +05:04:42.916 RESOURCES : GetResourceObject @"{F6B23D17D5067C11}Prefabs/Vehicles/Wheeled/M151A2/M151A2_M2HB.et" +05:04:42.916 WORLD : Entity prefab load @"{F6B23D17D5067C11}Prefabs/Vehicles/Wheeled/M151A2/M151A2_M2HB.et" +05:04:42.916 RESOURCES : GetResourceObject @"{F649585ABB3706C4}Prefabs/Vehicles/Wheeled/M151A2/M151A2.et" +05:04:42.916 WORLD : Entity prefab load @"{F649585ABB3706C4}Prefabs/Vehicles/Wheeled/M151A2/M151A2.et" +05:04:42.916 WORLD (E): Unknown keyword/data 'SlidingTrackMaterial' at offset 19441(0x4bf1) +05:04:42.958 RESOURCES : GetResourceObject @"{F7B9B434FCFF00B3}Prefabs/Vehicles/Wheeled/Conflict_Variants/BRDM2_Conflict.et" +05:04:42.958 WORLD : Entity prefab load @"{F7B9B434FCFF00B3}Prefabs/Vehicles/Wheeled/Conflict_Variants/BRDM2_Conflict.et" +05:04:42.958 RESOURCES : GetResourceObject @"{254289B9C09904AB}Prefabs/Vehicles/Wheeled/BRDM2/BRDM2.et" +05:04:42.958 WORLD : Entity prefab load @"{254289B9C09904AB}Prefabs/Vehicles/Wheeled/BRDM2/BRDM2.et" +05:04:42.958 RESOURCES : GetResourceObject @"{532B5F3CF8496E59}Prefabs/Vehicles/Wheeled/BRDM2/BRDM2_base.et" +05:04:42.958 WORLD : Entity prefab load @"{532B5F3CF8496E59}Prefabs/Vehicles/Wheeled/BRDM2/BRDM2_base.et" +05:04:42.958 WORLD (E): Unknown keyword/data 'Parent' at offset 35955(0x8c73) +05:04:42.958 WORLD (E): Unknown keyword/data 'Parent' at offset 36915(0x9033) +05:04:42.959 RESOURCES : GetResourceObject @"{BD75A18920BD1278}Prefabs/Vehicles/Wheeled/Conflict_Variants/BTR70_Conflict.et" +05:04:42.959 WORLD : Entity prefab load @"{BD75A18920BD1278}Prefabs/Vehicles/Wheeled/Conflict_Variants/BTR70_Conflict.et" +05:04:42.959 RESOURCES : GetResourceObject @"{C012BB3488BEA0C2}Prefabs/Vehicles/Wheeled/BTR70/BTR70.et" +05:04:42.959 WORLD : Entity prefab load @"{C012BB3488BEA0C2}Prefabs/Vehicles/Wheeled/BTR70/BTR70.et" +05:04:42.959 RESOURCES : GetResourceObject @"{1C5FE7B7FF49BB8D}Prefabs/Vehicles/Wheeled/BTR70/BTR70_Base.et" +05:04:42.959 WORLD : Entity prefab load @"{1C5FE7B7FF49BB8D}Prefabs/Vehicles/Wheeled/BTR70/BTR70_Base.et" +05:04:42.959 WORLD (E): Unknown keyword/data 'Parent' at offset 42646(0xa696) +05:04:42.959 WORLD (E): Unknown keyword/data 'Parent' at offset 43645(0xaa7d) +05:04:42.959 WORLD (E): Unknown keyword/data 'Parent' at offset 44617(0xae49) +05:04:42.959 WORLD (E): Unknown keyword/data 'Parent' at offset 45590(0xb216) +05:04:43.268 WORLD : WORLD : NotifyBeforeEntitiesInitialized +05:04:43.268 PROFILING : NotifyBeforeEntitiesInitialized took: 0.070700 ms +05:04:45.304 WORLD : InitEntities 'world' +05:04:45.304 ENTITY : Init entity @"ENTITY:2305843009213693953" ('Rereintroduced', ERR_GameMode) at <1076.468018 51.000999 1325.246948> @"{978E045E53EF36C8}Prefabs/ERR/GameMode.et" +05:04:45.304 SCRIPT (W): SCR_PerceivedFactionManagerComponent trying to set fall back faction 'CIV' but this faction could not be found so it is null instead. +05:04:45.332 WORLD : InitEntities 'world' +05:04:45.332 ENTITY : Init entity @"ENTITY:2305843009213693953" ('Rereintroduced', ERR_GameMode) at <1076.468018 51.000999 1325.246948> @"{978E045E53EF36C8}Prefabs/ERR/GameMode.et" +05:04:45.332 SCRIPT : ERR BASE SMOKE: core-only scripted escape; not manual or multiplayer acceptance +05:04:45.332 WORLD : WORLD : NotifyEntitiesInitialized +05:04:45.332 TERRAIN : TERRAIN : Initializing road networks... +05:04:45.335 PROFILING : Initializing road networks... took: 3.075000 ms +05:04:45.336 DEFAULT : DEFAULT : WorldVolumesCollection +05:04:45.403 PROFILING : WorldVolumesCollection took: 67.603800 ms +05:04:45.403 INIT : INIT : SoundWorldInit +05:04:45.420 PROFILING : SoundWorldInit took: 16.668200 ms +05:04:45.420 PROFILING : NotifyEntitiesInitialized took: 87.684400 ms +05:04:45.420 PROFILING : CreateEntities took: 12917.720000 ms +05:04:45.420 PROFILING : CreateEntities took: 12917.913600 ms +05:04:45.421 WORLD : WORLD : Wait for preloading data around camera +05:04:45.421 PROFILING : Wait for preloading data around camera took: 0.001300 ms +05:04:45.421 WORLD : WORLD : EOnActivate +05:04:45.458 PROFILING : EOnActivate took: 37.034400 ms +05:04:45.458 PROFILING : Game::LoadEntities took: 12957.257800 ms +05:04:45.732 DEFAULT : Entered offline game state. +05:04:45.835 NETWORK : Player connected: connectionID=2147483646 +05:04:45.835 NETWORK : ### Connecting player: connectionID=2147483646, Name= +05:04:45.836 NETWORK : ### Creating player: PlayerId=1, Name=jakub +05:04:45.841 ENTITY : SpawnEntityPrefab @"{225E51284CC95CFA}Prefabs/Characters/Core/DefaultPlayerControllerMP.et" +05:04:45.842 ENTITY : Create entity @"ENTITY:4611686018427388381" ('SCR_PlayerController') at <0.000000 0.000000 0.000000> +05:04:45.842 ENTITY : EntityPrefabUse @"{225E51284CC95CFA}Prefabs/Characters/Core/DefaultPlayerControllerMP.et" +05:04:45.842 SCRIPT (W): Notification data in 'SCR_NotificationsLogDisplay' has duplicate notification info key: 'EDITOR_PERCEIVED_FACTION_PUNISHMENT_KILLING_SET'. There should only be one of each key! +05:04:45.843 SCRIPT (W): Notification data in 'SCR_NotificationsLogDisplay' has duplicate notification info key: 'EDITOR_PERCEIVED_FACTION_TYPE_DISABLED'. There should only be one of each key! +05:04:45.844 SCRIPT (W): Can't open config file "" +05:04:45.851 WORLD : InitEntities 'world' +05:04:45.851 ENTITY : Init entity @"ENTITY:4611686018427388381" ('SCR_PlayerController') at <0.000000 0.000000 0.000000> @"{225E51284CC95CFA}Prefabs/Characters/Core/DefaultPlayerControllerMP.et" +05:04:45.852 GUI : WidgetManager: CrateWidgets @"{3C9DCDD76AB83157}UI/layouts/HUD/HUDLayouts/HUDManager_Root.layout" +05:04:45.852 SCRIPT (W): Slot_WeaponInfo Has no Content! +05:04:45.852 SCRIPT (W): Slot_Chat Has no Content! +05:04:45.852 SCRIPT (W): Slot_VON Has no Content! +05:04:45.852 SCRIPT (W): Slot_AvailableActions Has no Content! +05:04:45.852 SCRIPT (W): Slot_Vehicle Has no Content! +05:04:45.852 SCRIPT (W): Slot_GameVersion Has no Content! +05:04:45.853 SCRIPT (W): Slot_Notifications Has no Content! +05:04:45.853 SCRIPT (W): Slot_Hints Has no Content! +05:04:45.869 NETWORK : ### Updating player: PlayerId=1, Name=jakub, rplIdentity=0xFFFFFFFE, IdentityId=00000000-0000-0000-0000-000000000000 +05:04:45.869 SCRIPT (W): Ban Settings could not be loaded from BE Storage: Relying on default config +05:04:45.869 NETWORK : Players connecting: 0 +05:04:45.869 NETWORK : Players connected: 1 / 1 +05:04:45.899 DEFAULT : Using autosave directory: C:/users/steamuser/AppData/Local/Temp/Arma Reforger Workbench/Projects/ERR_Core/autosaves +05:04:45.901 PROFILING : Workbench startup took: 42905.511800 ms +05:04:45.925 WORLD : Frame start +05:04:45.925 SCRIPT : ScenarioFramework: Available tasks are empty, no new tasks will be generated. +05:04:45.939 WORLD : UpdateEntities +05:04:45.939 WORLD : Frame +05:04:45.939 SCRIPT : SCR_BaseGameMode::OnGameStateChanged = GAME +05:04:46.107 WORLD : UpdateEntities +05:04:46.107 WORLD : PostFrame +05:04:46.107 GUI : WidgetManager: CrateWidgets @"{D89BBA18F99053D6}UI/layouts/HUD/Chat/ChatHud.layout" +05:04:46.107 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +05:04:46.154 RESOURCES : GetResourceObject @"{20A6917D2114E29A}UI/layouts/HUD/Hint/HintInfoDisplay.layout" +05:04:46.154 GUI : Layout load @"{20A6917D2114E29A}UI/layouts/HUD/Hint/HintInfoDisplay.layout" +05:04:46.155 GUI : Widget prefab @"{EA1CC57D868E94F9}UI/layouts/HUD/Hint/Hint.layout" +05:04:46.155 GUI (W): Overridden prefab member (GUID: '{661AB14E0F471C66}' type: ButtonWidgetClass) no longer exists in prefab +05:04:46.291 RENDER : RENDER : ObjectsHeightMap::Build +05:04:46.291 RENDER : RENDER : MeshOccupancyGridManager::GenerateAllForWorld +05:04:46.462 PROFILING : MeshOccupancyGridManager::GenerateAllForWorld took: 170.823800 ms +05:04:46.470 PROFILING : ObjectsHeightMap::Build took: 178.562400 ms +05:04:47.630 SCRIPT : Rereintroduced [sites]: cache clearance position=<6086,211.538,7160> clear=1 +05:04:47.649 SCRIPT : Rereintroduced [sites]: authored everon-prison-1 at <6090,211.444,7160> +05:04:47.650 SCRIPT : Rereintroduced [sites]: cache clearance position=<6150,203.288,7050> clear=1 +05:04:47.677 SCRIPT : Rereintroduced [sites]: authored everon-supply-1 at <6150,203.288,7050> +05:04:47.678 SCRIPT : Rereintroduced [sites]: authored everon-radio-1 at <6500,159.756,7200> +05:04:47.728 SCRIPT : Rereintroduced [sites]: authored everon-extraction-1 at <7000,65.2562,7500> +05:04:47.729 SCRIPT : Rereintroduced [sites]: cache clearance position=<5960,220.256,7220> clear=1 +05:04:47.734 SCRIPT : Rereintroduced [sites]: transport parking=<5960,220.256,7212> radius=4 terrainRange=0.8125 obstructed=0 clear=1 +05:04:47.781 SCRIPT : Rereintroduced [sites]: authored everon-supply-2 at <5960,220.256,7220> +05:04:47.781 SCRIPT : Rereintroduced [sites]: cache clearance position=<6340,175.788,7400> clear=1 +05:04:47.783 SCRIPT : Rereintroduced [sites]: authored everon-medical-1 at <6340,175.788,7400> +05:04:47.784 SCRIPT : Rereintroduced [sites]: cache clearance position=<6740,140.6,7300> clear=1 +05:04:47.788 SCRIPT : Rereintroduced [sites]: cache clearance position=<6740,140.913,7296> clear=1 +05:04:47.790 SCRIPT : Rereintroduced [sites]: cache clearance position=<6736,140.975,7300> clear=1 +05:04:47.790 SCRIPT : Rereintroduced [sites]: cache clearance position=<6744,140.288,7300> clear=1 +05:04:47.792 SCRIPT : Rereintroduced [sites]: authored everon-outpost-1 at <6740,140.6,7300> +05:04:47.881 SCRIPT : Rereintroduced [sites]: 7 sites and 117 physical stock items ready +05:04:47.882 SCRIPT : Rereintroduced [time]: started at 14:00 with 1x progression +05:04:47.882 SCRIPT : Rereintroduced [mission]: phase 0 -> 1 +05:04:48.131 SCRIPT : INFO: Faction: player jakub (playerID = 1 | UUID = 00000000-0000-0000-0000-000000000000) has joined faction #AR-Faction_US (US) +05:04:48.213 SCRIPT : Rereintroduced [spawn]: player 1 at <6087,211.538,7157> +05:04:48.815 SCRIPT : ERR SMOKE PASS: lifecycle finalization phase matrix 0 +05:04:48.816 SCRIPT : ERR SMOKE PASS: lifecycle finalization phase matrix 1 +05:04:48.816 SCRIPT : ERR SMOKE PASS: lifecycle finalization phase matrix 2 +05:04:48.816 SCRIPT : ERR SMOKE PASS: lifecycle finalization phase matrix 3 +05:04:48.816 SCRIPT : ERR SMOKE PASS: lifecycle finalization phase matrix 4 +05:04:48.816 SCRIPT : ERR SMOKE PASS: lifecycle finalization phase matrix 5 +05:04:48.816 SCRIPT : ERR SMOKE PASS: lifecycle finalization phase matrix 6 +05:04:48.816 SCRIPT : ERR SMOKE PASS: lifecycle spent life cannot finalize a delayed admission +05:04:48.816 SCRIPT : ERR SMOKE PASS: lifecycle disconnected account cannot finalize +05:04:48.817 SCRIPT : ERR SMOKE PASS: lifecycle recycled connection identity cannot inherit a pending admission +05:04:48.817 SCRIPT : ERR SMOKE PASS: lifecycle changed controller rejects stale admission +05:04:48.817 SCRIPT : ERR SMOKE PASS: lifecycle changed request rejects stale admission +05:04:48.817 SCRIPT : ERR SMOKE PASS: lifecycle existing controlled actor cannot be replaced by delayed admission +05:04:48.817 SCRIPT : ERR SMOKE PASS: lifecycle native settling tolerance rejects horizontal and vertical preload drift +05:04:48.817 SCRIPT : ERR SMOKE PASS: lifecycle native prison has a clear candidate +05:04:48.817 SCRIPT : ERR SMOKE PASS: lifecycle IDs one and thirteen receive distinct reserved slots +05:04:48.819 SCRIPT : ERR SPAWN CAPACITY: remaining clear prison positions=20 plus current controlled prisoner +05:04:48.819 SCRIPT : ERR SMOKE PASS: lifecycle occupied and pending slots exhaust a bounded grid without overlap or outside fallback +05:04:48.819 SCRIPT : ERR SMOKE PASS: lifecycle candidate remains inside authored prison +05:04:48.819 SCRIPT : ERR SMOKE PASS: lifecycle candidate remains inside authored prison +05:04:48.819 SCRIPT : ERR SMOKE PASS: lifecycle candidate remains inside authored prison +05:04:48.819 SCRIPT : ERR SMOKE PASS: lifecycle candidate remains inside authored prison +05:04:48.819 SCRIPT : ERR SMOKE PASS: lifecycle candidate remains inside authored prison +05:04:48.820 SCRIPT : ERR SMOKE PASS: lifecycle candidate remains inside authored prison +05:04:48.820 SCRIPT : ERR SMOKE PASS: lifecycle candidate remains inside authored prison +05:04:48.820 SCRIPT : ERR SMOKE PASS: lifecycle candidate remains inside authored prison +05:04:48.820 SCRIPT : ERR SMOKE PASS: lifecycle candidate remains inside authored prison +05:04:48.820 SCRIPT : ERR SMOKE PASS: lifecycle candidate remains inside authored prison +05:04:48.820 SCRIPT : ERR SMOKE PASS: lifecycle candidate remains inside authored prison +05:04:48.820 SCRIPT : ERR SMOKE PASS: lifecycle candidate remains inside authored prison +05:04:48.820 SCRIPT : ERR SMOKE PASS: lifecycle candidate remains inside authored prison +05:04:48.821 SCRIPT : ERR SMOKE PASS: lifecycle candidate remains inside authored prison +05:04:48.821 SCRIPT : ERR SMOKE PASS: lifecycle candidate remains inside authored prison +05:04:48.821 SCRIPT : ERR SMOKE PASS: lifecycle candidate remains inside authored prison +05:04:48.821 SCRIPT : ERR SMOKE PASS: lifecycle candidate remains inside authored prison +05:04:48.821 SCRIPT : ERR SMOKE PASS: lifecycle candidate remains inside authored prison +05:04:48.821 SCRIPT : ERR SMOKE PASS: lifecycle candidate remains inside authored prison +05:04:48.821 SCRIPT : ERR SMOKE PASS: lifecycle candidate remains inside authored prison +05:04:48.821 SCRIPT : ERR SMOKE PASS: lifecycle released pending reservation becomes available again +05:04:48.829 SCRIPT : ERR SMOKE PASS: lifecycle uncontrolled physical body created at a previously clear slot +05:04:49.832 SCRIPT : ERR SMOKE PASS: lifecycle native character body blocks a slot even without a connected player ID +05:04:50.838 SCRIPT : ERR SMOKE PASS: lifecycle real local free-spawn request, handler and admission logic exist +05:04:50.838 SCRIPT : ERR SMOKE PASS: lifecycle real prisoner has a spent life and no pending admission +05:04:50.846 SCRIPT : ERR SMOKE PASS: lifecycle isolated unpossessed actor receives an explicit test-owned admission ticket +05:04:50.846 SCRIPT : ERR SMOKE PASS: lifecycle different request payload cannot claim or delete the owned actor +05:04:50.848 SCRIPT : ERR SMOKE PASS: lifecycle native finalization refuses the spent-life preload +05:04:51.848 SCRIPT : ERR SMOKE PASS: lifecycle refused native preload was deleted after lifecycle processing +05:04:51.848 SCRIPT : ERR SMOKE PASS: lifecycle refusal releases reservations without changing life or controlled actor +05:04:51.848 SCRIPT : ERR SMOKE PASS: lifecycle unticketed repeated callback cannot delete or replace the controlled prisoner +05:04:51.857 SCRIPT : ERR SMOKE PASS: lifecycle second isolated pending actor prepared for cancellation +05:04:51.857 SCRIPT : ERR SMOKE PASS: lifecycle delayed loss callback preserves reacquired living controller and admission metadata +05:04:52.867 SCRIPT : ERR SMOKE PASS: lifecycle pending-request cancellation cleans its actor and never grants another life +05:04:52.875 SCRIPT : ERR SMOKE PASS: lifecycle physical actor created for vertical drift check +05:04:53.876 SCRIPT : ERR SMOKE PASS: lifecycle actual vertically displaced character fails finalization position tolerance after native movement +05:04:53.878 SCRIPT : Rereintroduced [mission]: phase 1 -> 6 +05:04:53.878 SCRIPT : ERR SMOKE PASS: base lifecycle fixture finished before explicit test reset +05:04:53.878 SCRIPT : ERR SMOKE COMPLETE: native lifecycle admission guards; reset requested by fixture +05:04:53.974 SCRIPT : SCR_BaseGameMode::OnGameStateChanged = POSTGAME +05:04:53.976 GUI : WidgetManager: CrateWidgets @"{144919871D65F121}UI/layouts/HUD/GameOver/EndScreen/EndScreen.layout" +05:04:53.976 SCRIPT (W): Slot_Chat Has no Content! +05:04:53.976 SCRIPT (W): Slot_VON Has no Content! +05:04:53.976 SCRIPT (W): Slot_GameVersion Has no Content! +05:04:53.976 SCRIPT (W): Slot_Notifications Has no Content! +05:04:54.076 SCRIPT (W): GM Budget got clamped at some point! +05:04:56.021 SCRIPT (W): SCR_ScriptedWidgetComponent.GetComponent: widget not found: SCR_InputButtonComponent Back +05:04:56.021 SCRIPT : -- Stack trace -- +05:04:56.021 SCRIPT : GetComponent() Scripts/Game/UI/Components/WidgetLibrary/SCR_ScriptedWidgetComponent.c : 43 +05:04:56.021 SCRIPT : GetInputButtonComponent() Scripts/Game/UI/Components/WidgetLibrary/SCR_InputButton/SCR_InputButtonComponent.c : 1214 +05:04:56.022 SCRIPT : OnMenuOpen() Scripts/Game/UI/GameOverScreen/SCR_GameOverScreenInput.c : 15 +05:04:56.022 SCRIPT : OpenGameOverScreen() Scripts/Game/GameOverScreen/SCR_GameOverScreenManagerComponent.c : 447 +05:04:56.022 SCRIPT : ShowGameOverScreen() Scripts/Game/GameOverScreen/SCR_GameOverScreenManagerComponent.c : 177 +05:04:56.022 SCRIPT : OnUpdate() Scripts/Game/game.c : 885 +05:04:56.022 SCRIPT : ----------------- +05:04:56.022 SCRIPT (W): SCR_ScriptedWidgetComponent.GetComponent: widget not found: SCR_InputButtonComponent ChatButton +05:04:56.022 SCRIPT : -- Stack trace -- +05:04:56.022 SCRIPT : GetComponent() Scripts/Game/UI/Components/WidgetLibrary/SCR_ScriptedWidgetComponent.c : 43 +05:04:56.023 SCRIPT : GetInputButtonComponent() Scripts/Game/UI/Components/WidgetLibrary/SCR_InputButton/SCR_InputButtonComponent.c : 1214 +05:04:56.023 SCRIPT : OnMenuOpen() Scripts/Game/UI/GameOverScreen/SCR_GameOverScreenInput.c : 21 +05:04:56.023 SCRIPT : OpenGameOverScreen() Scripts/Game/GameOverScreen/SCR_GameOverScreenManagerComponent.c : 447 +05:04:56.023 SCRIPT : ShowGameOverScreen() Scripts/Game/GameOverScreen/SCR_GameOverScreenManagerComponent.c : 177 +05:04:56.023 SCRIPT : OnUpdate() Scripts/Game/game.c : 885 +05:04:56.023 SCRIPT : ----------------- +05:04:56.025 GUI : WidgetManager: CrateWidgets @"{144919871D65F121}UI/layouts/HUD/GameOver/EndScreen/EndScreen.layout" +05:04:56.025 SCRIPT (W): Slot_Chat Has no Content! +05:04:56.025 SCRIPT (W): Slot_VON Has no Content! +05:04:56.025 SCRIPT (W): Slot_GameVersion Has no Content! +05:04:56.025 SCRIPT (W): Slot_Notifications Has no Content! diff --git a/docs/evidence/native-2026-09-19-050403/error.log.txt b/docs/evidence/native-2026-09-19-050403/error.log.txt new file mode 100644 index 0000000..f3ea570 --- /dev/null +++ b/docs/evidence/native-2026-09-19-050403/error.log.txt @@ -0,0 +1,134 @@ +--------------------------------------------- +Log Z:\tmp\erri-workbench-profile\logs\logs_2026-09-19_05-04-03\error.log started at 2026-09-19 05:04:04 (2026-09-19 03:04:04 UTC) + +05:04:04.738 INIT : Workbench startup +05:04:04.738 INIT : Workbench Init Engine +05:04:04.738 RESOURCES : ResourceDB: full scan +05:04:04.738 RESOURCES : processing files... +05:04:04.738 RESOURCES (W): resource not registered: @"$profile:rereintroduced.json". Setting null GUID +05:04:07.861 INIT : Workbench Create Game +05:04:07.861 SCRIPT : Compiling Game scripts +05:04:07.861 SCRIPT (W): @"Scripts/Game/Editor/Components/EditableEntity/SCR_EditableEntityComponent.c,785": 'GetPlayerPlatformKind' is obsolete +05:04:07.861 SCRIPT (W): @"Scripts/Game/Editor/Components/EditableEntity/SCR_EditableEntityComponent.c,786": 'GetPlayerPlatformId' is obsolete +05:04:08.114 SCRIPT (W): @"Scripts/Game/ERR/ERR_SiteService.c,140": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +05:04:08.124 SCRIPT (W): @"Scripts/Game/Workshop/SCR_AddonManager.c,876": 'GetRefCount' is obsolete: Will be removed +05:04:08.160 SCRIPT (W): @"Scripts/Game/Campaign/SCR_PlayerProfileManagerComponent.c,142": 'PlayerData' is obsolete +05:04:08.261 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,159": 'GetDSSession' is obsolete +05:04:08.261 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,162": 'RoomID' is obsolete +05:04:08.261 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,197": 'GetDSSession' is obsolete +05:04:08.261 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,201": 'RoomID' is obsolete +05:04:08.359 SCRIPT (W): @"Scripts/Game/DataCollection/SCR_DataCollectorComponent.c,481": 'GetStorage' is obsolete +05:04:08.359 SCRIPT (W): @"Scripts/Game/DataCollection/SCR_DataCollectorComponent.c,483": 'GetOnlineWritePrivilege' is obsolete +05:04:08.360 SCRIPT (W): @"Scripts/Game/Utilities/SCR_PlayerIdentityUtils.c,20": 'GetPlayerIdentityId' is obsolete +05:04:08.403 SCRIPT (W): @"Scripts/Game/ERR/ERR_ExtractionService.c,45": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +05:04:08.403 SCRIPT (W): @"Scripts/Game/ERR/ERR_ExtractionService.c,56": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +05:04:08.404 SCRIPT (W): @"Scripts/Game/UI/Menu/MainMenuUI.c,643": 'GetNotifyCount' is obsolete: Will be substitued by Notification Api. +05:04:08.404 SCRIPT (W): @"Scripts/Game/UI/Menu/MainMenuUI.c,645": 'GetNotifyItem' is obsolete: Will be substitued by Notification Api. +05:04:08.430 SCRIPT (W): @"Scripts/Game/ERR/ERR_NativeTransportProbe.c,82": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +05:04:08.461 SCRIPT (W): @"Scripts/Game/DataCollection/PlayerData/SCR_PlayerData.c,210": 'PlayerData' is obsolete +05:04:17.126 WORLD : CreateEntities +05:04:17.127 ENTITY : Create entity @"ENTITY:610406" ('StaticModelEntity','Assets/Structures/Infrastructure/Towers/TransmitterTower_01/TransmitterTower_01_small.xob') at <1931.796021 81.777000 5138.725098> @"{6A004A8F0571D456}Prefabs/Structures/Infrastructure/Towers/TransmitterTower_01/TransmitterTower_01_small.et" +05:04:17.127 ENTITY : CreateComponent 'ScriptedRadioComponent' +05:04:17.127 DEFAULT (W): World doesn't contain RadioManagerEntity to support any BaseRadioComponent. +05:04:32.256 DEFAULT (W): LogiLED: Cannot initialize! (service not running or no compatible device detected) +05:04:36.875 WORLD : Game::LoadEntities +05:04:36.875 WORLD : CreateEntities +05:04:36.875 WORLD : CreateEntities +05:04:36.875 ENTITY : Create entity @"ENTITY:610406" ('StaticModelEntity','Assets/Structures/Infrastructure/Towers/TransmitterTower_01/TransmitterTower_01_small.xob') at <1931.796021 81.777000 5138.725098> @"{6A004A8F0571D456}Prefabs/Structures/Infrastructure/Towers/TransmitterTower_01/TransmitterTower_01_small.et" +05:04:36.875 ENTITY : CreateComponent 'ScriptedRadioComponent' +05:04:36.875 DEFAULT (W): World doesn't contain RadioManagerEntity to support any BaseRadioComponent. +05:04:38.291 ENTITY : Create entity @"ENTITY:842066" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1080.213013 10.776751 6018.347168> +05:04:38.291 ENTITY : CreateComponent 'Hierarchy' +05:04:38.291 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842066" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1080.213013 10.776751 6018.347168>') +05:04:38.291 ENTITY : Create entity @"ENTITY:842068" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1082.185913 10.778749 6018.331055> +05:04:38.291 ENTITY : CreateComponent 'Hierarchy' +05:04:38.291 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842068" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1082.185913 10.778749 6018.331055>') +05:04:38.291 ENTITY : Create entity @"ENTITY:842070" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1084.190918 10.790751 6018.334961> +05:04:38.291 ENTITY : CreateComponent 'Hierarchy' +05:04:38.291 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842070" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1084.190918 10.790751 6018.334961>') +05:04:38.297 ENTITY : Create entity @"ENTITY:842333" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4425.594727 9.981750 11029.402344> +05:04:38.297 ENTITY : CreateComponent 'Hierarchy' +05:04:38.297 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842333" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4425.594727 9.981750 11029.402344>') +05:04:38.297 ENTITY : Create entity @"ENTITY:842335" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4426.584473 9.983749 11031.109375> +05:04:38.297 ENTITY : CreateComponent 'Hierarchy' +05:04:38.297 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842335" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4426.584473 9.983749 11031.109375>') +05:04:38.297 ENTITY : Create entity @"ENTITY:842337" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4427.572266 9.995750 11032.853516> +05:04:38.297 ENTITY : CreateComponent 'Hierarchy' +05:04:38.297 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842337" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4427.572266 9.995750 11032.853516>') +05:04:38.302 ENTITY : Create entity @"ENTITY:842591" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.946289 10.470250 1551.986084> +05:04:38.302 ENTITY : CreateComponent 'Hierarchy' +05:04:38.302 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842591" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.946289 10.470250 1551.986084>') +05:04:38.302 ENTITY : Create entity @"ENTITY:842593" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.430664 10.472250 1550.081421> +05:04:38.302 ENTITY : CreateComponent 'Hierarchy' +05:04:38.302 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842593" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.430664 10.472250 1550.081421>') +05:04:38.302 ENTITY : Create entity @"ENTITY:842595" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10008.926758 10.484250 1548.140869> +05:04:38.302 ENTITY : CreateComponent 'Hierarchy' +05:04:38.302 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842595" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10008.926758 10.484250 1548.140869>') +05:04:42.916 ENTITY : Create entity @"ENTITY:2305843009213693956" ('Factions', SCR_FactionManager) at <0.000000 0.000000 0.000000> @"{589540B35EBA8CDC}Prefabs/MP/Managers/Factions/FactionManager_USxUSSR.et" +05:04:42.916 RESOURCES : GetResourceObject @"{5168FEA3054D6D15}Prefabs/Vehicles/Wheeled/M151A2/M151A2_M2HB_MERDC.et" +05:04:42.916 WORLD : Entity prefab load @"{5168FEA3054D6D15}Prefabs/Vehicles/Wheeled/M151A2/M151A2_M2HB_MERDC.et" +05:04:42.916 RESOURCES : GetResourceObject @"{F6B23D17D5067C11}Prefabs/Vehicles/Wheeled/M151A2/M151A2_M2HB.et" +05:04:42.916 WORLD : Entity prefab load @"{F6B23D17D5067C11}Prefabs/Vehicles/Wheeled/M151A2/M151A2_M2HB.et" +05:04:42.916 RESOURCES : GetResourceObject @"{F649585ABB3706C4}Prefabs/Vehicles/Wheeled/M151A2/M151A2.et" +05:04:42.916 WORLD : Entity prefab load @"{F649585ABB3706C4}Prefabs/Vehicles/Wheeled/M151A2/M151A2.et" +05:04:42.916 WORLD (E): Unknown keyword/data 'SlidingTrackMaterial' at offset 19441(0x4bf1) +05:04:42.958 RESOURCES : GetResourceObject @"{F7B9B434FCFF00B3}Prefabs/Vehicles/Wheeled/Conflict_Variants/BRDM2_Conflict.et" +05:04:42.958 WORLD : Entity prefab load @"{F7B9B434FCFF00B3}Prefabs/Vehicles/Wheeled/Conflict_Variants/BRDM2_Conflict.et" +05:04:42.958 RESOURCES : GetResourceObject @"{254289B9C09904AB}Prefabs/Vehicles/Wheeled/BRDM2/BRDM2.et" +05:04:42.958 WORLD : Entity prefab load @"{254289B9C09904AB}Prefabs/Vehicles/Wheeled/BRDM2/BRDM2.et" +05:04:42.958 RESOURCES : GetResourceObject @"{532B5F3CF8496E59}Prefabs/Vehicles/Wheeled/BRDM2/BRDM2_base.et" +05:04:42.958 WORLD : Entity prefab load @"{532B5F3CF8496E59}Prefabs/Vehicles/Wheeled/BRDM2/BRDM2_base.et" +05:04:42.958 WORLD (E): Unknown keyword/data 'Parent' at offset 35955(0x8c73) +05:04:42.958 WORLD (E): Unknown keyword/data 'Parent' at offset 36915(0x9033) +05:04:42.959 RESOURCES : GetResourceObject @"{BD75A18920BD1278}Prefabs/Vehicles/Wheeled/Conflict_Variants/BTR70_Conflict.et" +05:04:42.959 WORLD : Entity prefab load @"{BD75A18920BD1278}Prefabs/Vehicles/Wheeled/Conflict_Variants/BTR70_Conflict.et" +05:04:42.959 RESOURCES : GetResourceObject @"{C012BB3488BEA0C2}Prefabs/Vehicles/Wheeled/BTR70/BTR70.et" +05:04:42.959 WORLD : Entity prefab load @"{C012BB3488BEA0C2}Prefabs/Vehicles/Wheeled/BTR70/BTR70.et" +05:04:42.959 RESOURCES : GetResourceObject @"{1C5FE7B7FF49BB8D}Prefabs/Vehicles/Wheeled/BTR70/BTR70_Base.et" +05:04:42.959 WORLD : Entity prefab load @"{1C5FE7B7FF49BB8D}Prefabs/Vehicles/Wheeled/BTR70/BTR70_Base.et" +05:04:42.959 WORLD (E): Unknown keyword/data 'Parent' at offset 42646(0xa696) +05:04:42.959 WORLD (E): Unknown keyword/data 'Parent' at offset 43645(0xaa7d) +05:04:42.959 WORLD (E): Unknown keyword/data 'Parent' at offset 44617(0xae49) +05:04:42.959 WORLD (E): Unknown keyword/data 'Parent' at offset 45590(0xb216) +05:04:45.304 WORLD : InitEntities 'world' +05:04:45.304 ENTITY : Init entity @"ENTITY:2305843009213693953" ('Rereintroduced', ERR_GameMode) at <1076.468018 51.000999 1325.246948> @"{978E045E53EF36C8}Prefabs/ERR/GameMode.et" +05:04:45.304 SCRIPT (W): SCR_PerceivedFactionManagerComponent trying to set fall back faction 'CIV' but this faction could not be found so it is null instead. +05:04:45.841 ENTITY : SpawnEntityPrefab @"{225E51284CC95CFA}Prefabs/Characters/Core/DefaultPlayerControllerMP.et" +05:04:45.842 ENTITY : Create entity @"ENTITY:4611686018427388381" ('SCR_PlayerController') at <0.000000 0.000000 0.000000> +05:04:45.842 ENTITY : EntityPrefabUse @"{225E51284CC95CFA}Prefabs/Characters/Core/DefaultPlayerControllerMP.et" +05:04:45.842 SCRIPT (W): Notification data in 'SCR_NotificationsLogDisplay' has duplicate notification info key: 'EDITOR_PERCEIVED_FACTION_PUNISHMENT_KILLING_SET'. There should only be one of each key! +05:04:45.843 SCRIPT (W): Notification data in 'SCR_NotificationsLogDisplay' has duplicate notification info key: 'EDITOR_PERCEIVED_FACTION_TYPE_DISABLED'. There should only be one of each key! +05:04:45.844 SCRIPT (W): Can't open config file "" +05:04:45.851 WORLD : InitEntities 'world' +05:04:45.851 ENTITY : Init entity @"ENTITY:4611686018427388381" ('SCR_PlayerController') at <0.000000 0.000000 0.000000> @"{225E51284CC95CFA}Prefabs/Characters/Core/DefaultPlayerControllerMP.et" +05:04:45.852 GUI : WidgetManager: CrateWidgets @"{3C9DCDD76AB83157}UI/layouts/HUD/HUDLayouts/HUDManager_Root.layout" +05:04:45.852 SCRIPT (W): Slot_WeaponInfo Has no Content! +05:04:45.852 SCRIPT (W): Slot_Chat Has no Content! +05:04:45.852 SCRIPT (W): Slot_VON Has no Content! +05:04:45.852 SCRIPT (W): Slot_AvailableActions Has no Content! +05:04:45.852 SCRIPT (W): Slot_Vehicle Has no Content! +05:04:45.852 SCRIPT (W): Slot_GameVersion Has no Content! +05:04:45.853 SCRIPT (W): Slot_Notifications Has no Content! +05:04:45.853 SCRIPT (W): Slot_Hints Has no Content! +05:04:45.869 SCRIPT (W): Ban Settings could not be loaded from BE Storage: Relying on default config +05:04:46.107 WORLD : UpdateEntities +05:04:46.107 WORLD : PostFrame +05:04:46.107 GUI : WidgetManager: CrateWidgets @"{D89BBA18F99053D6}UI/layouts/HUD/Chat/ChatHud.layout" +05:04:46.107 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +05:04:46.154 RESOURCES : GetResourceObject @"{20A6917D2114E29A}UI/layouts/HUD/Hint/HintInfoDisplay.layout" +05:04:46.154 GUI : Layout load @"{20A6917D2114E29A}UI/layouts/HUD/Hint/HintInfoDisplay.layout" +05:04:46.155 GUI : Widget prefab @"{EA1CC57D868E94F9}UI/layouts/HUD/Hint/Hint.layout" +05:04:46.155 GUI (W): Overridden prefab member (GUID: '{661AB14E0F471C66}' type: ButtonWidgetClass) no longer exists in prefab +05:04:53.976 GUI : WidgetManager: CrateWidgets @"{144919871D65F121}UI/layouts/HUD/GameOver/EndScreen/EndScreen.layout" +05:04:53.976 SCRIPT (W): Slot_Chat Has no Content! +05:04:53.976 SCRIPT (W): Slot_VON Has no Content! +05:04:53.976 SCRIPT (W): Slot_GameVersion Has no Content! +05:04:53.976 SCRIPT (W): Slot_Notifications Has no Content! +05:04:54.076 SCRIPT (W): GM Budget got clamped at some point! +05:04:56.021 SCRIPT (W): SCR_ScriptedWidgetComponent.GetComponent: widget not found: SCR_InputButtonComponent Back +05:04:56.022 SCRIPT (W): SCR_ScriptedWidgetComponent.GetComponent: widget not found: SCR_InputButtonComponent ChatButton +05:04:56.025 GUI : WidgetManager: CrateWidgets @"{144919871D65F121}UI/layouts/HUD/GameOver/EndScreen/EndScreen.layout" +05:04:56.025 SCRIPT (W): Slot_Chat Has no Content! +05:04:56.025 SCRIPT (W): Slot_VON Has no Content! +05:04:56.025 SCRIPT (W): Slot_GameVersion Has no Content! +05:04:56.025 SCRIPT (W): Slot_Notifications Has no Content! diff --git a/docs/evidence/native-2026-09-19-050403/headless-launch.log.txt b/docs/evidence/native-2026-09-19-050403/headless-launch.log.txt new file mode 100644 index 0000000..26e8e04 --- /dev/null +++ b/docs/evidence/native-2026-09-19-050403/headless-launch.log.txt @@ -0,0 +1,150 @@ +[gamescope] [Info] console: gamescope version 3.16.28 (gcc 16.2.1) +No CAP_SYS_NICE, falling back to regular-priority compute and threads. +Performance will be affected. +[gamescope] [Info] scriptmgr: Loading scripts from: '/usr/share/gamescope/scripts' +[gamescope] [Info] scriptmgr: Loading scripts from: '/usr/share/gamescope/scripts/00-gamescope' +[gamescope] [Info] scriptmgr: Loading scripts from: '/usr/share/gamescope/scripts/00-gamescope/common' +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/common/inspect.lua' (id: 0) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/common/modegen.lua' (id: 1) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/common/util.lua' (id: 2) +[gamescope] [Info] scriptmgr: Loading scripts from: '/usr/share/gamescope/scripts/00-gamescope/displays' +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/asus.rogally.lcd.lua' (id: 3) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/deckhd.steamdeck.deckhd-lcd.lua' (id: 4) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/gpd.win4.lcd.lua' (id: 5) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/lenovo.legiongo.lcd.lua' (id: 6) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/lenovo.legiongos.lcd.lua' (id: 7) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/onexplayer.f1.oled.lua' (id: 8) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/valve.steamdeck.lcd.lua' (id: 9) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/valve.steamdeck.oled.lua' (id: 10) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/zotac.zone.oled.lua' (id: 11) +[gamescope] [Info] scriptmgr: Loading scripts from: '/etc/gamescope/scripts' +[gamescope] [Warn] scriptmgr: Directory '/etc/gamescope/scripts' does not exist +[gamescope] [Info] scriptmgr: Loading scripts from: '/home/jakub/.config/gamescope/scripts' +[gamescope] [Warn] scriptmgr: Directory '/home/jakub/.config/gamescope/scripts' does not exist +[gamescope] [Info] vulkan: selecting physical device 'AMD Radeon RX 6950 XT (RADV NAVI21)': queue family 1 (general queue family 0) +[gamescope] [Info] vulkan: physical device supports DRM format modifiers +[gamescope] [Info] wlserver: [backend/headless/backend.c:60] Creating headless backend +[gamescope] [Info] vulkan: supported DRM formats for sampling usage: +[gamescope] [Info] vulkan: AR24 (0x34325241) +[gamescope] [Info] vulkan: XR24 (0x34325258) +[gamescope] [Info] vulkan: AB24 (0x34324241) +[gamescope] [Info] vulkan: XB24 (0x34324258) +[gamescope] [Info] vulkan: RG16 (0x36314752) +[gamescope] [Info] vulkan: NV12 (0x3231564E) +[gamescope] [Info] vulkan: AB4H (0x48344241) +[gamescope] [Info] vulkan: XB4H (0x48344258) +[gamescope] [Info] vulkan: AB48 (0x38344241) +[gamescope] [Info] vulkan: XB48 (0x38344258) +[gamescope] [Info] vulkan: AB30 (0x30334241) +[gamescope] [Info] vulkan: XB30 (0x30334258) +[gamescope] [Info] vulkan: AR30 (0x30335241) +[gamescope] [Info] vulkan: XR30 (0x30335258) +[gamescope] [Info] wlserver: Using explicit sync when available +[gamescope] [Info] wlserver: Running compositor on wayland display 'gamescope-0' +[gamescope] [Info] wlserver: [backend/headless/backend.c:17] Starting headless backend +[gamescope] [Info] wlserver: Successfully initialized libei for input emulation! +[gamescope] [Error] wlserver: [xwayland/sockets.c:47] Failed to bind socket @/tmp/.X11-unix/X0: Address already in use +[gamescope] [Info] wlserver: [xwayland/server.c:108] Starting Xwayland on :2 +The XKEYBOARD keymap compiler (xkbcomp) reports: +> Warning: Multiple symbols for level 1/group 1 on key +> Using F23, ignoring XF86TouchpadOff +> Warning: Symbol map for key redefined +> Using last definition for conflicting fields +> Warning: Symbol map for key redefined +> Using last definition for conflicting fields +> Warning: Could not resolve keysym XF86ElectronicPrivacyScreenOn +> Warning: Could not resolve keysym XF86ElectronicPrivacyScreenOff +> Warning: Could not resolve keysym XF86ActionOnSelection +> Warning: Could not resolve keysym XF86ContextualInsert +> Warning: Could not resolve keysym XF86ContextualQuery +Errors from xkbcomp are not fatal to the X server +[gamescope] [Info] pipewire: stream state changed: connecting +[gamescope] [Info] pipewire: stream state changed: paused +[gamescope] [Info] pipewire: stream available on node ID: 173 +[gamescope] [Info] vblank: Using timerfd. +fsync: up and running. +[Gamescope WSI] No application info given. +[Gamescope WSI] Executable name: explorer.exe +ATTENTION: default value of option vk_wsi_force_swapchain_to_current_extent overridden by environment. +[Gamescope WSI] Application info: + pApplicationName: xalia.exe + applicationVersion: 0 + pEngineName: DXVK + engineVersion: 12587008 + apiVersion: 4206592 +[Gamescope WSI] Executable name: xalia.exe +ATTENTION: default value of option vk_wsi_force_swapchain_to_current_extent overridden by environment. +[Gamescope WSI] No application info given. +[Gamescope WSI] Application info: + pApplicationName: ArmaReforgerWorkbenchSteamDiag.exe + applicationVersion: 1 + pEngineName: DXVK + engineVersion: 12587008 + apiVersion: 4206592 +[Gamescope WSI] Executable name: ArmaReforgerWorkbenchSteamDiag.exe +ATTENTION: default value of option vk_wsi_force_swapchain_to_current_extent overridden by environment. +[Gamescope WSI] No application info given. +The XKEYBOARD keymap compiler (xkbcomp) reports: +> Warning: Unsupported maximum keycode 709, clipping. +> X11 cannot support keycodes above 255. +> Warning: Virtual modifier Hyper multiply defined +> Using 0, ignoring 0 +> Warning: Virtual modifier ScrollLock multiply defined +> Using 0, ignoring 0 +Errors from xkbcomp are not fatal to the X server +ATTENTION: default value of option vk_wsi_force_swapchain_to_current_extent overridden by environment. +[Gamescope WSI] Application info: + pApplicationName: ArmaReforgerWorkbenchSteamDiag.exe + applicationVersion: 0 + pEngineName: DXVK + engineVersion: 12587008 + apiVersion: 4206592 +ATTENTION: default value of option vk_wsi_force_swapchain_to_current_extent overridden by environment. +[Gamescope WSI] Application info: + pApplicationName: ArmaReforgerWorkbenchSteamDiag.exe + applicationVersion: 0 + pEngineName: vkd3d + engineVersion: 12587008 + apiVersion: 4206592 +[Gamescope WSI] Forcing on VK_EXT_swapchain_maintenance1. +ATTENTION: default value of option vk_wsi_force_swapchain_to_current_extent overridden by environment. +[Gamescope WSI] No application info given. +ATTENTION: default value of option vk_wsi_force_swapchain_to_current_extent overridden by environment. +[Gamescope WSI] Application info: + pApplicationName: ArmaReforgerWorkbenchSteamDiag.exe + applicationVersion: 0 + pEngineName: vkd3d + engineVersion: 12587008 + apiVersion: 4206592 +[Gamescope WSI] Forcing on VK_EXT_swapchain_maintenance1. +[Gamescope WSI] Creating Gamescope surface: xid: 0x1a001a4 +[Gamescope WSI] Atom of T was wrong type. Expected XCB_ATOM_CARDINAL. +[Gamescope WSI] Made gamescope surface for xid: 0x1a001a4 +[Gamescope WSI] Surface state: + steam app id: 1874910 + window xid: 0x1a001a4 + wayland surface res id: 5 + layer client flags: 0x4 + server hdr output enabled: false + hdr formats exposed to client: false +[Gamescope WSI] Creating Gamescope surface: xid: 0x1a003a4 +[Gamescope WSI] Atom of T was wrong type. Expected XCB_ATOM_CARDINAL. +[Gamescope WSI] Made gamescope surface for xid: 0x1a003a4 +[Gamescope WSI] Surface state: + steam app id: 1874910 + window xid: 0x1a003a4 + wayland surface res id: 10 + layer client flags: 0x4 + server hdr output enabled: false + hdr formats exposed to client: false +[Gamescope WSI] Creating swapchain for xid: 0x1a003a4 - oldSwapchain: (nil) - provided minImageCount: 3 - minImageCount: 3 - format: VK_FORMAT_B8G8R8A8_UNORM - colorspace: VK_COLOR_SPACE_SRGB_NONLINEAR_KHR - flip: false +[Gamescope WSI] Created swapchain for xid: 0x1a003a4 swapchain: 0x55558453c2e0 - imageCount: 4 +[Gamescope WSI] Destroying swapchain: 0x55558453c2e0 +[Gamescope WSI] Destroyed swapchain: 0x55558453c2e0 +[Gamescope WSI] Creating swapchain for xid: 0x1a003a4 - oldSwapchain: (nil) - provided minImageCount: 3 - minImageCount: 3 - format: VK_FORMAT_B8G8R8A8_UNORM - colorspace: VK_COLOR_SPACE_SRGB_NONLINEAR_KHR - flip: false +[Gamescope WSI] Created swapchain for xid: 0x1a003a4 swapchain: 0x55558453c2e0 - imageCount: 4 +[Gamescope WSI] Destroying swapchain: 0x55558453c2e0 +[Gamescope WSI] Destroyed swapchain: 0x55558453c2e0 +[Gamescope WSI] Creating swapchain for xid: 0x1a003a4 - oldSwapchain: (nil) - provided minImageCount: 3 - minImageCount: 3 - format: VK_FORMAT_B8G8R8A8_UNORM - colorspace: VK_COLOR_SPACE_SRGB_NONLINEAR_KHR - flip: false +[Gamescope WSI] Created swapchain for xid: 0x1a003a4 swapchain: 0x5555844f4ea0 - imageCount: 4 +[gamescope] [Info] launch: Primary child shut down! diff --git a/docs/evidence/native-2026-09-19-050403/report.json b/docs/evidence/native-2026-09-19-050403/report.json new file mode 100644 index 0000000..8e73772 --- /dev/null +++ b/docs/evidence/native-2026-09-19-050403/report.json @@ -0,0 +1,17 @@ +{ + "log": "docs/evidence/native-2026-09-19-050403/console.log.txt", + "smoke_completions": 1, + "assertions_passed": 54, + "script_or_runtime_failures": [], + "engine_errors": [ + "05:04:42.916 WORLD (E): Unknown keyword/data 'SlidingTrackMaterial' at offset 19441(0x4bf1)", + "05:04:42.958 WORLD (E): Unknown keyword/data 'Parent' at offset 35955(0x8c73)", + "05:04:42.958 WORLD (E): Unknown keyword/data 'Parent' at offset 36915(0x9033)", + "05:04:42.959 WORLD (E): Unknown keyword/data 'Parent' at offset 42646(0xa696)", + "05:04:42.959 WORLD (E): Unknown keyword/data 'Parent' at offset 43645(0xaa7d)", + "05:04:42.959 WORLD (E): Unknown keyword/data 'Parent' at offset 44617(0xae49)", + "05:04:42.959 WORLD (E): Unknown keyword/data 'Parent' at offset 45590(0xb216)" + ], + "missing_end_screen": [], + "scope": "scripted local Workbench integration only; no multiplayer, piloting or FPS claim" +} diff --git a/docs/evidence/native-2026-09-19-050403/runner.json.txt b/docs/evidence/native-2026-09-19-050403/runner.json.txt new file mode 100644 index 0000000..f95aea8 --- /dev/null +++ b/docs/evidence/native-2026-09-19-050403/runner.json.txt @@ -0,0 +1,9 @@ +{ + "result": "smoke-completed", + "session": "/tmp/erri-workbench-profile/logs/logs_2026-09-19_05-04-03", + "rounds_required": 1, + "project": "core", + "display": "headless Gamescope 1280x720/30Hz", + "dedicated_server": false, + "audio": "silent sink and per-test-stream mute" +} diff --git a/docs/evidence/native-2026-09-19-050403/script.log.txt b/docs/evidence/native-2026-09-19-050403/script.log.txt new file mode 100644 index 0000000..4442385 --- /dev/null +++ b/docs/evidence/native-2026-09-19-050403/script.log.txt @@ -0,0 +1,158 @@ +--------------------------------------------- +Log Z:\tmp\erri-workbench-profile\logs\logs_2026-09-19_05-04-03\script.log started at 2026-09-19 05:04:05 (2026-09-19 03:04:05 UTC) + +05:04:05.785 SCRIPT : SCRIPT : Initializing scripts +05:04:05.785 SCRIPT : SCRIPT : ScriptProjectManager init +05:04:06.718 SCRIPT : SCRIPT : Compiling GameLib scripts +05:04:06.774 SCRIPT : Module: Workbench; loaded 18x files; 36x classes; used 125K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE"; CRC32: 90ce0460 +05:04:06.774 SCRIPT : Module: GameLib; loaded 465x files; 648x classes; used 828K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE"; CRC32: 4507af04 +05:04:06.775 SCRIPT : SCRIPT : Compiling Game scripts +05:04:07.861 SCRIPT : Compiling Game scripts +05:04:07.861 SCRIPT (W): @"Scripts/Game/Editor/Components/EditableEntity/SCR_EditableEntityComponent.c,785": 'GetPlayerPlatformKind' is obsolete +05:04:07.861 SCRIPT (W): @"Scripts/Game/Editor/Components/EditableEntity/SCR_EditableEntityComponent.c,786": 'GetPlayerPlatformId' is obsolete +05:04:08.114 SCRIPT (W): @"Scripts/Game/ERR/ERR_SiteService.c,140": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +05:04:08.124 SCRIPT (W): @"Scripts/Game/Workshop/SCR_AddonManager.c,876": 'GetRefCount' is obsolete: Will be removed +05:04:08.160 SCRIPT (W): @"Scripts/Game/Campaign/SCR_PlayerProfileManagerComponent.c,142": 'PlayerData' is obsolete +05:04:08.261 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,159": 'GetDSSession' is obsolete +05:04:08.261 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,162": 'RoomID' is obsolete +05:04:08.261 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,197": 'GetDSSession' is obsolete +05:04:08.261 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,201": 'RoomID' is obsolete +05:04:08.359 SCRIPT (W): @"Scripts/Game/DataCollection/SCR_DataCollectorComponent.c,481": 'GetStorage' is obsolete +05:04:08.359 SCRIPT (W): @"Scripts/Game/DataCollection/SCR_DataCollectorComponent.c,483": 'GetOnlineWritePrivilege' is obsolete +05:04:08.360 SCRIPT (W): @"Scripts/Game/Utilities/SCR_PlayerIdentityUtils.c,20": 'GetPlayerIdentityId' is obsolete +05:04:08.403 SCRIPT (W): @"Scripts/Game/ERR/ERR_ExtractionService.c,45": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +05:04:08.403 SCRIPT (W): @"Scripts/Game/ERR/ERR_ExtractionService.c,56": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +05:04:08.404 SCRIPT (W): @"Scripts/Game/UI/Menu/MainMenuUI.c,643": 'GetNotifyCount' is obsolete: Will be substitued by Notification Api. +05:04:08.404 SCRIPT (W): @"Scripts/Game/UI/Menu/MainMenuUI.c,645": 'GetNotifyItem' is obsolete: Will be substitued by Notification Api. +05:04:08.430 SCRIPT (W): @"Scripts/Game/ERR/ERR_NativeTransportProbe.c,82": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +05:04:08.461 SCRIPT (W): @"Scripts/Game/DataCollection/PlayerData/SCR_PlayerData.c,210": 'PlayerData' is obsolete +05:04:08.730 SCRIPT : Module: WorkbenchGame; loaded 171x files; 616x classes; used 2478K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE"; CRC32: db6febb9 +05:04:08.738 SCRIPT : Module: Game; loaded 5704x files; 11180x classes; used 32533K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE,ENABLE_BASE_DESTRUCTION,BUDGET_OPTIMIZATION_CHECKS,SHOW_DISCLAIMER,DEBUG,RESPAWN_TIMER_COMPONENT_DEBUG,GAME_MODE_DEBUG,DEBUG_CONFIGURABLE_DIALOGS,DISABLE_WEAPON_SWITCHING,SCRIPTED_AIM_MODIFIER_DEBUG"; CRC32: 62b1e7fd +05:04:09.676 SCRIPT : Unable to register a script command due keyword duplicity: ban +05:04:09.676 SCRIPT : Unable to register a script command due keyword duplicity: kick +05:04:28.992 SCRIPT : ERR SITE SURVEY: supply=6150/7050 elevationRange=0.625 min=202.875 max=203.5 +05:04:32.253 SCRIPT : Unable to register a script command due keyword duplicity: ban +05:04:32.253 SCRIPT : Unable to register a script command due keyword duplicity: kick +05:04:45.304 SCRIPT (W): SCR_PerceivedFactionManagerComponent trying to set fall back faction 'CIV' but this faction could not be found so it is null instead. +05:04:45.332 SCRIPT : ERR BASE SMOKE: core-only scripted escape; not manual or multiplayer acceptance +05:04:45.842 SCRIPT (W): Notification data in 'SCR_NotificationsLogDisplay' has duplicate notification info key: 'EDITOR_PERCEIVED_FACTION_PUNISHMENT_KILLING_SET'. There should only be one of each key! +05:04:45.843 SCRIPT (W): Notification data in 'SCR_NotificationsLogDisplay' has duplicate notification info key: 'EDITOR_PERCEIVED_FACTION_TYPE_DISABLED'. There should only be one of each key! +05:04:45.844 SCRIPT (W): Can't open config file "" +05:04:45.852 SCRIPT (W): Slot_WeaponInfo Has no Content! +05:04:45.852 SCRIPT (W): Slot_Chat Has no Content! +05:04:45.852 SCRIPT (W): Slot_VON Has no Content! +05:04:45.852 SCRIPT (W): Slot_AvailableActions Has no Content! +05:04:45.852 SCRIPT (W): Slot_Vehicle Has no Content! +05:04:45.852 SCRIPT (W): Slot_GameVersion Has no Content! +05:04:45.853 SCRIPT (W): Slot_Notifications Has no Content! +05:04:45.853 SCRIPT (W): Slot_Hints Has no Content! +05:04:45.869 SCRIPT (W): Ban Settings could not be loaded from BE Storage: Relying on default config +05:04:45.925 SCRIPT : ScenarioFramework: Available tasks are empty, no new tasks will be generated. +05:04:45.939 SCRIPT : SCR_BaseGameMode::OnGameStateChanged = GAME +05:04:46.107 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +05:04:47.630 SCRIPT : Rereintroduced [sites]: cache clearance position=<6086,211.538,7160> clear=1 +05:04:47.649 SCRIPT : Rereintroduced [sites]: authored everon-prison-1 at <6090,211.444,7160> +05:04:47.650 SCRIPT : Rereintroduced [sites]: cache clearance position=<6150,203.288,7050> clear=1 +05:04:47.677 SCRIPT : Rereintroduced [sites]: authored everon-supply-1 at <6150,203.288,7050> +05:04:47.678 SCRIPT : Rereintroduced [sites]: authored everon-radio-1 at <6500,159.756,7200> +05:04:47.728 SCRIPT : Rereintroduced [sites]: authored everon-extraction-1 at <7000,65.2562,7500> +05:04:47.729 SCRIPT : Rereintroduced [sites]: cache clearance position=<5960,220.256,7220> clear=1 +05:04:47.734 SCRIPT : Rereintroduced [sites]: transport parking=<5960,220.256,7212> radius=4 terrainRange=0.8125 obstructed=0 clear=1 +05:04:47.781 SCRIPT : Rereintroduced [sites]: authored everon-supply-2 at <5960,220.256,7220> +05:04:47.781 SCRIPT : Rereintroduced [sites]: cache clearance position=<6340,175.788,7400> clear=1 +05:04:47.783 SCRIPT : Rereintroduced [sites]: authored everon-medical-1 at <6340,175.788,7400> +05:04:47.784 SCRIPT : Rereintroduced [sites]: cache clearance position=<6740,140.6,7300> clear=1 +05:04:47.788 SCRIPT : Rereintroduced [sites]: cache clearance position=<6740,140.913,7296> clear=1 +05:04:47.790 SCRIPT : Rereintroduced [sites]: cache clearance position=<6736,140.975,7300> clear=1 +05:04:47.790 SCRIPT : Rereintroduced [sites]: cache clearance position=<6744,140.288,7300> clear=1 +05:04:47.792 SCRIPT : Rereintroduced [sites]: authored everon-outpost-1 at <6740,140.6,7300> +05:04:47.881 SCRIPT : Rereintroduced [sites]: 7 sites and 117 physical stock items ready +05:04:47.882 SCRIPT : Rereintroduced [time]: started at 14:00 with 1x progression +05:04:47.882 SCRIPT : Rereintroduced [mission]: phase 0 -> 1 +05:04:48.131 SCRIPT : INFO: Faction: player jakub (playerID = 1 | UUID = 00000000-0000-0000-0000-000000000000) has joined faction #AR-Faction_US (US) +05:04:48.213 SCRIPT : Rereintroduced [spawn]: player 1 at <6087,211.538,7157> +05:04:48.815 SCRIPT : ERR SMOKE PASS: lifecycle finalization phase matrix 0 +05:04:48.816 SCRIPT : ERR SMOKE PASS: lifecycle finalization phase matrix 1 +05:04:48.816 SCRIPT : ERR SMOKE PASS: lifecycle finalization phase matrix 2 +05:04:48.816 SCRIPT : ERR SMOKE PASS: lifecycle finalization phase matrix 3 +05:04:48.816 SCRIPT : ERR SMOKE PASS: lifecycle finalization phase matrix 4 +05:04:48.816 SCRIPT : ERR SMOKE PASS: lifecycle finalization phase matrix 5 +05:04:48.816 SCRIPT : ERR SMOKE PASS: lifecycle finalization phase matrix 6 +05:04:48.816 SCRIPT : ERR SMOKE PASS: lifecycle spent life cannot finalize a delayed admission +05:04:48.816 SCRIPT : ERR SMOKE PASS: lifecycle disconnected account cannot finalize +05:04:48.817 SCRIPT : ERR SMOKE PASS: lifecycle recycled connection identity cannot inherit a pending admission +05:04:48.817 SCRIPT : ERR SMOKE PASS: lifecycle changed controller rejects stale admission +05:04:48.817 SCRIPT : ERR SMOKE PASS: lifecycle changed request rejects stale admission +05:04:48.817 SCRIPT : ERR SMOKE PASS: lifecycle existing controlled actor cannot be replaced by delayed admission +05:04:48.817 SCRIPT : ERR SMOKE PASS: lifecycle native settling tolerance rejects horizontal and vertical preload drift +05:04:48.817 SCRIPT : ERR SMOKE PASS: lifecycle native prison has a clear candidate +05:04:48.817 SCRIPT : ERR SMOKE PASS: lifecycle IDs one and thirteen receive distinct reserved slots +05:04:48.819 SCRIPT : ERR SPAWN CAPACITY: remaining clear prison positions=20 plus current controlled prisoner +05:04:48.819 SCRIPT : ERR SMOKE PASS: lifecycle occupied and pending slots exhaust a bounded grid without overlap or outside fallback +05:04:48.819 SCRIPT : ERR SMOKE PASS: lifecycle candidate remains inside authored prison +05:04:48.819 SCRIPT : ERR SMOKE PASS: lifecycle candidate remains inside authored prison +05:04:48.819 SCRIPT : ERR SMOKE PASS: lifecycle candidate remains inside authored prison +05:04:48.819 SCRIPT : ERR SMOKE PASS: lifecycle candidate remains inside authored prison +05:04:48.819 SCRIPT : ERR SMOKE PASS: lifecycle candidate remains inside authored prison +05:04:48.820 SCRIPT : ERR SMOKE PASS: lifecycle candidate remains inside authored prison +05:04:48.820 SCRIPT : ERR SMOKE PASS: lifecycle candidate remains inside authored prison +05:04:48.820 SCRIPT : ERR SMOKE PASS: lifecycle candidate remains inside authored prison +05:04:48.820 SCRIPT : ERR SMOKE PASS: lifecycle candidate remains inside authored prison +05:04:48.820 SCRIPT : ERR SMOKE PASS: lifecycle candidate remains inside authored prison +05:04:48.820 SCRIPT : ERR SMOKE PASS: lifecycle candidate remains inside authored prison +05:04:48.820 SCRIPT : ERR SMOKE PASS: lifecycle candidate remains inside authored prison +05:04:48.820 SCRIPT : ERR SMOKE PASS: lifecycle candidate remains inside authored prison +05:04:48.821 SCRIPT : ERR SMOKE PASS: lifecycle candidate remains inside authored prison +05:04:48.821 SCRIPT : ERR SMOKE PASS: lifecycle candidate remains inside authored prison +05:04:48.821 SCRIPT : ERR SMOKE PASS: lifecycle candidate remains inside authored prison +05:04:48.821 SCRIPT : ERR SMOKE PASS: lifecycle candidate remains inside authored prison +05:04:48.821 SCRIPT : ERR SMOKE PASS: lifecycle candidate remains inside authored prison +05:04:48.821 SCRIPT : ERR SMOKE PASS: lifecycle candidate remains inside authored prison +05:04:48.821 SCRIPT : ERR SMOKE PASS: lifecycle candidate remains inside authored prison +05:04:48.821 SCRIPT : ERR SMOKE PASS: lifecycle released pending reservation becomes available again +05:04:48.829 SCRIPT : ERR SMOKE PASS: lifecycle uncontrolled physical body created at a previously clear slot +05:04:49.832 SCRIPT : ERR SMOKE PASS: lifecycle native character body blocks a slot even without a connected player ID +05:04:50.838 SCRIPT : ERR SMOKE PASS: lifecycle real local free-spawn request, handler and admission logic exist +05:04:50.838 SCRIPT : ERR SMOKE PASS: lifecycle real prisoner has a spent life and no pending admission +05:04:50.846 SCRIPT : ERR SMOKE PASS: lifecycle isolated unpossessed actor receives an explicit test-owned admission ticket +05:04:50.846 SCRIPT : ERR SMOKE PASS: lifecycle different request payload cannot claim or delete the owned actor +05:04:50.848 SCRIPT : ERR SMOKE PASS: lifecycle native finalization refuses the spent-life preload +05:04:51.848 SCRIPT : ERR SMOKE PASS: lifecycle refused native preload was deleted after lifecycle processing +05:04:51.848 SCRIPT : ERR SMOKE PASS: lifecycle refusal releases reservations without changing life or controlled actor +05:04:51.848 SCRIPT : ERR SMOKE PASS: lifecycle unticketed repeated callback cannot delete or replace the controlled prisoner +05:04:51.857 SCRIPT : ERR SMOKE PASS: lifecycle second isolated pending actor prepared for cancellation +05:04:51.857 SCRIPT : ERR SMOKE PASS: lifecycle delayed loss callback preserves reacquired living controller and admission metadata +05:04:52.867 SCRIPT : ERR SMOKE PASS: lifecycle pending-request cancellation cleans its actor and never grants another life +05:04:52.875 SCRIPT : ERR SMOKE PASS: lifecycle physical actor created for vertical drift check +05:04:53.876 SCRIPT : ERR SMOKE PASS: lifecycle actual vertically displaced character fails finalization position tolerance after native movement +05:04:53.878 SCRIPT : Rereintroduced [mission]: phase 1 -> 6 +05:04:53.878 SCRIPT : ERR SMOKE PASS: base lifecycle fixture finished before explicit test reset +05:04:53.878 SCRIPT : ERR SMOKE COMPLETE: native lifecycle admission guards; reset requested by fixture +05:04:53.974 SCRIPT : SCR_BaseGameMode::OnGameStateChanged = POSTGAME +05:04:53.976 SCRIPT (W): Slot_Chat Has no Content! +05:04:53.976 SCRIPT (W): Slot_VON Has no Content! +05:04:53.976 SCRIPT (W): Slot_GameVersion Has no Content! +05:04:53.977 SCRIPT (W): Slot_Notifications Has no Content! +05:04:54.076 SCRIPT (W): GM Budget got clamped at some point! +05:04:56.021 SCRIPT (W): SCR_ScriptedWidgetComponent.GetComponent: widget not found: SCR_InputButtonComponent Back +05:04:56.021 SCRIPT : -- Stack trace -- +05:04:56.021 SCRIPT : GetComponent() Scripts/Game/UI/Components/WidgetLibrary/SCR_ScriptedWidgetComponent.c : 43 +05:04:56.021 SCRIPT : GetInputButtonComponent() Scripts/Game/UI/Components/WidgetLibrary/SCR_InputButton/SCR_InputButtonComponent.c : 1214 +05:04:56.022 SCRIPT : OnMenuOpen() Scripts/Game/UI/GameOverScreen/SCR_GameOverScreenInput.c : 15 +05:04:56.022 SCRIPT : OpenGameOverScreen() Scripts/Game/GameOverScreen/SCR_GameOverScreenManagerComponent.c : 447 +05:04:56.022 SCRIPT : ShowGameOverScreen() Scripts/Game/GameOverScreen/SCR_GameOverScreenManagerComponent.c : 177 +05:04:56.022 SCRIPT : OnUpdate() Scripts/Game/game.c : 885 +05:04:56.022 SCRIPT : ----------------- +05:04:56.022 SCRIPT (W): SCR_ScriptedWidgetComponent.GetComponent: widget not found: SCR_InputButtonComponent ChatButton +05:04:56.022 SCRIPT : -- Stack trace -- +05:04:56.022 SCRIPT : GetComponent() Scripts/Game/UI/Components/WidgetLibrary/SCR_ScriptedWidgetComponent.c : 43 +05:04:56.023 SCRIPT : GetInputButtonComponent() Scripts/Game/UI/Components/WidgetLibrary/SCR_InputButton/SCR_InputButtonComponent.c : 1214 +05:04:56.023 SCRIPT : OnMenuOpen() Scripts/Game/UI/GameOverScreen/SCR_GameOverScreenInput.c : 21 +05:04:56.023 SCRIPT : OpenGameOverScreen() Scripts/Game/GameOverScreen/SCR_GameOverScreenManagerComponent.c : 447 +05:04:56.023 SCRIPT : ShowGameOverScreen() Scripts/Game/GameOverScreen/SCR_GameOverScreenManagerComponent.c : 177 +05:04:56.023 SCRIPT : OnUpdate() Scripts/Game/game.c : 885 +05:04:56.023 SCRIPT : ----------------- +05:04:56.025 SCRIPT (W): Slot_Chat Has no Content! +05:04:56.025 SCRIPT (W): Slot_VON Has no Content! +05:04:56.025 SCRIPT (W): Slot_GameVersion Has no Content! +05:04:56.025 SCRIPT (W): Slot_Notifications Has no Content! diff --git a/docs/evidence/native-2026-09-19-050403/source-sha256.json b/docs/evidence/native-2026-09-19-050403/source-sha256.json new file mode 100644 index 0000000..af71a5b --- /dev/null +++ b/docs/evidence/native-2026-09-19-050403/source-sha256.json @@ -0,0 +1,118 @@ +{ + "addons/ai/Prefabs/ERR/MortarCrew.et": "05d3e7353ff9fe5523218a1487b31b7b742b0be8adbcb060c7099978cf008bce", + "addons/ai/Prefabs/ERR/MortarCrew.et.meta": "fdfd4fcd21a67c3d698fa4aadc4e5c76e665cebf4be86013bc389e493fab63cc", + "addons/ai/Scripts/Game/ERR/ERR_HQ.c": "ceafd6740ed277748744ce56ac0f0bb3a8521fcc060dafb2cdb99896aedf405a", + "addons/ai/Scripts/Game/ERR/ERR_HQJournal.c": "b3e402cfe92d415f37f666045afb062e6e11670ba03a0ca6f2d9fd4fc3520ac1", + "addons/ai/Scripts/Game/ERR/ERR_HQNetwork.c": "92ff2caca52e94c2cc9642dfc8509ce6e9349b257012bade8650bace9231128c", + "addons/ai/Scripts/Game/ERR/ERR_HQObservation.c": "36c978ec5f052213ac1236e1398d85063efbfd7ef60fe04f1fc11447fefe1d68", + "addons/ai/Scripts/Game/ERR/ERR_HQReport.c": "c4d16ccb571db4d9444c0a8d2be7318845d25ff90238b6d304e96a9ea19f1a08", + "addons/ai/Scripts/Game/ERR/ERR_HelicopterAvailability.c": "60eaef2f6d4b2fd44861c5a4434ef97e732e40a5ff7401e2da451ed2dd9c2762", + "addons/ai/Scripts/Game/ERR/ERR_MortarBattery.c": "66b8f16b692a0f75fc9d920f5224d9292a0f1dc7dd8b2dde912e676fa80ddc9c", + "addons/ai/Scripts/Game/ERR/ERR_MortarFiring.c": "657e96d1112b68c8ced37793e99f88e6078b38a579190e63d00b1f9a9a032e26", + "addons/ai/Scripts/Game/ERR/ERR_MortarPrediction.c": "470dd196ed64800c697d24c09d1344bacd2502587fac76af4ee0edae2563092d", + "addons/ai/Scripts/Game/ERR/ERR_MortarSalvo.c": "697c01f479df6c505a41d984a29c02002e3052114dafa2ec6252ae55e2979a2b", + "addons/ai/Scripts/Game/ERR/ERR_MortarSystem.c": "12d8fc39d47e03c3838e0642aa9e4a80baf60f250357493bff812d5c75812c86", + "addons/ai/Scripts/Game/ERR/ERR_SettlementSafety.c": "e5c0ebc95521a9a33a3f7d9cca6c551dda862a08b7af20b017877aba9584795b", + "addons/ai/Scripts/Game/ERR/ERR_SupportScenario.c": "71757018ec9716c4dc24f62a292a214919d3fd5daed3c16e03e56abd208e9f03", + "addons/ai/addon.gproj": "5f559db8f526700db11e6ae763f5245f19b7006fc68c56e4c09fb6f940bdf2a1", + "addons/chat/Missions/ERR_Everon.conf": "76f3ac0d21b585654beac7ddd68e3c8cbdd66dbfe909b17b04838fa813a7c29b", + "addons/chat/Missions/ERR_Everon.conf.meta": "0a23c98bf83873536c65fa17d38dea33a1d7b9e4ab210f90633ff688abcc551f", + "addons/chat/Scripts/Game/ERR/ERR_AdminCommands.c": "7ea6d6b240524cf0193c86fcab861fbdef9adca780acff11ee73f9ed0e99ce7b", + "addons/chat/Scripts/Game/ERR/ERR_NativeMortarProbe.c": "ddb892141500c192c0787b011d57dd8c07dd8c9a3ca5fdc407f6c271897bde0a", + "addons/chat/Scripts/Game/ERR/ERR_NativeRadioProbe.c": "84524163c63402755b4f834f74dfe6d8e5c397dc26031f532593c6f79f5a93b1", + "addons/chat/Scripts/Game/ERR/ERR_NativeSmoke.c": "0ab2fed95dcaa0442cf7feb25743308060d58497e347f17dbd25c8e970a9f81f", + "addons/chat/Scripts/WorkbenchGame/ERR/ERR_ValidateWorldPlugin.c": "81c92d408ce88cc9f98d6053f1d0c863427693ba748f00df9f1bf8079015ef94", + "addons/chat/addon.gproj": "ea1587e0174cf795334d306c71d99b06797fc891427cd57b6cab6e21cf0e4e0e", + "addons/core/Configs/ERR/EveronSites.conf": "2edb2c6983eb627800b65d9e244b9b228e0b82282e089c7b12e5a8921a2ea7bf", + "addons/core/Configs/ERR/EveronSites.conf.meta": "d5fe68025ef4e7c1e16082cf5873b7c7172eacbfaef4ab29b7e0e3c98f8dca56", + "addons/core/Configs/ERR/GameOverScreens.conf": "45231061911a1462d45fb6db0fecc2b0793f17b5ae71017174954ff4fbd20236", + "addons/core/Configs/ERR/GameOverScreens.conf.meta": "eb654b745c0b97b41c991694569ef4877a3c2315e0826f9556337cd68690843e", + "addons/core/Configs/ERR/VanillaFactions.conf": "f8b8b9898a16b4a4a55ab3c12d2547bef2dc433732c7643df980cb3aca715212", + "addons/core/Configs/ERR/VanillaFactions.conf.meta": "ac77725c0c21974991ef47a466b88122e939de8b46fd23e68889e7674cbb2bfd", + "addons/core/Missions/ERR_Everon_Base.conf": "1e6a0e9a756d15495201f71121626890f01efe6b00154c561672d4ec157960bd", + "addons/core/Missions/ERR_Everon_Base.conf.meta": "9b16267c644d815bcf98a3a3aaff30b93d7224fb24d3a2bac66730a28011f317", + "addons/core/Prefabs/ERR/Extraction.et": "1aa286ef253c5410f09fa641e4be91a7be8ec834487a7fbb74cfb45cab60ee1e", + "addons/core/Prefabs/ERR/Extraction.et.meta": "c2a838633001e2e3a202d39cb33aa744ebcd996017ad032359069641b5d13853", + "addons/core/Prefabs/ERR/FieldCover.et": "20f8095e69dbfe3db74ff19078e528ea75405362b335e03560ccd61f8df2e7f3", + "addons/core/Prefabs/ERR/FieldCover.et.meta": "83461ffa76244e1d69f20b053a9741ccdf7d127009182bd540a7e5ba6150c3d9", + "addons/core/Prefabs/ERR/GameMode.et": "385c97a5b8067091d92aa60c2d4fcf02002cf606b95523866ead65c96b8c0029", + "addons/core/Prefabs/ERR/GameMode.et.meta": "106769cd34525c9d440057072836cb7401a6752148c40edd7fe61c03bd58328c", + "addons/core/Prefabs/ERR/ObjectiveDocument.et": "2e72270bf186654af12d2c3ff9bf940690b03fb17fca44f873c1fde5d11384c0", + "addons/core/Prefabs/ERR/ObjectiveDocument.et.meta": "eaba9903be147b98a1106e2273e2270773df73b9b22f2cd4e20136a8e281382e", + "addons/core/Prefabs/ERR/Patrol.et": "c5685a8bc311cc5563fb3334beec9408d3d7a1069152fddeeb7df4f1b7f9e6ce", + "addons/core/Prefabs/ERR/Patrol.et.meta": "7c5da568fa2fcf0709ee2959253cb068d7c7ed7c2467af3b247a7e70efd96b69", + "addons/core/Prefabs/ERR/Prison.et": "1503db1441d8cd7a4f0b45c27ba9623b9fa39f0f81016e180bd2aa1379e1f42a", + "addons/core/Prefabs/ERR/Prison.et.meta": "2e426ef3de68f4107907854b51e818bc11d84649a01c538e3f18dd9ebec766bb", + "addons/core/Prefabs/ERR/PrisonDoor.et": "fc66be9d36f1f01084de59f1b0a1e8817f9e46547ead33d4fafaac0107446c40", + "addons/core/Prefabs/ERR/PrisonDoor.et.meta": "b8f3db52bf186426026668fbb9d633c3cbd4d438ab301fba880398f6a0e781c2", + "addons/core/Prefabs/ERR/PrisonWall.et": "8009d19365ae72a4749d7ad4fa04662575b06c65c6bf06507d380d57258b5eed", + "addons/core/Prefabs/ERR/PrisonWall.et.meta": "0294bc5dbb56f90f8153d62459bb0a6ad91d76a479812bbec9c7db182fdb58d6", + "addons/core/Prefabs/ERR/Radio.et": "b4b5cfe125b39019855816c9a1c508ca4d65d435b5546fdaa6c1fa3c8c9b1165", + "addons/core/Prefabs/ERR/Radio.et.meta": "bc91137b68ba550217914fb8892bb44d7e1920e4a1086f3e506623832a44212f", + "addons/core/Prefabs/ERR/SpectatorCamera.et": "b5b87d5b7b707f3745741aebe7c923067c8a74f8fbb2a4711834bab03bb5a812", + "addons/core/Prefabs/ERR/SpectatorCamera.et.meta": "2a16558f93915e31908a674509e9c89976470f78a84a1174a64b94b68b8f77ad", + "addons/core/Prefabs/ERR/SupplyCache.et": "bccf7afbaae97cfcdd78dd6dbbf4be5b2c045d348f50fe4581962e556c0044d7", + "addons/core/Prefabs/ERR/SupplyCache.et.meta": "2f5de3a4aab1e9d0e35521f48dc57b95bd6e449c383dec4f1c258e10295904cb", + "addons/core/Prefabs/ERR/SupplySite.et": "dc5decce5cabf39b6116e8794ec3960cb1e35761854fdbe69740da118787ded4", + "addons/core/Prefabs/ERR/SupplySite.et.meta": "b41944b12eb3528ff7a3ac94258b18c66ef161aa6a38894aee300a1ac4798630", + "addons/core/Scripts/Game/ERR/ERR_Actions.c": "adf93245e6d78c59b9839599d157a0d2b2b93ea93b3d1ae52e2904dd6c288266", + "addons/core/Scripts/Game/ERR/ERR_Actors.c": "b3c5aabb05f7cf35167bc09b5db51a4ffd89a46658805d6eedbfb80eee30273d", + "addons/core/Scripts/Game/ERR/ERR_AdminService.c": "047c14ce60cc0b167e202438f8f2b1063590e69ef88ea55b54598aea5f99c505", + "addons/core/Scripts/Game/ERR/ERR_DiscoveryMap.c": "2f4ea342fea0530061456be9cdce002d5e7a282e4e27eb88f3860e79f93612bf", + "addons/core/Scripts/Game/ERR/ERR_DiscoveryService.c": "6b5679447fe4a6d7d54c0545881ab56284f871556b3159207d421247f419eada", + "addons/core/Scripts/Game/ERR/ERR_DocumentComponent.c": "17bb76b80ebd3357e46d553c44674f602c7bd6901c92aec53ac8214194aa4ff2", + "addons/core/Scripts/Game/ERR/ERR_EscapeGameOverScreenInfo.c": "b1e1afb7795cb77c0bad94c85abf705b26b9dc2a9400905d80eafd56bdd009d3", + "addons/core/Scripts/Game/ERR/ERR_ExtractionService.c": "91357099b4e0401196b67d48963be54be30e56bdba57cdac67dc20b8ebb883e9", + "addons/core/Scripts/Game/ERR/ERR_FactionCatalog.c": "a5a8c53acf21259e14f59cb919535910f30dabff5a9179c664bc6a7a4d744d6e", + "addons/core/Scripts/Game/ERR/ERR_GameMode.c": "d766d1639378070bea64eef38baa4667f8b9f5f1a2a7b170f0fc5e8fd557917d", + "addons/core/Scripts/Game/ERR/ERR_Location.c": "d2035f56ded35743312ec6ca91a67f8623a466c91255e1893c570edf0954ff24", + "addons/core/Scripts/Game/ERR/ERR_MissionRules.c": "f7abc38ad8fdc375ce7fa63a65f0bade027d22b37e09de5e3f94ba8c3c63cc41", + "addons/core/Scripts/Game/ERR/ERR_NativeBaseSmoke.c": "128ce09f0d3f9a629aa3fcde1db0207249037de75b9dbdfadff141b43b1bfebf", + "addons/core/Scripts/Game/ERR/ERR_NativeContractsProbe.c": "d1556df885171cf967e96eef5d8981a2e9ee4e3938b7d32fdd0426f647bbabc0", + "addons/core/Scripts/Game/ERR/ERR_NativeDefinitionProbe.c": "d05ef8368ef5afa68e29f45843cb1878b5a09be768f8abdff2f4115c23759b01", + "addons/core/Scripts/Game/ERR/ERR_NativeExtractionProbe.c": "4b09385f73206de004f4f3c38a6192fd658a0d2012482dc5a84dff1599ceb972", + "addons/core/Scripts/Game/ERR/ERR_NativeLifecycleProbe.c": "89620ec1cc94e260ef72460b32c3291ffcc84cfe51afa907954b10229a711b2b", + "addons/core/Scripts/Game/ERR/ERR_NativeObjectiveProbe.c": "451f46d9a51753841046698911ee9954088214b6df856776a316865466fbce0f", + "addons/core/Scripts/Game/ERR/ERR_NativeRadioDefenceProbe.c": "cad54f0b43cefd72df74697dfc7e93725ff0acac6d311e963ce4f817428c272c", + "addons/core/Scripts/Game/ERR/ERR_NativeResultProbe.c": "b9a117eef2d5f65fbd792041a2b3e59e38e201bda8e0df8c503e1a1242cfc415", + "addons/core/Scripts/Game/ERR/ERR_NativeSiteSurvey.c": "ac0203753ade0cdff6d483132797a80e4520f14546c3f9dea288281cd4cd9c4f", + "addons/core/Scripts/Game/ERR/ERR_NativeStationTeardownDiagnostic.c": "c01cbdbfe25fd38916fa74f2c02333baaacd5228686fd6e40b33c27b3cea8ed8", + "addons/core/Scripts/Game/ERR/ERR_NativeTimeProbe.c": "c93d049785971e51246fcc07cf24804270a752a655505f2c38e48c80df5255ae", + "addons/core/Scripts/Game/ERR/ERR_NativeTransportProbe.c": "63ec0c5ce698114daa6314b2a6e3c3e98e76094117c477f9d0d072260686d193", + "addons/core/Scripts/Game/ERR/ERR_NativeTransportSurvey.c": "3e94493bf54d15be2bceb106ad18873e14e6755af09c05f07db7fb26fb7adff5", + "addons/core/Scripts/Game/ERR/ERR_ObjectiveDetails.c": "900bdcd11075230e0d311ca8725c1d7938cb2a4efa71360709003d90092a7e69", + "addons/core/Scripts/Game/ERR/ERR_ObjectiveText.c": "bbb29949194637e6781316836c895e2c0fa7ccdb547d4d944a717da2ad73b0a2", + "addons/core/Scripts/Game/ERR/ERR_Objectives.c": "88d95a52fcba103483ea751571e1afeae0e6fc82115ed50d6fc195424726960f", + "addons/core/Scripts/Game/ERR/ERR_Observer.c": "b719e723369ab4f403950c85226e1336eb48e3c127e84530ac1c695eb86bd0f9", + "addons/core/Scripts/Game/ERR/ERR_PlayerAdminCommands.c": "a084d7dc097dfcde3d6cd9c2e326b9e2f8f2a519f77b30c4f56ab7a1429aa721", + "addons/core/Scripts/Game/ERR/ERR_PlayerEscapeResult.c": "3124ab4d2d6d471409a47aba0af528790734df53243c03fe0cdac3e407047c14", + "addons/core/Scripts/Game/ERR/ERR_PlayerGuide.c": "2c9c365b88651f8b12618443638bf52c04e497221592bd483c33447e30468f36", + "addons/core/Scripts/Game/ERR/ERR_PlayerRoster.c": "a737ba739b3f73a91cd05d808a1d45070e83b5152c003c3164e29842dda51995", + "addons/core/Scripts/Game/ERR/ERR_RadioDefenceService.c": "85eb9c1b65d5987799927b6d8786b7299fcff849bcb15b91f8a4d1aa95823fd1", + "addons/core/Scripts/Game/ERR/ERR_Resources.c": "8a5314944f75b23982c6b99697045e3c0538aa2137b2c947a5b2411e6076ac03", + "addons/core/Scripts/Game/ERR/ERR_ScenarioComponent.c": "abba03af68323d5715ba1e2497fc66f3c706e6a6a983c3a386228abdfddeec89", + "addons/core/Scripts/Game/ERR/ERR_Settings.c": "2aee784e44c732e09f59150896491ab325ef5e62aa6bad725be1fda955a3f614", + "addons/core/Scripts/Game/ERR/ERR_SiteDefinition.c": "75b5121ceab77f0956f0dc34bd077b11af5586350de52321800427f18cc94477", + "addons/core/Scripts/Game/ERR/ERR_SiteService.c": "7ba02712562b3c8cd8de9851b6f26fed85020faacceef0767408b300b935c110", + "addons/core/Scripts/Game/ERR/ERR_SpawnFinalization.c": "2e295b0f225208c5414728ba83333e5e0ab6eef3a708ce39eb1dfce5400c94c9", + "addons/core/Scripts/Game/ERR/ERR_SpawnLogic.c": "64c2cef62d8a435eea396f057255b269d457935bf5d261221700739bf37240b8", + "addons/core/Scripts/Game/ERR/ERR_SpawnPlacement.c": "284db0d4a5ecd38f9c658c91ce943f4c0c30dcf4d31bb3edeea92e4ab0b1436a", + "addons/core/Scripts/Game/ERR/ERR_Supplies.c": "752e8a56b0b8cde33cf532032cb0a203553017b686faac2e19bee06f7a9c0713", + "addons/core/Scripts/Game/ERR/ERR_TimeService.c": "d9f481b7da01e08d2c982a948c18ba6bde76889d7cc9d26d510708f4ba479453", + "addons/core/Scripts/WorkbenchGame/ERR/ERR_ValidateBaseWorldPlugin.c": "7f44aa64ea7b4f8b3640a37a4b781c43bf6adb80e4a3a702d9491131698056f6", + "addons/core/Worlds/ERR_Everon.ent": "22324bc7eb0d80dec8a1f3bd61a9df9201b72f749f4e751766b0c9d0b7d46b87", + "addons/core/Worlds/ERR_Everon.ent.meta": "19d1903ca72baa326b4724a6791d0da1104a1e53f3f31dc1ca41a856efd68e83", + "addons/core/Worlds/ERR_Everon_Layers/default.layer": "f1a058bd315c7d01d464715ac9f4e18ae3d2432551d094a9afbd4c9c5a2a9416", + "addons/core/addon.gproj": "231274e6b62302f32c65f9ff31de2ce8a9e51e1c8d12c87deeec82ae1f40de46", + "addons/intel/Scripts/Game/ERR/ERR_IntelService.c": "482839434b94e7f8c345d5fd96490aeebb765f3dd0c1bb25fceea2f435c0e722", + "addons/intel/addon.gproj": "d0ced242cefb220a5cccd6779d61fda9bc55581701b9f78bcf13c09d92ddbcbe", + "addons/map/Materials/ERRM_MapRenderTarget.emat": "9877c5b175c5f30dd80bea36c711b21ab38219aa7075adf9ae79932e1d4c76bc", + "addons/map/Materials/ERRM_MapRenderTarget.emat.meta": "5ee1a705f8011a44020ca2691f5ccc17d44bf596fef9a36e98d1f267eb58fab0", + "addons/map/Prefabs/Items/Equipment/ERRM_SharedFieldMap.et": "30dee8e9eab459ea32a7d835a9fb89d43df47708057cab829f067b25a24cd581", + "addons/map/Prefabs/Items/Equipment/ERRM_SharedFieldMap.et.meta": "59093e9072c50d99c86da7609c87541016da5bcf92b98d99db4c524e1c8e0e8d", + "addons/map/Scripts/Game/ERR/ERR_ScenarioMap.c": "75fa1d742129ef7f33c005cd48f56db7f49ee7bde3c5428532b0b501b032b0a3", + "addons/map/Scripts/Game/ERRMap/ERRM_SharedMapComponent.c": "fc1a0c7df4fc96da446d7542a45a10fbec1eda1e543ba2f0581cb772277a47c5", + "addons/map/UI/layouts/ERRMap/SharedMapRenderTarget.layout": "49a2da4181b94d42174f58c7f9b6bf2207116c99427d61ff1c212092ac7db4d2", + "addons/map/UI/layouts/ERRMap/SharedMapRenderTarget.layout.meta": "5c846445cc089e2e08899ba703059d4adb805ff30ab5a16409a3cd59718cbd54", + "addons/map/addon.gproj": "1b371e5e01ea9fa46e76570fecb8aaa3a9298e34cba7ccca8a6bdb5ca86eb46a" +} diff --git a/docs/evidence/native-2026-09-19-050515/console.log.txt b/docs/evidence/native-2026-09-19-050515/console.log.txt new file mode 100644 index 0000000..878d8f8 --- /dev/null +++ b/docs/evidence/native-2026-09-19-050515/console.log.txt @@ -0,0 +1,985 @@ +--------------------------------------------- +Log Z:\tmp\erri-workbench-profile\logs\logs_2026-09-19_05-05-15\console.log started at 2026-09-19 05:05:15 (2026-09-19 03:05:15 UTC) + +05:05:15.356 ENGINE : FileSystem: Adding relative directory 'Z:\tmp\erri-workbench-profile\logs\logs_2026-09-19_05-05-15' to filesystem under name logs +05:05:15.356 ENGINE : FileSystem: Adding relative directory 'Z:\tmp\erri-workbench-profile\profile' to filesystem under name profile +05:05:15.356 ENGINE : FileSystem: Current working directory: 'Z:\home\jakub\.local\share\Steam\steamapps\common\Arma Reforger Tools\Workbench\' +05:05:15.357 PROFILING : Workbench Create Engine took: 9.506300 ms +05:05:16.391 INIT : INIT : Workbench Init Engine +05:05:16.391 ENGINE : Initializing engine, version 192142 +05:05:16.391 ENGINE : CLI Params: -gproj Z:/home/jakub/devel/escapistsrereintroduced/addons/core/addon.gproj -addonsDir Z:/home/jakub/devel/escapistsrereintroduced/addons -profile Z:/tmp/erri-workbench-profile -logconsole -wbModule WorldEditor -load Worlds/ERR_Everon.ent -plugin ERR_ValidateBaseWorldPlugin -errPlay 1 -errBaseSmoke 1 -errSmokeOutcome victory -noThrow -errStationTeardownDiag 1 +05:05:16.399 ENGINE : Addon dirs: +05:05:16.399 ENGINE : dir: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/core/' +05:05:16.399 ENGINE : dir: 'Z:/home/jakub/devel/escapistsrereintroduced/addons' +05:05:16.399 ENGINE : dir: './addons' +05:05:16.399 ENGINE : dir: 'Z:/tmp/erri-workbench-profile/addons' +05:05:16.399 ENGINE : Available addons: +05:05:16.399 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/core/addon.gproj' guid: '2528466DE220D91C' +05:05:16.399 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/ai/addon.gproj' guid: '5192138CB9D5B911' +05:05:16.399 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/chat/addon.gproj' guid: 'FA804F411BDDF2C6' +05:05:16.399 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/intel/addon.gproj' guid: 'D31039C7C53E348A' +05:05:16.399 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/map/addon.gproj' guid: '9AAEE9041D79809E' +05:05:16.399 ENGINE : gproj: './addons/core/core.gproj' guid: '5614BBCCBB55ED1C' (packed) +05:05:16.399 ENGINE : gproj: 'Z:/tmp/erri-workbench-profile/addons/ArmaReforger/ArmaReforger.gproj' guid: '58D0FB3206B6F859' (packed) +05:05:16.400 ENGINE : FileSystem: Adding relative directory 'Z:\home\jakub\devel\escapistsrereintroduced\addons\core' to filesystem under name ERR_Core +05:05:16.515 ENGINE : FileSystem: Adding package 'Z:/tmp/erri-workbench-profile/addons/ArmaReforger/' (pak count: 14) to filesystem under name ArmaReforger +05:05:16.518 ENGINE : FileSystem: Adding package './addons/core/' (pak count: 2) to filesystem under name core +05:05:16.518 ENGINE : CPU vendor : AuthenticAMD +05:05:16.518 ENGINE : CPU type : 2 +05:05:16.518 ENGINE : CPU name : AMD Ryzen 7 3800XT 8-Core Processor +05:05:16.518 ENGINE : CPU cache info : L1 [Inst 32KB, Data 32KB], L2 [Unif 512KB], L3 [Unif 16384KB] +05:05:16.518 ENGINE : CPU count logical : 16 +05:05:16.518 ENGINE : CPU count physical : 8 +05:05:16.518 ENGINE : CPU features : mmx sse sse2 sse3 ssse3 sse4_1 sse4_2 popcnt aesni pclmulqdq osxsave avx sha avx2 +05:05:16.518 RESOURCES : ResourceDB: loading cache (id=0 name=ERR_Core path=Z:\home\jakub\devel\escapistsrereintroduced\addons\core/resourceDatabase.rdb) +05:05:16.519 RESOURCES : ResourceDB: loading cache (id=1 name=ArmaReforger path=Z:/tmp/erri-workbench-profile/addons/ArmaReforger/resourceDatabase.rdb) +05:05:16.662 RESOURCES : ResourceDB: loading cache (id=2 name=core path=./addons/core/resourceDatabase.rdb) +05:05:16.663 RESOURCES : ResourceDB: loading cache (id=3 name=profile path=Z:\tmp\erri-workbench-profile\profile/resourceDatabase.rdb) +05:05:16.663 RESOURCES : ResourceDB: loading cache (id=4 name=logs path=Z:\tmp\erri-workbench-profile\logs\logs_2026-09-19_05-05-15/resourceDatabase.rdb) +05:05:16.825 RESOURCES : RESOURCES : ResourceDB: full scan +05:05:16.830 RESOURCES : RESOURCES : scanning... +05:05:16.830 RESOURCES : RESOURCES : scanning @"ERR_Core" +05:05:16.833 RESOURCES : RESOURCES : scanning @"ArmaReforger" +05:05:16.973 RESOURCES : RESOURCES : scanning @"core" +05:05:16.976 RESOURCES : RESOURCES : scanning @"profile" +05:05:16.976 RESOURCES : RESOURCES : scanning @"logs" +05:05:16.977 RESOURCES : RESOURCES : processing meta-files... +05:05:17.041 RESOURCES : RESOURCES : processing files... +05:05:17.053 INIT : Workbench startup +05:05:17.053 INIT : Workbench Init Engine +05:05:17.053 RESOURCES : ResourceDB: full scan +05:05:17.053 RESOURCES : processing files... +05:05:17.053 RESOURCES (W): resource not registered: @"$profile:rereintroduced.json". Setting null GUID +05:05:17.053 RESOURCES : RESOURCES : processing folders... +05:05:17.059 RESOURCES : RESOURCES : creating GUID-item mapping... +05:05:17.074 RESOURCES : RESOURCES : building tree... +05:05:17.128 PROFILING : ResourceDB: full scan took: 302.849100 ms +05:05:17.129 RESOURCES : ResourceDB: saving cache (id=0 name=ERR_Core path=Z:\home\jakub\devel\escapistsrereintroduced\addons\core/resourceDatabase.rdb) +05:05:17.131 RESOURCES : ResourceDB: written 4000/4000 bytes +05:05:17.131 RESOURCES : ResourceDB: cache successfully saved +05:05:17.131 RESOURCES : ResourceDB: saving cache (id=3 name=profile path=Z:\tmp\erri-workbench-profile\profile/resourceDatabase.rdb) +05:05:17.133 RESOURCES : ResourceDB: written 206/206 bytes +05:05:17.133 RESOURCES : ResourceDB: cache successfully saved +05:05:17.133 RESOURCES : ResourceDB: saving cache (id=4 name=logs path=Z:\tmp\erri-workbench-profile\logs\logs_2026-09-19_05-05-15/resourceDatabase.rdb) +05:05:17.134 RESOURCES : ResourceDB: written 81/81 bytes +05:05:17.134 RESOURCES : ResourceDB: cache successfully saved +05:05:17.134 ENGINE : GameProject load +05:05:17.134 ENGINE : Loaded addons: +05:05:17.134 ENGINE : gproj: './addons/core/core.gproj' guid: '5614BBCCBB55ED1C' +05:05:17.134 ENGINE : gproj: 'Z:/tmp/erri-workbench-profile/addons/ArmaReforger/ArmaReforger.gproj' guid: '58D0FB3206B6F859' +05:05:17.134 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/core/addon.gproj' guid: '2528466DE220D91C' +05:05:17.136 ENGINE : Loading custom engine user config '$profile:.save/app1874910_user76561198020202999/settings/ReforgerEngineSettings.conf' +05:05:17.136 INIT : GameProject engine user settings load @"$profile:.save/app1874910_user76561198020202999/settings/ReforgerEngineSettings.conf" +05:05:17.136 ENGINE : Engine user settings config loaded +05:05:17.136 PROFILING : Settings changed took: 0.001500 ms +05:05:17.239 RENDER : (OK) Adapter 'AMD Radeon RX 6950 XT (RADV NAVI21)' supports feature level 12_0 +05:05:17.241 RENDER : Basic screen setup: +05:05:17.241 RENDER : Back buffer format : TEXFMT_R8G8B8A8_SRGB (29) +05:05:17.241 RENDER : MSAA : none +05:05:17.255 RENDER : AMD AGS library initialized, version 6.1.0 x DLL 6.1.0 +05:05:17.255 RENDER : Extendeded AMD info for AMD Radeon RX 6950 XT (RADV NAVI21) (primary device) +05:05:17.255 RENDER : * architecture RDNA2, 80 CUs, 40 WGPs (for RDNA), 64 ROPs +05:05:17.255 RENDER : * core clocks 2720 MHz, memory 1124 MHz +05:05:17.255 RENDER : * TFlops 27.9, memory bandwidth (562.0 GB/s) +05:05:17.255 RENDER : AMD AGS correctly initialized +05:05:17.255 RENDER : GPU_ATI (0x1002) (AMD Radeon RX 6950 XT (RADV NAVI21)) with 1 GPU detected, VRAM 16128MB (fast 0MB), shared 64362MB, driver version 99.19.02-230831a-396538C-AMD-Software-Adrenalin-Edition +05:05:17.255 RENDER : Detected output devices: +05:05:17.255 RENDER : * 1 device/s connected to AMD Radeon RX 6950 XT (RADV NAVI21): +05:05:17.255 RENDER : Generic Non-PnP Monitor (\\.\DISPLAY1), 1280x720 (offset 0x0), 30Hz +05:05:17.255 RENDER : Concurrent frames limit 2 +05:05:17.333 RENDER : DX12 device successfully created by AMD AGS library +05:05:17.333 RENDER : * user markers not supported in this version AMD SW +05:05:17.333 RENDER : Graphics device features +05:05:17.333 RENDER : Needed: +05:05:17.333 RENDER : * Highest supported shader model: 6.8 (6.0 needed) +05:05:17.333 RENDER : Optional: +05:05:17.333 RENDER : * Allow tearing (VSYNC) : 1 +05:05:17.333 RENDER : * 16 bits : 1 +05:05:17.333 RENDER : * Resource heap tier : 3 +05:05:17.333 RENDER : * Persistent heaps (DRED) : 1 +05:05:17.333 RENDER : * DRED 1.2 is supported by compiler +05:05:17.355 RENDER : Main RT format setup. +05:05:17.355 RENDER : Main RT format for quality 0 : TEXFMT_R11G11B10_FLOAT (26) +05:05:17.355 RENDER : Main RT format for quality 1 : TEXFMT_R16G16B16A16_FLOAT (10) +05:05:17.357 ENGINE : Job system settings: coreCount=16, shortJobContextCount=16, shortJobThreadCount=15, longJobThreadCount=16 +05:05:17.388 PROFILING : Settings changed took: 0.023400 ms +05:05:17.830 AUDIO : Endpoint: Speakers (PulseAudio Output) +05:05:17.830 AUDIO : Format: Channels: 2, Sample rate: 48kHz, Avg. bytes: 384kB, Sample bits: 32, Block align: 8B +05:05:17.830 AUDIO : Audio client: +05:05:17.830 AUDIO : Format: Channels: 2, Sample rate: 48kHz, Buffer size: 1536B, Frame: 512 +05:05:17.833 RENDER : RENDER : Reload shaders +05:05:17.833 RENDER : Enfusion shader version 13 +05:05:17.833 INIT : INIT : ShaderListReload +05:05:17.833 PROFILING : ShaderListReload took: 0.000400 ms +05:05:17.978 AUDIO : Endpoint: Speakers (PulseAudio Output) +05:05:17.978 AUDIO : Format: Channels: 2, Sample rate: 48kHz, Avg. bytes: 384kB, Sample bits: 32, Block align: 8B +05:05:17.978 AUDIO : Audio client: +05:05:17.978 AUDIO : Format: Channels: 2, Sample rate: 48kHz, Buffer size: 1536B, Frame: 512 +05:05:18.113 RENDER : Loaded 3752 newer shader binaries +05:05:18.113 PROFILING : Reload shaders took: 279.879900 ms +05:05:18.113 ENGINE : Initializing inputs. +05:05:18.126 NETWORK : Initializing networking. +05:05:18.126 NETWORK : Using new GameRplScheduler. +05:05:18.127 SCRIPT : SCRIPT : Initializing scripts +05:05:18.127 SCRIPT : SCRIPT : ScriptProjectManager init +05:05:18.962 PROFILING : ScriptProjectManager init took: 835.593100 ms +05:05:18.996 PROFILING : Initializing scripts took: 869.272100 ms +05:05:19.013 ENGINE : Enfusion engine successfully created. +05:05:19.014 PROFILING : Workbench Init Engine took: 2622.894100 ms +05:05:19.014 INIT : INIT : Workbench Create Game +05:05:19.024 GUI : Using default language (en_us) +05:05:19.024 GUI : Loading 'en_us' localization file. +05:05:19.024 INIT : INIT : Loading StringTable +05:05:19.047 PROFILING : Loading StringTable took: 23.316300 ms +05:05:19.047 SCRIPT : SCRIPT : Compiling GameLib scripts +05:05:19.104 SCRIPT : Module: Workbench; loaded 18x files; 36x classes; used 125K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE"; CRC32: 90ce0460 +05:05:19.105 SCRIPT : Module: GameLib; loaded 465x files; 648x classes; used 828K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE"; CRC32: 4507af04 +05:05:19.105 PROFILING : Compiling GameLib scripts took: 58.042100 ms +05:05:19.105 SCRIPT : SCRIPT : Compiling Game scripts +05:05:20.177 INIT : Workbench Create Game +05:05:20.177 SCRIPT : Compiling Game scripts +05:05:20.177 SCRIPT (W): @"Scripts/Game/Editor/Components/EditableEntity/SCR_EditableEntityComponent.c,785": 'GetPlayerPlatformKind' is obsolete +05:05:20.177 SCRIPT (W): @"Scripts/Game/Editor/Components/EditableEntity/SCR_EditableEntityComponent.c,786": 'GetPlayerPlatformId' is obsolete +05:05:20.430 SCRIPT (W): @"Scripts/Game/ERR/ERR_SiteService.c,140": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +05:05:20.440 SCRIPT (W): @"Scripts/Game/Workshop/SCR_AddonManager.c,876": 'GetRefCount' is obsolete: Will be removed +05:05:20.474 SCRIPT (W): @"Scripts/Game/Campaign/SCR_PlayerProfileManagerComponent.c,142": 'PlayerData' is obsolete +05:05:20.572 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,159": 'GetDSSession' is obsolete +05:05:20.572 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,162": 'RoomID' is obsolete +05:05:20.572 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,197": 'GetDSSession' is obsolete +05:05:20.572 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,201": 'RoomID' is obsolete +05:05:20.664 SCRIPT (W): @"Scripts/Game/DataCollection/SCR_DataCollectorComponent.c,481": 'GetStorage' is obsolete +05:05:20.664 SCRIPT (W): @"Scripts/Game/DataCollection/SCR_DataCollectorComponent.c,483": 'GetOnlineWritePrivilege' is obsolete +05:05:20.665 SCRIPT (W): @"Scripts/Game/Utilities/SCR_PlayerIdentityUtils.c,20": 'GetPlayerIdentityId' is obsolete +05:05:20.709 SCRIPT (W): @"Scripts/Game/ERR/ERR_ExtractionService.c,45": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +05:05:20.709 SCRIPT (W): @"Scripts/Game/ERR/ERR_ExtractionService.c,56": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +05:05:20.710 SCRIPT (W): @"Scripts/Game/UI/Menu/MainMenuUI.c,643": 'GetNotifyCount' is obsolete: Will be substitued by Notification Api. +05:05:20.710 SCRIPT (W): @"Scripts/Game/UI/Menu/MainMenuUI.c,645": 'GetNotifyItem' is obsolete: Will be substitued by Notification Api. +05:05:20.738 SCRIPT (W): @"Scripts/Game/ERR/ERR_NativeTransportProbe.c,82": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +05:05:20.769 SCRIPT (W): @"Scripts/Game/DataCollection/PlayerData/SCR_PlayerData.c,210": 'PlayerData' is obsolete +05:05:21.035 SCRIPT : Module: WorkbenchGame; loaded 171x files; 616x classes; used 2478K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE"; CRC32: db6febb9 +05:05:21.042 SCRIPT : Module: Game; loaded 5704x files; 11180x classes; used 32533K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE,ENABLE_BASE_DESTRUCTION,BUDGET_OPTIMIZATION_CHECKS,SHOW_DISCLAIMER,DEBUG,RESPAWN_TIMER_COMPONENT_DEBUG,GAME_MODE_DEBUG,DEBUG_CONFIGURABLE_DIALOGS,DISABLE_WEAPON_SWITCHING,SCRIPTED_AIM_MODIFIER_DEBUG"; CRC32: 62b1e7fd +05:05:21.081 PROFILING : Compiling Game scripts took: 1975.999300 ms +05:05:21.087 INIT : Creating game instance(ArmaReforgerScripted), version 1.8.0.13 built 2026-08-21 14:30:18 UTC. +05:05:21.127 ENGINE : Game successfully created. +05:05:21.128 PROFILING : Workbench Create Game took: 2114.732200 ms +05:05:21.136 DEFAULT : Using thumbnail cache directory: C:/users/steamuser/AppData/Local/Temp/Arma Reforger Workbench/Projects/ERR_Core/thumbnails +05:05:21.997 INIT : INIT : Workbench Reload Game +05:05:21.998 ENGINE : Game destroyed. +05:05:22.005 GUI : Using default language (en_us) +05:05:22.005 GUI : Loading 'en_us' localization file. +05:05:22.005 INIT : INIT : Loading StringTable +05:05:22.016 PROFILING : Loading StringTable took: 10.372400 ms +05:05:22.016 INIT : Creating game instance(ArmaReforgerScripted), version 1.8.0.13 built 2026-08-21 14:30:18 UTC. +05:05:22.023 SCRIPT : Unable to register a script command due keyword duplicity: ban +05:05:22.023 SCRIPT : Unable to register a script command due keyword duplicity: kick +05:05:22.023 ENGINE : Game successfully created. +05:05:22.023 ENGINE : Game successfully initialized. +05:05:22.023 PROFILING : Workbench Reload Game took: 26.358900 ms +05:05:22.724 WORLD : WORLD : Entities load '$ERR_Core:Worlds/ERR_Everon.ent' +05:05:23.704 PROFILING : Entities load took: 979.830200 ms +05:05:23.714 WORLD : WORLD : CreateEntities +05:05:23.719 WORLD : WORLD : NotifyBeforeEntitiesCreated +05:05:23.719 PROFILING : NotifyBeforeEntitiesCreated took: 0.003900 ms +05:05:23.719 WORLD : WORLD : Wait for preloading data +05:05:23.719 PROFILING : Wait for preloading data took: 0.003600 ms +05:05:23.820 ENTITY : Create entity @"ENTITY:2" ('Eden', GenericTerrainEntity) at <0.000000 0.000000 0.000000> @"{5AD924374E8C7AF6}Prefabs/World/Game/Eden/GenericTerrain_Eden.et" +05:05:23.820 PROFILING : PROFILING : Terrain load +05:05:25.336 PROFILING : Terrain load took: 1515.785900 ms +05:05:29.142 WORLD : CreateEntities +05:05:29.142 ENTITY : Create entity @"ENTITY:610406" ('StaticModelEntity','Assets/Structures/Infrastructure/Towers/TransmitterTower_01/TransmitterTower_01_small.xob') at <1931.796021 81.777000 5138.725098> @"{6A004A8F0571D456}Prefabs/Structures/Infrastructure/Towers/TransmitterTower_01/TransmitterTower_01_small.et" +05:05:29.142 ENTITY : CreateComponent 'ScriptedRadioComponent' +05:05:29.142 DEFAULT (W): World doesn't contain RadioManagerEntity to support any BaseRadioComponent. +05:05:38.757 WORLD : WORLD : NotifyBeforeEntitiesInitialized +05:05:38.758 PROFILING : NotifyBeforeEntitiesInitialized took: 0.005600 ms +05:05:39.196 WORLD : WORLD : NotifyEntitiesInitialized +05:05:39.196 TERRAIN : TERRAIN : Initializing road networks... +05:05:39.199 PROFILING : Initializing road networks... took: 2.445500 ms +05:05:39.199 PROFILING : NotifyEntitiesInitialized took: 2.946400 ms +05:05:39.199 PROFILING : CreateEntities took: 15485.153300 ms +05:05:39.383 PROFILING : * WorldEditor: LoadWorld: 16663.914300 ms +05:05:40.894 TERRAIN : Loading tile map config (worlds/Eden/Eden/tileMap.conf) +05:05:40.895 TERRAIN : Loading minimap config (worlds/Eden/Eden/miniMap.conf) +05:05:40.896 TERRAIN : The default minimap texture ('worlds/Eden/EdenRasterized.edds') not found. Trying 'worlds/Eden/Eden.edds'... +05:05:40.896 TERRAIN : The default minimap texture ('worlds/Eden/Eden.edds') not found. Skipping... +05:05:40.993 SCRIPT : ERR SITE SURVEY: supply=6150/7050 elevationRange=0.625 min=202.875 max=203.5 +05:05:41.018 BACKEND : Attempting online Game Config instead. +05:05:44.236 INIT : INIT : Workbench Reload Game +05:05:44.238 ENGINE : Game destroyed. +05:05:44.245 GUI : Using default language (en_us) +05:05:44.245 GUI : Loading 'en_us' localization file. +05:05:44.245 INIT : INIT : Loading StringTable +05:05:44.272 PROFILING : Loading StringTable took: 27.347500 ms +05:05:44.273 INIT : Creating game instance(ArmaReforgerScripted), version 1.8.0.13 built 2026-08-21 14:30:18 UTC. +05:05:44.281 SCRIPT : Unable to register a script command due keyword duplicity: ban +05:05:44.281 SCRIPT : Unable to register a script command due keyword duplicity: kick +05:05:44.281 ENGINE : Game successfully created. +05:05:44.281 ENGINE : Game successfully initialized. +05:05:44.281 PROFILING : Workbench Reload Game took: 45.235100 ms +05:05:44.284 DEFAULT (W): LogiLED: Cannot initialize! (service not running or no compatible device detected) +05:05:44.333 PLATFORM : Save data from container 'settings' have been loaded +05:05:44.424 PLATFORM : Save data from container 'sessions' have been loaded +05:05:44.425 PLATFORM : GameProject user settings load from profile @"ReforgerGameSettings.conf" +05:05:44.425 ENGINE : Game user settings config loaded +05:05:44.522 DEFAULT : [SaveGameManager] Starting new playthrough nr.0 '' for mission '{B6C516F86302C679}Worlds/ERR_Everon.ent'. +05:05:44.530 WORLD : WORLD : Game::LoadEntities +05:05:44.530 WORLD : WORLD : Initializing world systems @"{1C60D2EDA2B468B8}Configs/Systems/BaseGameModeSystems.conf" +05:05:44.531 NETWORK : Enabled lag compensation, 29 frames with 100 FPS and 280 ms rewind limits. +05:05:44.531 WORLD : WORLD : CreateEntities +05:05:44.531 WORLD : WORLD : CreateEntities +05:05:44.531 WORLD : WORLD : NotifyBeforeEntitiesCreated +05:05:44.536 RESOURCES : Loaded mission headers from 7 addon(s)! +05:05:44.536 PROFILING : NotifyBeforeEntitiesCreated took: 4.678700 ms +05:05:44.536 WORLD : WORLD : Wait for preloading data +05:05:44.536 PROFILING : Wait for preloading data took: 0.000900 ms +05:05:49.021 WORLD : Game::LoadEntities +05:05:49.021 WORLD : CreateEntities +05:05:49.021 WORLD : CreateEntities +05:05:49.021 ENTITY : Create entity @"ENTITY:610406" ('StaticModelEntity','Assets/Structures/Infrastructure/Towers/TransmitterTower_01/TransmitterTower_01_small.xob') at <1931.796021 81.777000 5138.725098> @"{6A004A8F0571D456}Prefabs/Structures/Infrastructure/Towers/TransmitterTower_01/TransmitterTower_01_small.et" +05:05:49.021 ENTITY : CreateComponent 'ScriptedRadioComponent' +05:05:49.021 DEFAULT (W): World doesn't contain RadioManagerEntity to support any BaseRadioComponent. +05:05:50.443 ENTITY : Create entity @"ENTITY:842066" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1080.213013 10.776751 6018.347168> +05:05:50.443 ENTITY : CreateComponent 'Hierarchy' +05:05:50.443 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842066" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1080.213013 10.776751 6018.347168>') +05:05:50.443 ENTITY : Create entity @"ENTITY:842068" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1082.185913 10.778749 6018.331055> +05:05:50.443 ENTITY : CreateComponent 'Hierarchy' +05:05:50.443 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842068" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1082.185913 10.778749 6018.331055>') +05:05:50.443 ENTITY : Create entity @"ENTITY:842070" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1084.190918 10.790751 6018.334961> +05:05:50.443 ENTITY : CreateComponent 'Hierarchy' +05:05:50.443 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842070" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1084.190918 10.790751 6018.334961>') +05:05:50.448 ENTITY : Create entity @"ENTITY:842333" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4425.594727 9.981750 11029.402344> +05:05:50.448 ENTITY : CreateComponent 'Hierarchy' +05:05:50.448 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842333" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4425.594727 9.981750 11029.402344>') +05:05:50.448 ENTITY : Create entity @"ENTITY:842335" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4426.584473 9.983749 11031.109375> +05:05:50.448 ENTITY : CreateComponent 'Hierarchy' +05:05:50.448 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842335" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4426.584473 9.983749 11031.109375>') +05:05:50.448 ENTITY : Create entity @"ENTITY:842337" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4427.572266 9.995750 11032.853516> +05:05:50.448 ENTITY : CreateComponent 'Hierarchy' +05:05:50.448 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842337" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4427.572266 9.995750 11032.853516>') +05:05:50.452 ENTITY : Create entity @"ENTITY:842591" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.946289 10.470250 1551.986084> +05:05:50.452 ENTITY : CreateComponent 'Hierarchy' +05:05:50.452 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842591" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.946289 10.470250 1551.986084>') +05:05:50.452 ENTITY : Create entity @"ENTITY:842593" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.430664 10.472250 1550.081421> +05:05:50.452 ENTITY : CreateComponent 'Hierarchy' +05:05:50.452 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842593" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.430664 10.472250 1550.081421>') +05:05:50.452 ENTITY : Create entity @"ENTITY:842595" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10008.926758 10.484250 1548.140869> +05:05:50.452 ENTITY : CreateComponent 'Hierarchy' +05:05:50.452 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842595" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10008.926758 10.484250 1548.140869>') +05:05:54.966 ENTITY : Create entity @"ENTITY:2305843009213693956" ('Factions', SCR_FactionManager) at <0.000000 0.000000 0.000000> @"{589540B35EBA8CDC}Prefabs/MP/Managers/Factions/FactionManager_USxUSSR.et" +05:05:54.966 RESOURCES : GetResourceObject @"{5168FEA3054D6D15}Prefabs/Vehicles/Wheeled/M151A2/M151A2_M2HB_MERDC.et" +05:05:54.966 WORLD : Entity prefab load @"{5168FEA3054D6D15}Prefabs/Vehicles/Wheeled/M151A2/M151A2_M2HB_MERDC.et" +05:05:54.966 RESOURCES : GetResourceObject @"{F6B23D17D5067C11}Prefabs/Vehicles/Wheeled/M151A2/M151A2_M2HB.et" +05:05:54.966 WORLD : Entity prefab load @"{F6B23D17D5067C11}Prefabs/Vehicles/Wheeled/M151A2/M151A2_M2HB.et" +05:05:54.966 RESOURCES : GetResourceObject @"{F649585ABB3706C4}Prefabs/Vehicles/Wheeled/M151A2/M151A2.et" +05:05:54.966 WORLD : Entity prefab load @"{F649585ABB3706C4}Prefabs/Vehicles/Wheeled/M151A2/M151A2.et" +05:05:54.966 WORLD (E): Unknown keyword/data 'SlidingTrackMaterial' at offset 19441(0x4bf1) +05:05:55.001 RESOURCES : GetResourceObject @"{F7B9B434FCFF00B3}Prefabs/Vehicles/Wheeled/Conflict_Variants/BRDM2_Conflict.et" +05:05:55.001 WORLD : Entity prefab load @"{F7B9B434FCFF00B3}Prefabs/Vehicles/Wheeled/Conflict_Variants/BRDM2_Conflict.et" +05:05:55.001 RESOURCES : GetResourceObject @"{254289B9C09904AB}Prefabs/Vehicles/Wheeled/BRDM2/BRDM2.et" +05:05:55.001 WORLD : Entity prefab load @"{254289B9C09904AB}Prefabs/Vehicles/Wheeled/BRDM2/BRDM2.et" +05:05:55.001 RESOURCES : GetResourceObject @"{532B5F3CF8496E59}Prefabs/Vehicles/Wheeled/BRDM2/BRDM2_base.et" +05:05:55.001 WORLD : Entity prefab load @"{532B5F3CF8496E59}Prefabs/Vehicles/Wheeled/BRDM2/BRDM2_base.et" +05:05:55.001 WORLD (E): Unknown keyword/data 'Parent' at offset 35955(0x8c73) +05:05:55.001 WORLD (E): Unknown keyword/data 'Parent' at offset 36915(0x9033) +05:05:55.002 RESOURCES : GetResourceObject @"{BD75A18920BD1278}Prefabs/Vehicles/Wheeled/Conflict_Variants/BTR70_Conflict.et" +05:05:55.002 WORLD : Entity prefab load @"{BD75A18920BD1278}Prefabs/Vehicles/Wheeled/Conflict_Variants/BTR70_Conflict.et" +05:05:55.002 RESOURCES : GetResourceObject @"{C012BB3488BEA0C2}Prefabs/Vehicles/Wheeled/BTR70/BTR70.et" +05:05:55.002 WORLD : Entity prefab load @"{C012BB3488BEA0C2}Prefabs/Vehicles/Wheeled/BTR70/BTR70.et" +05:05:55.002 RESOURCES : GetResourceObject @"{1C5FE7B7FF49BB8D}Prefabs/Vehicles/Wheeled/BTR70/BTR70_Base.et" +05:05:55.002 WORLD : Entity prefab load @"{1C5FE7B7FF49BB8D}Prefabs/Vehicles/Wheeled/BTR70/BTR70_Base.et" +05:05:55.002 WORLD (E): Unknown keyword/data 'Parent' at offset 42646(0xa696) +05:05:55.002 WORLD (E): Unknown keyword/data 'Parent' at offset 43645(0xaa7d) +05:05:55.002 WORLD (E): Unknown keyword/data 'Parent' at offset 44617(0xae49) +05:05:55.002 WORLD (E): Unknown keyword/data 'Parent' at offset 45590(0xb216) +05:05:55.310 WORLD : WORLD : NotifyBeforeEntitiesInitialized +05:05:55.310 PROFILING : NotifyBeforeEntitiesInitialized took: 0.044300 ms +05:05:57.281 WORLD : InitEntities 'world' +05:05:57.281 ENTITY : Init entity @"ENTITY:2305843009213693953" ('Rereintroduced', ERR_GameMode) at <1076.468018 51.000999 1325.246948> @"{978E045E53EF36C8}Prefabs/ERR/GameMode.et" +05:05:57.281 SCRIPT (W): SCR_PerceivedFactionManagerComponent trying to set fall back faction 'CIV' but this faction could not be found so it is null instead. +05:05:57.306 WORLD : InitEntities 'world' +05:05:57.306 ENTITY : Init entity @"ENTITY:2305843009213693953" ('Rereintroduced', ERR_GameMode) at <1076.468018 51.000999 1325.246948> @"{978E045E53EF36C8}Prefabs/ERR/GameMode.et" +05:05:57.306 SCRIPT : ERR BASE SMOKE: core-only scripted escape; not manual or multiplayer acceptance +05:05:57.306 WORLD : WORLD : NotifyEntitiesInitialized +05:05:57.306 TERRAIN : TERRAIN : Initializing road networks... +05:05:57.308 PROFILING : Initializing road networks... took: 2.276000 ms +05:05:57.309 DEFAULT : DEFAULT : WorldVolumesCollection +05:05:57.367 PROFILING : WorldVolumesCollection took: 58.624500 ms +05:05:57.367 INIT : INIT : SoundWorldInit +05:05:57.380 PROFILING : SoundWorldInit took: 12.612400 ms +05:05:57.380 PROFILING : NotifyEntitiesInitialized took: 73.753600 ms +05:05:57.380 PROFILING : CreateEntities took: 12848.845200 ms +05:05:57.380 PROFILING : CreateEntities took: 12849.035400 ms +05:05:57.381 WORLD : WORLD : Wait for preloading data around camera +05:05:57.381 PROFILING : Wait for preloading data around camera took: 0.001300 ms +05:05:57.381 WORLD : WORLD : EOnActivate +05:05:57.414 PROFILING : EOnActivate took: 33.676900 ms +05:05:57.415 PROFILING : Game::LoadEntities took: 12884.798500 ms +05:05:57.653 DEFAULT : Entered offline game state. +05:05:57.755 NETWORK : Player connected: connectionID=2147483646 +05:05:57.756 NETWORK : ### Connecting player: connectionID=2147483646, Name= +05:05:57.756 NETWORK : ### Creating player: PlayerId=1, Name=jakub +05:05:57.760 ENTITY : SpawnEntityPrefab @"{225E51284CC95CFA}Prefabs/Characters/Core/DefaultPlayerControllerMP.et" +05:05:57.760 ENTITY : Create entity @"ENTITY:4611686018427388381" ('SCR_PlayerController') at <0.000000 0.000000 0.000000> +05:05:57.760 ENTITY : EntityPrefabUse @"{225E51284CC95CFA}Prefabs/Characters/Core/DefaultPlayerControllerMP.et" +05:05:57.760 SCRIPT (W): Notification data in 'SCR_NotificationsLogDisplay' has duplicate notification info key: 'EDITOR_PERCEIVED_FACTION_PUNISHMENT_KILLING_SET'. There should only be one of each key! +05:05:57.761 SCRIPT (W): Notification data in 'SCR_NotificationsLogDisplay' has duplicate notification info key: 'EDITOR_PERCEIVED_FACTION_TYPE_DISABLED'. There should only be one of each key! +05:05:57.762 SCRIPT (W): Can't open config file "" +05:05:57.768 WORLD : InitEntities 'world' +05:05:57.768 ENTITY : Init entity @"ENTITY:4611686018427388381" ('SCR_PlayerController') at <0.000000 0.000000 0.000000> @"{225E51284CC95CFA}Prefabs/Characters/Core/DefaultPlayerControllerMP.et" +05:05:57.768 GUI : WidgetManager: CrateWidgets @"{3C9DCDD76AB83157}UI/layouts/HUD/HUDLayouts/HUDManager_Root.layout" +05:05:57.768 SCRIPT (W): Slot_WeaponInfo Has no Content! +05:05:57.768 SCRIPT (W): Slot_Chat Has no Content! +05:05:57.768 SCRIPT (W): Slot_VON Has no Content! +05:05:57.768 SCRIPT (W): Slot_AvailableActions Has no Content! +05:05:57.769 SCRIPT (W): Slot_Vehicle Has no Content! +05:05:57.769 SCRIPT (W): Slot_GameVersion Has no Content! +05:05:57.769 SCRIPT (W): Slot_Notifications Has no Content! +05:05:57.769 SCRIPT (W): Slot_Hints Has no Content! +05:05:57.781 NETWORK : ### Updating player: PlayerId=1, Name=jakub, rplIdentity=0xFFFFFFFE, IdentityId=00000000-0000-0000-0000-000000000000 +05:05:57.782 SCRIPT (W): Ban Settings could not be loaded from BE Storage: Relying on default config +05:05:57.782 NETWORK : Players connecting: 0 +05:05:57.782 NETWORK : Players connected: 1 / 1 +05:05:57.811 DEFAULT : Using autosave directory: C:/users/steamuser/AppData/Local/Temp/Arma Reforger Workbench/Projects/ERR_Core/autosaves +05:05:57.812 PROFILING : Workbench startup took: 42520.055100 ms +05:05:57.837 WORLD : Frame start +05:05:57.837 SCRIPT : ScenarioFramework: Available tasks are empty, no new tasks will be generated. +05:05:57.850 WORLD : UpdateEntities +05:05:57.850 WORLD : Frame +05:05:57.850 SCRIPT : SCR_BaseGameMode::OnGameStateChanged = GAME +05:05:58.014 WORLD : UpdateEntities +05:05:58.014 WORLD : PostFrame +05:05:58.014 GUI : WidgetManager: CrateWidgets @"{D89BBA18F99053D6}UI/layouts/HUD/Chat/ChatHud.layout" +05:05:58.014 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +05:05:58.055 RESOURCES : GetResourceObject @"{20A6917D2114E29A}UI/layouts/HUD/Hint/HintInfoDisplay.layout" +05:05:58.055 GUI : Layout load @"{20A6917D2114E29A}UI/layouts/HUD/Hint/HintInfoDisplay.layout" +05:05:58.055 GUI : Widget prefab @"{EA1CC57D868E94F9}UI/layouts/HUD/Hint/Hint.layout" +05:05:58.055 GUI (W): Overridden prefab member (GUID: '{661AB14E0F471C66}' type: ButtonWidgetClass) no longer exists in prefab +05:05:58.194 RENDER : RENDER : ObjectsHeightMap::Build +05:05:58.194 RENDER : RENDER : MeshOccupancyGridManager::GenerateAllForWorld +05:05:58.360 PROFILING : MeshOccupancyGridManager::GenerateAllForWorld took: 165.158800 ms +05:05:58.367 PROFILING : ObjectsHeightMap::Build took: 173.069100 ms +05:05:59.537 SCRIPT : Rereintroduced [sites]: cache clearance position=<6086,211.538,7160> clear=1 +05:05:59.557 SCRIPT : Rereintroduced [sites]: authored everon-prison-1 at <6090,211.444,7160> +05:05:59.557 SCRIPT : Rereintroduced [sites]: cache clearance position=<6150,203.288,7050> clear=1 +05:05:59.590 SCRIPT : Rereintroduced [sites]: authored everon-supply-1 at <6150,203.288,7050> +05:05:59.593 SCRIPT : Rereintroduced [sites]: authored everon-radio-1 at <6500,159.756,7200> +05:05:59.646 SCRIPT : Rereintroduced [sites]: authored everon-extraction-1 at <7000,65.2562,7500> +05:05:59.646 SCRIPT : Rereintroduced [sites]: cache clearance position=<5960,220.256,7220> clear=1 +05:05:59.652 SCRIPT : Rereintroduced [sites]: transport parking=<5960,220.256,7212> radius=4 terrainRange=0.8125 obstructed=0 clear=1 +05:05:59.702 SCRIPT : Rereintroduced [sites]: authored everon-supply-2 at <5960,220.256,7220> +05:05:59.702 SCRIPT : Rereintroduced [sites]: cache clearance position=<6340,175.788,7400> clear=1 +05:05:59.704 SCRIPT : Rereintroduced [sites]: authored everon-medical-1 at <6340,175.788,7400> +05:05:59.704 SCRIPT : Rereintroduced [sites]: cache clearance position=<6740,140.6,7300> clear=1 +05:05:59.708 SCRIPT : Rereintroduced [sites]: cache clearance position=<6740,140.913,7296> clear=1 +05:05:59.709 SCRIPT : Rereintroduced [sites]: cache clearance position=<6736,140.975,7300> clear=1 +05:05:59.710 SCRIPT : Rereintroduced [sites]: cache clearance position=<6744,140.288,7300> clear=1 +05:05:59.711 SCRIPT : Rereintroduced [sites]: authored everon-outpost-1 at <6740,140.6,7300> +05:05:59.788 SCRIPT : Rereintroduced [sites]: 7 sites and 117 physical stock items ready +05:05:59.789 SCRIPT : Rereintroduced [time]: started at 14:00 with 1x progression +05:05:59.789 SCRIPT : Rereintroduced [mission]: phase 0 -> 1 +05:06:00.040 SCRIPT : INFO: Faction: player jakub (playerID = 1 | UUID = 00000000-0000-0000-0000-000000000000) has joined faction #AR-Faction_US (US) +05:06:00.120 SCRIPT : Rereintroduced [spawn]: player 1 at <6087,211.538,7157> +05:06:00.235 SCRIPT : ERR SMOKE PASS: definition authored configuration resolves +05:06:00.235 SCRIPT : ERR SMOKE PASS: definition duplicate site identity rejected +05:06:00.235 SCRIPT : ERR SMOKE PASS: definition dangling document target rejected +05:06:00.235 SCRIPT : ERR SMOKE PASS: definition non-radio document target rejected +05:06:00.236 SCRIPT : ERR SMOKE PASS: definition insufficient guaranteed radio clues rejected +05:06:00.236 SCRIPT : ERR SMOKE PASS: definition unbounded stock rejected +05:06:00.236 SCRIPT : ERR SMOKE PASS: definition unguaranteed clue route rejected +05:06:00.236 SCRIPT : ERR SMOKE PASS: definition radio sources sharing one footprint rejected +05:06:00.236 SCRIPT : ERR SMOKE PASS: definition unnamed location rejected +05:06:00.236 SCRIPT : ERR SMOKE PASS: definition proximity discovery cannot reveal progression sites +05:06:00.237 SCRIPT : ERR SMOKE PASS: definition escape cannot reveal the radio directly +05:06:00.237 SCRIPT : ERR SMOKE PASS: definition unbounded scenery offset rejected +05:06:00.237 SCRIPT : ERR SMOKE PASS: definition valid configuration restored after isolated mutations +05:06:00.237 SCRIPT : ERR SMOKE PASS: base contracts catalog resolves hostile vanilla factions and successful preparation +05:06:00.237 SCRIPT : ERR SMOKE PASS: base contracts physical prisoner matches injected faction and resource +05:06:00.237 SCRIPT : ERR SMOKE PASS: base contracts physical guard squad comes from injected catalog +05:06:00.238 SCRIPT : ERR SMOKE PASS: base contracts same-side factions rejected +05:06:00.238 SCRIPT : ERR SMOKE PASS: base contracts unknown world faction rejected +05:06:00.238 SCRIPT : ERR SMOKE PASS: base contracts missing prisoner resource rejected +05:06:00.238 SCRIPT : ERR SMOKE PASS: base contracts isolated catalog restored without mutating live configuration +05:06:00.238 SCRIPT : ERR SMOKE PASS: base contracts unauthorized settings request rejected +05:06:00.238 SCRIPT : ERR SMOKE PASS: base contracts partially numeric input rejected without mutation +05:06:00.238 SCRIPT : ERR SMOKE PASS: base contracts out-of-range duration rejected without mutation +05:06:00.241 SCRIPT : ERR SMOKE PASS: base contracts normalized base command saves validated duration +05:06:00.242 SCRIPT : ERR SMOKE PASS: base contracts base command reads saved duration +05:06:00.242 SCRIPT : ERR SMOKE PASS: base contracts base settings listing available +05:06:00.242 SCRIPT : ERR SMOKE PASS: base contracts base mission status available before companions +05:06:00.244 SCRIPT : ERR SMOKE PASS: base contracts test setting restored +05:06:00.244 SCRIPT : ERR SMOKE PASS: base outpost barrier is upright +05:06:00.244 SCRIPT : ERR COVER GEOMETRY: low=<6738.99,140.839,7295.42> high=<6740.98,141.655,7296.62> trace=0.377114 +05:06:00.244 SCRIPT : ERR SMOKE PASS: base outpost barrier has physical collision +05:06:00.245 SCRIPT : ERR SMOKE PASS: base outpost barrier is upright +05:06:00.245 SCRIPT : ERR COVER GEOMETRY: low=<6735.42,140.901,7299.02> high=<6736.62,141.718,7301.01> trace=0.377114 +05:06:00.245 SCRIPT : ERR SMOKE PASS: base outpost barrier has physical collision +05:06:00.245 SCRIPT : ERR SMOKE PASS: base outpost barrier is upright +05:06:00.245 SCRIPT : ERR COVER GEOMETRY: low=<6743.42,140.214,7299.02> high=<6744.62,141.03,7301.01> trace=0.377114 +05:06:00.245 SCRIPT : ERR SMOKE PASS: base outpost barrier has physical collision +05:06:00.246 SCRIPT : ERR SMOKE PASS: base exactly three authored outpost barriers exist +05:06:00.246 SCRIPT : ERR SMOKE PASS: mission time clock parsing includes midnight and final minute +05:06:00.246 SCRIPT : ERR SMOKE PASS: mission time malformed clock commands rejected +05:06:00.246 SCRIPT : ERR SMOKE PASS: mission time isolated fixture paths unused +05:06:00.247 SCRIPT : ERR SMOKE PASS: mission time legacy fixture created +05:06:00.247 SCRIPT : ERR SMOKE PASS: mission time existing six-key settings preserved +05:06:00.247 SCRIPT : ERR SMOKE PASS: mission time only absent time settings receive defaults +05:06:00.248 SCRIPT : ERR SMOKE PASS: mission time loading does not rewrite legacy file +05:06:00.254 SCRIPT : ERR SMOKE PASS: mission time explicit save upgrades valid legacy settings +05:06:00.255 SCRIPT : ERR SMOKE PASS: mission time new keys and old values survive reload +05:06:00.256 SCRIPT : ERR SMOKE PASS: mission time present out-of-range time cannot silently default +05:06:00.257 SCRIPT : ERR SMOKE PASS: mission time fractional clock setting rejected +05:06:00.260 SCRIPT : ERR SMOKE PASS: mission time zero multiplier rejected +05:06:00.261 SCRIPT : ERR SMOKE PASS: mission time missing legacy setting remains invalid +05:06:00.262 SCRIPT : ERR SMOKE PASS: mission time partially upgraded file defaults only missing new field +05:06:00.262 SCRIPT : ERR SMOKE PASS: mission time valid saved backup recovers invalid primary +05:06:00.263 SCRIPT : ERR SMOKE PASS: mission time server starts world clock before prison phase +05:06:00.263 SCRIPT : ERR SMOKE PASS: mission time engine progression matches applied multiplier +05:06:00.263 SCRIPT : ERR SMOKE PASS: mission time unauthorized clock mutation rejected +05:06:00.263 SCRIPT : ERR SMOKE PASS: mission time invalid clock command preserves setting +05:06:00.273 SCRIPT : ERR SMOKE PASS: mission time authorized settings persist and test restores originals +05:06:00.274 SCRIPT : ERR SMOKE PASS: mission time saved changes and repeated start leave current clock and speed intact +05:06:00.274 SCRIPT : ERR SMOKE PASS: mission time admin sees current clock separately from next round settings +05:06:00.274 SCRIPT : ERR SMOKE PASS: base native prison objective exists +05:06:00.274 SCRIPT : ERR SMOKE PASS: objective UI current native task exists +05:06:00.276 SCRIPT : ERR SMOKE PASS: objective UI native list and detail layouts created +05:06:00.277 SCRIPT : ERR SMOKE PASS: objective UI native handlers attached +05:06:00.277 SCRIPT : ERR SMOKE PASS: objective UI open list and details contain current title and instructions +05:06:00.277 SCRIPT : ERR SMOKE PASS: objective UI list-only task cannot expose an undiscovered map position +05:06:00.277 SCRIPT : ERR SMOKE PASS: objective UI actual local player receives the active objective +05:06:00.277 SCRIPT : ERR SMOKE PASS: objective UI extraction instructions follow a nondefault boundary +05:06:00.278 SCRIPT : ERR SMOKE PASS: base authored supply cache is a separate scavenging location +05:06:00.278 SCRIPT : ERR BASE STOCK: cache items=54 +05:06:00.278 SCRIPT : ERR SMOKE PASS: base cache holds finite physical equipment and objective documents +05:06:00.278 SCRIPT : ERR SMOKE PASS: base no companion HQ or support controller loaded +05:06:00.278 SCRIPT : ERR SMOKE PASS: base prisoner spawned in authored prison +05:06:00.278 SCRIPT : ERR SMOKE PASS: base gate, clues, radio and helicopter created by core +05:06:00.279 SCRIPT : Rereintroduced [mission]: phase 1 -> 2 +05:06:00.280 SCRIPT : ERR SMOKE PASS: base gate action begins escape +05:06:00.282 SCRIPT : ERR SMOKE PASS: base test defence duration accepted +05:06:00.283 SCRIPT : ERR SMOKE PASS: base previous native objective completes on phase change +05:06:00.283 SCRIPT : ERR SMOKE PASS: base search objective does not expose a hidden site +05:06:00.283 SCRIPT : ERR SMOKE PASS: objective UI current native task exists +05:06:00.285 SCRIPT : ERR SMOKE PASS: objective UI native list and detail layouts created +05:06:00.286 SCRIPT : ERR SMOKE PASS: objective UI native handlers attached +05:06:00.286 SCRIPT : ERR SMOKE PASS: objective UI open list and details contain current title and instructions +05:06:00.286 SCRIPT : ERR SMOKE PASS: objective UI list-only task cannot expose an undiscovered map position +05:06:00.286 SCRIPT : ERR SMOKE PASS: objective UI actual local player receives the active objective +05:06:00.286 SCRIPT : ERR SMOKE PASS: objective UI extraction instructions follow a nondefault boundary +05:06:00.287 SCRIPT : ERR SMOKE PASS: base both named supply routes revealed after escape +05:06:00.287 SCRIPT : ERR SMOKE PASS: base optional sites remain hidden until approached +05:06:06.282 SCRIPT : ERR SMOKE PASS: base unconscious player cannot discover optional sites +05:06:12.370 SCRIPT : ERR SMOKE PASS: base distant player cannot discover optional sites +05:06:12.371 SCRIPT : ERR SMOKE PASS: base isolated visibility obstacle created +05:06:12.371 SCRIPT : ERR VISIBILITY OBSTACLE: low=<6338.5,174.97,7403.87> high=<6341.5,178.737,7404.13> observer=<6339.99,174.673,7466.22> target=<6340,175.788,7400> +05:06:18.441 SCRIPT : ERR SMOKE PASS: base physical wall prevents nearby site discovery +05:06:24.528 SCRIPT : ERR SMOKE PASS: base conscious nearby player visually discovers named medical stash once +05:06:24.528 SCRIPT : ERR SMOKE PASS: base proximity cannot bypass radio documents +05:06:25.033 SCRIPT : ERR SMOKE PASS: base physical clue recovered +05:06:25.195 SCRIPT : Rereintroduced [intel]: player 1 recovered folder; location=everon-radio-1 knowledge=1 +05:06:27.562 SCRIPT : ERR SMOKE PASS: base physical clue recovered +05:06:28.209 SCRIPT : Rereintroduced [intel]: player 1 recovered folder; location=everon-radio-1 knowledge=2 +05:06:30.085 SCRIPT : ERR SMOKE PASS: base objective guidance reacts to discovered radio +05:06:30.085 SCRIPT : ERR SMOKE PASS: objective UI current native task exists +05:06:30.086 SCRIPT : ERR SMOKE PASS: objective UI open list and details contain current title and instructions +05:06:30.086 SCRIPT : ERR SMOKE PASS: objective UI list-only task cannot expose an undiscovered map position +05:06:30.086 SCRIPT : ERR SMOKE PASS: objective UI actual local player receives the active objective +05:06:30.086 SCRIPT : ERR SMOKE PASS: objective UI extraction instructions follow a nondefault boundary +05:06:30.088 SCRIPT : ERR SMOKE PASS: base discovery ticks do not repeat the location event +05:06:30.088 SCRIPT : ERR SMOKE PASS: base documents identify radio without Intel addon +05:06:31.589 SCRIPT : ERR SMOKE PASS: radio service identified radio and real controlled prisoner available +05:06:31.589 SCRIPT : ERR SMOKE PASS: radio service controlled prisoner supports native state restoration +05:06:31.592 SCRIPT : ERR SMOKE PASS: radio service isolated thirty-second duration saved +05:06:31.599 SCRIPT : ERR SMOKE PASS: radio service second physical defender spawned +05:06:32.599 SCRIPT : ERR SMOKE PASS: radio service second physical defender settles with simulated connection membership +05:06:32.600 SCRIPT : ERR SMOKE PASS: radio service ordinary AI cannot tune even while alive and nearby +05:06:32.600 SCRIPT : ERR SMOKE PASS: radio service missing radio rejected +05:06:33.608 SCRIPT : ERR RADIO POSITION: outside tuning range after deferred teleport actor=<6506,159.313,7200.01> radio=<6500,159.756,7200> distanceXZ=6.00489 +05:06:33.608 SCRIPT : ERR SMOKE PASS: radio service tuning outside five metres rejected +05:06:34.617 SCRIPT : ERR RADIO POSITION: unconscious tuning range after deferred teleport actor=<6502.03,159.672,7200.05> radio=<6500,159.756,7200> distanceXZ=2.02848 +05:06:34.617 SCRIPT : ERR SMOKE PASS: radio service unconscious prisoner cannot tune +05:06:35.624 SCRIPT : ERR RADIO RECOVERY: tuning prisoner waiting step=4 alive=1 canFight=0 unconscious=1 lifeState=0 origin=<6502.03,159.67,7200.05> +05:06:36.627 SCRIPT : ERR RADIO RECOVERY: tuning prisoner waiting step=4 alive=1 canFight=0 unconscious=1 lifeState=0 origin=<6502.03,159.67,7200.05> +05:06:37.643 SCRIPT : ERR RADIO RECOVERY: tuning prisoner waiting step=4 alive=1 canFight=0 unconscious=1 lifeState=0 origin=<6502.03,159.53,7200.05> +05:06:38.151 SCRIPT : ERR RADIO RECOVERY: tuning prisoner ready step=4 alive=1 canFight=1 unconscious=0 lifeState=0 origin=<6502.03,159.53,7200.05> +05:06:38.151 SCRIPT : ERR RADIO AUTH: active=1 phase=2 registered=1 kind=1 knowledge=2 serviceState=0 distance=2.02886 +05:06:38.152 SCRIPT : ERR RADIO AUTH: playerId=1 connected=1 usedLife=1 sameActor=1 friendly=1 canFight=1 canBegin=1 +05:06:38.152 SCRIPT : ERR SMOKE PASS: radio service registered friendly conscious prisoner remains authorized +05:06:38.152 SCRIPT : ERR SMOKE PASS: radio service unregistered defender cannot start the isolated service +05:06:38.152 SCRIPT : ERR SMOKE PASS: radio service physical defender has native faction affiliation +05:06:39.162 SCRIPT : ERR SMOKE PASS: radio service hostile controlled defender cannot tune +05:06:40.180 SCRIPT : ERR SMOKE PASS: radio service start event emitted once and duplicate start rejected +05:06:40.181 SCRIPT : ERR SMOKE PASS: radio service two conscious physical defenders share one timer +05:06:41.198 SCRIPT : ERR SMOKE PASS: radio service hostile actor cannot defend even with simulated connection membership +05:06:42.215 SCRIPT : ERR SMOKE PASS: radio service elapsed countdown does not emit redundant progress events +05:06:43.217 SCRIPT : ERR SMOKE PASS: radio service second defender preserves progress while first is unconscious +05:06:44.222 SCRIPT : ERR SMOKE PASS: radio service all unconscious defenders reset accumulated time +05:06:45.240 SCRIPT : ERR RADIO RECOVERY: first defender waiting step=11 alive=1 canFight=0 unconscious=1 lifeState=0 origin=<6502.08,159.666,7200.09> +05:06:46.256 SCRIPT : ERR RADIO RECOVERY: first defender waiting step=11 alive=1 canFight=0 unconscious=1 lifeState=0 origin=<6502.08,159.528,7200.09> +05:06:46.765 SCRIPT : ERR RADIO RECOVERY: first defender ready step=11 alive=1 canFight=1 unconscious=0 lifeState=0 origin=<6502.08,159.528,7200.09> +05:06:46.765 SCRIPT : ERR SMOKE PASS: radio service conscious recovery starts a fresh continuous interval +05:06:47.772 SCRIPT : ERR RADIO RECOVERY: second defender waiting step=12 alive=1 canFight=0 unconscious=1 lifeState=0 origin=<6497.66,159.877,7199.26> +05:06:48.792 SCRIPT : ERR RADIO RECOVERY: second defender waiting step=12 alive=1 canFight=0 unconscious=1 lifeState=0 origin=<6497.66,159.877,7199.26> +05:06:49.295 SCRIPT : ERR RADIO RECOVERY: second defender ready step=12 alive=1 canFight=1 unconscious=0 lifeState=0 origin=<6497.66,159.877,7199.26> +05:06:49.296 SCRIPT : ERR SMOKE PASS: radio service empty server resets despite remaining character bodies +05:06:50.302 SCRIPT : ERR RADIO POSITION: outside defence radius after deferred teleport actor=<6560.49,155.594,7199.99> radio=<6500,159.756,7200> distanceXZ=60.4941 +05:06:50.302 SCRIPT : ERR SMOKE PASS: radio service outside sixty metres excludes first defender without resetting second +05:06:51.317 SCRIPT : ERR SMOKE PASS: radio service dead defender cannot maintain transmission +05:06:52.333 SCRIPT : ERR RADIO POSITION: returned to radio after deferred teleport actor=<6502,159.532,7200> radio=<6500,159.756,7200> distanceXZ=2.00489 +05:06:52.333 SCRIPT : ERR SMOKE PASS: radio service survivor returns physically before final transmission samples +05:06:52.336 SCRIPT : ERR SMOKE PASS: radio service live duration increase saved +05:06:52.337 SCRIPT : ERR SMOKE PASS: radio service live duration increase preserves accumulated occupancy +05:06:52.339 SCRIPT : ERR SMOKE PASS: radio service live duration reduction saved +05:06:52.339 SCRIPT : ERR SMOKE PASS: radio service live duration reduction completes at exact continuous boundary +05:06:52.339 SCRIPT : ERR SMOKE PASS: radio service completed service cannot restart or emit duplicate completion after stop +05:06:52.339 SCRIPT : ERR SMOKE PASS: radio service isolated cancellation service begins +05:06:52.339 SCRIPT : ERR SMOKE PASS: radio service stop cancels progress and future starts without completing +05:06:52.340 SCRIPT : ERR SMOKE PASS: radio service isolated terminal-phase service begins +05:06:52.340 SCRIPT : ERR SMOKE PASS: radio service terminal phase event prevents later completion +05:06:52.340 SCRIPT : ERR SMOKE PASS: radio service isolated event tests leave live objective ready for normal tuning +05:06:53.343 SCRIPT : ERR RADIO RECOVERY: restored prisoner ready step=90 alive=1 canFight=1 unconscious=0 lifeState=0 origin=<6501.99,159.532,7199.98> +05:06:53.343 SCRIPT : ERR RADIO RESTORE: actual=<6501.99,159.532,7199.98> original=<6501.99,159.533,7199.98> distance=0.00139591 +05:06:53.343 SCRIPT : ERR SMOKE PASS: radio service isolated test restores live duration and physical player state after a world frame +05:06:53.343 SCRIPT : Rereintroduced [mission]: phase 2 -> 3 +05:06:53.345 SCRIPT : ERR SMOKE PASS: base identified radio accepts transmission +05:06:58.382 SCRIPT : ERR SMOKE PASS: base depleted stock stays empty when preparation is queried again +05:06:58.383 SCRIPT : ERR SMOKE PASS: base native objective reports advancing radio progress +05:06:58.383 SCRIPT : ERR SMOKE PASS: objective UI current native task exists +05:06:58.386 SCRIPT : ERR SMOKE PASS: objective UI native list and detail layouts created +05:06:58.386 SCRIPT : ERR SMOKE PASS: objective UI native handlers attached +05:06:58.386 SCRIPT : ERR SMOKE PASS: objective UI open list and details contain current title and instructions +05:06:58.387 SCRIPT : ERR SMOKE PASS: objective UI list-only task cannot expose an undiscovered map position +05:06:58.387 SCRIPT : ERR SMOKE PASS: objective UI actual local player receives the active objective +05:06:58.387 SCRIPT : ERR SMOKE PASS: objective UI extraction instructions follow a nondefault boundary +05:07:33.722 SCRIPT : ERR SMOKE PASS: base unconscious survivor does not trigger defeat after the full grace period +05:07:33.722 SCRIPT : ERR SMOKE PASS: base unconscious radio defender cannot advance transmission +05:07:33.722 SCRIPT : ERR SMOKE PASS: base unconscious player retains their body and camera +05:07:39.752 SCRIPT : ERR SMOKE PASS: base regaining consciousness resumes transmission from zero +05:07:39.752 SCRIPT : ERR SMOKE PASS: base regaining consciousness does not grant another life +05:07:42.289 SCRIPT : ERR SMOKE PASS: base lost supply cache is not replaced +05:07:42.290 SCRIPT : ERR SMOKE PASS: base objective reports interruption and reset +05:07:42.290 SCRIPT : ERR SMOKE PASS: objective UI current native task exists +05:07:42.290 SCRIPT : ERR SMOKE PASS: objective UI open list and details contain current title and instructions +05:07:42.290 SCRIPT : ERR SMOKE PASS: objective UI list-only task cannot expose an undiscovered map position +05:07:42.290 SCRIPT : ERR SMOKE PASS: objective UI actual local player receives the active objective +05:07:42.290 SCRIPT : ERR SMOKE PASS: objective UI extraction instructions follow a nondefault boundary +05:08:12.767 SCRIPT : Rereintroduced [mission]: phase 3 -> 4 +05:08:15.622 SCRIPT : ERR SMOKE PASS: base radio defence reveals extraction +05:08:15.623 SCRIPT : ERR SMOKE PASS: mission time clock advancement remains enabled +05:08:15.623 SCRIPT : ERR SMOKE PASS: mission time progression sampled across at least ten engine seconds +05:08:15.623 SCRIPT : ERR SMOKE PASS: mission time native clock advances at configured rate without periodic resets +05:08:15.623 SCRIPT : ERR SMOKE PASS: objective UI current native task exists +05:08:15.625 SCRIPT : ERR SMOKE PASS: objective UI native list and detail layouts created +05:08:15.626 SCRIPT : ERR SMOKE PASS: objective UI native handlers attached +05:08:15.626 SCRIPT : ERR SMOKE PASS: objective UI open list and details contain current title and instructions +05:08:15.626 SCRIPT : ERR SMOKE PASS: objective UI list-only task cannot expose an undiscovered map position +05:08:15.626 SCRIPT : ERR SMOKE PASS: objective UI actual local player receives the active objective +05:08:15.626 SCRIPT : ERR SMOKE PASS: objective UI extraction instructions follow a nondefault boundary +05:08:15.627 SCRIPT : ERR SMOKE PASS: base player physically boards extraction helicopter +05:08:18.661 SCRIPT : ERR SMOKE PASS: base extraction requires real occupancy +05:08:18.801 SCRIPT : Rereintroduced [mission]: phase 4 -> 5 +05:08:18.802 SCRIPT : ERR SMOKE PASS: base escape and restart reached without companion services +05:08:18.802 SCRIPT : ERR SMOKE COMPLETE: core-only escape +05:08:18.893 SCRIPT : SCR_BaseGameMode::OnGameStateChanged = POSTGAME +05:08:18.895 GUI : WidgetManager: CrateWidgets @"{144919871D65F121}UI/layouts/HUD/GameOver/EndScreen/EndScreen.layout" +05:08:18.895 SCRIPT (W): Slot_Chat Has no Content! +05:08:18.895 SCRIPT (W): Slot_VON Has no Content! +05:08:18.895 SCRIPT (W): Slot_GameVersion Has no Content! +05:08:18.896 SCRIPT (W): Slot_Notifications Has no Content! +05:08:20.929 SCRIPT : ERR RESULT UI: player=1 title=You escaped Everon +05:08:20.929 SCRIPT (W): SCR_ScriptedWidgetComponent.GetComponent: widget not found: SCR_InputButtonComponent Back +05:08:20.930 SCRIPT : -- Stack trace -- +05:08:20.930 SCRIPT : GetComponent() Scripts/Game/UI/Components/WidgetLibrary/SCR_ScriptedWidgetComponent.c : 43 +05:08:20.930 SCRIPT : GetInputButtonComponent() Scripts/Game/UI/Components/WidgetLibrary/SCR_InputButton/SCR_InputButtonComponent.c : 1214 +05:08:20.930 SCRIPT : OnMenuOpen() Scripts/Game/UI/GameOverScreen/SCR_GameOverScreenInput.c : 15 +05:08:20.930 SCRIPT : OpenGameOverScreen() Scripts/Game/GameOverScreen/SCR_GameOverScreenManagerComponent.c : 447 +05:08:20.930 SCRIPT : ShowGameOverScreen() Scripts/Game/GameOverScreen/SCR_GameOverScreenManagerComponent.c : 177 +05:08:20.930 SCRIPT : OnUpdate() Scripts/Game/game.c : 885 +05:08:20.930 SCRIPT : ----------------- +05:08:20.931 SCRIPT (W): SCR_ScriptedWidgetComponent.GetComponent: widget not found: SCR_InputButtonComponent ChatButton +05:08:20.931 SCRIPT : -- Stack trace -- +05:08:20.931 SCRIPT : GetComponent() Scripts/Game/UI/Components/WidgetLibrary/SCR_ScriptedWidgetComponent.c : 43 +05:08:20.931 SCRIPT : GetInputButtonComponent() Scripts/Game/UI/Components/WidgetLibrary/SCR_InputButton/SCR_InputButtonComponent.c : 1214 +05:08:20.931 SCRIPT : OnMenuOpen() Scripts/Game/UI/GameOverScreen/SCR_GameOverScreenInput.c : 21 +05:08:20.931 SCRIPT : OpenGameOverScreen() Scripts/Game/GameOverScreen/SCR_GameOverScreenManagerComponent.c : 447 +05:08:20.931 SCRIPT : ShowGameOverScreen() Scripts/Game/GameOverScreen/SCR_GameOverScreenManagerComponent.c : 177 +05:08:20.931 SCRIPT : OnUpdate() Scripts/Game/game.c : 885 +05:08:20.932 SCRIPT : ----------------- +05:08:20.933 GUI : WidgetManager: CrateWidgets @"{144919871D65F121}UI/layouts/HUD/GameOver/EndScreen/EndScreen.layout" +05:08:20.933 SCRIPT (W): Slot_Chat Has no Content! +05:08:20.933 SCRIPT (W): Slot_VON Has no Content! +05:08:20.933 SCRIPT (W): Slot_GameVersion Has no Content! +05:08:20.934 SCRIPT (W): Slot_Notifications Has no Content! +05:08:20.935 SCRIPT : ERR RESULT UI: player=1 title=You escaped Everon +05:08:48.811 SCRIPT (W): Maybe a problem: DataProgression is not ready but the analytics event was requested +05:08:48.812 SCRIPT (W): SCR_PlayerData:CalculateStatsChange: Specialization stats, experience or rank stats were modified prematurely. The career data for this session might be compromised +05:08:49.031 DEFAULT (W): Achievements cannot be saved. +05:08:49.031 DEFAULT (W): Achievements failed to save. Consecutive calls to Achievements API may fail. +05:08:49.329 PLATFORM : Save data from container 'settings' have been loaded +05:08:49.429 PLATFORM : Save data from container 'sessions' have been loaded +05:08:49.429 PLATFORM : GameProject user settings load from profile @"ReforgerGameSettings.conf" +05:08:49.429 ENGINE : Game user settings config loaded +05:08:52.377 SCRIPT : string detail = 'ERR STATION TEARDOWN DIAG: n=1 owner= prefab={AE578EEA4244D41F}Prefabs/Items/Equipment/Kits/MedicalKit_01/MedicalKit_01_US.et cachedCatalog=1 globalCatalog=1 modePresent=0 gameState=-1 errPhase=-1 endData=0 call=OnDelete/InitValidSetup' +05:08:52.381 SCRIPT : string detail = 'ERR STATION TEARDOWN DIAG: n=2 owner= prefab={21EF98BFC1EB3793}Prefabs/Items/Equipment/Kits/MedicalKit_01/MedicalKit_01_USSR.et cachedCatalog=1 globalCatalog=1 modePresent=0 gameState=-1 errPhase=-1 endData=0 call=OnDelete/InitValidSetup' +05:08:52.519 DEFAULT : [SaveGameManager] Starting new playthrough nr.0 '' for mission '{B6C516F86302C679}Worlds/ERR_Everon.ent'. +05:08:52.520 WORLD : WORLD : Entities load '$ERR_Core:Worlds/ERR_Everon.ent' +05:08:53.187 PROFILING : Entities load took: 666.808900 ms +05:08:53.188 WORLD : WORLD : Game::LoadEntities +05:08:53.189 WORLD : WORLD : Initializing world systems @"{1C60D2EDA2B468B8}Configs/Systems/BaseGameModeSystems.conf" +05:08:53.190 NETWORK : Enabled lag compensation, 29 frames with 100 FPS and 280 ms rewind limits. +05:08:53.190 WORLD : WORLD : CreateEntities +05:08:53.190 WORLD : WORLD : CreateEntities 'world' +05:08:53.190 WORLD : WORLD : NotifyBeforeEntitiesCreated +05:08:53.190 RESOURCES : Unloading all loaded mission headers from 7 addon(s)! +05:08:53.193 RESOURCES : Loaded mission headers from 7 addon(s)! +05:08:53.193 PROFILING : NotifyBeforeEntitiesCreated took: 2.891300 ms +05:08:53.193 WORLD : WORLD : Wait for preloading data +05:08:53.193 PROFILING : Wait for preloading data took: 0.000700 ms +05:08:53.193 ENTITY : Create entity @"ENTITY:2" ('Eden', GenericTerrainEntity) at <0.000000 0.000000 0.000000> @"{5AD924374E8C7AF6}Prefabs/World/Game/Eden/GenericTerrain_Eden.et" +05:08:53.193 PROFILING : PROFILING : Terrain load +05:08:54.332 PROFILING : Terrain load took: 1139.178500 ms +05:08:57.269 WORLD : Game::LoadEntities +05:08:57.270 WORLD : CreateEntities +05:08:57.270 WORLD : CreateEntities 'world' +05:08:57.270 ENTITY : Create entity @"ENTITY:610406" ('StaticModelEntity','Assets/Structures/Infrastructure/Towers/TransmitterTower_01/TransmitterTower_01_small.xob') at <1931.796021 81.777000 5138.725098> @"{6A004A8F0571D456}Prefabs/Structures/Infrastructure/Towers/TransmitterTower_01/TransmitterTower_01_small.et" +05:08:57.270 ENTITY : CreateComponent 'ScriptedRadioComponent' +05:08:57.270 DEFAULT (W): World doesn't contain RadioManagerEntity to support any BaseRadioComponent. +05:08:58.624 ENTITY : Create entity @"ENTITY:842066" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1080.213013 10.776751 6018.347168> +05:08:58.624 ENTITY : CreateComponent 'Hierarchy' +05:08:58.624 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842066" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1080.213013 10.776751 6018.347168>') +05:08:58.624 ENTITY : Create entity @"ENTITY:842068" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1082.185913 10.778749 6018.331055> +05:08:58.624 ENTITY : CreateComponent 'Hierarchy' +05:08:58.624 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842068" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1082.185913 10.778749 6018.331055>') +05:08:58.624 ENTITY : Create entity @"ENTITY:842070" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1084.190918 10.790751 6018.334961> +05:08:58.624 ENTITY : CreateComponent 'Hierarchy' +05:08:58.624 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842070" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1084.190918 10.790751 6018.334961>') +05:08:58.629 ENTITY : Create entity @"ENTITY:842333" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4425.594727 9.981750 11029.402344> +05:08:58.629 ENTITY : CreateComponent 'Hierarchy' +05:08:58.629 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842333" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4425.594727 9.981750 11029.402344>') +05:08:58.629 ENTITY : Create entity @"ENTITY:842335" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4426.584473 9.983749 11031.109375> +05:08:58.629 ENTITY : CreateComponent 'Hierarchy' +05:08:58.629 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842335" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4426.584473 9.983749 11031.109375>') +05:08:58.629 ENTITY : Create entity @"ENTITY:842337" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4427.572266 9.995750 11032.853516> +05:08:58.629 ENTITY : CreateComponent 'Hierarchy' +05:08:58.629 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842337" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4427.572266 9.995750 11032.853516>') +05:08:58.633 ENTITY : Create entity @"ENTITY:842591" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.946289 10.470250 1551.986084> +05:08:58.633 ENTITY : CreateComponent 'Hierarchy' +05:08:58.633 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842591" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.946289 10.470250 1551.986084>') +05:08:58.633 ENTITY : Create entity @"ENTITY:842593" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.430664 10.472250 1550.081421> +05:08:58.633 ENTITY : CreateComponent 'Hierarchy' +05:08:58.633 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842593" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.430664 10.472250 1550.081421>') +05:08:58.633 ENTITY : Create entity @"ENTITY:842595" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10008.926758 10.484250 1548.140869> +05:08:58.633 ENTITY : CreateComponent 'Hierarchy' +05:08:58.633 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842595" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10008.926758 10.484250 1548.140869>') +05:09:03.271 WORLD : WORLD : NotifyBeforeEntitiesInitialized +05:09:03.271 PROFILING : NotifyBeforeEntitiesInitialized took: 0.042100 ms +05:09:05.232 WORLD : InitEntities 'world' +05:09:05.232 ENTITY : Init entity @"ENTITY:2305843009213693953" ('Rereintroduced', ERR_GameMode) at <1076.468018 51.000999 1325.246948> @"{978E045E53EF36C8}Prefabs/ERR/GameMode.et" +05:09:05.232 SCRIPT (W): SCR_PerceivedFactionManagerComponent trying to set fall back faction 'CIV' but this faction could not be found so it is null instead. +05:09:05.232 WORLD : InitEntities 'world' +05:09:05.232 ENTITY : Init entity @"ENTITY:2305843009213693953" ('Rereintroduced', ERR_GameMode) at <1076.468018 51.000999 1325.246948> @"{978E045E53EF36C8}Prefabs/ERR/GameMode.et" +05:09:05.232 SCRIPT : ERR BASE SMOKE: core-only scripted escape; not manual or multiplayer acceptance +05:09:05.233 WORLD : WORLD : NotifyEntitiesInitialized +05:09:05.233 TERRAIN : TERRAIN : Initializing road networks... +05:09:05.236 PROFILING : Initializing road networks... took: 2.712400 ms +05:09:05.236 DEFAULT : DEFAULT : WorldVolumesCollection +05:09:05.298 PROFILING : WorldVolumesCollection took: 62.262900 ms +05:09:05.298 INIT : INIT : SoundWorldInit +05:09:05.298 PROFILING : SoundWorldInit took: 0.192800 ms +05:09:05.298 PROFILING : NotifyEntitiesInitialized took: 65.386000 ms +05:09:05.298 PROFILING : CreateEntities took: 12108.383500 ms +05:09:05.299 PROFILING : CreateEntities took: 12108.575600 ms +05:09:05.299 WORLD : WORLD : Wait for preloading data around camera +05:09:05.299 PROFILING : Wait for preloading data around camera took: 0.001300 ms +05:09:05.299 WORLD : WORLD : EOnActivate +05:09:05.328 PROFILING : EOnActivate took: 29.190800 ms +05:09:05.329 PROFILING : Game::LoadEntities took: 12140.041200 ms +05:09:05.329 PROFILING : * LoadEntities: 12140.334200 ms +05:09:05.829 DEFAULT : Entered offline game state. +05:09:05.937 NETWORK : Player connected: connectionID=2147483646 +05:09:05.937 NETWORK : ### Connecting player: connectionID=2147483646, Name= +05:09:05.937 NETWORK : ### Creating player: PlayerId=1, Name=jakub +05:09:05.939 ENTITY : SpawnEntityPrefab @"{225E51284CC95CFA}Prefabs/Characters/Core/DefaultPlayerControllerMP.et" +05:09:05.939 ENTITY : Create entity @"ENTITY:4611686018427388381" ('SCR_PlayerController') at <0.000000 0.000000 0.000000> +05:09:05.939 ENTITY : EntityPrefabUse @"{225E51284CC95CFA}Prefabs/Characters/Core/DefaultPlayerControllerMP.et" +05:09:05.939 SCRIPT (W): Notification data in 'SCR_NotificationsLogDisplay' has duplicate notification info key: 'EDITOR_PERCEIVED_FACTION_PUNISHMENT_KILLING_SET'. There should only be one of each key! +05:09:05.939 SCRIPT (W): Notification data in 'SCR_NotificationsLogDisplay' has duplicate notification info key: 'EDITOR_PERCEIVED_FACTION_TYPE_DISABLED'. There should only be one of each key! +05:09:05.941 SCRIPT (W): Can't open config file "" +05:09:05.941 SCRIPT (W): Cannot update game blocklist. Another request in progress. +05:09:05.941 WORLD : InitEntities 'world' +05:09:05.942 ENTITY : Init entity @"ENTITY:4611686018427388381" ('SCR_PlayerController') at <0.000000 0.000000 0.000000> @"{225E51284CC95CFA}Prefabs/Characters/Core/DefaultPlayerControllerMP.et" +05:09:05.942 GUI : WidgetManager: CrateWidgets @"{3C9DCDD76AB83157}UI/layouts/HUD/HUDLayouts/HUDManager_Root.layout" +05:09:05.942 SCRIPT (W): Slot_WeaponInfo Has no Content! +05:09:05.942 SCRIPT (W): Slot_Chat Has no Content! +05:09:05.942 SCRIPT (W): Slot_VON Has no Content! +05:09:05.942 SCRIPT (W): Slot_AvailableActions Has no Content! +05:09:05.942 SCRIPT (W): Slot_Vehicle Has no Content! +05:09:05.943 SCRIPT (W): Slot_GameVersion Has no Content! +05:09:05.943 SCRIPT (W): Slot_Notifications Has no Content! +05:09:05.943 SCRIPT (W): Slot_Hints Has no Content! +05:09:05.948 NETWORK : ### Updating player: PlayerId=1, Name=jakub, rplIdentity=0xFFFFFFFE, IdentityId=00000000-0000-0000-0000-000000000000 +05:09:05.949 NETWORK : Players connecting: 0 +05:09:05.949 NETWORK : Players connected: 1 / 1 +05:09:05.972 WORLD : Frame start +05:09:05.972 SCRIPT : ScenarioFramework: Available tasks are empty, no new tasks will be generated. +05:09:05.985 WORLD : UpdateEntities +05:09:05.986 WORLD : Frame +05:09:05.986 SCRIPT : SCR_BaseGameMode::OnGameStateChanged = GAME +05:09:06.125 WORLD : UpdateEntities +05:09:06.125 WORLD : PostFrame +05:09:06.125 GUI : WidgetManager: CrateWidgets @"{D89BBA18F99053D6}UI/layouts/HUD/Chat/ChatHud.layout" +05:09:06.126 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +05:09:06.147 RENDER : RENDER : ObjectsHeightMap::Build +05:09:06.147 RENDER : RENDER : MeshOccupancyGridManager::GenerateAllForWorld +05:09:06.318 PROFILING : MeshOccupancyGridManager::GenerateAllForWorld took: 170.552400 ms +05:09:06.325 PROFILING : ObjectsHeightMap::Build took: 177.500800 ms +05:09:07.515 SCRIPT : Rereintroduced [sites]: cache clearance position=<6086,211.538,7160> clear=1 +05:09:07.521 SCRIPT : Rereintroduced [sites]: authored everon-prison-1 at <6090,211.444,7160> +05:09:07.521 SCRIPT : Rereintroduced [sites]: cache clearance position=<6150,203.288,7050> clear=1 +05:09:07.531 SCRIPT : Rereintroduced [sites]: authored everon-supply-1 at <6150,203.288,7050> +05:09:07.532 SCRIPT : Rereintroduced [sites]: authored everon-radio-1 at <6500,159.756,7200> +05:09:07.542 SCRIPT : Rereintroduced [sites]: authored everon-extraction-1 at <7000,65.2562,7500> +05:09:07.542 SCRIPT : Rereintroduced [sites]: cache clearance position=<5960,220.256,7220> clear=1 +05:09:07.546 SCRIPT : Rereintroduced [sites]: transport parking=<5960,220.256,7212> radius=4 terrainRange=0.8125 obstructed=0 clear=1 +05:09:07.556 SCRIPT : Rereintroduced [sites]: authored everon-supply-2 at <5960,220.256,7220> +05:09:07.556 SCRIPT : Rereintroduced [sites]: cache clearance position=<6340,175.788,7400> clear=1 +05:09:07.558 SCRIPT : Rereintroduced [sites]: authored everon-medical-1 at <6340,175.788,7400> +05:09:07.559 SCRIPT : Rereintroduced [sites]: cache clearance position=<6740,140.6,7300> clear=1 +05:09:07.562 SCRIPT : Rereintroduced [sites]: cache clearance position=<6740,140.913,7296> clear=1 +05:09:07.562 SCRIPT : Rereintroduced [sites]: cache clearance position=<6736,140.975,7300> clear=1 +05:09:07.563 SCRIPT : Rereintroduced [sites]: cache clearance position=<6744,140.288,7300> clear=1 +05:09:07.564 SCRIPT : Rereintroduced [sites]: authored everon-outpost-1 at <6740,140.6,7300> +05:09:07.768 SCRIPT : Rereintroduced [sites]: 7 sites and 117 physical stock items ready +05:09:07.769 SCRIPT : Rereintroduced [time]: started at 14:00 with 1x progression +05:09:07.769 SCRIPT : Rereintroduced [mission]: phase 0 -> 1 +05:09:08.019 SCRIPT : INFO: Faction: player jakub (playerID = 1 | UUID = 00000000-0000-0000-0000-000000000000) has joined faction #AR-Faction_US (US) +05:09:08.049 SCRIPT : Rereintroduced [spawn]: player 1 at <6087,211.538,7157> +05:09:08.096 SCRIPT : ERR SMOKE PASS: definition authored configuration resolves +05:09:08.097 SCRIPT : ERR SMOKE PASS: definition duplicate site identity rejected +05:09:08.097 SCRIPT : ERR SMOKE PASS: definition dangling document target rejected +05:09:08.097 SCRIPT : ERR SMOKE PASS: definition non-radio document target rejected +05:09:08.097 SCRIPT : ERR SMOKE PASS: definition insufficient guaranteed radio clues rejected +05:09:08.097 SCRIPT : ERR SMOKE PASS: definition unbounded stock rejected +05:09:08.097 SCRIPT : ERR SMOKE PASS: definition unguaranteed clue route rejected +05:09:08.098 SCRIPT : ERR SMOKE PASS: definition radio sources sharing one footprint rejected +05:09:08.098 SCRIPT : ERR SMOKE PASS: definition unnamed location rejected +05:09:08.098 SCRIPT : ERR SMOKE PASS: definition proximity discovery cannot reveal progression sites +05:09:08.098 SCRIPT : ERR SMOKE PASS: definition escape cannot reveal the radio directly +05:09:08.098 SCRIPT : ERR SMOKE PASS: definition unbounded scenery offset rejected +05:09:08.098 SCRIPT : ERR SMOKE PASS: definition valid configuration restored after isolated mutations +05:09:08.099 SCRIPT : ERR SMOKE PASS: base contracts catalog resolves hostile vanilla factions and successful preparation +05:09:08.099 SCRIPT : ERR SMOKE PASS: base contracts physical prisoner matches injected faction and resource +05:09:08.099 SCRIPT : ERR SMOKE PASS: base contracts physical guard squad comes from injected catalog +05:09:08.099 SCRIPT : ERR SMOKE PASS: base contracts same-side factions rejected +05:09:08.099 SCRIPT : ERR SMOKE PASS: base contracts unknown world faction rejected +05:09:08.099 SCRIPT : ERR SMOKE PASS: base contracts missing prisoner resource rejected +05:09:08.100 SCRIPT : ERR SMOKE PASS: base contracts isolated catalog restored without mutating live configuration +05:09:08.100 SCRIPT : ERR SMOKE PASS: base contracts unauthorized settings request rejected +05:09:08.100 SCRIPT : ERR SMOKE PASS: base contracts partially numeric input rejected without mutation +05:09:08.100 SCRIPT : ERR SMOKE PASS: base contracts out-of-range duration rejected without mutation +05:09:08.104 SCRIPT : ERR SMOKE PASS: base contracts normalized base command saves validated duration +05:09:08.104 SCRIPT : ERR SMOKE PASS: base contracts base command reads saved duration +05:09:08.104 SCRIPT : ERR SMOKE PASS: base contracts base settings listing available +05:09:08.104 SCRIPT : ERR SMOKE PASS: base contracts base mission status available before companions +05:09:08.107 SCRIPT : ERR SMOKE PASS: base contracts test setting restored +05:09:08.107 SCRIPT : ERR SMOKE PASS: base outpost barrier is upright +05:09:08.108 SCRIPT : ERR COVER GEOMETRY: low=<6738.99,140.839,7295.42> high=<6740.98,141.655,7296.62> trace=0.377114 +05:09:08.108 SCRIPT : ERR SMOKE PASS: base outpost barrier has physical collision +05:09:08.108 SCRIPT : ERR SMOKE PASS: base outpost barrier is upright +05:09:08.108 SCRIPT : ERR COVER GEOMETRY: low=<6735.42,140.901,7299.02> high=<6736.62,141.718,7301.01> trace=0.377114 +05:09:08.108 SCRIPT : ERR SMOKE PASS: base outpost barrier has physical collision +05:09:08.108 SCRIPT : ERR SMOKE PASS: base outpost barrier is upright +05:09:08.108 SCRIPT : ERR COVER GEOMETRY: low=<6743.42,140.214,7299.02> high=<6744.62,141.03,7301.01> trace=0.377114 +05:09:08.108 SCRIPT : ERR SMOKE PASS: base outpost barrier has physical collision +05:09:08.109 SCRIPT : ERR SMOKE PASS: base exactly three authored outpost barriers exist +05:09:08.109 SCRIPT : ERR SMOKE PASS: mission time clock parsing includes midnight and final minute +05:09:08.109 SCRIPT : ERR SMOKE PASS: mission time malformed clock commands rejected +05:09:08.109 SCRIPT : ERR SMOKE PASS: mission time isolated fixture paths unused +05:09:08.110 SCRIPT : ERR SMOKE PASS: mission time legacy fixture created +05:09:08.110 SCRIPT : ERR SMOKE PASS: mission time existing six-key settings preserved +05:09:08.110 SCRIPT : ERR SMOKE PASS: mission time only absent time settings receive defaults +05:09:08.111 SCRIPT : ERR SMOKE PASS: mission time loading does not rewrite legacy file +05:09:08.116 SCRIPT : ERR SMOKE PASS: mission time explicit save upgrades valid legacy settings +05:09:08.116 SCRIPT : ERR SMOKE PASS: mission time new keys and old values survive reload +05:09:08.117 SCRIPT : ERR SMOKE PASS: mission time present out-of-range time cannot silently default +05:09:08.118 SCRIPT : ERR SMOKE PASS: mission time fractional clock setting rejected +05:09:08.118 SCRIPT : ERR SMOKE PASS: mission time zero multiplier rejected +05:09:08.119 SCRIPT : ERR SMOKE PASS: mission time missing legacy setting remains invalid +05:09:08.120 SCRIPT : ERR SMOKE PASS: mission time partially upgraded file defaults only missing new field +05:09:08.121 SCRIPT : ERR SMOKE PASS: mission time valid saved backup recovers invalid primary +05:09:08.122 SCRIPT : ERR SMOKE PASS: mission time server starts world clock before prison phase +05:09:08.122 SCRIPT : ERR SMOKE PASS: mission time engine progression matches applied multiplier +05:09:08.122 SCRIPT : ERR SMOKE PASS: mission time unauthorized clock mutation rejected +05:09:08.122 SCRIPT : ERR SMOKE PASS: mission time invalid clock command preserves setting +05:09:08.131 SCRIPT : ERR SMOKE PASS: mission time authorized settings persist and test restores originals +05:09:08.131 SCRIPT : ERR SMOKE PASS: mission time saved changes and repeated start leave current clock and speed intact +05:09:08.131 SCRIPT : ERR SMOKE PASS: mission time admin sees current clock separately from next round settings +05:09:08.131 SCRIPT : ERR SMOKE PASS: base native prison objective exists +05:09:08.132 SCRIPT : ERR SMOKE PASS: objective UI current native task exists +05:09:08.134 SCRIPT : ERR SMOKE PASS: objective UI native list and detail layouts created +05:09:08.134 SCRIPT : ERR SMOKE PASS: objective UI native handlers attached +05:09:08.134 SCRIPT : ERR SMOKE PASS: objective UI open list and details contain current title and instructions +05:09:08.134 SCRIPT : ERR SMOKE PASS: objective UI list-only task cannot expose an undiscovered map position +05:09:08.134 SCRIPT : ERR SMOKE PASS: objective UI actual local player receives the active objective +05:09:08.135 SCRIPT : ERR SMOKE PASS: objective UI extraction instructions follow a nondefault boundary +05:09:08.135 SCRIPT : ERR SMOKE PASS: base authored supply cache is a separate scavenging location +05:09:08.135 SCRIPT : ERR BASE STOCK: cache items=54 +05:09:08.135 SCRIPT : ERR SMOKE PASS: base cache holds finite physical equipment and objective documents +05:09:08.135 SCRIPT : ERR SMOKE PASS: base no companion HQ or support controller loaded +05:09:08.135 SCRIPT : ERR SMOKE PASS: base prisoner spawned in authored prison +05:09:08.135 SCRIPT : ERR SMOKE PASS: base gate, clues, radio and helicopter created by core +05:09:08.135 SCRIPT : Rereintroduced [mission]: phase 1 -> 2 +05:09:08.136 SCRIPT : ERR SMOKE PASS: base gate action begins escape +05:09:08.139 SCRIPT : ERR SMOKE PASS: base test defence duration accepted +05:09:08.139 SCRIPT : ERR SMOKE PASS: base previous native objective completes on phase change +05:09:08.139 SCRIPT : ERR SMOKE PASS: base search objective does not expose a hidden site +05:09:08.139 SCRIPT : ERR SMOKE PASS: objective UI current native task exists +05:09:08.142 SCRIPT : ERR SMOKE PASS: objective UI native list and detail layouts created +05:09:08.142 SCRIPT : ERR SMOKE PASS: objective UI native handlers attached +05:09:08.142 SCRIPT : ERR SMOKE PASS: objective UI open list and details contain current title and instructions +05:09:08.143 SCRIPT : ERR SMOKE PASS: objective UI list-only task cannot expose an undiscovered map position +05:09:08.143 SCRIPT : ERR SMOKE PASS: objective UI actual local player receives the active objective +05:09:08.143 SCRIPT : ERR SMOKE PASS: objective UI extraction instructions follow a nondefault boundary +05:09:08.143 SCRIPT : ERR SMOKE PASS: base both named supply routes revealed after escape +05:09:08.143 SCRIPT : ERR SMOKE PASS: base optional sites remain hidden until approached +05:09:14.163 SCRIPT : ERR SMOKE PASS: base unconscious player cannot discover optional sites +05:09:20.250 SCRIPT : ERR SMOKE PASS: base distant player cannot discover optional sites +05:09:20.250 SCRIPT : ERR SMOKE PASS: base isolated visibility obstacle created +05:09:20.250 SCRIPT : ERR VISIBILITY OBSTACLE: low=<6338.5,174.97,7403.87> high=<6341.5,178.737,7404.13> observer=<6339.91,174.671,7466.21> target=<6340,175.788,7400> +05:09:26.299 SCRIPT : ERR SMOKE PASS: base physical wall prevents nearby site discovery +05:09:32.351 SCRIPT : ERR SMOKE PASS: base conscious nearby player visually discovers named medical stash once +05:09:32.351 SCRIPT : ERR SMOKE PASS: base proximity cannot bypass radio documents +05:09:32.856 SCRIPT : ERR SMOKE PASS: base physical clue recovered +05:09:33.158 SCRIPT : Rereintroduced [intel]: player 1 recovered folder; location=everon-radio-1 knowledge=1 +05:09:35.389 SCRIPT : ERR SMOKE PASS: base physical clue recovered +05:09:36.170 SCRIPT : Rereintroduced [intel]: player 1 recovered folder; location=everon-radio-1 knowledge=2 +05:09:37.916 SCRIPT : ERR SMOKE PASS: base objective guidance reacts to discovered radio +05:09:37.916 SCRIPT : ERR SMOKE PASS: objective UI current native task exists +05:09:37.916 SCRIPT : ERR SMOKE PASS: objective UI open list and details contain current title and instructions +05:09:37.917 SCRIPT : ERR SMOKE PASS: objective UI list-only task cannot expose an undiscovered map position +05:09:37.917 SCRIPT : ERR SMOKE PASS: objective UI actual local player receives the active objective +05:09:37.917 SCRIPT : ERR SMOKE PASS: objective UI extraction instructions follow a nondefault boundary +05:09:37.919 SCRIPT : ERR SMOKE PASS: base discovery ticks do not repeat the location event +05:09:37.920 SCRIPT : ERR SMOKE PASS: base documents identify radio without Intel addon +05:09:39.444 SCRIPT : ERR SMOKE PASS: radio service identified radio and real controlled prisoner available +05:09:39.444 SCRIPT : ERR SMOKE PASS: radio service controlled prisoner supports native state restoration +05:09:39.448 SCRIPT : ERR SMOKE PASS: radio service isolated thirty-second duration saved +05:09:39.456 SCRIPT : ERR SMOKE PASS: radio service second physical defender spawned +05:09:40.455 SCRIPT : ERR SMOKE PASS: radio service second physical defender settles with simulated connection membership +05:09:40.455 SCRIPT : ERR SMOKE PASS: radio service ordinary AI cannot tune even while alive and nearby +05:09:40.455 SCRIPT : ERR SMOKE PASS: radio service missing radio rejected +05:09:41.464 SCRIPT : ERR RADIO POSITION: outside tuning range after deferred teleport actor=<6506.01,159.313,7200.01> radio=<6500,159.756,7200> distanceXZ=6.00586 +05:09:41.464 SCRIPT : ERR SMOKE PASS: radio service tuning outside five metres rejected +05:09:42.470 SCRIPT : ERR RADIO POSITION: unconscious tuning range after deferred teleport actor=<6502.03,159.672,7200.04> radio=<6500,159.756,7200> distanceXZ=2.03027 +05:09:42.470 SCRIPT : ERR SMOKE PASS: radio service unconscious prisoner cannot tune +05:09:43.490 SCRIPT : ERR RADIO RECOVERY: tuning prisoner waiting step=4 alive=1 canFight=0 unconscious=1 lifeState=0 origin=<6502.03,159.67,7200.04> +05:09:44.497 SCRIPT : ERR RADIO RECOVERY: tuning prisoner waiting step=4 alive=1 canFight=0 unconscious=1 lifeState=0 origin=<6502.03,159.671,7200.04> +05:09:45.510 SCRIPT : ERR RADIO RECOVERY: tuning prisoner waiting step=4 alive=1 canFight=0 unconscious=1 lifeState=0 origin=<6502.03,159.53,7200.04> +05:09:46.018 SCRIPT : ERR RADIO RECOVERY: tuning prisoner ready step=4 alive=1 canFight=1 unconscious=0 lifeState=0 origin=<6502.03,159.53,7200.04> +05:09:46.019 SCRIPT : ERR RADIO AUTH: active=1 phase=2 registered=1 kind=1 knowledge=2 serviceState=0 distance=2.03027 +05:09:46.019 SCRIPT : ERR RADIO AUTH: playerId=1 connected=1 usedLife=1 sameActor=1 friendly=1 canFight=1 canBegin=1 +05:09:46.019 SCRIPT : ERR SMOKE PASS: radio service registered friendly conscious prisoner remains authorized +05:09:46.019 SCRIPT : ERR SMOKE PASS: radio service unregistered defender cannot start the isolated service +05:09:46.019 SCRIPT : ERR SMOKE PASS: radio service physical defender has native faction affiliation +05:09:47.034 SCRIPT : ERR SMOKE PASS: radio service hostile controlled defender cannot tune +05:09:48.046 SCRIPT : ERR SMOKE PASS: radio service start event emitted once and duplicate start rejected +05:09:48.047 SCRIPT : ERR SMOKE PASS: radio service two conscious physical defenders share one timer +05:09:49.060 SCRIPT : ERR SMOKE PASS: radio service hostile actor cannot defend even with simulated connection membership +05:09:50.073 SCRIPT : ERR SMOKE PASS: radio service elapsed countdown does not emit redundant progress events +05:09:51.077 SCRIPT : ERR SMOKE PASS: radio service second defender preserves progress while first is unconscious +05:09:52.088 SCRIPT : ERR SMOKE PASS: radio service all unconscious defenders reset accumulated time +05:09:53.106 SCRIPT : ERR RADIO RECOVERY: first defender waiting step=11 alive=1 canFight=0 unconscious=1 lifeState=0 origin=<6502.08,159.667,7200.08> +05:09:54.107 SCRIPT : ERR RADIO RECOVERY: first defender waiting step=11 alive=1 canFight=0 unconscious=1 lifeState=0 origin=<6502.08,159.528,7200.08> +05:09:54.617 SCRIPT : ERR RADIO RECOVERY: first defender ready step=11 alive=1 canFight=1 unconscious=0 lifeState=0 origin=<6502.08,159.528,7200.08> +05:09:54.617 SCRIPT : ERR SMOKE PASS: radio service conscious recovery starts a fresh continuous interval +05:09:55.621 SCRIPT : ERR RADIO RECOVERY: second defender waiting step=12 alive=1 canFight=0 unconscious=1 lifeState=0 origin=<6497.61,159.881,7199.22> +05:09:56.626 SCRIPT : ERR RADIO RECOVERY: second defender waiting step=12 alive=1 canFight=0 unconscious=1 lifeState=0 origin=<6497.61,159.881,7199.22> +05:09:57.128 SCRIPT : ERR RADIO RECOVERY: second defender ready step=12 alive=1 canFight=1 unconscious=0 lifeState=0 origin=<6497.27,159.902,7199.06> +05:09:57.129 SCRIPT : ERR SMOKE PASS: radio service empty server resets despite remaining character bodies +05:09:58.144 SCRIPT : ERR RADIO POSITION: outside defence radius after deferred teleport actor=<6560.49,155.594,7199.99> radio=<6500,159.756,7200> distanceXZ=60.4946 +05:09:58.144 SCRIPT : ERR SMOKE PASS: radio service outside sixty metres excludes first defender without resetting second +05:09:59.150 SCRIPT : ERR SMOKE PASS: radio service dead defender cannot maintain transmission +05:10:00.157 SCRIPT : ERR RADIO POSITION: returned to radio after deferred teleport actor=<6502,159.532,7200.01> radio=<6500,159.756,7200> distanceXZ=2.00489 +05:10:00.157 SCRIPT : ERR SMOKE PASS: radio service survivor returns physically before final transmission samples +05:10:00.160 SCRIPT : ERR SMOKE PASS: radio service live duration increase saved +05:10:00.160 SCRIPT : ERR SMOKE PASS: radio service live duration increase preserves accumulated occupancy +05:10:00.162 SCRIPT : ERR SMOKE PASS: radio service live duration reduction saved +05:10:00.162 SCRIPT : ERR SMOKE PASS: radio service live duration reduction completes at exact continuous boundary +05:10:00.163 SCRIPT : ERR SMOKE PASS: radio service completed service cannot restart or emit duplicate completion after stop +05:10:00.163 SCRIPT : ERR SMOKE PASS: radio service isolated cancellation service begins +05:10:00.163 SCRIPT : ERR SMOKE PASS: radio service stop cancels progress and future starts without completing +05:10:00.163 SCRIPT : ERR SMOKE PASS: radio service isolated terminal-phase service begins +05:10:00.163 SCRIPT : ERR SMOKE PASS: radio service terminal phase event prevents later completion +05:10:00.163 SCRIPT : ERR SMOKE PASS: radio service isolated event tests leave live objective ready for normal tuning +05:10:01.176 SCRIPT : ERR RADIO RECOVERY: restored prisoner ready step=90 alive=1 canFight=1 unconscious=0 lifeState=0 origin=<6501.98,159.533,7199.98> +05:10:01.176 SCRIPT : ERR RADIO RESTORE: actual=<6501.98,159.533,7199.98> original=<6501.99,159.533,7199.98> distance=0.00982765 +05:10:01.176 SCRIPT : ERR SMOKE PASS: radio service isolated test restores live duration and physical player state after a world frame +05:10:01.176 SCRIPT : Rereintroduced [mission]: phase 2 -> 3 +05:10:01.177 SCRIPT : ERR SMOKE PASS: base identified radio accepts transmission +05:10:06.245 SCRIPT : ERR SMOKE PASS: base depleted stock stays empty when preparation is queried again +05:10:06.245 SCRIPT : ERR SMOKE PASS: base native objective reports advancing radio progress +05:10:06.246 SCRIPT : ERR SMOKE PASS: objective UI current native task exists +05:10:06.248 SCRIPT : ERR SMOKE PASS: objective UI native list and detail layouts created +05:10:06.248 SCRIPT : ERR SMOKE PASS: objective UI native handlers attached +05:10:06.249 SCRIPT : ERR SMOKE PASS: objective UI open list and details contain current title and instructions +05:10:06.249 SCRIPT : ERR SMOKE PASS: objective UI list-only task cannot expose an undiscovered map position +05:10:06.249 SCRIPT : ERR SMOKE PASS: objective UI actual local player receives the active objective +05:10:06.249 SCRIPT : ERR SMOKE PASS: objective UI extraction instructions follow a nondefault boundary +05:10:41.584 SCRIPT : ERR SMOKE PASS: base unconscious survivor does not trigger defeat after the full grace period +05:10:41.584 SCRIPT : ERR SMOKE PASS: base unconscious radio defender cannot advance transmission +05:10:41.584 SCRIPT : ERR SMOKE PASS: base unconscious player retains their body and camera +05:10:47.651 SCRIPT : ERR SMOKE PASS: base regaining consciousness resumes transmission from zero +05:10:47.652 SCRIPT : ERR SMOKE PASS: base regaining consciousness does not grant another life +05:10:50.176 SCRIPT : ERR SMOKE PASS: base lost supply cache is not replaced +05:10:50.177 SCRIPT : ERR SMOKE PASS: base objective reports interruption and reset +05:10:50.177 SCRIPT : ERR SMOKE PASS: objective UI current native task exists +05:10:50.177 SCRIPT : ERR SMOKE PASS: objective UI open list and details contain current title and instructions +05:10:50.177 SCRIPT : ERR SMOKE PASS: objective UI list-only task cannot expose an undiscovered map position +05:10:50.177 SCRIPT : ERR SMOKE PASS: objective UI actual local player receives the active objective +05:10:50.177 SCRIPT : ERR SMOKE PASS: objective UI extraction instructions follow a nondefault boundary +05:11:20.734 SCRIPT : Rereintroduced [mission]: phase 3 -> 4 +05:11:23.533 SCRIPT : ERR SMOKE PASS: base radio defence reveals extraction +05:11:23.533 SCRIPT : ERR SMOKE PASS: mission time clock advancement remains enabled +05:11:23.533 SCRIPT : ERR SMOKE PASS: mission time progression sampled across at least ten engine seconds +05:11:23.533 SCRIPT : ERR SMOKE PASS: mission time native clock advances at configured rate without periodic resets +05:11:23.533 SCRIPT : ERR SMOKE PASS: objective UI current native task exists +05:11:23.536 SCRIPT : ERR SMOKE PASS: objective UI native list and detail layouts created +05:11:23.536 SCRIPT : ERR SMOKE PASS: objective UI native handlers attached +05:11:23.537 SCRIPT : ERR SMOKE PASS: objective UI open list and details contain current title and instructions +05:11:23.537 SCRIPT : ERR SMOKE PASS: objective UI list-only task cannot expose an undiscovered map position +05:11:23.537 SCRIPT : ERR SMOKE PASS: objective UI actual local player receives the active objective +05:11:23.537 SCRIPT : ERR SMOKE PASS: objective UI extraction instructions follow a nondefault boundary +05:11:23.538 SCRIPT : ERR SMOKE PASS: base player physically boards extraction helicopter +05:11:26.569 SCRIPT : ERR SMOKE PASS: base extraction requires real occupancy +05:11:26.760 SCRIPT : Rereintroduced [mission]: phase 4 -> 5 +05:11:26.761 SCRIPT : ERR SMOKE PASS: base escape and restart reached without companion services +05:11:26.761 SCRIPT : ERR SMOKE COMPLETE: core-only escape +05:11:26.850 SCRIPT : SCR_BaseGameMode::OnGameStateChanged = POSTGAME +05:11:26.852 GUI : WidgetManager: CrateWidgets @"{144919871D65F121}UI/layouts/HUD/GameOver/EndScreen/EndScreen.layout" +05:11:26.852 SCRIPT (W): Slot_Chat Has no Content! +05:11:26.852 SCRIPT (W): Slot_VON Has no Content! +05:11:26.852 SCRIPT (W): Slot_GameVersion Has no Content! +05:11:26.852 SCRIPT (W): Slot_Notifications Has no Content! +05:11:28.866 SCRIPT : ERR RESULT UI: player=1 title=You escaped Everon +05:11:28.867 SCRIPT (W): SCR_ScriptedWidgetComponent.GetComponent: widget not found: SCR_InputButtonComponent Back +05:11:28.867 SCRIPT : -- Stack trace -- +05:11:28.867 SCRIPT : GetComponent() Scripts/Game/UI/Components/WidgetLibrary/SCR_ScriptedWidgetComponent.c : 43 +05:11:28.867 SCRIPT : GetInputButtonComponent() Scripts/Game/UI/Components/WidgetLibrary/SCR_InputButton/SCR_InputButtonComponent.c : 1214 +05:11:28.867 SCRIPT : OnMenuOpen() Scripts/Game/UI/GameOverScreen/SCR_GameOverScreenInput.c : 15 +05:11:28.867 SCRIPT : OpenGameOverScreen() Scripts/Game/GameOverScreen/SCR_GameOverScreenManagerComponent.c : 447 +05:11:28.868 SCRIPT : ShowGameOverScreen() Scripts/Game/GameOverScreen/SCR_GameOverScreenManagerComponent.c : 177 +05:11:28.868 SCRIPT : OnUpdate() Scripts/Game/game.c : 885 +05:11:28.868 SCRIPT : ----------------- +05:11:28.868 SCRIPT (W): SCR_ScriptedWidgetComponent.GetComponent: widget not found: SCR_InputButtonComponent ChatButton +05:11:28.868 SCRIPT : -- Stack trace -- +05:11:28.868 SCRIPT : GetComponent() Scripts/Game/UI/Components/WidgetLibrary/SCR_ScriptedWidgetComponent.c : 43 +05:11:28.868 SCRIPT : GetInputButtonComponent() Scripts/Game/UI/Components/WidgetLibrary/SCR_InputButton/SCR_InputButtonComponent.c : 1214 +05:11:28.868 SCRIPT : OnMenuOpen() Scripts/Game/UI/GameOverScreen/SCR_GameOverScreenInput.c : 21 +05:11:28.869 SCRIPT : OpenGameOverScreen() Scripts/Game/GameOverScreen/SCR_GameOverScreenManagerComponent.c : 447 +05:11:28.869 SCRIPT : ShowGameOverScreen() Scripts/Game/GameOverScreen/SCR_GameOverScreenManagerComponent.c : 177 +05:11:28.869 SCRIPT : OnUpdate() Scripts/Game/game.c : 885 +05:11:28.869 SCRIPT : ----------------- +05:11:28.871 GUI : WidgetManager: CrateWidgets @"{144919871D65F121}UI/layouts/HUD/GameOver/EndScreen/EndScreen.layout" +05:11:28.871 SCRIPT (W): Slot_Chat Has no Content! +05:11:28.871 SCRIPT (W): Slot_VON Has no Content! +05:11:28.871 SCRIPT (W): Slot_GameVersion Has no Content! +05:11:28.871 SCRIPT (W): Slot_Notifications Has no Content! +05:11:28.872 SCRIPT : ERR RESULT UI: player=1 title=You escaped Everon diff --git a/docs/evidence/native-2026-09-19-050515/error.log.txt b/docs/evidence/native-2026-09-19-050515/error.log.txt new file mode 100644 index 0000000..d09a41c --- /dev/null +++ b/docs/evidence/native-2026-09-19-050515/error.log.txt @@ -0,0 +1,207 @@ +--------------------------------------------- +Log Z:\tmp\erri-workbench-profile\logs\logs_2026-09-19_05-05-15\error.log started at 2026-09-19 05:05:17 (2026-09-19 03:05:17 UTC) + +05:05:17.053 INIT : Workbench startup +05:05:17.053 INIT : Workbench Init Engine +05:05:17.053 RESOURCES : ResourceDB: full scan +05:05:17.053 RESOURCES : processing files... +05:05:17.053 RESOURCES (W): resource not registered: @"$profile:rereintroduced.json". Setting null GUID +05:05:20.177 INIT : Workbench Create Game +05:05:20.177 SCRIPT : Compiling Game scripts +05:05:20.177 SCRIPT (W): @"Scripts/Game/Editor/Components/EditableEntity/SCR_EditableEntityComponent.c,785": 'GetPlayerPlatformKind' is obsolete +05:05:20.177 SCRIPT (W): @"Scripts/Game/Editor/Components/EditableEntity/SCR_EditableEntityComponent.c,786": 'GetPlayerPlatformId' is obsolete +05:05:20.430 SCRIPT (W): @"Scripts/Game/ERR/ERR_SiteService.c,140": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +05:05:20.440 SCRIPT (W): @"Scripts/Game/Workshop/SCR_AddonManager.c,876": 'GetRefCount' is obsolete: Will be removed +05:05:20.474 SCRIPT (W): @"Scripts/Game/Campaign/SCR_PlayerProfileManagerComponent.c,142": 'PlayerData' is obsolete +05:05:20.572 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,159": 'GetDSSession' is obsolete +05:05:20.572 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,162": 'RoomID' is obsolete +05:05:20.572 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,197": 'GetDSSession' is obsolete +05:05:20.572 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,201": 'RoomID' is obsolete +05:05:20.663 SCRIPT (W): @"Scripts/Game/DataCollection/SCR_DataCollectorComponent.c,481": 'GetStorage' is obsolete +05:05:20.664 SCRIPT (W): @"Scripts/Game/DataCollection/SCR_DataCollectorComponent.c,483": 'GetOnlineWritePrivilege' is obsolete +05:05:20.665 SCRIPT (W): @"Scripts/Game/Utilities/SCR_PlayerIdentityUtils.c,20": 'GetPlayerIdentityId' is obsolete +05:05:20.709 SCRIPT (W): @"Scripts/Game/ERR/ERR_ExtractionService.c,45": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +05:05:20.709 SCRIPT (W): @"Scripts/Game/ERR/ERR_ExtractionService.c,56": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +05:05:20.710 SCRIPT (W): @"Scripts/Game/UI/Menu/MainMenuUI.c,643": 'GetNotifyCount' is obsolete: Will be substitued by Notification Api. +05:05:20.710 SCRIPT (W): @"Scripts/Game/UI/Menu/MainMenuUI.c,645": 'GetNotifyItem' is obsolete: Will be substitued by Notification Api. +05:05:20.738 SCRIPT (W): @"Scripts/Game/ERR/ERR_NativeTransportProbe.c,82": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +05:05:20.769 SCRIPT (W): @"Scripts/Game/DataCollection/PlayerData/SCR_PlayerData.c,210": 'PlayerData' is obsolete +05:05:29.142 WORLD : CreateEntities +05:05:29.142 ENTITY : Create entity @"ENTITY:610406" ('StaticModelEntity','Assets/Structures/Infrastructure/Towers/TransmitterTower_01/TransmitterTower_01_small.xob') at <1931.796021 81.777000 5138.725098> @"{6A004A8F0571D456}Prefabs/Structures/Infrastructure/Towers/TransmitterTower_01/TransmitterTower_01_small.et" +05:05:29.142 ENTITY : CreateComponent 'ScriptedRadioComponent' +05:05:29.142 DEFAULT (W): World doesn't contain RadioManagerEntity to support any BaseRadioComponent. +05:05:44.284 DEFAULT (W): LogiLED: Cannot initialize! (service not running or no compatible device detected) +05:05:49.021 WORLD : Game::LoadEntities +05:05:49.021 WORLD : CreateEntities +05:05:49.021 WORLD : CreateEntities +05:05:49.021 ENTITY : Create entity @"ENTITY:610406" ('StaticModelEntity','Assets/Structures/Infrastructure/Towers/TransmitterTower_01/TransmitterTower_01_small.xob') at <1931.796021 81.777000 5138.725098> @"{6A004A8F0571D456}Prefabs/Structures/Infrastructure/Towers/TransmitterTower_01/TransmitterTower_01_small.et" +05:05:49.021 ENTITY : CreateComponent 'ScriptedRadioComponent' +05:05:49.021 DEFAULT (W): World doesn't contain RadioManagerEntity to support any BaseRadioComponent. +05:05:50.443 ENTITY : Create entity @"ENTITY:842066" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1080.213013 10.776751 6018.347168> +05:05:50.443 ENTITY : CreateComponent 'Hierarchy' +05:05:50.443 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842066" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1080.213013 10.776751 6018.347168>') +05:05:50.443 ENTITY : Create entity @"ENTITY:842068" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1082.185913 10.778749 6018.331055> +05:05:50.443 ENTITY : CreateComponent 'Hierarchy' +05:05:50.443 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842068" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1082.185913 10.778749 6018.331055>') +05:05:50.443 ENTITY : Create entity @"ENTITY:842070" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1084.190918 10.790751 6018.334961> +05:05:50.443 ENTITY : CreateComponent 'Hierarchy' +05:05:50.443 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842070" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1084.190918 10.790751 6018.334961>') +05:05:50.448 ENTITY : Create entity @"ENTITY:842333" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4425.594727 9.981750 11029.402344> +05:05:50.448 ENTITY : CreateComponent 'Hierarchy' +05:05:50.448 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842333" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4425.594727 9.981750 11029.402344>') +05:05:50.448 ENTITY : Create entity @"ENTITY:842335" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4426.584473 9.983749 11031.109375> +05:05:50.448 ENTITY : CreateComponent 'Hierarchy' +05:05:50.448 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842335" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4426.584473 9.983749 11031.109375>') +05:05:50.448 ENTITY : Create entity @"ENTITY:842337" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4427.572266 9.995750 11032.853516> +05:05:50.448 ENTITY : CreateComponent 'Hierarchy' +05:05:50.448 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842337" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4427.572266 9.995750 11032.853516>') +05:05:50.452 ENTITY : Create entity @"ENTITY:842591" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.946289 10.470250 1551.986084> +05:05:50.452 ENTITY : CreateComponent 'Hierarchy' +05:05:50.452 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842591" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.946289 10.470250 1551.986084>') +05:05:50.452 ENTITY : Create entity @"ENTITY:842593" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.430664 10.472250 1550.081421> +05:05:50.452 ENTITY : CreateComponent 'Hierarchy' +05:05:50.452 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842593" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.430664 10.472250 1550.081421>') +05:05:50.452 ENTITY : Create entity @"ENTITY:842595" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10008.926758 10.484250 1548.140869> +05:05:50.452 ENTITY : CreateComponent 'Hierarchy' +05:05:50.452 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842595" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10008.926758 10.484250 1548.140869>') +05:05:54.966 ENTITY : Create entity @"ENTITY:2305843009213693956" ('Factions', SCR_FactionManager) at <0.000000 0.000000 0.000000> @"{589540B35EBA8CDC}Prefabs/MP/Managers/Factions/FactionManager_USxUSSR.et" +05:05:54.966 RESOURCES : GetResourceObject @"{5168FEA3054D6D15}Prefabs/Vehicles/Wheeled/M151A2/M151A2_M2HB_MERDC.et" +05:05:54.966 WORLD : Entity prefab load @"{5168FEA3054D6D15}Prefabs/Vehicles/Wheeled/M151A2/M151A2_M2HB_MERDC.et" +05:05:54.966 RESOURCES : GetResourceObject @"{F6B23D17D5067C11}Prefabs/Vehicles/Wheeled/M151A2/M151A2_M2HB.et" +05:05:54.966 WORLD : Entity prefab load @"{F6B23D17D5067C11}Prefabs/Vehicles/Wheeled/M151A2/M151A2_M2HB.et" +05:05:54.966 RESOURCES : GetResourceObject @"{F649585ABB3706C4}Prefabs/Vehicles/Wheeled/M151A2/M151A2.et" +05:05:54.966 WORLD : Entity prefab load @"{F649585ABB3706C4}Prefabs/Vehicles/Wheeled/M151A2/M151A2.et" +05:05:54.966 WORLD (E): Unknown keyword/data 'SlidingTrackMaterial' at offset 19441(0x4bf1) +05:05:55.001 RESOURCES : GetResourceObject @"{F7B9B434FCFF00B3}Prefabs/Vehicles/Wheeled/Conflict_Variants/BRDM2_Conflict.et" +05:05:55.001 WORLD : Entity prefab load @"{F7B9B434FCFF00B3}Prefabs/Vehicles/Wheeled/Conflict_Variants/BRDM2_Conflict.et" +05:05:55.001 RESOURCES : GetResourceObject @"{254289B9C09904AB}Prefabs/Vehicles/Wheeled/BRDM2/BRDM2.et" +05:05:55.001 WORLD : Entity prefab load @"{254289B9C09904AB}Prefabs/Vehicles/Wheeled/BRDM2/BRDM2.et" +05:05:55.001 RESOURCES : GetResourceObject @"{532B5F3CF8496E59}Prefabs/Vehicles/Wheeled/BRDM2/BRDM2_base.et" +05:05:55.001 WORLD : Entity prefab load @"{532B5F3CF8496E59}Prefabs/Vehicles/Wheeled/BRDM2/BRDM2_base.et" +05:05:55.001 WORLD (E): Unknown keyword/data 'Parent' at offset 35955(0x8c73) +05:05:55.001 WORLD (E): Unknown keyword/data 'Parent' at offset 36915(0x9033) +05:05:55.002 RESOURCES : GetResourceObject @"{BD75A18920BD1278}Prefabs/Vehicles/Wheeled/Conflict_Variants/BTR70_Conflict.et" +05:05:55.002 WORLD : Entity prefab load @"{BD75A18920BD1278}Prefabs/Vehicles/Wheeled/Conflict_Variants/BTR70_Conflict.et" +05:05:55.002 RESOURCES : GetResourceObject @"{C012BB3488BEA0C2}Prefabs/Vehicles/Wheeled/BTR70/BTR70.et" +05:05:55.002 WORLD : Entity prefab load @"{C012BB3488BEA0C2}Prefabs/Vehicles/Wheeled/BTR70/BTR70.et" +05:05:55.002 RESOURCES : GetResourceObject @"{1C5FE7B7FF49BB8D}Prefabs/Vehicles/Wheeled/BTR70/BTR70_Base.et" +05:05:55.002 WORLD : Entity prefab load @"{1C5FE7B7FF49BB8D}Prefabs/Vehicles/Wheeled/BTR70/BTR70_Base.et" +05:05:55.002 WORLD (E): Unknown keyword/data 'Parent' at offset 42646(0xa696) +05:05:55.002 WORLD (E): Unknown keyword/data 'Parent' at offset 43645(0xaa7d) +05:05:55.002 WORLD (E): Unknown keyword/data 'Parent' at offset 44617(0xae49) +05:05:55.002 WORLD (E): Unknown keyword/data 'Parent' at offset 45590(0xb216) +05:05:57.281 WORLD : InitEntities 'world' +05:05:57.281 ENTITY : Init entity @"ENTITY:2305843009213693953" ('Rereintroduced', ERR_GameMode) at <1076.468018 51.000999 1325.246948> @"{978E045E53EF36C8}Prefabs/ERR/GameMode.et" +05:05:57.281 SCRIPT (W): SCR_PerceivedFactionManagerComponent trying to set fall back faction 'CIV' but this faction could not be found so it is null instead. +05:05:57.760 ENTITY : SpawnEntityPrefab @"{225E51284CC95CFA}Prefabs/Characters/Core/DefaultPlayerControllerMP.et" +05:05:57.760 ENTITY : Create entity @"ENTITY:4611686018427388381" ('SCR_PlayerController') at <0.000000 0.000000 0.000000> +05:05:57.760 ENTITY : EntityPrefabUse @"{225E51284CC95CFA}Prefabs/Characters/Core/DefaultPlayerControllerMP.et" +05:05:57.760 SCRIPT (W): Notification data in 'SCR_NotificationsLogDisplay' has duplicate notification info key: 'EDITOR_PERCEIVED_FACTION_PUNISHMENT_KILLING_SET'. There should only be one of each key! +05:05:57.761 SCRIPT (W): Notification data in 'SCR_NotificationsLogDisplay' has duplicate notification info key: 'EDITOR_PERCEIVED_FACTION_TYPE_DISABLED'. There should only be one of each key! +05:05:57.762 SCRIPT (W): Can't open config file "" +05:05:57.768 WORLD : InitEntities 'world' +05:05:57.768 ENTITY : Init entity @"ENTITY:4611686018427388381" ('SCR_PlayerController') at <0.000000 0.000000 0.000000> @"{225E51284CC95CFA}Prefabs/Characters/Core/DefaultPlayerControllerMP.et" +05:05:57.768 GUI : WidgetManager: CrateWidgets @"{3C9DCDD76AB83157}UI/layouts/HUD/HUDLayouts/HUDManager_Root.layout" +05:05:57.768 SCRIPT (W): Slot_WeaponInfo Has no Content! +05:05:57.768 SCRIPT (W): Slot_Chat Has no Content! +05:05:57.768 SCRIPT (W): Slot_VON Has no Content! +05:05:57.768 SCRIPT (W): Slot_AvailableActions Has no Content! +05:05:57.769 SCRIPT (W): Slot_Vehicle Has no Content! +05:05:57.769 SCRIPT (W): Slot_GameVersion Has no Content! +05:05:57.769 SCRIPT (W): Slot_Notifications Has no Content! +05:05:57.769 SCRIPT (W): Slot_Hints Has no Content! +05:05:57.782 SCRIPT (W): Ban Settings could not be loaded from BE Storage: Relying on default config +05:05:58.014 WORLD : UpdateEntities +05:05:58.014 WORLD : PostFrame +05:05:58.014 GUI : WidgetManager: CrateWidgets @"{D89BBA18F99053D6}UI/layouts/HUD/Chat/ChatHud.layout" +05:05:58.014 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +05:05:58.055 RESOURCES : GetResourceObject @"{20A6917D2114E29A}UI/layouts/HUD/Hint/HintInfoDisplay.layout" +05:05:58.055 GUI : Layout load @"{20A6917D2114E29A}UI/layouts/HUD/Hint/HintInfoDisplay.layout" +05:05:58.055 GUI : Widget prefab @"{EA1CC57D868E94F9}UI/layouts/HUD/Hint/Hint.layout" +05:05:58.055 GUI (W): Overridden prefab member (GUID: '{661AB14E0F471C66}' type: ButtonWidgetClass) no longer exists in prefab +05:08:18.895 GUI : WidgetManager: CrateWidgets @"{144919871D65F121}UI/layouts/HUD/GameOver/EndScreen/EndScreen.layout" +05:08:18.895 SCRIPT (W): Slot_Chat Has no Content! +05:08:18.895 SCRIPT (W): Slot_VON Has no Content! +05:08:18.895 SCRIPT (W): Slot_GameVersion Has no Content! +05:08:18.896 SCRIPT (W): Slot_Notifications Has no Content! +05:08:20.929 SCRIPT (W): SCR_ScriptedWidgetComponent.GetComponent: widget not found: SCR_InputButtonComponent Back +05:08:20.931 SCRIPT (W): SCR_ScriptedWidgetComponent.GetComponent: widget not found: SCR_InputButtonComponent ChatButton +05:08:20.933 GUI : WidgetManager: CrateWidgets @"{144919871D65F121}UI/layouts/HUD/GameOver/EndScreen/EndScreen.layout" +05:08:20.933 SCRIPT (W): Slot_Chat Has no Content! +05:08:20.933 SCRIPT (W): Slot_VON Has no Content! +05:08:20.933 SCRIPT (W): Slot_GameVersion Has no Content! +05:08:20.934 SCRIPT (W): Slot_Notifications Has no Content! +05:08:48.811 SCRIPT (W): Maybe a problem: DataProgression is not ready but the analytics event was requested +05:08:48.812 SCRIPT (W): SCR_PlayerData:CalculateStatsChange: Specialization stats, experience or rank stats were modified prematurely. The career data for this session might be compromised +05:08:49.031 DEFAULT (W): Achievements cannot be saved. +05:08:49.031 DEFAULT (W): Achievements failed to save. Consecutive calls to Achievements API may fail. +05:08:57.269 WORLD : Game::LoadEntities +05:08:57.270 WORLD : CreateEntities +05:08:57.270 WORLD : CreateEntities 'world' +05:08:57.270 ENTITY : Create entity @"ENTITY:610406" ('StaticModelEntity','Assets/Structures/Infrastructure/Towers/TransmitterTower_01/TransmitterTower_01_small.xob') at <1931.796021 81.777000 5138.725098> @"{6A004A8F0571D456}Prefabs/Structures/Infrastructure/Towers/TransmitterTower_01/TransmitterTower_01_small.et" +05:08:57.270 ENTITY : CreateComponent 'ScriptedRadioComponent' +05:08:57.270 DEFAULT (W): World doesn't contain RadioManagerEntity to support any BaseRadioComponent. +05:08:58.624 ENTITY : Create entity @"ENTITY:842066" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1080.213013 10.776751 6018.347168> +05:08:58.624 ENTITY : CreateComponent 'Hierarchy' +05:08:58.624 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842066" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1080.213013 10.776751 6018.347168>') +05:08:58.624 ENTITY : Create entity @"ENTITY:842068" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1082.185913 10.778749 6018.331055> +05:08:58.624 ENTITY : CreateComponent 'Hierarchy' +05:08:58.624 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842068" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1082.185913 10.778749 6018.331055>') +05:08:58.624 ENTITY : Create entity @"ENTITY:842070" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1084.190918 10.790751 6018.334961> +05:08:58.624 ENTITY : CreateComponent 'Hierarchy' +05:08:58.624 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842070" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1084.190918 10.790751 6018.334961>') +05:08:58.629 ENTITY : Create entity @"ENTITY:842333" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4425.594727 9.981750 11029.402344> +05:08:58.629 ENTITY : CreateComponent 'Hierarchy' +05:08:58.629 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842333" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4425.594727 9.981750 11029.402344>') +05:08:58.629 ENTITY : Create entity @"ENTITY:842335" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4426.584473 9.983749 11031.109375> +05:08:58.629 ENTITY : CreateComponent 'Hierarchy' +05:08:58.629 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842335" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4426.584473 9.983749 11031.109375>') +05:08:58.629 ENTITY : Create entity @"ENTITY:842337" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4427.572266 9.995750 11032.853516> +05:08:58.629 ENTITY : CreateComponent 'Hierarchy' +05:08:58.629 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842337" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4427.572266 9.995750 11032.853516>') +05:08:58.633 ENTITY : Create entity @"ENTITY:842591" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.946289 10.470250 1551.986084> +05:08:58.633 ENTITY : CreateComponent 'Hierarchy' +05:08:58.633 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842591" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.946289 10.470250 1551.986084>') +05:08:58.633 ENTITY : Create entity @"ENTITY:842593" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.430664 10.472250 1550.081421> +05:08:58.633 ENTITY : CreateComponent 'Hierarchy' +05:08:58.633 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842593" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.430664 10.472250 1550.081421>') +05:08:58.633 ENTITY : Create entity @"ENTITY:842595" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10008.926758 10.484250 1548.140869> +05:08:58.633 ENTITY : CreateComponent 'Hierarchy' +05:08:58.633 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842595" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10008.926758 10.484250 1548.140869>') +05:09:05.231 WORLD : InitEntities 'world' +05:09:05.232 ENTITY : Init entity @"ENTITY:2305843009213693953" ('Rereintroduced', ERR_GameMode) at <1076.468018 51.000999 1325.246948> @"{978E045E53EF36C8}Prefabs/ERR/GameMode.et" +05:09:05.232 SCRIPT (W): SCR_PerceivedFactionManagerComponent trying to set fall back faction 'CIV' but this faction could not be found so it is null instead. +05:09:05.939 ENTITY : SpawnEntityPrefab @"{225E51284CC95CFA}Prefabs/Characters/Core/DefaultPlayerControllerMP.et" +05:09:05.939 ENTITY : Create entity @"ENTITY:4611686018427388381" ('SCR_PlayerController') at <0.000000 0.000000 0.000000> +05:09:05.939 ENTITY : EntityPrefabUse @"{225E51284CC95CFA}Prefabs/Characters/Core/DefaultPlayerControllerMP.et" +05:09:05.939 SCRIPT (W): Notification data in 'SCR_NotificationsLogDisplay' has duplicate notification info key: 'EDITOR_PERCEIVED_FACTION_PUNISHMENT_KILLING_SET'. There should only be one of each key! +05:09:05.939 SCRIPT (W): Notification data in 'SCR_NotificationsLogDisplay' has duplicate notification info key: 'EDITOR_PERCEIVED_FACTION_TYPE_DISABLED'. There should only be one of each key! +05:09:05.941 SCRIPT (W): Can't open config file "" +05:09:05.941 SCRIPT (W): Cannot update game blocklist. Another request in progress. +05:09:05.941 WORLD : InitEntities 'world' +05:09:05.942 ENTITY : Init entity @"ENTITY:4611686018427388381" ('SCR_PlayerController') at <0.000000 0.000000 0.000000> @"{225E51284CC95CFA}Prefabs/Characters/Core/DefaultPlayerControllerMP.et" +05:09:05.942 GUI : WidgetManager: CrateWidgets @"{3C9DCDD76AB83157}UI/layouts/HUD/HUDLayouts/HUDManager_Root.layout" +05:09:05.942 SCRIPT (W): Slot_WeaponInfo Has no Content! +05:09:05.942 SCRIPT (W): Slot_Chat Has no Content! +05:09:05.942 SCRIPT (W): Slot_VON Has no Content! +05:09:05.942 SCRIPT (W): Slot_AvailableActions Has no Content! +05:09:05.942 SCRIPT (W): Slot_Vehicle Has no Content! +05:09:05.943 SCRIPT (W): Slot_GameVersion Has no Content! +05:09:05.943 SCRIPT (W): Slot_Notifications Has no Content! +05:09:05.943 SCRIPT (W): Slot_Hints Has no Content! +05:09:06.125 WORLD : UpdateEntities +05:09:06.125 WORLD : PostFrame +05:09:06.125 GUI : WidgetManager: CrateWidgets @"{D89BBA18F99053D6}UI/layouts/HUD/Chat/ChatHud.layout" +05:09:06.126 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +05:11:26.852 GUI : WidgetManager: CrateWidgets @"{144919871D65F121}UI/layouts/HUD/GameOver/EndScreen/EndScreen.layout" +05:11:26.852 SCRIPT (W): Slot_Chat Has no Content! +05:11:26.852 SCRIPT (W): Slot_VON Has no Content! +05:11:26.852 SCRIPT (W): Slot_GameVersion Has no Content! +05:11:26.852 SCRIPT (W): Slot_Notifications Has no Content! +05:11:28.867 SCRIPT (W): SCR_ScriptedWidgetComponent.GetComponent: widget not found: SCR_InputButtonComponent Back +05:11:28.868 SCRIPT (W): SCR_ScriptedWidgetComponent.GetComponent: widget not found: SCR_InputButtonComponent ChatButton +05:11:28.871 GUI : WidgetManager: CrateWidgets @"{144919871D65F121}UI/layouts/HUD/GameOver/EndScreen/EndScreen.layout" +05:11:28.871 SCRIPT (W): Slot_Chat Has no Content! +05:11:28.871 SCRIPT (W): Slot_VON Has no Content! +05:11:28.871 SCRIPT (W): Slot_GameVersion Has no Content! +05:11:28.871 SCRIPT (W): Slot_Notifications Has no Content! diff --git a/docs/evidence/native-2026-09-19-050515/headless-launch.log.txt b/docs/evidence/native-2026-09-19-050515/headless-launch.log.txt new file mode 100644 index 0000000..f52d9e4 --- /dev/null +++ b/docs/evidence/native-2026-09-19-050515/headless-launch.log.txt @@ -0,0 +1,157 @@ +[gamescope] [Info] console: gamescope version 3.16.28 (gcc 16.2.1) +No CAP_SYS_NICE, falling back to regular-priority compute and threads. +Performance will be affected. +[gamescope] [Info] scriptmgr: Loading scripts from: '/usr/share/gamescope/scripts' +[gamescope] [Info] scriptmgr: Loading scripts from: '/usr/share/gamescope/scripts/00-gamescope' +[gamescope] [Info] scriptmgr: Loading scripts from: '/usr/share/gamescope/scripts/00-gamescope/common' +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/common/inspect.lua' (id: 0) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/common/modegen.lua' (id: 1) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/common/util.lua' (id: 2) +[gamescope] [Info] scriptmgr: Loading scripts from: '/usr/share/gamescope/scripts/00-gamescope/displays' +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/asus.rogally.lcd.lua' (id: 3) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/deckhd.steamdeck.deckhd-lcd.lua' (id: 4) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/gpd.win4.lcd.lua' (id: 5) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/lenovo.legiongo.lcd.lua' (id: 6) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/lenovo.legiongos.lcd.lua' (id: 7) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/onexplayer.f1.oled.lua' (id: 8) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/valve.steamdeck.lcd.lua' (id: 9) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/valve.steamdeck.oled.lua' (id: 10) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/zotac.zone.oled.lua' (id: 11) +[gamescope] [Info] scriptmgr: Loading scripts from: '/etc/gamescope/scripts' +[gamescope] [Warn] scriptmgr: Directory '/etc/gamescope/scripts' does not exist +[gamescope] [Info] scriptmgr: Loading scripts from: '/home/jakub/.config/gamescope/scripts' +[gamescope] [Warn] scriptmgr: Directory '/home/jakub/.config/gamescope/scripts' does not exist +[gamescope] [Info] vulkan: selecting physical device 'AMD Radeon RX 6950 XT (RADV NAVI21)': queue family 1 (general queue family 0) +[gamescope] [Info] vulkan: physical device supports DRM format modifiers +[gamescope] [Info] wlserver: [backend/headless/backend.c:60] Creating headless backend +[gamescope] [Info] vulkan: supported DRM formats for sampling usage: +[gamescope] [Info] vulkan: AR24 (0x34325241) +[gamescope] [Info] vulkan: XR24 (0x34325258) +[gamescope] [Info] vulkan: AB24 (0x34324241) +[gamescope] [Info] vulkan: XB24 (0x34324258) +[gamescope] [Info] vulkan: RG16 (0x36314752) +[gamescope] [Info] vulkan: NV12 (0x3231564E) +[gamescope] [Info] vulkan: AB4H (0x48344241) +[gamescope] [Info] vulkan: XB4H (0x48344258) +[gamescope] [Info] vulkan: AB48 (0x38344241) +[gamescope] [Info] vulkan: XB48 (0x38344258) +[gamescope] [Info] vulkan: AB30 (0x30334241) +[gamescope] [Info] vulkan: XB30 (0x30334258) +[gamescope] [Info] vulkan: AR30 (0x30335241) +[gamescope] [Info] vulkan: XR30 (0x30335258) +[gamescope] [Info] wlserver: Using explicit sync when available +[gamescope] [Info] wlserver: Running compositor on wayland display 'gamescope-0' +[gamescope] [Info] wlserver: [backend/headless/backend.c:17] Starting headless backend +[gamescope] [Info] wlserver: Successfully initialized libei for input emulation! +[gamescope] [Error] wlserver: [xwayland/sockets.c:47] Failed to bind socket @/tmp/.X11-unix/X0: Address already in use +[gamescope] [Info] wlserver: [xwayland/server.c:108] Starting Xwayland on :2 +The XKEYBOARD keymap compiler (xkbcomp) reports: +> Warning: Multiple symbols for level 1/group 1 on key +> Using F23, ignoring XF86TouchpadOff +> Warning: Symbol map for key redefined +> Using last definition for conflicting fields +> Warning: Symbol map for key redefined +> Using last definition for conflicting fields +> Warning: Could not resolve keysym XF86ElectronicPrivacyScreenOn +> Warning: Could not resolve keysym XF86ElectronicPrivacyScreenOff +> Warning: Could not resolve keysym XF86ActionOnSelection +> Warning: Could not resolve keysym XF86ContextualInsert +> Warning: Could not resolve keysym XF86ContextualQuery +Errors from xkbcomp are not fatal to the X server +[gamescope] [Info] pipewire: stream state changed: connecting +[gamescope] [Info] pipewire: stream state changed: paused +[gamescope] [Info] pipewire: stream available on node ID: 173 +[gamescope] [Info] vblank: Using timerfd. +fsync: up and running. +[Gamescope WSI] No application info given. +[Gamescope WSI] Executable name: explorer.exe +ATTENTION: default value of option vk_wsi_force_swapchain_to_current_extent overridden by environment. +[Gamescope WSI] Application info: + pApplicationName: xalia.exe + applicationVersion: 0 + pEngineName: DXVK + engineVersion: 12587008 + apiVersion: 4206592 +[Gamescope WSI] Executable name: xalia.exe +ATTENTION: default value of option vk_wsi_force_swapchain_to_current_extent overridden by environment. +[Gamescope WSI] No application info given. +[Gamescope WSI] Application info: + pApplicationName: ArmaReforgerWorkbenchSteamDiag.exe + applicationVersion: 1 + pEngineName: DXVK + engineVersion: 12587008 + apiVersion: 4206592 +[Gamescope WSI] Executable name: ArmaReforgerWorkbenchSteamDiag.exe +ATTENTION: default value of option vk_wsi_force_swapchain_to_current_extent overridden by environment. +[Gamescope WSI] No application info given. +The XKEYBOARD keymap compiler (xkbcomp) reports: +> Warning: Unsupported maximum keycode 709, clipping. +> X11 cannot support keycodes above 255. +> Warning: Virtual modifier Hyper multiply defined +> Using 0, ignoring 0 +> Warning: Virtual modifier ScrollLock multiply defined +> Using 0, ignoring 0 +Errors from xkbcomp are not fatal to the X server +ATTENTION: default value of option vk_wsi_force_swapchain_to_current_extent overridden by environment. +[Gamescope WSI] Application info: + pApplicationName: ArmaReforgerWorkbenchSteamDiag.exe + applicationVersion: 0 + pEngineName: DXVK + engineVersion: 12587008 + apiVersion: 4206592 +ATTENTION: default value of option vk_wsi_force_swapchain_to_current_extent overridden by environment. +[Gamescope WSI] Application info: + pApplicationName: ArmaReforgerWorkbenchSteamDiag.exe + applicationVersion: 0 + pEngineName: vkd3d + engineVersion: 12587008 + apiVersion: 4206592 +[Gamescope WSI] Forcing on VK_EXT_swapchain_maintenance1. +ATTENTION: default value of option vk_wsi_force_swapchain_to_current_extent overridden by environment. +[Gamescope WSI] No application info given. +ATTENTION: default value of option vk_wsi_force_swapchain_to_current_extent overridden by environment. +[Gamescope WSI] Application info: + pApplicationName: ArmaReforgerWorkbenchSteamDiag.exe + applicationVersion: 0 + pEngineName: vkd3d + engineVersion: 12587008 + apiVersion: 4206592 +[Gamescope WSI] Forcing on VK_EXT_swapchain_maintenance1. +[Gamescope WSI] Creating Gamescope surface: xid: 0x1a001a4 +[Gamescope WSI] Atom of T was wrong type. Expected XCB_ATOM_CARDINAL. +[Gamescope WSI] Made gamescope surface for xid: 0x1a001a4 +[Gamescope WSI] Surface state: + steam app id: 1874910 + window xid: 0x1a001a4 + wayland surface res id: 5 + layer client flags: 0x4 + server hdr output enabled: false + hdr formats exposed to client: false +[Gamescope WSI] Creating Gamescope surface: xid: 0x1a003a4 +[Gamescope WSI] Atom of T was wrong type. Expected XCB_ATOM_CARDINAL. +[Gamescope WSI] Made gamescope surface for xid: 0x1a003a4 +[Gamescope WSI] Surface state: + steam app id: 1874910 + window xid: 0x1a003a4 + wayland surface res id: 10 + layer client flags: 0x4 + server hdr output enabled: false + hdr formats exposed to client: false +[Gamescope WSI] Creating swapchain for xid: 0x1a003a4 - oldSwapchain: (nil) - provided minImageCount: 3 - minImageCount: 3 - format: VK_FORMAT_B8G8R8A8_UNORM - colorspace: VK_COLOR_SPACE_SRGB_NONLINEAR_KHR - flip: false +[Gamescope WSI] Created swapchain for xid: 0x1a003a4 swapchain: 0x55558247d860 - imageCount: 4 +[Gamescope WSI] Destroying swapchain: 0x55558247d860 +[Gamescope WSI] Destroyed swapchain: 0x55558247d860 +[Gamescope WSI] Creating swapchain for xid: 0x1a003a4 - oldSwapchain: (nil) - provided minImageCount: 3 - minImageCount: 3 - format: VK_FORMAT_B8G8R8A8_UNORM - colorspace: VK_COLOR_SPACE_SRGB_NONLINEAR_KHR - flip: false +[Gamescope WSI] Created swapchain for xid: 0x1a003a4 swapchain: 0x55558247d860 - imageCount: 4 +[Gamescope WSI] Destroying swapchain: 0x55558247d860 +[Gamescope WSI] Destroyed swapchain: 0x55558247d860 +[Gamescope WSI] Creating swapchain for xid: 0x1a003a4 - oldSwapchain: (nil) - provided minImageCount: 3 - minImageCount: 3 - format: VK_FORMAT_B8G8R8A8_UNORM - colorspace: VK_COLOR_SPACE_SRGB_NONLINEAR_KHR - flip: false +[Gamescope WSI] Created swapchain for xid: 0x1a003a4 swapchain: 0x55558249d4e0 - imageCount: 4 +[Gamescope WSI] Creating swapchain for xid: 0x1a001a4 - oldSwapchain: (nil) - provided minImageCount: 3 - minImageCount: 3 - format: VK_FORMAT_R8G8B8A8_UNORM - colorspace: VK_COLOR_SPACE_SRGB_NONLINEAR_KHR - flip: true +[Gamescope WSI] Created swapchain for xid: 0x1a001a4 swapchain: 0x5555828d0930 - imageCount: 3 +[Gamescope WSI] Destroying swapchain: 0x5555828d0930 +[Gamescope WSI] Destroyed swapchain: 0x5555828d0930 +[Gamescope WSI] Creating swapchain for xid: 0x1a001a4 - oldSwapchain: (nil) - provided minImageCount: 3 - minImageCount: 3 - format: VK_FORMAT_R8G8B8A8_UNORM - colorspace: VK_COLOR_SPACE_SRGB_NONLINEAR_KHR - flip: true +[Gamescope WSI] Created swapchain for xid: 0x1a001a4 swapchain: 0x555582e3d560 - imageCount: 3 +[gamescope] [Info] wlserver: [wayland] Data too big for buffer (4092 + 12 > 4096). +[gamescope] [Info] launch: Primary child shut down! diff --git a/docs/evidence/native-2026-09-19-050515/report.json b/docs/evidence/native-2026-09-19-050515/report.json new file mode 100644 index 0000000..f0b8051 --- /dev/null +++ b/docs/evidence/native-2026-09-19-050515/report.json @@ -0,0 +1,17 @@ +{ + "log": "docs/evidence/native-2026-09-19-050515/console.log.txt", + "smoke_completions": 2, + "assertions_passed": 340, + "script_or_runtime_failures": [], + "engine_errors": [ + "05:05:54.966 WORLD (E): Unknown keyword/data 'SlidingTrackMaterial' at offset 19441(0x4bf1)", + "05:05:55.001 WORLD (E): Unknown keyword/data 'Parent' at offset 35955(0x8c73)", + "05:05:55.001 WORLD (E): Unknown keyword/data 'Parent' at offset 36915(0x9033)", + "05:05:55.002 WORLD (E): Unknown keyword/data 'Parent' at offset 42646(0xa696)", + "05:05:55.002 WORLD (E): Unknown keyword/data 'Parent' at offset 43645(0xaa7d)", + "05:05:55.002 WORLD (E): Unknown keyword/data 'Parent' at offset 44617(0xae49)", + "05:05:55.002 WORLD (E): Unknown keyword/data 'Parent' at offset 45590(0xb216)" + ], + "missing_end_screen": [], + "scope": "scripted local Workbench integration only; no multiplayer, piloting or FPS claim" +} diff --git a/docs/evidence/native-2026-09-19-050515/runner.json.txt b/docs/evidence/native-2026-09-19-050515/runner.json.txt new file mode 100644 index 0000000..cb2f97f --- /dev/null +++ b/docs/evidence/native-2026-09-19-050515/runner.json.txt @@ -0,0 +1,9 @@ +{ + "result": "smoke-completed", + "session": "/tmp/erri-workbench-profile/logs/logs_2026-09-19_05-05-15", + "rounds_required": 2, + "project": "core", + "display": "headless Gamescope 1280x720/30Hz", + "dedicated_server": false, + "audio": "silent sink and per-test-stream mute" +} diff --git a/docs/evidence/native-2026-09-19-050515/script.log.txt b/docs/evidence/native-2026-09-19-050515/script.log.txt new file mode 100644 index 0000000..4330a3d --- /dev/null +++ b/docs/evidence/native-2026-09-19-050515/script.log.txt @@ -0,0 +1,573 @@ +--------------------------------------------- +Log Z:\tmp\erri-workbench-profile\logs\logs_2026-09-19_05-05-15\script.log started at 2026-09-19 05:05:18 (2026-09-19 03:05:18 UTC) + +05:05:18.127 SCRIPT : SCRIPT : Initializing scripts +05:05:18.127 SCRIPT : SCRIPT : ScriptProjectManager init +05:05:19.047 SCRIPT : SCRIPT : Compiling GameLib scripts +05:05:19.104 SCRIPT : Module: Workbench; loaded 18x files; 36x classes; used 125K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE"; CRC32: 90ce0460 +05:05:19.105 SCRIPT : Module: GameLib; loaded 465x files; 648x classes; used 828K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE"; CRC32: 4507af04 +05:05:19.105 SCRIPT : SCRIPT : Compiling Game scripts +05:05:20.177 SCRIPT : Compiling Game scripts +05:05:20.177 SCRIPT (W): @"Scripts/Game/Editor/Components/EditableEntity/SCR_EditableEntityComponent.c,785": 'GetPlayerPlatformKind' is obsolete +05:05:20.177 SCRIPT (W): @"Scripts/Game/Editor/Components/EditableEntity/SCR_EditableEntityComponent.c,786": 'GetPlayerPlatformId' is obsolete +05:05:20.430 SCRIPT (W): @"Scripts/Game/ERR/ERR_SiteService.c,140": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +05:05:20.440 SCRIPT (W): @"Scripts/Game/Workshop/SCR_AddonManager.c,876": 'GetRefCount' is obsolete: Will be removed +05:05:20.474 SCRIPT (W): @"Scripts/Game/Campaign/SCR_PlayerProfileManagerComponent.c,142": 'PlayerData' is obsolete +05:05:20.572 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,159": 'GetDSSession' is obsolete +05:05:20.572 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,162": 'RoomID' is obsolete +05:05:20.572 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,197": 'GetDSSession' is obsolete +05:05:20.572 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,201": 'RoomID' is obsolete +05:05:20.664 SCRIPT (W): @"Scripts/Game/DataCollection/SCR_DataCollectorComponent.c,481": 'GetStorage' is obsolete +05:05:20.664 SCRIPT (W): @"Scripts/Game/DataCollection/SCR_DataCollectorComponent.c,483": 'GetOnlineWritePrivilege' is obsolete +05:05:20.665 SCRIPT (W): @"Scripts/Game/Utilities/SCR_PlayerIdentityUtils.c,20": 'GetPlayerIdentityId' is obsolete +05:05:20.709 SCRIPT (W): @"Scripts/Game/ERR/ERR_ExtractionService.c,45": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +05:05:20.709 SCRIPT (W): @"Scripts/Game/ERR/ERR_ExtractionService.c,56": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +05:05:20.710 SCRIPT (W): @"Scripts/Game/UI/Menu/MainMenuUI.c,643": 'GetNotifyCount' is obsolete: Will be substitued by Notification Api. +05:05:20.710 SCRIPT (W): @"Scripts/Game/UI/Menu/MainMenuUI.c,645": 'GetNotifyItem' is obsolete: Will be substitued by Notification Api. +05:05:20.738 SCRIPT (W): @"Scripts/Game/ERR/ERR_NativeTransportProbe.c,82": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +05:05:20.769 SCRIPT (W): @"Scripts/Game/DataCollection/PlayerData/SCR_PlayerData.c,210": 'PlayerData' is obsolete +05:05:21.035 SCRIPT : Module: WorkbenchGame; loaded 171x files; 616x classes; used 2478K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE"; CRC32: db6febb9 +05:05:21.042 SCRIPT : Module: Game; loaded 5704x files; 11180x classes; used 32533K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE,ENABLE_BASE_DESTRUCTION,BUDGET_OPTIMIZATION_CHECKS,SHOW_DISCLAIMER,DEBUG,RESPAWN_TIMER_COMPONENT_DEBUG,GAME_MODE_DEBUG,DEBUG_CONFIGURABLE_DIALOGS,DISABLE_WEAPON_SWITCHING,SCRIPTED_AIM_MODIFIER_DEBUG"; CRC32: 62b1e7fd +05:05:22.023 SCRIPT : Unable to register a script command due keyword duplicity: ban +05:05:22.023 SCRIPT : Unable to register a script command due keyword duplicity: kick +05:05:40.993 SCRIPT : ERR SITE SURVEY: supply=6150/7050 elevationRange=0.625 min=202.875 max=203.5 +05:05:44.281 SCRIPT : Unable to register a script command due keyword duplicity: ban +05:05:44.281 SCRIPT : Unable to register a script command due keyword duplicity: kick +05:05:57.281 SCRIPT (W): SCR_PerceivedFactionManagerComponent trying to set fall back faction 'CIV' but this faction could not be found so it is null instead. +05:05:57.306 SCRIPT : ERR BASE SMOKE: core-only scripted escape; not manual or multiplayer acceptance +05:05:57.761 SCRIPT (W): Notification data in 'SCR_NotificationsLogDisplay' has duplicate notification info key: 'EDITOR_PERCEIVED_FACTION_PUNISHMENT_KILLING_SET'. There should only be one of each key! +05:05:57.761 SCRIPT (W): Notification data in 'SCR_NotificationsLogDisplay' has duplicate notification info key: 'EDITOR_PERCEIVED_FACTION_TYPE_DISABLED'. There should only be one of each key! +05:05:57.762 SCRIPT (W): Can't open config file "" +05:05:57.768 SCRIPT (W): Slot_WeaponInfo Has no Content! +05:05:57.768 SCRIPT (W): Slot_Chat Has no Content! +05:05:57.768 SCRIPT (W): Slot_VON Has no Content! +05:05:57.768 SCRIPT (W): Slot_AvailableActions Has no Content! +05:05:57.769 SCRIPT (W): Slot_Vehicle Has no Content! +05:05:57.769 SCRIPT (W): Slot_GameVersion Has no Content! +05:05:57.769 SCRIPT (W): Slot_Notifications Has no Content! +05:05:57.769 SCRIPT (W): Slot_Hints Has no Content! +05:05:57.782 SCRIPT (W): Ban Settings could not be loaded from BE Storage: Relying on default config +05:05:57.837 SCRIPT : ScenarioFramework: Available tasks are empty, no new tasks will be generated. +05:05:57.850 SCRIPT : SCR_BaseGameMode::OnGameStateChanged = GAME +05:05:58.014 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +05:05:59.537 SCRIPT : Rereintroduced [sites]: cache clearance position=<6086,211.538,7160> clear=1 +05:05:59.557 SCRIPT : Rereintroduced [sites]: authored everon-prison-1 at <6090,211.444,7160> +05:05:59.557 SCRIPT : Rereintroduced [sites]: cache clearance position=<6150,203.288,7050> clear=1 +05:05:59.591 SCRIPT : Rereintroduced [sites]: authored everon-supply-1 at <6150,203.288,7050> +05:05:59.593 SCRIPT : Rereintroduced [sites]: authored everon-radio-1 at <6500,159.756,7200> +05:05:59.646 SCRIPT : Rereintroduced [sites]: authored everon-extraction-1 at <7000,65.2562,7500> +05:05:59.646 SCRIPT : Rereintroduced [sites]: cache clearance position=<5960,220.256,7220> clear=1 +05:05:59.652 SCRIPT : Rereintroduced [sites]: transport parking=<5960,220.256,7212> radius=4 terrainRange=0.8125 obstructed=0 clear=1 +05:05:59.702 SCRIPT : Rereintroduced [sites]: authored everon-supply-2 at <5960,220.256,7220> +05:05:59.702 SCRIPT : Rereintroduced [sites]: cache clearance position=<6340,175.788,7400> clear=1 +05:05:59.704 SCRIPT : Rereintroduced [sites]: authored everon-medical-1 at <6340,175.788,7400> +05:05:59.704 SCRIPT : Rereintroduced [sites]: cache clearance position=<6740,140.6,7300> clear=1 +05:05:59.708 SCRIPT : Rereintroduced [sites]: cache clearance position=<6740,140.913,7296> clear=1 +05:05:59.709 SCRIPT : Rereintroduced [sites]: cache clearance position=<6736,140.975,7300> clear=1 +05:05:59.710 SCRIPT : Rereintroduced [sites]: cache clearance position=<6744,140.288,7300> clear=1 +05:05:59.711 SCRIPT : Rereintroduced [sites]: authored everon-outpost-1 at <6740,140.6,7300> +05:05:59.788 SCRIPT : Rereintroduced [sites]: 7 sites and 117 physical stock items ready +05:05:59.789 SCRIPT : Rereintroduced [time]: started at 14:00 with 1x progression +05:05:59.789 SCRIPT : Rereintroduced [mission]: phase 0 -> 1 +05:06:00.040 SCRIPT : INFO: Faction: player jakub (playerID = 1 | UUID = 00000000-0000-0000-0000-000000000000) has joined faction #AR-Faction_US (US) +05:06:00.120 SCRIPT : Rereintroduced [spawn]: player 1 at <6087,211.538,7157> +05:06:00.235 SCRIPT : ERR SMOKE PASS: definition authored configuration resolves +05:06:00.235 SCRIPT : ERR SMOKE PASS: definition duplicate site identity rejected +05:06:00.235 SCRIPT : ERR SMOKE PASS: definition dangling document target rejected +05:06:00.235 SCRIPT : ERR SMOKE PASS: definition non-radio document target rejected +05:06:00.236 SCRIPT : ERR SMOKE PASS: definition insufficient guaranteed radio clues rejected +05:06:00.236 SCRIPT : ERR SMOKE PASS: definition unbounded stock rejected +05:06:00.236 SCRIPT : ERR SMOKE PASS: definition unguaranteed clue route rejected +05:06:00.236 SCRIPT : ERR SMOKE PASS: definition radio sources sharing one footprint rejected +05:06:00.236 SCRIPT : ERR SMOKE PASS: definition unnamed location rejected +05:06:00.236 SCRIPT : ERR SMOKE PASS: definition proximity discovery cannot reveal progression sites +05:06:00.237 SCRIPT : ERR SMOKE PASS: definition escape cannot reveal the radio directly +05:06:00.237 SCRIPT : ERR SMOKE PASS: definition unbounded scenery offset rejected +05:06:00.237 SCRIPT : ERR SMOKE PASS: definition valid configuration restored after isolated mutations +05:06:00.237 SCRIPT : ERR SMOKE PASS: base contracts catalog resolves hostile vanilla factions and successful preparation +05:06:00.237 SCRIPT : ERR SMOKE PASS: base contracts physical prisoner matches injected faction and resource +05:06:00.237 SCRIPT : ERR SMOKE PASS: base contracts physical guard squad comes from injected catalog +05:06:00.238 SCRIPT : ERR SMOKE PASS: base contracts same-side factions rejected +05:06:00.238 SCRIPT : ERR SMOKE PASS: base contracts unknown world faction rejected +05:06:00.238 SCRIPT : ERR SMOKE PASS: base contracts missing prisoner resource rejected +05:06:00.238 SCRIPT : ERR SMOKE PASS: base contracts isolated catalog restored without mutating live configuration +05:06:00.238 SCRIPT : ERR SMOKE PASS: base contracts unauthorized settings request rejected +05:06:00.238 SCRIPT : ERR SMOKE PASS: base contracts partially numeric input rejected without mutation +05:06:00.238 SCRIPT : ERR SMOKE PASS: base contracts out-of-range duration rejected without mutation +05:06:00.241 SCRIPT : ERR SMOKE PASS: base contracts normalized base command saves validated duration +05:06:00.242 SCRIPT : ERR SMOKE PASS: base contracts base command reads saved duration +05:06:00.242 SCRIPT : ERR SMOKE PASS: base contracts base settings listing available +05:06:00.242 SCRIPT : ERR SMOKE PASS: base contracts base mission status available before companions +05:06:00.244 SCRIPT : ERR SMOKE PASS: base contracts test setting restored +05:06:00.244 SCRIPT : ERR SMOKE PASS: base outpost barrier is upright +05:06:00.244 SCRIPT : ERR COVER GEOMETRY: low=<6738.99,140.839,7295.42> high=<6740.98,141.655,7296.62> trace=0.377114 +05:06:00.244 SCRIPT : ERR SMOKE PASS: base outpost barrier has physical collision +05:06:00.245 SCRIPT : ERR SMOKE PASS: base outpost barrier is upright +05:06:00.245 SCRIPT : ERR COVER GEOMETRY: low=<6735.42,140.901,7299.02> high=<6736.62,141.718,7301.01> trace=0.377114 +05:06:00.245 SCRIPT : ERR SMOKE PASS: base outpost barrier has physical collision +05:06:00.245 SCRIPT : ERR SMOKE PASS: base outpost barrier is upright +05:06:00.245 SCRIPT : ERR COVER GEOMETRY: low=<6743.42,140.214,7299.02> high=<6744.62,141.03,7301.01> trace=0.377114 +05:06:00.245 SCRIPT : ERR SMOKE PASS: base outpost barrier has physical collision +05:06:00.246 SCRIPT : ERR SMOKE PASS: base exactly three authored outpost barriers exist +05:06:00.246 SCRIPT : ERR SMOKE PASS: mission time clock parsing includes midnight and final minute +05:06:00.246 SCRIPT : ERR SMOKE PASS: mission time malformed clock commands rejected +05:06:00.246 SCRIPT : ERR SMOKE PASS: mission time isolated fixture paths unused +05:06:00.247 SCRIPT : ERR SMOKE PASS: mission time legacy fixture created +05:06:00.247 SCRIPT : ERR SMOKE PASS: mission time existing six-key settings preserved +05:06:00.247 SCRIPT : ERR SMOKE PASS: mission time only absent time settings receive defaults +05:06:00.248 SCRIPT : ERR SMOKE PASS: mission time loading does not rewrite legacy file +05:06:00.254 SCRIPT : ERR SMOKE PASS: mission time explicit save upgrades valid legacy settings +05:06:00.255 SCRIPT : ERR SMOKE PASS: mission time new keys and old values survive reload +05:06:00.256 SCRIPT : ERR SMOKE PASS: mission time present out-of-range time cannot silently default +05:06:00.257 SCRIPT : ERR SMOKE PASS: mission time fractional clock setting rejected +05:06:00.260 SCRIPT : ERR SMOKE PASS: mission time zero multiplier rejected +05:06:00.261 SCRIPT : ERR SMOKE PASS: mission time missing legacy setting remains invalid +05:06:00.262 SCRIPT : ERR SMOKE PASS: mission time partially upgraded file defaults only missing new field +05:06:00.262 SCRIPT : ERR SMOKE PASS: mission time valid saved backup recovers invalid primary +05:06:00.263 SCRIPT : ERR SMOKE PASS: mission time server starts world clock before prison phase +05:06:00.263 SCRIPT : ERR SMOKE PASS: mission time engine progression matches applied multiplier +05:06:00.263 SCRIPT : ERR SMOKE PASS: mission time unauthorized clock mutation rejected +05:06:00.263 SCRIPT : ERR SMOKE PASS: mission time invalid clock command preserves setting +05:06:00.273 SCRIPT : ERR SMOKE PASS: mission time authorized settings persist and test restores originals +05:06:00.274 SCRIPT : ERR SMOKE PASS: mission time saved changes and repeated start leave current clock and speed intact +05:06:00.274 SCRIPT : ERR SMOKE PASS: mission time admin sees current clock separately from next round settings +05:06:00.274 SCRIPT : ERR SMOKE PASS: base native prison objective exists +05:06:00.274 SCRIPT : ERR SMOKE PASS: objective UI current native task exists +05:06:00.276 SCRIPT : ERR SMOKE PASS: objective UI native list and detail layouts created +05:06:00.277 SCRIPT : ERR SMOKE PASS: objective UI native handlers attached +05:06:00.277 SCRIPT : ERR SMOKE PASS: objective UI open list and details contain current title and instructions +05:06:00.277 SCRIPT : ERR SMOKE PASS: objective UI list-only task cannot expose an undiscovered map position +05:06:00.277 SCRIPT : ERR SMOKE PASS: objective UI actual local player receives the active objective +05:06:00.277 SCRIPT : ERR SMOKE PASS: objective UI extraction instructions follow a nondefault boundary +05:06:00.278 SCRIPT : ERR SMOKE PASS: base authored supply cache is a separate scavenging location +05:06:00.278 SCRIPT : ERR BASE STOCK: cache items=54 +05:06:00.278 SCRIPT : ERR SMOKE PASS: base cache holds finite physical equipment and objective documents +05:06:00.278 SCRIPT : ERR SMOKE PASS: base no companion HQ or support controller loaded +05:06:00.278 SCRIPT : ERR SMOKE PASS: base prisoner spawned in authored prison +05:06:00.278 SCRIPT : ERR SMOKE PASS: base gate, clues, radio and helicopter created by core +05:06:00.279 SCRIPT : Rereintroduced [mission]: phase 1 -> 2 +05:06:00.280 SCRIPT : ERR SMOKE PASS: base gate action begins escape +05:06:00.282 SCRIPT : ERR SMOKE PASS: base test defence duration accepted +05:06:00.283 SCRIPT : ERR SMOKE PASS: base previous native objective completes on phase change +05:06:00.283 SCRIPT : ERR SMOKE PASS: base search objective does not expose a hidden site +05:06:00.283 SCRIPT : ERR SMOKE PASS: objective UI current native task exists +05:06:00.285 SCRIPT : ERR SMOKE PASS: objective UI native list and detail layouts created +05:06:00.286 SCRIPT : ERR SMOKE PASS: objective UI native handlers attached +05:06:00.286 SCRIPT : ERR SMOKE PASS: objective UI open list and details contain current title and instructions +05:06:00.286 SCRIPT : ERR SMOKE PASS: objective UI list-only task cannot expose an undiscovered map position +05:06:00.286 SCRIPT : ERR SMOKE PASS: objective UI actual local player receives the active objective +05:06:00.286 SCRIPT : ERR SMOKE PASS: objective UI extraction instructions follow a nondefault boundary +05:06:00.287 SCRIPT : ERR SMOKE PASS: base both named supply routes revealed after escape +05:06:00.287 SCRIPT : ERR SMOKE PASS: base optional sites remain hidden until approached +05:06:06.282 SCRIPT : ERR SMOKE PASS: base unconscious player cannot discover optional sites +05:06:12.370 SCRIPT : ERR SMOKE PASS: base distant player cannot discover optional sites +05:06:12.371 SCRIPT : ERR SMOKE PASS: base isolated visibility obstacle created +05:06:12.371 SCRIPT : ERR VISIBILITY OBSTACLE: low=<6338.5,174.97,7403.87> high=<6341.5,178.737,7404.13> observer=<6339.99,174.673,7466.22> target=<6340,175.788,7400> +05:06:18.441 SCRIPT : ERR SMOKE PASS: base physical wall prevents nearby site discovery +05:06:24.528 SCRIPT : ERR SMOKE PASS: base conscious nearby player visually discovers named medical stash once +05:06:24.528 SCRIPT : ERR SMOKE PASS: base proximity cannot bypass radio documents +05:06:25.033 SCRIPT : ERR SMOKE PASS: base physical clue recovered +05:06:25.195 SCRIPT : Rereintroduced [intel]: player 1 recovered folder; location=everon-radio-1 knowledge=1 +05:06:27.562 SCRIPT : ERR SMOKE PASS: base physical clue recovered +05:06:28.209 SCRIPT : Rereintroduced [intel]: player 1 recovered folder; location=everon-radio-1 knowledge=2 +05:06:30.085 SCRIPT : ERR SMOKE PASS: base objective guidance reacts to discovered radio +05:06:30.085 SCRIPT : ERR SMOKE PASS: objective UI current native task exists +05:06:30.086 SCRIPT : ERR SMOKE PASS: objective UI open list and details contain current title and instructions +05:06:30.086 SCRIPT : ERR SMOKE PASS: objective UI list-only task cannot expose an undiscovered map position +05:06:30.086 SCRIPT : ERR SMOKE PASS: objective UI actual local player receives the active objective +05:06:30.086 SCRIPT : ERR SMOKE PASS: objective UI extraction instructions follow a nondefault boundary +05:06:30.088 SCRIPT : ERR SMOKE PASS: base discovery ticks do not repeat the location event +05:06:30.088 SCRIPT : ERR SMOKE PASS: base documents identify radio without Intel addon +05:06:31.589 SCRIPT : ERR SMOKE PASS: radio service identified radio and real controlled prisoner available +05:06:31.589 SCRIPT : ERR SMOKE PASS: radio service controlled prisoner supports native state restoration +05:06:31.592 SCRIPT : ERR SMOKE PASS: radio service isolated thirty-second duration saved +05:06:31.599 SCRIPT : ERR SMOKE PASS: radio service second physical defender spawned +05:06:32.599 SCRIPT : ERR SMOKE PASS: radio service second physical defender settles with simulated connection membership +05:06:32.600 SCRIPT : ERR SMOKE PASS: radio service ordinary AI cannot tune even while alive and nearby +05:06:32.600 SCRIPT : ERR SMOKE PASS: radio service missing radio rejected +05:06:33.608 SCRIPT : ERR RADIO POSITION: outside tuning range after deferred teleport actor=<6506,159.313,7200.01> radio=<6500,159.756,7200> distanceXZ=6.00489 +05:06:33.608 SCRIPT : ERR SMOKE PASS: radio service tuning outside five metres rejected +05:06:34.617 SCRIPT : ERR RADIO POSITION: unconscious tuning range after deferred teleport actor=<6502.03,159.672,7200.05> radio=<6500,159.756,7200> distanceXZ=2.02848 +05:06:34.617 SCRIPT : ERR SMOKE PASS: radio service unconscious prisoner cannot tune +05:06:35.624 SCRIPT : ERR RADIO RECOVERY: tuning prisoner waiting step=4 alive=1 canFight=0 unconscious=1 lifeState=0 origin=<6502.03,159.67,7200.05> +05:06:36.627 SCRIPT : ERR RADIO RECOVERY: tuning prisoner waiting step=4 alive=1 canFight=0 unconscious=1 lifeState=0 origin=<6502.03,159.67,7200.05> +05:06:37.643 SCRIPT : ERR RADIO RECOVERY: tuning prisoner waiting step=4 alive=1 canFight=0 unconscious=1 lifeState=0 origin=<6502.03,159.53,7200.05> +05:06:38.151 SCRIPT : ERR RADIO RECOVERY: tuning prisoner ready step=4 alive=1 canFight=1 unconscious=0 lifeState=0 origin=<6502.03,159.53,7200.05> +05:06:38.151 SCRIPT : ERR RADIO AUTH: active=1 phase=2 registered=1 kind=1 knowledge=2 serviceState=0 distance=2.02886 +05:06:38.152 SCRIPT : ERR RADIO AUTH: playerId=1 connected=1 usedLife=1 sameActor=1 friendly=1 canFight=1 canBegin=1 +05:06:38.152 SCRIPT : ERR SMOKE PASS: radio service registered friendly conscious prisoner remains authorized +05:06:38.152 SCRIPT : ERR SMOKE PASS: radio service unregistered defender cannot start the isolated service +05:06:38.152 SCRIPT : ERR SMOKE PASS: radio service physical defender has native faction affiliation +05:06:39.162 SCRIPT : ERR SMOKE PASS: radio service hostile controlled defender cannot tune +05:06:40.180 SCRIPT : ERR SMOKE PASS: radio service start event emitted once and duplicate start rejected +05:06:40.181 SCRIPT : ERR SMOKE PASS: radio service two conscious physical defenders share one timer +05:06:41.198 SCRIPT : ERR SMOKE PASS: radio service hostile actor cannot defend even with simulated connection membership +05:06:42.215 SCRIPT : ERR SMOKE PASS: radio service elapsed countdown does not emit redundant progress events +05:06:43.217 SCRIPT : ERR SMOKE PASS: radio service second defender preserves progress while first is unconscious +05:06:44.222 SCRIPT : ERR SMOKE PASS: radio service all unconscious defenders reset accumulated time +05:06:45.240 SCRIPT : ERR RADIO RECOVERY: first defender waiting step=11 alive=1 canFight=0 unconscious=1 lifeState=0 origin=<6502.08,159.666,7200.09> +05:06:46.256 SCRIPT : ERR RADIO RECOVERY: first defender waiting step=11 alive=1 canFight=0 unconscious=1 lifeState=0 origin=<6502.08,159.528,7200.09> +05:06:46.765 SCRIPT : ERR RADIO RECOVERY: first defender ready step=11 alive=1 canFight=1 unconscious=0 lifeState=0 origin=<6502.08,159.528,7200.09> +05:06:46.765 SCRIPT : ERR SMOKE PASS: radio service conscious recovery starts a fresh continuous interval +05:06:47.772 SCRIPT : ERR RADIO RECOVERY: second defender waiting step=12 alive=1 canFight=0 unconscious=1 lifeState=0 origin=<6497.66,159.877,7199.26> +05:06:48.792 SCRIPT : ERR RADIO RECOVERY: second defender waiting step=12 alive=1 canFight=0 unconscious=1 lifeState=0 origin=<6497.66,159.877,7199.26> +05:06:49.295 SCRIPT : ERR RADIO RECOVERY: second defender ready step=12 alive=1 canFight=1 unconscious=0 lifeState=0 origin=<6497.66,159.877,7199.26> +05:06:49.296 SCRIPT : ERR SMOKE PASS: radio service empty server resets despite remaining character bodies +05:06:50.302 SCRIPT : ERR RADIO POSITION: outside defence radius after deferred teleport actor=<6560.49,155.594,7199.99> radio=<6500,159.756,7200> distanceXZ=60.4941 +05:06:50.302 SCRIPT : ERR SMOKE PASS: radio service outside sixty metres excludes first defender without resetting second +05:06:51.317 SCRIPT : ERR SMOKE PASS: radio service dead defender cannot maintain transmission +05:06:52.333 SCRIPT : ERR RADIO POSITION: returned to radio after deferred teleport actor=<6502,159.532,7200> radio=<6500,159.756,7200> distanceXZ=2.00489 +05:06:52.333 SCRIPT : ERR SMOKE PASS: radio service survivor returns physically before final transmission samples +05:06:52.336 SCRIPT : ERR SMOKE PASS: radio service live duration increase saved +05:06:52.337 SCRIPT : ERR SMOKE PASS: radio service live duration increase preserves accumulated occupancy +05:06:52.339 SCRIPT : ERR SMOKE PASS: radio service live duration reduction saved +05:06:52.339 SCRIPT : ERR SMOKE PASS: radio service live duration reduction completes at exact continuous boundary +05:06:52.339 SCRIPT : ERR SMOKE PASS: radio service completed service cannot restart or emit duplicate completion after stop +05:06:52.339 SCRIPT : ERR SMOKE PASS: radio service isolated cancellation service begins +05:06:52.339 SCRIPT : ERR SMOKE PASS: radio service stop cancels progress and future starts without completing +05:06:52.340 SCRIPT : ERR SMOKE PASS: radio service isolated terminal-phase service begins +05:06:52.340 SCRIPT : ERR SMOKE PASS: radio service terminal phase event prevents later completion +05:06:52.340 SCRIPT : ERR SMOKE PASS: radio service isolated event tests leave live objective ready for normal tuning +05:06:53.343 SCRIPT : ERR RADIO RECOVERY: restored prisoner ready step=90 alive=1 canFight=1 unconscious=0 lifeState=0 origin=<6501.99,159.532,7199.98> +05:06:53.343 SCRIPT : ERR RADIO RESTORE: actual=<6501.99,159.532,7199.98> original=<6501.99,159.533,7199.98> distance=0.00139591 +05:06:53.343 SCRIPT : ERR SMOKE PASS: radio service isolated test restores live duration and physical player state after a world frame +05:06:53.343 SCRIPT : Rereintroduced [mission]: phase 2 -> 3 +05:06:53.345 SCRIPT : ERR SMOKE PASS: base identified radio accepts transmission +05:06:58.382 SCRIPT : ERR SMOKE PASS: base depleted stock stays empty when preparation is queried again +05:06:58.383 SCRIPT : ERR SMOKE PASS: base native objective reports advancing radio progress +05:06:58.383 SCRIPT : ERR SMOKE PASS: objective UI current native task exists +05:06:58.386 SCRIPT : ERR SMOKE PASS: objective UI native list and detail layouts created +05:06:58.386 SCRIPT : ERR SMOKE PASS: objective UI native handlers attached +05:06:58.386 SCRIPT : ERR SMOKE PASS: objective UI open list and details contain current title and instructions +05:06:58.387 SCRIPT : ERR SMOKE PASS: objective UI list-only task cannot expose an undiscovered map position +05:06:58.387 SCRIPT : ERR SMOKE PASS: objective UI actual local player receives the active objective +05:06:58.387 SCRIPT : ERR SMOKE PASS: objective UI extraction instructions follow a nondefault boundary +05:07:33.722 SCRIPT : ERR SMOKE PASS: base unconscious survivor does not trigger defeat after the full grace period +05:07:33.722 SCRIPT : ERR SMOKE PASS: base unconscious radio defender cannot advance transmission +05:07:33.722 SCRIPT : ERR SMOKE PASS: base unconscious player retains their body and camera +05:07:39.752 SCRIPT : ERR SMOKE PASS: base regaining consciousness resumes transmission from zero +05:07:39.752 SCRIPT : ERR SMOKE PASS: base regaining consciousness does not grant another life +05:07:42.289 SCRIPT : ERR SMOKE PASS: base lost supply cache is not replaced +05:07:42.290 SCRIPT : ERR SMOKE PASS: base objective reports interruption and reset +05:07:42.290 SCRIPT : ERR SMOKE PASS: objective UI current native task exists +05:07:42.290 SCRIPT : ERR SMOKE PASS: objective UI open list and details contain current title and instructions +05:07:42.290 SCRIPT : ERR SMOKE PASS: objective UI list-only task cannot expose an undiscovered map position +05:07:42.290 SCRIPT : ERR SMOKE PASS: objective UI actual local player receives the active objective +05:07:42.290 SCRIPT : ERR SMOKE PASS: objective UI extraction instructions follow a nondefault boundary +05:08:12.767 SCRIPT : Rereintroduced [mission]: phase 3 -> 4 +05:08:15.622 SCRIPT : ERR SMOKE PASS: base radio defence reveals extraction +05:08:15.623 SCRIPT : ERR SMOKE PASS: mission time clock advancement remains enabled +05:08:15.623 SCRIPT : ERR SMOKE PASS: mission time progression sampled across at least ten engine seconds +05:08:15.623 SCRIPT : ERR SMOKE PASS: mission time native clock advances at configured rate without periodic resets +05:08:15.623 SCRIPT : ERR SMOKE PASS: objective UI current native task exists +05:08:15.625 SCRIPT : ERR SMOKE PASS: objective UI native list and detail layouts created +05:08:15.626 SCRIPT : ERR SMOKE PASS: objective UI native handlers attached +05:08:15.626 SCRIPT : ERR SMOKE PASS: objective UI open list and details contain current title and instructions +05:08:15.626 SCRIPT : ERR SMOKE PASS: objective UI list-only task cannot expose an undiscovered map position +05:08:15.626 SCRIPT : ERR SMOKE PASS: objective UI actual local player receives the active objective +05:08:15.626 SCRIPT : ERR SMOKE PASS: objective UI extraction instructions follow a nondefault boundary +05:08:15.627 SCRIPT : ERR SMOKE PASS: base player physically boards extraction helicopter +05:08:18.661 SCRIPT : ERR SMOKE PASS: base extraction requires real occupancy +05:08:18.801 SCRIPT : Rereintroduced [mission]: phase 4 -> 5 +05:08:18.802 SCRIPT : ERR SMOKE PASS: base escape and restart reached without companion services +05:08:18.802 SCRIPT : ERR SMOKE COMPLETE: core-only escape +05:08:18.893 SCRIPT : SCR_BaseGameMode::OnGameStateChanged = POSTGAME +05:08:18.895 SCRIPT (W): Slot_Chat Has no Content! +05:08:18.895 SCRIPT (W): Slot_VON Has no Content! +05:08:18.895 SCRIPT (W): Slot_GameVersion Has no Content! +05:08:18.896 SCRIPT (W): Slot_Notifications Has no Content! +05:08:20.929 SCRIPT : ERR RESULT UI: player=1 title=You escaped Everon +05:08:20.929 SCRIPT (W): SCR_ScriptedWidgetComponent.GetComponent: widget not found: SCR_InputButtonComponent Back +05:08:20.930 SCRIPT : -- Stack trace -- +05:08:20.930 SCRIPT : GetComponent() Scripts/Game/UI/Components/WidgetLibrary/SCR_ScriptedWidgetComponent.c : 43 +05:08:20.930 SCRIPT : GetInputButtonComponent() Scripts/Game/UI/Components/WidgetLibrary/SCR_InputButton/SCR_InputButtonComponent.c : 1214 +05:08:20.930 SCRIPT : OnMenuOpen() Scripts/Game/UI/GameOverScreen/SCR_GameOverScreenInput.c : 15 +05:08:20.930 SCRIPT : OpenGameOverScreen() Scripts/Game/GameOverScreen/SCR_GameOverScreenManagerComponent.c : 447 +05:08:20.930 SCRIPT : ShowGameOverScreen() Scripts/Game/GameOverScreen/SCR_GameOverScreenManagerComponent.c : 177 +05:08:20.930 SCRIPT : OnUpdate() Scripts/Game/game.c : 885 +05:08:20.930 SCRIPT : ----------------- +05:08:20.931 SCRIPT (W): SCR_ScriptedWidgetComponent.GetComponent: widget not found: SCR_InputButtonComponent ChatButton +05:08:20.931 SCRIPT : -- Stack trace -- +05:08:20.931 SCRIPT : GetComponent() Scripts/Game/UI/Components/WidgetLibrary/SCR_ScriptedWidgetComponent.c : 43 +05:08:20.931 SCRIPT : GetInputButtonComponent() Scripts/Game/UI/Components/WidgetLibrary/SCR_InputButton/SCR_InputButtonComponent.c : 1214 +05:08:20.931 SCRIPT : OnMenuOpen() Scripts/Game/UI/GameOverScreen/SCR_GameOverScreenInput.c : 21 +05:08:20.931 SCRIPT : OpenGameOverScreen() Scripts/Game/GameOverScreen/SCR_GameOverScreenManagerComponent.c : 447 +05:08:20.931 SCRIPT : ShowGameOverScreen() Scripts/Game/GameOverScreen/SCR_GameOverScreenManagerComponent.c : 177 +05:08:20.931 SCRIPT : OnUpdate() Scripts/Game/game.c : 885 +05:08:20.932 SCRIPT : ----------------- +05:08:20.933 SCRIPT (W): Slot_Chat Has no Content! +05:08:20.933 SCRIPT (W): Slot_VON Has no Content! +05:08:20.933 SCRIPT (W): Slot_GameVersion Has no Content! +05:08:20.934 SCRIPT (W): Slot_Notifications Has no Content! +05:08:20.935 SCRIPT : ERR RESULT UI: player=1 title=You escaped Everon +05:08:48.811 SCRIPT (W): Maybe a problem: DataProgression is not ready but the analytics event was requested +05:08:48.812 SCRIPT (W): SCR_PlayerData:CalculateStatsChange: Specialization stats, experience or rank stats were modified prematurely. The career data for this session might be compromised +05:08:52.377 SCRIPT : string detail = 'ERR STATION TEARDOWN DIAG: n=1 owner= prefab={AE578EEA4244D41F}Prefabs/Items/Equipment/Kits/MedicalKit_01/MedicalKit_01_US.et cachedCatalog=1 globalCatalog=1 modePresent=0 gameState=-1 errPhase=-1 endData=0 call=OnDelete/InitValidSetup' +05:08:52.381 SCRIPT : string detail = 'ERR STATION TEARDOWN DIAG: n=2 owner= prefab={21EF98BFC1EB3793}Prefabs/Items/Equipment/Kits/MedicalKit_01/MedicalKit_01_USSR.et cachedCatalog=1 globalCatalog=1 modePresent=0 gameState=-1 errPhase=-1 endData=0 call=OnDelete/InitValidSetup' +05:09:05.232 SCRIPT (W): SCR_PerceivedFactionManagerComponent trying to set fall back faction 'CIV' but this faction could not be found so it is null instead. +05:09:05.232 SCRIPT : ERR BASE SMOKE: core-only scripted escape; not manual or multiplayer acceptance +05:09:05.939 SCRIPT (W): Notification data in 'SCR_NotificationsLogDisplay' has duplicate notification info key: 'EDITOR_PERCEIVED_FACTION_PUNISHMENT_KILLING_SET'. There should only be one of each key! +05:09:05.939 SCRIPT (W): Notification data in 'SCR_NotificationsLogDisplay' has duplicate notification info key: 'EDITOR_PERCEIVED_FACTION_TYPE_DISABLED'. There should only be one of each key! +05:09:05.941 SCRIPT (W): Can't open config file "" +05:09:05.941 SCRIPT (W): Cannot update game blocklist. Another request in progress. +05:09:05.942 SCRIPT (W): Slot_WeaponInfo Has no Content! +05:09:05.942 SCRIPT (W): Slot_Chat Has no Content! +05:09:05.942 SCRIPT (W): Slot_VON Has no Content! +05:09:05.942 SCRIPT (W): Slot_AvailableActions Has no Content! +05:09:05.942 SCRIPT (W): Slot_Vehicle Has no Content! +05:09:05.943 SCRIPT (W): Slot_GameVersion Has no Content! +05:09:05.943 SCRIPT (W): Slot_Notifications Has no Content! +05:09:05.943 SCRIPT (W): Slot_Hints Has no Content! +05:09:05.972 SCRIPT : ScenarioFramework: Available tasks are empty, no new tasks will be generated. +05:09:05.986 SCRIPT : SCR_BaseGameMode::OnGameStateChanged = GAME +05:09:06.126 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +05:09:07.515 SCRIPT : Rereintroduced [sites]: cache clearance position=<6086,211.538,7160> clear=1 +05:09:07.521 SCRIPT : Rereintroduced [sites]: authored everon-prison-1 at <6090,211.444,7160> +05:09:07.521 SCRIPT : Rereintroduced [sites]: cache clearance position=<6150,203.288,7050> clear=1 +05:09:07.531 SCRIPT : Rereintroduced [sites]: authored everon-supply-1 at <6150,203.288,7050> +05:09:07.532 SCRIPT : Rereintroduced [sites]: authored everon-radio-1 at <6500,159.756,7200> +05:09:07.542 SCRIPT : Rereintroduced [sites]: authored everon-extraction-1 at <7000,65.2562,7500> +05:09:07.542 SCRIPT : Rereintroduced [sites]: cache clearance position=<5960,220.256,7220> clear=1 +05:09:07.546 SCRIPT : Rereintroduced [sites]: transport parking=<5960,220.256,7212> radius=4 terrainRange=0.8125 obstructed=0 clear=1 +05:09:07.556 SCRIPT : Rereintroduced [sites]: authored everon-supply-2 at <5960,220.256,7220> +05:09:07.556 SCRIPT : Rereintroduced [sites]: cache clearance position=<6340,175.788,7400> clear=1 +05:09:07.558 SCRIPT : Rereintroduced [sites]: authored everon-medical-1 at <6340,175.788,7400> +05:09:07.559 SCRIPT : Rereintroduced [sites]: cache clearance position=<6740,140.6,7300> clear=1 +05:09:07.562 SCRIPT : Rereintroduced [sites]: cache clearance position=<6740,140.913,7296> clear=1 +05:09:07.562 SCRIPT : Rereintroduced [sites]: cache clearance position=<6736,140.975,7300> clear=1 +05:09:07.563 SCRIPT : Rereintroduced [sites]: cache clearance position=<6744,140.288,7300> clear=1 +05:09:07.564 SCRIPT : Rereintroduced [sites]: authored everon-outpost-1 at <6740,140.6,7300> +05:09:07.768 SCRIPT : Rereintroduced [sites]: 7 sites and 117 physical stock items ready +05:09:07.769 SCRIPT : Rereintroduced [time]: started at 14:00 with 1x progression +05:09:07.769 SCRIPT : Rereintroduced [mission]: phase 0 -> 1 +05:09:08.019 SCRIPT : INFO: Faction: player jakub (playerID = 1 | UUID = 00000000-0000-0000-0000-000000000000) has joined faction #AR-Faction_US (US) +05:09:08.049 SCRIPT : Rereintroduced [spawn]: player 1 at <6087,211.538,7157> +05:09:08.096 SCRIPT : ERR SMOKE PASS: definition authored configuration resolves +05:09:08.097 SCRIPT : ERR SMOKE PASS: definition duplicate site identity rejected +05:09:08.097 SCRIPT : ERR SMOKE PASS: definition dangling document target rejected +05:09:08.097 SCRIPT : ERR SMOKE PASS: definition non-radio document target rejected +05:09:08.097 SCRIPT : ERR SMOKE PASS: definition insufficient guaranteed radio clues rejected +05:09:08.097 SCRIPT : ERR SMOKE PASS: definition unbounded stock rejected +05:09:08.097 SCRIPT : ERR SMOKE PASS: definition unguaranteed clue route rejected +05:09:08.098 SCRIPT : ERR SMOKE PASS: definition radio sources sharing one footprint rejected +05:09:08.098 SCRIPT : ERR SMOKE PASS: definition unnamed location rejected +05:09:08.098 SCRIPT : ERR SMOKE PASS: definition proximity discovery cannot reveal progression sites +05:09:08.098 SCRIPT : ERR SMOKE PASS: definition escape cannot reveal the radio directly +05:09:08.098 SCRIPT : ERR SMOKE PASS: definition unbounded scenery offset rejected +05:09:08.098 SCRIPT : ERR SMOKE PASS: definition valid configuration restored after isolated mutations +05:09:08.099 SCRIPT : ERR SMOKE PASS: base contracts catalog resolves hostile vanilla factions and successful preparation +05:09:08.099 SCRIPT : ERR SMOKE PASS: base contracts physical prisoner matches injected faction and resource +05:09:08.099 SCRIPT : ERR SMOKE PASS: base contracts physical guard squad comes from injected catalog +05:09:08.099 SCRIPT : ERR SMOKE PASS: base contracts same-side factions rejected +05:09:08.099 SCRIPT : ERR SMOKE PASS: base contracts unknown world faction rejected +05:09:08.099 SCRIPT : ERR SMOKE PASS: base contracts missing prisoner resource rejected +05:09:08.100 SCRIPT : ERR SMOKE PASS: base contracts isolated catalog restored without mutating live configuration +05:09:08.100 SCRIPT : ERR SMOKE PASS: base contracts unauthorized settings request rejected +05:09:08.100 SCRIPT : ERR SMOKE PASS: base contracts partially numeric input rejected without mutation +05:09:08.100 SCRIPT : ERR SMOKE PASS: base contracts out-of-range duration rejected without mutation +05:09:08.104 SCRIPT : ERR SMOKE PASS: base contracts normalized base command saves validated duration +05:09:08.104 SCRIPT : ERR SMOKE PASS: base contracts base command reads saved duration +05:09:08.104 SCRIPT : ERR SMOKE PASS: base contracts base settings listing available +05:09:08.104 SCRIPT : ERR SMOKE PASS: base contracts base mission status available before companions +05:09:08.107 SCRIPT : ERR SMOKE PASS: base contracts test setting restored +05:09:08.107 SCRIPT : ERR SMOKE PASS: base outpost barrier is upright +05:09:08.108 SCRIPT : ERR COVER GEOMETRY: low=<6738.99,140.839,7295.42> high=<6740.98,141.655,7296.62> trace=0.377114 +05:09:08.108 SCRIPT : ERR SMOKE PASS: base outpost barrier has physical collision +05:09:08.108 SCRIPT : ERR SMOKE PASS: base outpost barrier is upright +05:09:08.108 SCRIPT : ERR COVER GEOMETRY: low=<6735.42,140.901,7299.02> high=<6736.62,141.718,7301.01> trace=0.377114 +05:09:08.108 SCRIPT : ERR SMOKE PASS: base outpost barrier has physical collision +05:09:08.108 SCRIPT : ERR SMOKE PASS: base outpost barrier is upright +05:09:08.108 SCRIPT : ERR COVER GEOMETRY: low=<6743.42,140.214,7299.02> high=<6744.62,141.03,7301.01> trace=0.377114 +05:09:08.108 SCRIPT : ERR SMOKE PASS: base outpost barrier has physical collision +05:09:08.109 SCRIPT : ERR SMOKE PASS: base exactly three authored outpost barriers exist +05:09:08.109 SCRIPT : ERR SMOKE PASS: mission time clock parsing includes midnight and final minute +05:09:08.109 SCRIPT : ERR SMOKE PASS: mission time malformed clock commands rejected +05:09:08.109 SCRIPT : ERR SMOKE PASS: mission time isolated fixture paths unused +05:09:08.110 SCRIPT : ERR SMOKE PASS: mission time legacy fixture created +05:09:08.110 SCRIPT : ERR SMOKE PASS: mission time existing six-key settings preserved +05:09:08.110 SCRIPT : ERR SMOKE PASS: mission time only absent time settings receive defaults +05:09:08.111 SCRIPT : ERR SMOKE PASS: mission time loading does not rewrite legacy file +05:09:08.116 SCRIPT : ERR SMOKE PASS: mission time explicit save upgrades valid legacy settings +05:09:08.116 SCRIPT : ERR SMOKE PASS: mission time new keys and old values survive reload +05:09:08.117 SCRIPT : ERR SMOKE PASS: mission time present out-of-range time cannot silently default +05:09:08.118 SCRIPT : ERR SMOKE PASS: mission time fractional clock setting rejected +05:09:08.119 SCRIPT : ERR SMOKE PASS: mission time zero multiplier rejected +05:09:08.119 SCRIPT : ERR SMOKE PASS: mission time missing legacy setting remains invalid +05:09:08.120 SCRIPT : ERR SMOKE PASS: mission time partially upgraded file defaults only missing new field +05:09:08.121 SCRIPT : ERR SMOKE PASS: mission time valid saved backup recovers invalid primary +05:09:08.122 SCRIPT : ERR SMOKE PASS: mission time server starts world clock before prison phase +05:09:08.122 SCRIPT : ERR SMOKE PASS: mission time engine progression matches applied multiplier +05:09:08.122 SCRIPT : ERR SMOKE PASS: mission time unauthorized clock mutation rejected +05:09:08.122 SCRIPT : ERR SMOKE PASS: mission time invalid clock command preserves setting +05:09:08.131 SCRIPT : ERR SMOKE PASS: mission time authorized settings persist and test restores originals +05:09:08.131 SCRIPT : ERR SMOKE PASS: mission time saved changes and repeated start leave current clock and speed intact +05:09:08.131 SCRIPT : ERR SMOKE PASS: mission time admin sees current clock separately from next round settings +05:09:08.131 SCRIPT : ERR SMOKE PASS: base native prison objective exists +05:09:08.132 SCRIPT : ERR SMOKE PASS: objective UI current native task exists +05:09:08.134 SCRIPT : ERR SMOKE PASS: objective UI native list and detail layouts created +05:09:08.134 SCRIPT : ERR SMOKE PASS: objective UI native handlers attached +05:09:08.134 SCRIPT : ERR SMOKE PASS: objective UI open list and details contain current title and instructions +05:09:08.134 SCRIPT : ERR SMOKE PASS: objective UI list-only task cannot expose an undiscovered map position +05:09:08.134 SCRIPT : ERR SMOKE PASS: objective UI actual local player receives the active objective +05:09:08.135 SCRIPT : ERR SMOKE PASS: objective UI extraction instructions follow a nondefault boundary +05:09:08.135 SCRIPT : ERR SMOKE PASS: base authored supply cache is a separate scavenging location +05:09:08.135 SCRIPT : ERR BASE STOCK: cache items=54 +05:09:08.135 SCRIPT : ERR SMOKE PASS: base cache holds finite physical equipment and objective documents +05:09:08.135 SCRIPT : ERR SMOKE PASS: base no companion HQ or support controller loaded +05:09:08.135 SCRIPT : ERR SMOKE PASS: base prisoner spawned in authored prison +05:09:08.135 SCRIPT : ERR SMOKE PASS: base gate, clues, radio and helicopter created by core +05:09:08.135 SCRIPT : Rereintroduced [mission]: phase 1 -> 2 +05:09:08.136 SCRIPT : ERR SMOKE PASS: base gate action begins escape +05:09:08.139 SCRIPT : ERR SMOKE PASS: base test defence duration accepted +05:09:08.139 SCRIPT : ERR SMOKE PASS: base previous native objective completes on phase change +05:09:08.139 SCRIPT : ERR SMOKE PASS: base search objective does not expose a hidden site +05:09:08.139 SCRIPT : ERR SMOKE PASS: objective UI current native task exists +05:09:08.142 SCRIPT : ERR SMOKE PASS: objective UI native list and detail layouts created +05:09:08.142 SCRIPT : ERR SMOKE PASS: objective UI native handlers attached +05:09:08.142 SCRIPT : ERR SMOKE PASS: objective UI open list and details contain current title and instructions +05:09:08.143 SCRIPT : ERR SMOKE PASS: objective UI list-only task cannot expose an undiscovered map position +05:09:08.143 SCRIPT : ERR SMOKE PASS: objective UI actual local player receives the active objective +05:09:08.143 SCRIPT : ERR SMOKE PASS: objective UI extraction instructions follow a nondefault boundary +05:09:08.143 SCRIPT : ERR SMOKE PASS: base both named supply routes revealed after escape +05:09:08.143 SCRIPT : ERR SMOKE PASS: base optional sites remain hidden until approached +05:09:14.163 SCRIPT : ERR SMOKE PASS: base unconscious player cannot discover optional sites +05:09:20.250 SCRIPT : ERR SMOKE PASS: base distant player cannot discover optional sites +05:09:20.250 SCRIPT : ERR SMOKE PASS: base isolated visibility obstacle created +05:09:20.250 SCRIPT : ERR VISIBILITY OBSTACLE: low=<6338.5,174.97,7403.87> high=<6341.5,178.737,7404.13> observer=<6339.91,174.671,7466.21> target=<6340,175.788,7400> +05:09:26.299 SCRIPT : ERR SMOKE PASS: base physical wall prevents nearby site discovery +05:09:32.351 SCRIPT : ERR SMOKE PASS: base conscious nearby player visually discovers named medical stash once +05:09:32.351 SCRIPT : ERR SMOKE PASS: base proximity cannot bypass radio documents +05:09:32.856 SCRIPT : ERR SMOKE PASS: base physical clue recovered +05:09:33.158 SCRIPT : Rereintroduced [intel]: player 1 recovered folder; location=everon-radio-1 knowledge=1 +05:09:35.389 SCRIPT : ERR SMOKE PASS: base physical clue recovered +05:09:36.170 SCRIPT : Rereintroduced [intel]: player 1 recovered folder; location=everon-radio-1 knowledge=2 +05:09:37.916 SCRIPT : ERR SMOKE PASS: base objective guidance reacts to discovered radio +05:09:37.916 SCRIPT : ERR SMOKE PASS: objective UI current native task exists +05:09:37.916 SCRIPT : ERR SMOKE PASS: objective UI open list and details contain current title and instructions +05:09:37.917 SCRIPT : ERR SMOKE PASS: objective UI list-only task cannot expose an undiscovered map position +05:09:37.917 SCRIPT : ERR SMOKE PASS: objective UI actual local player receives the active objective +05:09:37.917 SCRIPT : ERR SMOKE PASS: objective UI extraction instructions follow a nondefault boundary +05:09:37.919 SCRIPT : ERR SMOKE PASS: base discovery ticks do not repeat the location event +05:09:37.920 SCRIPT : ERR SMOKE PASS: base documents identify radio without Intel addon +05:09:39.444 SCRIPT : ERR SMOKE PASS: radio service identified radio and real controlled prisoner available +05:09:39.444 SCRIPT : ERR SMOKE PASS: radio service controlled prisoner supports native state restoration +05:09:39.448 SCRIPT : ERR SMOKE PASS: radio service isolated thirty-second duration saved +05:09:39.456 SCRIPT : ERR SMOKE PASS: radio service second physical defender spawned +05:09:40.455 SCRIPT : ERR SMOKE PASS: radio service second physical defender settles with simulated connection membership +05:09:40.455 SCRIPT : ERR SMOKE PASS: radio service ordinary AI cannot tune even while alive and nearby +05:09:40.455 SCRIPT : ERR SMOKE PASS: radio service missing radio rejected +05:09:41.464 SCRIPT : ERR RADIO POSITION: outside tuning range after deferred teleport actor=<6506.01,159.313,7200.01> radio=<6500,159.756,7200> distanceXZ=6.00586 +05:09:41.464 SCRIPT : ERR SMOKE PASS: radio service tuning outside five metres rejected +05:09:42.470 SCRIPT : ERR RADIO POSITION: unconscious tuning range after deferred teleport actor=<6502.03,159.672,7200.04> radio=<6500,159.756,7200> distanceXZ=2.03027 +05:09:42.470 SCRIPT : ERR SMOKE PASS: radio service unconscious prisoner cannot tune +05:09:43.490 SCRIPT : ERR RADIO RECOVERY: tuning prisoner waiting step=4 alive=1 canFight=0 unconscious=1 lifeState=0 origin=<6502.03,159.67,7200.04> +05:09:44.497 SCRIPT : ERR RADIO RECOVERY: tuning prisoner waiting step=4 alive=1 canFight=0 unconscious=1 lifeState=0 origin=<6502.03,159.671,7200.04> +05:09:45.510 SCRIPT : ERR RADIO RECOVERY: tuning prisoner waiting step=4 alive=1 canFight=0 unconscious=1 lifeState=0 origin=<6502.03,159.53,7200.04> +05:09:46.018 SCRIPT : ERR RADIO RECOVERY: tuning prisoner ready step=4 alive=1 canFight=1 unconscious=0 lifeState=0 origin=<6502.03,159.53,7200.04> +05:09:46.019 SCRIPT : ERR RADIO AUTH: active=1 phase=2 registered=1 kind=1 knowledge=2 serviceState=0 distance=2.03027 +05:09:46.019 SCRIPT : ERR RADIO AUTH: playerId=1 connected=1 usedLife=1 sameActor=1 friendly=1 canFight=1 canBegin=1 +05:09:46.019 SCRIPT : ERR SMOKE PASS: radio service registered friendly conscious prisoner remains authorized +05:09:46.019 SCRIPT : ERR SMOKE PASS: radio service unregistered defender cannot start the isolated service +05:09:46.019 SCRIPT : ERR SMOKE PASS: radio service physical defender has native faction affiliation +05:09:47.034 SCRIPT : ERR SMOKE PASS: radio service hostile controlled defender cannot tune +05:09:48.046 SCRIPT : ERR SMOKE PASS: radio service start event emitted once and duplicate start rejected +05:09:48.047 SCRIPT : ERR SMOKE PASS: radio service two conscious physical defenders share one timer +05:09:49.060 SCRIPT : ERR SMOKE PASS: radio service hostile actor cannot defend even with simulated connection membership +05:09:50.073 SCRIPT : ERR SMOKE PASS: radio service elapsed countdown does not emit redundant progress events +05:09:51.077 SCRIPT : ERR SMOKE PASS: radio service second defender preserves progress while first is unconscious +05:09:52.088 SCRIPT : ERR SMOKE PASS: radio service all unconscious defenders reset accumulated time +05:09:53.106 SCRIPT : ERR RADIO RECOVERY: first defender waiting step=11 alive=1 canFight=0 unconscious=1 lifeState=0 origin=<6502.08,159.667,7200.08> +05:09:54.107 SCRIPT : ERR RADIO RECOVERY: first defender waiting step=11 alive=1 canFight=0 unconscious=1 lifeState=0 origin=<6502.08,159.528,7200.08> +05:09:54.617 SCRIPT : ERR RADIO RECOVERY: first defender ready step=11 alive=1 canFight=1 unconscious=0 lifeState=0 origin=<6502.08,159.528,7200.08> +05:09:54.617 SCRIPT : ERR SMOKE PASS: radio service conscious recovery starts a fresh continuous interval +05:09:55.621 SCRIPT : ERR RADIO RECOVERY: second defender waiting step=12 alive=1 canFight=0 unconscious=1 lifeState=0 origin=<6497.61,159.881,7199.22> +05:09:56.626 SCRIPT : ERR RADIO RECOVERY: second defender waiting step=12 alive=1 canFight=0 unconscious=1 lifeState=0 origin=<6497.61,159.881,7199.22> +05:09:57.128 SCRIPT : ERR RADIO RECOVERY: second defender ready step=12 alive=1 canFight=1 unconscious=0 lifeState=0 origin=<6497.27,159.902,7199.06> +05:09:57.129 SCRIPT : ERR SMOKE PASS: radio service empty server resets despite remaining character bodies +05:09:58.144 SCRIPT : ERR RADIO POSITION: outside defence radius after deferred teleport actor=<6560.49,155.594,7199.99> radio=<6500,159.756,7200> distanceXZ=60.4946 +05:09:58.144 SCRIPT : ERR SMOKE PASS: radio service outside sixty metres excludes first defender without resetting second +05:09:59.150 SCRIPT : ERR SMOKE PASS: radio service dead defender cannot maintain transmission +05:10:00.157 SCRIPT : ERR RADIO POSITION: returned to radio after deferred teleport actor=<6502,159.532,7200.01> radio=<6500,159.756,7200> distanceXZ=2.00489 +05:10:00.157 SCRIPT : ERR SMOKE PASS: radio service survivor returns physically before final transmission samples +05:10:00.160 SCRIPT : ERR SMOKE PASS: radio service live duration increase saved +05:10:00.160 SCRIPT : ERR SMOKE PASS: radio service live duration increase preserves accumulated occupancy +05:10:00.162 SCRIPT : ERR SMOKE PASS: radio service live duration reduction saved +05:10:00.162 SCRIPT : ERR SMOKE PASS: radio service live duration reduction completes at exact continuous boundary +05:10:00.163 SCRIPT : ERR SMOKE PASS: radio service completed service cannot restart or emit duplicate completion after stop +05:10:00.163 SCRIPT : ERR SMOKE PASS: radio service isolated cancellation service begins +05:10:00.163 SCRIPT : ERR SMOKE PASS: radio service stop cancels progress and future starts without completing +05:10:00.163 SCRIPT : ERR SMOKE PASS: radio service isolated terminal-phase service begins +05:10:00.163 SCRIPT : ERR SMOKE PASS: radio service terminal phase event prevents later completion +05:10:00.163 SCRIPT : ERR SMOKE PASS: radio service isolated event tests leave live objective ready for normal tuning +05:10:01.176 SCRIPT : ERR RADIO RECOVERY: restored prisoner ready step=90 alive=1 canFight=1 unconscious=0 lifeState=0 origin=<6501.98,159.533,7199.98> +05:10:01.176 SCRIPT : ERR RADIO RESTORE: actual=<6501.98,159.533,7199.98> original=<6501.99,159.533,7199.98> distance=0.00982765 +05:10:01.176 SCRIPT : ERR SMOKE PASS: radio service isolated test restores live duration and physical player state after a world frame +05:10:01.176 SCRIPT : Rereintroduced [mission]: phase 2 -> 3 +05:10:01.177 SCRIPT : ERR SMOKE PASS: base identified radio accepts transmission +05:10:06.245 SCRIPT : ERR SMOKE PASS: base depleted stock stays empty when preparation is queried again +05:10:06.245 SCRIPT : ERR SMOKE PASS: base native objective reports advancing radio progress +05:10:06.246 SCRIPT : ERR SMOKE PASS: objective UI current native task exists +05:10:06.248 SCRIPT : ERR SMOKE PASS: objective UI native list and detail layouts created +05:10:06.248 SCRIPT : ERR SMOKE PASS: objective UI native handlers attached +05:10:06.249 SCRIPT : ERR SMOKE PASS: objective UI open list and details contain current title and instructions +05:10:06.249 SCRIPT : ERR SMOKE PASS: objective UI list-only task cannot expose an undiscovered map position +05:10:06.249 SCRIPT : ERR SMOKE PASS: objective UI actual local player receives the active objective +05:10:06.249 SCRIPT : ERR SMOKE PASS: objective UI extraction instructions follow a nondefault boundary +05:10:41.584 SCRIPT : ERR SMOKE PASS: base unconscious survivor does not trigger defeat after the full grace period +05:10:41.584 SCRIPT : ERR SMOKE PASS: base unconscious radio defender cannot advance transmission +05:10:41.584 SCRIPT : ERR SMOKE PASS: base unconscious player retains their body and camera +05:10:47.651 SCRIPT : ERR SMOKE PASS: base regaining consciousness resumes transmission from zero +05:10:47.652 SCRIPT : ERR SMOKE PASS: base regaining consciousness does not grant another life +05:10:50.176 SCRIPT : ERR SMOKE PASS: base lost supply cache is not replaced +05:10:50.177 SCRIPT : ERR SMOKE PASS: base objective reports interruption and reset +05:10:50.177 SCRIPT : ERR SMOKE PASS: objective UI current native task exists +05:10:50.177 SCRIPT : ERR SMOKE PASS: objective UI open list and details contain current title and instructions +05:10:50.177 SCRIPT : ERR SMOKE PASS: objective UI list-only task cannot expose an undiscovered map position +05:10:50.177 SCRIPT : ERR SMOKE PASS: objective UI actual local player receives the active objective +05:10:50.177 SCRIPT : ERR SMOKE PASS: objective UI extraction instructions follow a nondefault boundary +05:11:20.734 SCRIPT : Rereintroduced [mission]: phase 3 -> 4 +05:11:23.533 SCRIPT : ERR SMOKE PASS: base radio defence reveals extraction +05:11:23.533 SCRIPT : ERR SMOKE PASS: mission time clock advancement remains enabled +05:11:23.533 SCRIPT : ERR SMOKE PASS: mission time progression sampled across at least ten engine seconds +05:11:23.533 SCRIPT : ERR SMOKE PASS: mission time native clock advances at configured rate without periodic resets +05:11:23.533 SCRIPT : ERR SMOKE PASS: objective UI current native task exists +05:11:23.536 SCRIPT : ERR SMOKE PASS: objective UI native list and detail layouts created +05:11:23.536 SCRIPT : ERR SMOKE PASS: objective UI native handlers attached +05:11:23.537 SCRIPT : ERR SMOKE PASS: objective UI open list and details contain current title and instructions +05:11:23.537 SCRIPT : ERR SMOKE PASS: objective UI list-only task cannot expose an undiscovered map position +05:11:23.537 SCRIPT : ERR SMOKE PASS: objective UI actual local player receives the active objective +05:11:23.537 SCRIPT : ERR SMOKE PASS: objective UI extraction instructions follow a nondefault boundary +05:11:23.538 SCRIPT : ERR SMOKE PASS: base player physically boards extraction helicopter +05:11:26.569 SCRIPT : ERR SMOKE PASS: base extraction requires real occupancy +05:11:26.760 SCRIPT : Rereintroduced [mission]: phase 4 -> 5 +05:11:26.761 SCRIPT : ERR SMOKE PASS: base escape and restart reached without companion services +05:11:26.761 SCRIPT : ERR SMOKE COMPLETE: core-only escape +05:11:26.850 SCRIPT : SCR_BaseGameMode::OnGameStateChanged = POSTGAME +05:11:26.852 SCRIPT (W): Slot_Chat Has no Content! +05:11:26.852 SCRIPT (W): Slot_VON Has no Content! +05:11:26.852 SCRIPT (W): Slot_GameVersion Has no Content! +05:11:26.852 SCRIPT (W): Slot_Notifications Has no Content! +05:11:28.866 SCRIPT : ERR RESULT UI: player=1 title=You escaped Everon +05:11:28.867 SCRIPT (W): SCR_ScriptedWidgetComponent.GetComponent: widget not found: SCR_InputButtonComponent Back +05:11:28.867 SCRIPT : -- Stack trace -- +05:11:28.867 SCRIPT : GetComponent() Scripts/Game/UI/Components/WidgetLibrary/SCR_ScriptedWidgetComponent.c : 43 +05:11:28.867 SCRIPT : GetInputButtonComponent() Scripts/Game/UI/Components/WidgetLibrary/SCR_InputButton/SCR_InputButtonComponent.c : 1214 +05:11:28.867 SCRIPT : OnMenuOpen() Scripts/Game/UI/GameOverScreen/SCR_GameOverScreenInput.c : 15 +05:11:28.867 SCRIPT : OpenGameOverScreen() Scripts/Game/GameOverScreen/SCR_GameOverScreenManagerComponent.c : 447 +05:11:28.868 SCRIPT : ShowGameOverScreen() Scripts/Game/GameOverScreen/SCR_GameOverScreenManagerComponent.c : 177 +05:11:28.868 SCRIPT : OnUpdate() Scripts/Game/game.c : 885 +05:11:28.868 SCRIPT : ----------------- +05:11:28.868 SCRIPT (W): SCR_ScriptedWidgetComponent.GetComponent: widget not found: SCR_InputButtonComponent ChatButton +05:11:28.868 SCRIPT : -- Stack trace -- +05:11:28.868 SCRIPT : GetComponent() Scripts/Game/UI/Components/WidgetLibrary/SCR_ScriptedWidgetComponent.c : 43 +05:11:28.868 SCRIPT : GetInputButtonComponent() Scripts/Game/UI/Components/WidgetLibrary/SCR_InputButton/SCR_InputButtonComponent.c : 1214 +05:11:28.868 SCRIPT : OnMenuOpen() Scripts/Game/UI/GameOverScreen/SCR_GameOverScreenInput.c : 21 +05:11:28.869 SCRIPT : OpenGameOverScreen() Scripts/Game/GameOverScreen/SCR_GameOverScreenManagerComponent.c : 447 +05:11:28.869 SCRIPT : ShowGameOverScreen() Scripts/Game/GameOverScreen/SCR_GameOverScreenManagerComponent.c : 177 +05:11:28.869 SCRIPT : OnUpdate() Scripts/Game/game.c : 885 +05:11:28.869 SCRIPT : ----------------- +05:11:28.871 SCRIPT (W): Slot_Chat Has no Content! +05:11:28.871 SCRIPT (W): Slot_VON Has no Content! +05:11:28.871 SCRIPT (W): Slot_GameVersion Has no Content! +05:11:28.871 SCRIPT (W): Slot_Notifications Has no Content! +05:11:28.872 SCRIPT : ERR RESULT UI: player=1 title=You escaped Everon diff --git a/docs/evidence/native-2026-09-19-050515/source-sha256.json b/docs/evidence/native-2026-09-19-050515/source-sha256.json new file mode 100644 index 0000000..af71a5b --- /dev/null +++ b/docs/evidence/native-2026-09-19-050515/source-sha256.json @@ -0,0 +1,118 @@ +{ + "addons/ai/Prefabs/ERR/MortarCrew.et": "05d3e7353ff9fe5523218a1487b31b7b742b0be8adbcb060c7099978cf008bce", + "addons/ai/Prefabs/ERR/MortarCrew.et.meta": "fdfd4fcd21a67c3d698fa4aadc4e5c76e665cebf4be86013bc389e493fab63cc", + "addons/ai/Scripts/Game/ERR/ERR_HQ.c": "ceafd6740ed277748744ce56ac0f0bb3a8521fcc060dafb2cdb99896aedf405a", + "addons/ai/Scripts/Game/ERR/ERR_HQJournal.c": "b3e402cfe92d415f37f666045afb062e6e11670ba03a0ca6f2d9fd4fc3520ac1", + "addons/ai/Scripts/Game/ERR/ERR_HQNetwork.c": "92ff2caca52e94c2cc9642dfc8509ce6e9349b257012bade8650bace9231128c", + "addons/ai/Scripts/Game/ERR/ERR_HQObservation.c": "36c978ec5f052213ac1236e1398d85063efbfd7ef60fe04f1fc11447fefe1d68", + "addons/ai/Scripts/Game/ERR/ERR_HQReport.c": "c4d16ccb571db4d9444c0a8d2be7318845d25ff90238b6d304e96a9ea19f1a08", + "addons/ai/Scripts/Game/ERR/ERR_HelicopterAvailability.c": "60eaef2f6d4b2fd44861c5a4434ef97e732e40a5ff7401e2da451ed2dd9c2762", + "addons/ai/Scripts/Game/ERR/ERR_MortarBattery.c": "66b8f16b692a0f75fc9d920f5224d9292a0f1dc7dd8b2dde912e676fa80ddc9c", + "addons/ai/Scripts/Game/ERR/ERR_MortarFiring.c": "657e96d1112b68c8ced37793e99f88e6078b38a579190e63d00b1f9a9a032e26", + "addons/ai/Scripts/Game/ERR/ERR_MortarPrediction.c": "470dd196ed64800c697d24c09d1344bacd2502587fac76af4ee0edae2563092d", + "addons/ai/Scripts/Game/ERR/ERR_MortarSalvo.c": "697c01f479df6c505a41d984a29c02002e3052114dafa2ec6252ae55e2979a2b", + "addons/ai/Scripts/Game/ERR/ERR_MortarSystem.c": "12d8fc39d47e03c3838e0642aa9e4a80baf60f250357493bff812d5c75812c86", + "addons/ai/Scripts/Game/ERR/ERR_SettlementSafety.c": "e5c0ebc95521a9a33a3f7d9cca6c551dda862a08b7af20b017877aba9584795b", + "addons/ai/Scripts/Game/ERR/ERR_SupportScenario.c": "71757018ec9716c4dc24f62a292a214919d3fd5daed3c16e03e56abd208e9f03", + "addons/ai/addon.gproj": "5f559db8f526700db11e6ae763f5245f19b7006fc68c56e4c09fb6f940bdf2a1", + "addons/chat/Missions/ERR_Everon.conf": "76f3ac0d21b585654beac7ddd68e3c8cbdd66dbfe909b17b04838fa813a7c29b", + "addons/chat/Missions/ERR_Everon.conf.meta": "0a23c98bf83873536c65fa17d38dea33a1d7b9e4ab210f90633ff688abcc551f", + "addons/chat/Scripts/Game/ERR/ERR_AdminCommands.c": "7ea6d6b240524cf0193c86fcab861fbdef9adca780acff11ee73f9ed0e99ce7b", + "addons/chat/Scripts/Game/ERR/ERR_NativeMortarProbe.c": "ddb892141500c192c0787b011d57dd8c07dd8c9a3ca5fdc407f6c271897bde0a", + "addons/chat/Scripts/Game/ERR/ERR_NativeRadioProbe.c": "84524163c63402755b4f834f74dfe6d8e5c397dc26031f532593c6f79f5a93b1", + "addons/chat/Scripts/Game/ERR/ERR_NativeSmoke.c": "0ab2fed95dcaa0442cf7feb25743308060d58497e347f17dbd25c8e970a9f81f", + "addons/chat/Scripts/WorkbenchGame/ERR/ERR_ValidateWorldPlugin.c": "81c92d408ce88cc9f98d6053f1d0c863427693ba748f00df9f1bf8079015ef94", + "addons/chat/addon.gproj": "ea1587e0174cf795334d306c71d99b06797fc891427cd57b6cab6e21cf0e4e0e", + "addons/core/Configs/ERR/EveronSites.conf": "2edb2c6983eb627800b65d9e244b9b228e0b82282e089c7b12e5a8921a2ea7bf", + "addons/core/Configs/ERR/EveronSites.conf.meta": "d5fe68025ef4e7c1e16082cf5873b7c7172eacbfaef4ab29b7e0e3c98f8dca56", + "addons/core/Configs/ERR/GameOverScreens.conf": "45231061911a1462d45fb6db0fecc2b0793f17b5ae71017174954ff4fbd20236", + "addons/core/Configs/ERR/GameOverScreens.conf.meta": "eb654b745c0b97b41c991694569ef4877a3c2315e0826f9556337cd68690843e", + "addons/core/Configs/ERR/VanillaFactions.conf": "f8b8b9898a16b4a4a55ab3c12d2547bef2dc433732c7643df980cb3aca715212", + "addons/core/Configs/ERR/VanillaFactions.conf.meta": "ac77725c0c21974991ef47a466b88122e939de8b46fd23e68889e7674cbb2bfd", + "addons/core/Missions/ERR_Everon_Base.conf": "1e6a0e9a756d15495201f71121626890f01efe6b00154c561672d4ec157960bd", + "addons/core/Missions/ERR_Everon_Base.conf.meta": "9b16267c644d815bcf98a3a3aaff30b93d7224fb24d3a2bac66730a28011f317", + "addons/core/Prefabs/ERR/Extraction.et": "1aa286ef253c5410f09fa641e4be91a7be8ec834487a7fbb74cfb45cab60ee1e", + "addons/core/Prefabs/ERR/Extraction.et.meta": "c2a838633001e2e3a202d39cb33aa744ebcd996017ad032359069641b5d13853", + "addons/core/Prefabs/ERR/FieldCover.et": "20f8095e69dbfe3db74ff19078e528ea75405362b335e03560ccd61f8df2e7f3", + "addons/core/Prefabs/ERR/FieldCover.et.meta": "83461ffa76244e1d69f20b053a9741ccdf7d127009182bd540a7e5ba6150c3d9", + "addons/core/Prefabs/ERR/GameMode.et": "385c97a5b8067091d92aa60c2d4fcf02002cf606b95523866ead65c96b8c0029", + "addons/core/Prefabs/ERR/GameMode.et.meta": "106769cd34525c9d440057072836cb7401a6752148c40edd7fe61c03bd58328c", + "addons/core/Prefabs/ERR/ObjectiveDocument.et": "2e72270bf186654af12d2c3ff9bf940690b03fb17fca44f873c1fde5d11384c0", + "addons/core/Prefabs/ERR/ObjectiveDocument.et.meta": "eaba9903be147b98a1106e2273e2270773df73b9b22f2cd4e20136a8e281382e", + "addons/core/Prefabs/ERR/Patrol.et": "c5685a8bc311cc5563fb3334beec9408d3d7a1069152fddeeb7df4f1b7f9e6ce", + "addons/core/Prefabs/ERR/Patrol.et.meta": "7c5da568fa2fcf0709ee2959253cb068d7c7ed7c2467af3b247a7e70efd96b69", + "addons/core/Prefabs/ERR/Prison.et": "1503db1441d8cd7a4f0b45c27ba9623b9fa39f0f81016e180bd2aa1379e1f42a", + "addons/core/Prefabs/ERR/Prison.et.meta": "2e426ef3de68f4107907854b51e818bc11d84649a01c538e3f18dd9ebec766bb", + "addons/core/Prefabs/ERR/PrisonDoor.et": "fc66be9d36f1f01084de59f1b0a1e8817f9e46547ead33d4fafaac0107446c40", + "addons/core/Prefabs/ERR/PrisonDoor.et.meta": "b8f3db52bf186426026668fbb9d633c3cbd4d438ab301fba880398f6a0e781c2", + "addons/core/Prefabs/ERR/PrisonWall.et": "8009d19365ae72a4749d7ad4fa04662575b06c65c6bf06507d380d57258b5eed", + "addons/core/Prefabs/ERR/PrisonWall.et.meta": "0294bc5dbb56f90f8153d62459bb0a6ad91d76a479812bbec9c7db182fdb58d6", + "addons/core/Prefabs/ERR/Radio.et": "b4b5cfe125b39019855816c9a1c508ca4d65d435b5546fdaa6c1fa3c8c9b1165", + "addons/core/Prefabs/ERR/Radio.et.meta": "bc91137b68ba550217914fb8892bb44d7e1920e4a1086f3e506623832a44212f", + "addons/core/Prefabs/ERR/SpectatorCamera.et": "b5b87d5b7b707f3745741aebe7c923067c8a74f8fbb2a4711834bab03bb5a812", + "addons/core/Prefabs/ERR/SpectatorCamera.et.meta": "2a16558f93915e31908a674509e9c89976470f78a84a1174a64b94b68b8f77ad", + "addons/core/Prefabs/ERR/SupplyCache.et": "bccf7afbaae97cfcdd78dd6dbbf4be5b2c045d348f50fe4581962e556c0044d7", + "addons/core/Prefabs/ERR/SupplyCache.et.meta": "2f5de3a4aab1e9d0e35521f48dc57b95bd6e449c383dec4f1c258e10295904cb", + "addons/core/Prefabs/ERR/SupplySite.et": "dc5decce5cabf39b6116e8794ec3960cb1e35761854fdbe69740da118787ded4", + "addons/core/Prefabs/ERR/SupplySite.et.meta": "b41944b12eb3528ff7a3ac94258b18c66ef161aa6a38894aee300a1ac4798630", + "addons/core/Scripts/Game/ERR/ERR_Actions.c": "adf93245e6d78c59b9839599d157a0d2b2b93ea93b3d1ae52e2904dd6c288266", + "addons/core/Scripts/Game/ERR/ERR_Actors.c": "b3c5aabb05f7cf35167bc09b5db51a4ffd89a46658805d6eedbfb80eee30273d", + "addons/core/Scripts/Game/ERR/ERR_AdminService.c": "047c14ce60cc0b167e202438f8f2b1063590e69ef88ea55b54598aea5f99c505", + "addons/core/Scripts/Game/ERR/ERR_DiscoveryMap.c": "2f4ea342fea0530061456be9cdce002d5e7a282e4e27eb88f3860e79f93612bf", + "addons/core/Scripts/Game/ERR/ERR_DiscoveryService.c": "6b5679447fe4a6d7d54c0545881ab56284f871556b3159207d421247f419eada", + "addons/core/Scripts/Game/ERR/ERR_DocumentComponent.c": "17bb76b80ebd3357e46d553c44674f602c7bd6901c92aec53ac8214194aa4ff2", + "addons/core/Scripts/Game/ERR/ERR_EscapeGameOverScreenInfo.c": "b1e1afb7795cb77c0bad94c85abf705b26b9dc2a9400905d80eafd56bdd009d3", + "addons/core/Scripts/Game/ERR/ERR_ExtractionService.c": "91357099b4e0401196b67d48963be54be30e56bdba57cdac67dc20b8ebb883e9", + "addons/core/Scripts/Game/ERR/ERR_FactionCatalog.c": "a5a8c53acf21259e14f59cb919535910f30dabff5a9179c664bc6a7a4d744d6e", + "addons/core/Scripts/Game/ERR/ERR_GameMode.c": "d766d1639378070bea64eef38baa4667f8b9f5f1a2a7b170f0fc5e8fd557917d", + "addons/core/Scripts/Game/ERR/ERR_Location.c": "d2035f56ded35743312ec6ca91a67f8623a466c91255e1893c570edf0954ff24", + "addons/core/Scripts/Game/ERR/ERR_MissionRules.c": "f7abc38ad8fdc375ce7fa63a65f0bade027d22b37e09de5e3f94ba8c3c63cc41", + "addons/core/Scripts/Game/ERR/ERR_NativeBaseSmoke.c": "128ce09f0d3f9a629aa3fcde1db0207249037de75b9dbdfadff141b43b1bfebf", + "addons/core/Scripts/Game/ERR/ERR_NativeContractsProbe.c": "d1556df885171cf967e96eef5d8981a2e9ee4e3938b7d32fdd0426f647bbabc0", + "addons/core/Scripts/Game/ERR/ERR_NativeDefinitionProbe.c": "d05ef8368ef5afa68e29f45843cb1878b5a09be768f8abdff2f4115c23759b01", + "addons/core/Scripts/Game/ERR/ERR_NativeExtractionProbe.c": "4b09385f73206de004f4f3c38a6192fd658a0d2012482dc5a84dff1599ceb972", + "addons/core/Scripts/Game/ERR/ERR_NativeLifecycleProbe.c": "89620ec1cc94e260ef72460b32c3291ffcc84cfe51afa907954b10229a711b2b", + "addons/core/Scripts/Game/ERR/ERR_NativeObjectiveProbe.c": "451f46d9a51753841046698911ee9954088214b6df856776a316865466fbce0f", + "addons/core/Scripts/Game/ERR/ERR_NativeRadioDefenceProbe.c": "cad54f0b43cefd72df74697dfc7e93725ff0acac6d311e963ce4f817428c272c", + "addons/core/Scripts/Game/ERR/ERR_NativeResultProbe.c": "b9a117eef2d5f65fbd792041a2b3e59e38e201bda8e0df8c503e1a1242cfc415", + "addons/core/Scripts/Game/ERR/ERR_NativeSiteSurvey.c": "ac0203753ade0cdff6d483132797a80e4520f14546c3f9dea288281cd4cd9c4f", + "addons/core/Scripts/Game/ERR/ERR_NativeStationTeardownDiagnostic.c": "c01cbdbfe25fd38916fa74f2c02333baaacd5228686fd6e40b33c27b3cea8ed8", + "addons/core/Scripts/Game/ERR/ERR_NativeTimeProbe.c": "c93d049785971e51246fcc07cf24804270a752a655505f2c38e48c80df5255ae", + "addons/core/Scripts/Game/ERR/ERR_NativeTransportProbe.c": "63ec0c5ce698114daa6314b2a6e3c3e98e76094117c477f9d0d072260686d193", + "addons/core/Scripts/Game/ERR/ERR_NativeTransportSurvey.c": "3e94493bf54d15be2bceb106ad18873e14e6755af09c05f07db7fb26fb7adff5", + "addons/core/Scripts/Game/ERR/ERR_ObjectiveDetails.c": "900bdcd11075230e0d311ca8725c1d7938cb2a4efa71360709003d90092a7e69", + "addons/core/Scripts/Game/ERR/ERR_ObjectiveText.c": "bbb29949194637e6781316836c895e2c0fa7ccdb547d4d944a717da2ad73b0a2", + "addons/core/Scripts/Game/ERR/ERR_Objectives.c": "88d95a52fcba103483ea751571e1afeae0e6fc82115ed50d6fc195424726960f", + "addons/core/Scripts/Game/ERR/ERR_Observer.c": "b719e723369ab4f403950c85226e1336eb48e3c127e84530ac1c695eb86bd0f9", + "addons/core/Scripts/Game/ERR/ERR_PlayerAdminCommands.c": "a084d7dc097dfcde3d6cd9c2e326b9e2f8f2a519f77b30c4f56ab7a1429aa721", + "addons/core/Scripts/Game/ERR/ERR_PlayerEscapeResult.c": "3124ab4d2d6d471409a47aba0af528790734df53243c03fe0cdac3e407047c14", + "addons/core/Scripts/Game/ERR/ERR_PlayerGuide.c": "2c9c365b88651f8b12618443638bf52c04e497221592bd483c33447e30468f36", + "addons/core/Scripts/Game/ERR/ERR_PlayerRoster.c": "a737ba739b3f73a91cd05d808a1d45070e83b5152c003c3164e29842dda51995", + "addons/core/Scripts/Game/ERR/ERR_RadioDefenceService.c": "85eb9c1b65d5987799927b6d8786b7299fcff849bcb15b91f8a4d1aa95823fd1", + "addons/core/Scripts/Game/ERR/ERR_Resources.c": "8a5314944f75b23982c6b99697045e3c0538aa2137b2c947a5b2411e6076ac03", + "addons/core/Scripts/Game/ERR/ERR_ScenarioComponent.c": "abba03af68323d5715ba1e2497fc66f3c706e6a6a983c3a386228abdfddeec89", + "addons/core/Scripts/Game/ERR/ERR_Settings.c": "2aee784e44c732e09f59150896491ab325ef5e62aa6bad725be1fda955a3f614", + "addons/core/Scripts/Game/ERR/ERR_SiteDefinition.c": "75b5121ceab77f0956f0dc34bd077b11af5586350de52321800427f18cc94477", + "addons/core/Scripts/Game/ERR/ERR_SiteService.c": "7ba02712562b3c8cd8de9851b6f26fed85020faacceef0767408b300b935c110", + "addons/core/Scripts/Game/ERR/ERR_SpawnFinalization.c": "2e295b0f225208c5414728ba83333e5e0ab6eef3a708ce39eb1dfce5400c94c9", + "addons/core/Scripts/Game/ERR/ERR_SpawnLogic.c": "64c2cef62d8a435eea396f057255b269d457935bf5d261221700739bf37240b8", + "addons/core/Scripts/Game/ERR/ERR_SpawnPlacement.c": "284db0d4a5ecd38f9c658c91ce943f4c0c30dcf4d31bb3edeea92e4ab0b1436a", + "addons/core/Scripts/Game/ERR/ERR_Supplies.c": "752e8a56b0b8cde33cf532032cb0a203553017b686faac2e19bee06f7a9c0713", + "addons/core/Scripts/Game/ERR/ERR_TimeService.c": "d9f481b7da01e08d2c982a948c18ba6bde76889d7cc9d26d510708f4ba479453", + "addons/core/Scripts/WorkbenchGame/ERR/ERR_ValidateBaseWorldPlugin.c": "7f44aa64ea7b4f8b3640a37a4b781c43bf6adb80e4a3a702d9491131698056f6", + "addons/core/Worlds/ERR_Everon.ent": "22324bc7eb0d80dec8a1f3bd61a9df9201b72f749f4e751766b0c9d0b7d46b87", + "addons/core/Worlds/ERR_Everon.ent.meta": "19d1903ca72baa326b4724a6791d0da1104a1e53f3f31dc1ca41a856efd68e83", + "addons/core/Worlds/ERR_Everon_Layers/default.layer": "f1a058bd315c7d01d464715ac9f4e18ae3d2432551d094a9afbd4c9c5a2a9416", + "addons/core/addon.gproj": "231274e6b62302f32c65f9ff31de2ce8a9e51e1c8d12c87deeec82ae1f40de46", + "addons/intel/Scripts/Game/ERR/ERR_IntelService.c": "482839434b94e7f8c345d5fd96490aeebb765f3dd0c1bb25fceea2f435c0e722", + "addons/intel/addon.gproj": "d0ced242cefb220a5cccd6779d61fda9bc55581701b9f78bcf13c09d92ddbcbe", + "addons/map/Materials/ERRM_MapRenderTarget.emat": "9877c5b175c5f30dd80bea36c711b21ab38219aa7075adf9ae79932e1d4c76bc", + "addons/map/Materials/ERRM_MapRenderTarget.emat.meta": "5ee1a705f8011a44020ca2691f5ccc17d44bf596fef9a36e98d1f267eb58fab0", + "addons/map/Prefabs/Items/Equipment/ERRM_SharedFieldMap.et": "30dee8e9eab459ea32a7d835a9fb89d43df47708057cab829f067b25a24cd581", + "addons/map/Prefabs/Items/Equipment/ERRM_SharedFieldMap.et.meta": "59093e9072c50d99c86da7609c87541016da5bcf92b98d99db4c524e1c8e0e8d", + "addons/map/Scripts/Game/ERR/ERR_ScenarioMap.c": "75fa1d742129ef7f33c005cd48f56db7f49ee7bde3c5428532b0b501b032b0a3", + "addons/map/Scripts/Game/ERRMap/ERRM_SharedMapComponent.c": "fc1a0c7df4fc96da446d7542a45a10fbec1eda1e543ba2f0581cb772277a47c5", + "addons/map/UI/layouts/ERRMap/SharedMapRenderTarget.layout": "49a2da4181b94d42174f58c7f9b6bf2207116c99427d61ff1c212092ac7db4d2", + "addons/map/UI/layouts/ERRMap/SharedMapRenderTarget.layout.meta": "5c846445cc089e2e08899ba703059d4adb805ff30ab5a16409a3cd59718cbd54", + "addons/map/addon.gproj": "1b371e5e01ea9fa46e76570fecb8aaa3a9298e34cba7ccca8a6bdb5ca86eb46a" +} diff --git a/docs/evidence/native-2026-09-19-051249-companion-fixture-name-failure/console.log.txt b/docs/evidence/native-2026-09-19-051249-companion-fixture-name-failure/console.log.txt new file mode 100644 index 0000000..3660236 --- /dev/null +++ b/docs/evidence/native-2026-09-19-051249-companion-fixture-name-failure/console.log.txt @@ -0,0 +1,196 @@ +--------------------------------------------- +Log Z:\tmp\erri-workbench-profile\logs\logs_2026-09-19_05-12-49\console.log started at 2026-09-19 05:12:49 (2026-09-19 03:12:49 UTC) + +05:12:49.826 ENGINE : FileSystem: Adding relative directory 'Z:\tmp\erri-workbench-profile\logs\logs_2026-09-19_05-12-49' to filesystem under name logs +05:12:49.826 ENGINE : FileSystem: Adding relative directory 'Z:\tmp\erri-workbench-profile\profile' to filesystem under name profile +05:12:49.826 ENGINE : FileSystem: Current working directory: 'Z:\home\jakub\.local\share\Steam\steamapps\common\Arma Reforger Tools\Workbench\' +05:12:49.827 PROFILING : Workbench Create Engine took: 10.611200 ms +05:12:50.862 INIT : INIT : Workbench Init Engine +05:12:50.862 ENGINE : Initializing engine, version 192142 +05:12:50.862 ENGINE : CLI Params: -gproj Z:/home/jakub/devel/escapistsrereintroduced/addons/chat/addon.gproj -addonsDir Z:/home/jakub/devel/escapistsrereintroduced/addons -profile Z:/tmp/erri-workbench-profile -logconsole -wbModule WorldEditor -load Worlds/ERR_Everon.ent -plugin ERR_ValidateWorldPlugin -errPlay 1 -errSmoke 1 -errSmokeOutcome victory -noThrow -errStationTeardownDiag 1 +05:12:50.873 ENGINE : Addon dirs: +05:12:50.873 ENGINE : dir: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/chat/' +05:12:50.873 ENGINE : dir: 'Z:/home/jakub/devel/escapistsrereintroduced/addons' +05:12:50.873 ENGINE : dir: './addons' +05:12:50.873 ENGINE : dir: 'Z:/tmp/erri-workbench-profile/addons' +05:12:50.873 ENGINE : Available addons: +05:12:50.873 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/chat/addon.gproj' guid: 'FA804F411BDDF2C6' +05:12:50.873 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/ai/addon.gproj' guid: '5192138CB9D5B911' +05:12:50.873 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/core/addon.gproj' guid: '2528466DE220D91C' +05:12:50.873 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/intel/addon.gproj' guid: 'D31039C7C53E348A' +05:12:50.873 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/map/addon.gproj' guid: '9AAEE9041D79809E' +05:12:50.873 ENGINE : gproj: './addons/core/core.gproj' guid: '5614BBCCBB55ED1C' (packed) +05:12:50.873 ENGINE : gproj: 'Z:/tmp/erri-workbench-profile/addons/ArmaReforger/ArmaReforger.gproj' guid: '58D0FB3206B6F859' (packed) +05:12:50.873 ENGINE : FileSystem: Adding relative directory 'Z:\home\jakub\devel\escapistsrereintroduced\addons\chat' to filesystem under name ERR_Chat +05:12:50.874 ENGINE : FileSystem: Adding relative directory 'Z:\home\jakub\devel\escapistsrereintroduced\addons\map' to filesystem under name ERR_Map +05:12:50.874 ENGINE : FileSystem: Adding relative directory 'Z:\home\jakub\devel\escapistsrereintroduced\addons\intel' to filesystem under name ERR_Intel +05:12:50.874 ENGINE : FileSystem: Adding relative directory 'Z:\home\jakub\devel\escapistsrereintroduced\addons\ai' to filesystem under name ERR_Ai +05:12:50.874 ENGINE : FileSystem: Adding relative directory 'Z:\home\jakub\devel\escapistsrereintroduced\addons\core' to filesystem under name ERR_Core +05:12:51.005 ENGINE : FileSystem: Adding package 'Z:/tmp/erri-workbench-profile/addons/ArmaReforger/' (pak count: 14) to filesystem under name ArmaReforger +05:12:51.011 ENGINE : FileSystem: Adding package './addons/core/' (pak count: 2) to filesystem under name core +05:12:51.011 ENGINE : CPU vendor : AuthenticAMD +05:12:51.011 ENGINE : CPU type : 2 +05:12:51.011 ENGINE : CPU name : AMD Ryzen 7 3800XT 8-Core Processor +05:12:51.011 ENGINE : CPU cache info : L1 [Inst 32KB, Data 32KB], L2 [Unif 512KB], L3 [Unif 16384KB] +05:12:51.011 ENGINE : CPU count logical : 16 +05:12:51.011 ENGINE : CPU count physical : 8 +05:12:51.011 ENGINE : CPU features : mmx sse sse2 sse3 ssse3 sse4_1 sse4_2 popcnt aesni pclmulqdq osxsave avx sha avx2 +05:12:51.011 RESOURCES : ResourceDB: loading cache (id=0 name=ERR_Chat path=Z:\home\jakub\devel\escapistsrereintroduced\addons\chat/resourceDatabase.rdb) +05:12:51.012 RESOURCES : ResourceDB: loading cache (id=1 name=ERR_Map path=Z:\home\jakub\devel\escapistsrereintroduced\addons\map/resourceDatabase.rdb) +05:12:51.012 RESOURCES : ResourceDB: loading cache (id=2 name=ERR_Intel path=Z:\home\jakub\devel\escapistsrereintroduced\addons\intel/resourceDatabase.rdb) +05:12:51.013 RESOURCES : ResourceDB: loading cache (id=3 name=ERR_Ai path=Z:\home\jakub\devel\escapistsrereintroduced\addons\ai/resourceDatabase.rdb) +05:12:51.013 RESOURCES : ResourceDB: loading cache (id=4 name=ERR_Core path=Z:\home\jakub\devel\escapistsrereintroduced\addons\core/resourceDatabase.rdb) +05:12:51.014 RESOURCES : ResourceDB: loading cache (id=5 name=ArmaReforger path=Z:/tmp/erri-workbench-profile/addons/ArmaReforger/resourceDatabase.rdb) +05:12:51.181 RESOURCES : ResourceDB: loading cache (id=6 name=core path=./addons/core/resourceDatabase.rdb) +05:12:51.182 RESOURCES : ResourceDB: loading cache (id=7 name=profile path=Z:\tmp\erri-workbench-profile\profile/resourceDatabase.rdb) +05:12:51.183 RESOURCES : ResourceDB: loading cache (id=8 name=logs path=Z:\tmp\erri-workbench-profile\logs\logs_2026-09-19_05-12-49/resourceDatabase.rdb) +05:12:51.325 RESOURCES : RESOURCES : ResourceDB: full scan +05:12:51.330 RESOURCES : RESOURCES : scanning... +05:12:51.330 RESOURCES : RESOURCES : scanning @"ERR_Chat" +05:12:51.331 RESOURCES : RESOURCES : scanning @"ERR_Map" +05:12:51.333 RESOURCES : RESOURCES : scanning @"ERR_Intel" +05:12:51.334 RESOURCES : RESOURCES : scanning @"ERR_Ai" +05:12:51.334 RESOURCES : RESOURCES : scanning @"ERR_Core" +05:12:51.337 RESOURCES : RESOURCES : scanning @"ArmaReforger" +05:12:51.469 RESOURCES : RESOURCES : scanning @"core" +05:12:51.472 RESOURCES : RESOURCES : scanning @"profile" +05:12:51.472 RESOURCES : RESOURCES : scanning @"logs" +05:12:51.473 RESOURCES : RESOURCES : processing meta-files... +05:12:51.536 RESOURCES : RESOURCES : processing files... +05:12:51.547 INIT : Workbench startup +05:12:51.547 INIT : Workbench Init Engine +05:12:51.547 RESOURCES : ResourceDB: full scan +05:12:51.547 RESOURCES : processing files... +05:12:51.547 RESOURCES (W): resource not registered: @"$profile:rereintroduced.json". Setting null GUID +05:12:51.547 RESOURCES (W): resource not registered: @"$logs:launch-source-sha256.json". Setting null GUID +05:12:51.547 RESOURCES (W): resource not registered: @"$logs:launch-source.json". Setting null GUID +05:12:51.547 RESOURCES : RESOURCES : processing folders... +05:12:51.553 RESOURCES : RESOURCES : creating GUID-item mapping... +05:12:51.570 RESOURCES : RESOURCES : building tree... +05:12:51.636 PROFILING : ResourceDB: full scan took: 310.946800 ms +05:12:51.637 RESOURCES : ResourceDB: saving cache (id=0 name=ERR_Chat path=Z:\home\jakub\devel\escapistsrereintroduced\addons\chat/resourceDatabase.rdb) +05:12:51.639 RESOURCES : ResourceDB: written 630/630 bytes +05:12:51.639 RESOURCES : ResourceDB: cache successfully saved +05:12:51.639 RESOURCES : ResourceDB: saving cache (id=1 name=ERR_Map path=Z:\home\jakub\devel\escapistsrereintroduced\addons\map/resourceDatabase.rdb) +05:12:51.640 RESOURCES : ResourceDB: written 750/750 bytes +05:12:51.640 RESOURCES : ResourceDB: cache successfully saved +05:12:51.640 RESOURCES : ResourceDB: saving cache (id=2 name=ERR_Intel path=Z:\home\jakub\devel\escapistsrereintroduced\addons\intel/resourceDatabase.rdb) +05:12:51.642 RESOURCES : ResourceDB: written 227/227 bytes +05:12:51.642 RESOURCES : ResourceDB: cache successfully saved +05:12:51.642 RESOURCES : ResourceDB: saving cache (id=3 name=ERR_Ai path=Z:\home\jakub\devel\escapistsrereintroduced\addons\ai/resourceDatabase.rdb) +05:12:51.643 RESOURCES : ResourceDB: written 985/985 bytes +05:12:51.643 RESOURCES : ResourceDB: cache successfully saved +05:12:51.643 RESOURCES : ResourceDB: saving cache (id=4 name=ERR_Core path=Z:\home\jakub\devel\escapistsrereintroduced\addons\core/resourceDatabase.rdb) +05:12:51.646 RESOURCES : ResourceDB: written 4000/4000 bytes +05:12:51.646 RESOURCES : ResourceDB: cache successfully saved +05:12:51.647 RESOURCES : ResourceDB: saving cache (id=7 name=profile path=Z:\tmp\erri-workbench-profile\profile/resourceDatabase.rdb) +05:12:51.649 RESOURCES : ResourceDB: written 206/206 bytes +05:12:51.649 RESOURCES : ResourceDB: cache successfully saved +05:12:51.649 RESOURCES : ResourceDB: saving cache (id=8 name=logs path=Z:\tmp\erri-workbench-profile\logs\logs_2026-09-19_05-12-49/resourceDatabase.rdb) +05:12:51.652 RESOURCES : ResourceDB: written 162/162 bytes +05:12:51.652 RESOURCES : ResourceDB: cache successfully saved +05:12:51.652 ENGINE : GameProject load +05:12:51.652 ENGINE : Loaded addons: +05:12:51.652 ENGINE : gproj: './addons/core/core.gproj' guid: '5614BBCCBB55ED1C' +05:12:51.652 ENGINE : gproj: 'Z:/tmp/erri-workbench-profile/addons/ArmaReforger/ArmaReforger.gproj' guid: '58D0FB3206B6F859' +05:12:51.652 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/core/addon.gproj' guid: '2528466DE220D91C' +05:12:51.652 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/ai/addon.gproj' guid: '5192138CB9D5B911' +05:12:51.652 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/intel/addon.gproj' guid: 'D31039C7C53E348A' +05:12:51.652 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/map/addon.gproj' guid: '9AAEE9041D79809E' +05:12:51.652 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/chat/addon.gproj' guid: 'FA804F411BDDF2C6' +05:12:51.656 ENGINE : Loading custom engine user config '$profile:.save/app1874910_user76561198020202999/settings/ReforgerEngineSettings.conf' +05:12:51.656 INIT : GameProject engine user settings load @"$profile:.save/app1874910_user76561198020202999/settings/ReforgerEngineSettings.conf" +05:12:51.656 ENGINE : Engine user settings config loaded +05:12:51.656 PROFILING : Settings changed took: 0.002000 ms +05:12:51.764 RENDER : (OK) Adapter 'AMD Radeon RX 6950 XT (RADV NAVI21)' supports feature level 12_0 +05:12:51.765 RENDER : Basic screen setup: +05:12:51.765 RENDER : Back buffer format : TEXFMT_R8G8B8A8_SRGB (29) +05:12:51.765 RENDER : MSAA : none +05:12:51.779 RENDER : AMD AGS library initialized, version 6.1.0 x DLL 6.1.0 +05:12:51.779 RENDER : Extendeded AMD info for AMD Radeon RX 6950 XT (RADV NAVI21) (primary device) +05:12:51.779 RENDER : * architecture RDNA2, 80 CUs, 40 WGPs (for RDNA), 64 ROPs +05:12:51.779 RENDER : * core clocks 2720 MHz, memory 1124 MHz +05:12:51.780 RENDER : * TFlops 27.9, memory bandwidth (562.0 GB/s) +05:12:51.780 RENDER : AMD AGS correctly initialized +05:12:51.780 RENDER : GPU_ATI (0x1002) (AMD Radeon RX 6950 XT (RADV NAVI21)) with 1 GPU detected, VRAM 16128MB (fast 0MB), shared 64362MB, driver version 99.19.02-230831a-396538C-AMD-Software-Adrenalin-Edition +05:12:51.780 RENDER : Detected output devices: +05:12:51.780 RENDER : * 1 device/s connected to AMD Radeon RX 6950 XT (RADV NAVI21): +05:12:51.780 RENDER : Generic Non-PnP Monitor (\\.\DISPLAY1), 1280x720 (offset 0x0), 30Hz +05:12:51.780 RENDER : Concurrent frames limit 2 +05:12:51.853 RENDER : DX12 device successfully created by AMD AGS library +05:12:51.853 RENDER : * user markers not supported in this version AMD SW +05:12:51.853 RENDER : Graphics device features +05:12:51.853 RENDER : Needed: +05:12:51.853 RENDER : * Highest supported shader model: 6.8 (6.0 needed) +05:12:51.853 RENDER : Optional: +05:12:51.853 RENDER : * Allow tearing (VSYNC) : 1 +05:12:51.853 RENDER : * 16 bits : 1 +05:12:51.853 RENDER : * Resource heap tier : 3 +05:12:51.853 RENDER : * Persistent heaps (DRED) : 1 +05:12:51.853 RENDER : * DRED 1.2 is supported by compiler +05:12:51.874 RENDER : Main RT format setup. +05:12:51.874 RENDER : Main RT format for quality 0 : TEXFMT_R11G11B10_FLOAT (26) +05:12:51.874 RENDER : Main RT format for quality 1 : TEXFMT_R16G16B16A16_FLOAT (10) +05:12:51.876 ENGINE : Job system settings: coreCount=16, shortJobContextCount=16, shortJobThreadCount=15, longJobThreadCount=16 +05:12:51.901 PROFILING : Settings changed took: 0.017900 ms +05:12:52.392 AUDIO : Endpoint: Speakers (PulseAudio Output) +05:12:52.392 AUDIO : Format: Channels: 2, Sample rate: 48kHz, Avg. bytes: 384kB, Sample bits: 32, Block align: 8B +05:12:52.392 AUDIO : Audio client: +05:12:52.392 AUDIO : Format: Channels: 2, Sample rate: 48kHz, Buffer size: 1536B, Frame: 512 +05:12:52.396 RENDER : RENDER : Reload shaders +05:12:52.396 RENDER : Enfusion shader version 13 +05:12:52.396 INIT : INIT : ShaderListReload +05:12:52.396 PROFILING : ShaderListReload took: 0.000800 ms +05:12:52.537 AUDIO : Endpoint: Speakers (PulseAudio Output) +05:12:52.537 AUDIO : Format: Channels: 2, Sample rate: 48kHz, Avg. bytes: 384kB, Sample bits: 32, Block align: 8B +05:12:52.537 AUDIO : Audio client: +05:12:52.537 AUDIO : Format: Channels: 2, Sample rate: 48kHz, Buffer size: 1536B, Frame: 512 +05:12:52.731 RENDER : Loaded 3752 newer shader binaries +05:12:52.731 PROFILING : Reload shaders took: 335.364400 ms +05:12:52.731 ENGINE : Initializing inputs. +05:12:52.744 NETWORK : Initializing networking. +05:12:52.744 NETWORK : Using new GameRplScheduler. +05:12:52.745 SCRIPT : SCRIPT : Initializing scripts +05:12:52.745 SCRIPT : SCRIPT : ScriptProjectManager init +05:12:54.905 PROFILING : ScriptProjectManager init took: 2159.539700 ms +05:12:54.990 PROFILING : Initializing scripts took: 2244.733700 ms +05:12:55.007 ENGINE : Enfusion engine successfully created. +05:12:55.007 PROFILING : Workbench Init Engine took: 4145.047900 ms +05:12:55.007 INIT : INIT : Workbench Create Game +05:12:55.019 GUI : Using default language (en_us) +05:12:55.019 GUI : Loading 'en_us' localization file. +05:12:55.019 INIT : INIT : Loading StringTable +05:12:55.043 PROFILING : Loading StringTable took: 23.602400 ms +05:12:55.043 SCRIPT : SCRIPT : Compiling GameLib scripts +05:12:55.110 SCRIPT : Module: Workbench; loaded 18x files; 36x classes; used 125K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE"; CRC32: 90ce0460 +05:12:55.110 SCRIPT : Module: GameLib; loaded 465x files; 648x classes; used 828K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE"; CRC32: 4507af04 +05:12:55.111 PROFILING : Compiling GameLib scripts took: 67.821700 ms +05:12:55.111 SCRIPT : SCRIPT : Compiling Game scripts +05:12:56.339 INIT : Workbench Create Game +05:12:56.339 SCRIPT : Compiling Game scripts +05:12:56.339 SCRIPT (W): @"Scripts/Game/Editor/Components/EditableEntity/SCR_EditableEntityComponent.c,785": 'GetPlayerPlatformKind' is obsolete +05:12:56.339 SCRIPT (W): @"Scripts/Game/Editor/Components/EditableEntity/SCR_EditableEntityComponent.c,786": 'GetPlayerPlatformId' is obsolete +05:12:56.591 SCRIPT (W): @"Scripts/Game/ERR/ERR_SiteService.c,140": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +05:12:56.602 SCRIPT (W): @"Scripts/Game/Workshop/SCR_AddonManager.c,876": 'GetRefCount' is obsolete: Will be removed +05:12:56.633 SCRIPT (W): @"Scripts/Game/Campaign/SCR_PlayerProfileManagerComponent.c,142": 'PlayerData' is obsolete +05:12:56.735 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,159": 'GetDSSession' is obsolete +05:12:56.735 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,162": 'RoomID' is obsolete +05:12:56.735 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,197": 'GetDSSession' is obsolete +05:12:56.735 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,201": 'RoomID' is obsolete +05:12:56.825 SCRIPT (W): @"Scripts/Game/DataCollection/SCR_DataCollectorComponent.c,481": 'GetStorage' is obsolete +05:12:56.825 SCRIPT (W): @"Scripts/Game/DataCollection/SCR_DataCollectorComponent.c,483": 'GetOnlineWritePrivilege' is obsolete +05:12:56.826 SCRIPT (W): @"Scripts/Game/Utilities/SCR_PlayerIdentityUtils.c,20": 'GetPlayerIdentityId' is obsolete +05:12:56.844 SCRIPT (E): @"Scripts/Game/ERR/ERR_NativeSmoke.c,153": Types 'ERR_NativeRadioProbe' and 'ERR_NativeRadioDefenceProbe' are unrelated +05:12:56.844 SCRIPT (E): @"Scripts/Game/ERR/ERR_NativeSmoke.c,326": Cannot convert 'ERR_HQ' to 'float' for argument '0' in method 'Tick' +05:12:56.844 SCRIPT (E): @"Scripts/Game/ERR/ERR_NativeSmoke.c,326": Too many parameters for 'Tick' method +05:12:56.868 SCRIPT (W): @"Scripts/Game/ERR/ERR_ExtractionService.c,45": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +05:12:56.868 SCRIPT (W): @"Scripts/Game/ERR/ERR_ExtractionService.c,56": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +05:12:56.869 SCRIPT (W): @"Scripts/Game/UI/Menu/MainMenuUI.c,643": 'GetNotifyCount' is obsolete: Will be substitued by Notification Api. +05:12:56.869 SCRIPT (W): @"Scripts/Game/UI/Menu/MainMenuUI.c,645": 'GetNotifyItem' is obsolete: Will be substitued by Notification Api. +05:12:56.893 SCRIPT (W): @"Scripts/Game/ERR/ERR_NativeTransportProbe.c,82": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +05:12:56.925 SCRIPT (W): @"Scripts/Game/DataCollection/PlayerData/SCR_PlayerData.c,210": 'PlayerData' is obsolete +05:12:56.928 SCRIPT (E): @"Scripts/Game/UI/Menu/ContentBrowser/Common/SCR_ScenarioUICommon.c,452": Can't find class Tuple2 +05:12:56.928 SCRIPT (E): @"Scripts/Game/UI/Menu/ContentBrowser/Common/SCR_ScenarioUICommon.c,517": Can't find class Tuple2 +05:12:56.937 SCRIPT (E): Can't compile "Game" script module! + +Scripts/Game/ERR/ERR_NativeSmoke.c(153): Types 'ERR_NativeRadioProbe' and 'ERR_NativeRadioDefenceProbe' are unrelated diff --git a/docs/evidence/native-2026-09-19-051249-companion-fixture-name-failure/error.log.txt b/docs/evidence/native-2026-09-19-051249-companion-fixture-name-failure/error.log.txt new file mode 100644 index 0000000..a024607 --- /dev/null +++ b/docs/evidence/native-2026-09-19-051249-companion-fixture-name-failure/error.log.txt @@ -0,0 +1,38 @@ +--------------------------------------------- +Log Z:\tmp\erri-workbench-profile\logs\logs_2026-09-19_05-12-49\error.log started at 2026-09-19 05:12:51 (2026-09-19 03:12:51 UTC) + +05:12:51.547 INIT : Workbench startup +05:12:51.547 INIT : Workbench Init Engine +05:12:51.547 RESOURCES : ResourceDB: full scan +05:12:51.547 RESOURCES : processing files... +05:12:51.547 RESOURCES (W): resource not registered: @"$profile:rereintroduced.json". Setting null GUID +05:12:51.547 RESOURCES (W): resource not registered: @"$logs:launch-source-sha256.json". Setting null GUID +05:12:51.547 RESOURCES (W): resource not registered: @"$logs:launch-source.json". Setting null GUID +05:12:56.339 INIT : Workbench Create Game +05:12:56.339 SCRIPT : Compiling Game scripts +05:12:56.339 SCRIPT (W): @"Scripts/Game/Editor/Components/EditableEntity/SCR_EditableEntityComponent.c,785": 'GetPlayerPlatformKind' is obsolete +05:12:56.339 SCRIPT (W): @"Scripts/Game/Editor/Components/EditableEntity/SCR_EditableEntityComponent.c,786": 'GetPlayerPlatformId' is obsolete +05:12:56.591 SCRIPT (W): @"Scripts/Game/ERR/ERR_SiteService.c,140": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +05:12:56.602 SCRIPT (W): @"Scripts/Game/Workshop/SCR_AddonManager.c,876": 'GetRefCount' is obsolete: Will be removed +05:12:56.633 SCRIPT (W): @"Scripts/Game/Campaign/SCR_PlayerProfileManagerComponent.c,142": 'PlayerData' is obsolete +05:12:56.735 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,159": 'GetDSSession' is obsolete +05:12:56.735 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,162": 'RoomID' is obsolete +05:12:56.735 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,197": 'GetDSSession' is obsolete +05:12:56.735 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,201": 'RoomID' is obsolete +05:12:56.825 SCRIPT (W): @"Scripts/Game/DataCollection/SCR_DataCollectorComponent.c,481": 'GetStorage' is obsolete +05:12:56.825 SCRIPT (W): @"Scripts/Game/DataCollection/SCR_DataCollectorComponent.c,483": 'GetOnlineWritePrivilege' is obsolete +05:12:56.826 SCRIPT (W): @"Scripts/Game/Utilities/SCR_PlayerIdentityUtils.c,20": 'GetPlayerIdentityId' is obsolete +05:12:56.844 SCRIPT (E): @"Scripts/Game/ERR/ERR_NativeSmoke.c,153": Types 'ERR_NativeRadioProbe' and 'ERR_NativeRadioDefenceProbe' are unrelated +05:12:56.844 SCRIPT (E): @"Scripts/Game/ERR/ERR_NativeSmoke.c,326": Cannot convert 'ERR_HQ' to 'float' for argument '0' in method 'Tick' +05:12:56.844 SCRIPT (E): @"Scripts/Game/ERR/ERR_NativeSmoke.c,326": Too many parameters for 'Tick' method +05:12:56.868 SCRIPT (W): @"Scripts/Game/ERR/ERR_ExtractionService.c,45": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +05:12:56.868 SCRIPT (W): @"Scripts/Game/ERR/ERR_ExtractionService.c,56": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +05:12:56.869 SCRIPT (W): @"Scripts/Game/UI/Menu/MainMenuUI.c,643": 'GetNotifyCount' is obsolete: Will be substitued by Notification Api. +05:12:56.869 SCRIPT (W): @"Scripts/Game/UI/Menu/MainMenuUI.c,645": 'GetNotifyItem' is obsolete: Will be substitued by Notification Api. +05:12:56.893 SCRIPT (W): @"Scripts/Game/ERR/ERR_NativeTransportProbe.c,82": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +05:12:56.925 SCRIPT (W): @"Scripts/Game/DataCollection/PlayerData/SCR_PlayerData.c,210": 'PlayerData' is obsolete +05:12:56.928 SCRIPT (E): @"Scripts/Game/UI/Menu/ContentBrowser/Common/SCR_ScenarioUICommon.c,452": Can't find class Tuple2 +05:12:56.928 SCRIPT (E): @"Scripts/Game/UI/Menu/ContentBrowser/Common/SCR_ScenarioUICommon.c,517": Can't find class Tuple2 +05:12:56.937 SCRIPT (E): Can't compile "Game" script module! + +Scripts/Game/ERR/ERR_NativeSmoke.c(153): Types 'ERR_NativeRadioProbe' and 'ERR_NativeRadioDefenceProbe' are unrelated diff --git a/docs/evidence/native-2026-09-19-051249-companion-fixture-name-failure/headless-launch.log.txt b/docs/evidence/native-2026-09-19-051249-companion-fixture-name-failure/headless-launch.log.txt new file mode 100644 index 0000000..d72fcb3 --- /dev/null +++ b/docs/evidence/native-2026-09-19-051249-companion-fixture-name-failure/headless-launch.log.txt @@ -0,0 +1,131 @@ +[gamescope] [Info] console: gamescope version 3.16.28 (gcc 16.2.1) +No CAP_SYS_NICE, falling back to regular-priority compute and threads. +Performance will be affected. +[gamescope] [Info] scriptmgr: Loading scripts from: '/usr/share/gamescope/scripts' +[gamescope] [Info] scriptmgr: Loading scripts from: '/usr/share/gamescope/scripts/00-gamescope' +[gamescope] [Info] scriptmgr: Loading scripts from: '/usr/share/gamescope/scripts/00-gamescope/common' +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/common/inspect.lua' (id: 0) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/common/modegen.lua' (id: 1) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/common/util.lua' (id: 2) +[gamescope] [Info] scriptmgr: Loading scripts from: '/usr/share/gamescope/scripts/00-gamescope/displays' +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/asus.rogally.lcd.lua' (id: 3) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/deckhd.steamdeck.deckhd-lcd.lua' (id: 4) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/gpd.win4.lcd.lua' (id: 5) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/lenovo.legiongo.lcd.lua' (id: 6) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/lenovo.legiongos.lcd.lua' (id: 7) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/onexplayer.f1.oled.lua' (id: 8) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/valve.steamdeck.lcd.lua' (id: 9) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/valve.steamdeck.oled.lua' (id: 10) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/zotac.zone.oled.lua' (id: 11) +[gamescope] [Info] scriptmgr: Loading scripts from: '/etc/gamescope/scripts' +[gamescope] [Warn] scriptmgr: Directory '/etc/gamescope/scripts' does not exist +[gamescope] [Info] scriptmgr: Loading scripts from: '/home/jakub/.config/gamescope/scripts' +[gamescope] [Warn] scriptmgr: Directory '/home/jakub/.config/gamescope/scripts' does not exist +[gamescope] [Info] vulkan: selecting physical device 'AMD Radeon RX 6950 XT (RADV NAVI21)': queue family 1 (general queue family 0) +[gamescope] [Info] vulkan: physical device supports DRM format modifiers +[gamescope] [Info] wlserver: [backend/headless/backend.c:60] Creating headless backend +[gamescope] [Info] vulkan: supported DRM formats for sampling usage: +[gamescope] [Info] vulkan: AR24 (0x34325241) +[gamescope] [Info] vulkan: XR24 (0x34325258) +[gamescope] [Info] vulkan: AB24 (0x34324241) +[gamescope] [Info] vulkan: XB24 (0x34324258) +[gamescope] [Info] vulkan: RG16 (0x36314752) +[gamescope] [Info] vulkan: NV12 (0x3231564E) +[gamescope] [Info] vulkan: AB4H (0x48344241) +[gamescope] [Info] vulkan: XB4H (0x48344258) +[gamescope] [Info] vulkan: AB48 (0x38344241) +[gamescope] [Info] vulkan: XB48 (0x38344258) +[gamescope] [Info] vulkan: AB30 (0x30334241) +[gamescope] [Info] vulkan: XB30 (0x30334258) +[gamescope] [Info] vulkan: AR30 (0x30335241) +[gamescope] [Info] vulkan: XR30 (0x30335258) +[gamescope] [Info] wlserver: Using explicit sync when available +[gamescope] [Info] wlserver: Running compositor on wayland display 'gamescope-0' +[gamescope] [Info] wlserver: [backend/headless/backend.c:17] Starting headless backend +[gamescope] [Info] wlserver: Successfully initialized libei for input emulation! +[gamescope] [Error] wlserver: [xwayland/sockets.c:47] Failed to bind socket @/tmp/.X11-unix/X0: Address already in use +[gamescope] [Info] wlserver: [xwayland/server.c:108] Starting Xwayland on :2 +The XKEYBOARD keymap compiler (xkbcomp) reports: +> Warning: Multiple symbols for level 1/group 1 on key +> Using F23, ignoring XF86TouchpadOff +> Warning: Symbol map for key redefined +> Using last definition for conflicting fields +> Warning: Symbol map for key redefined +> Using last definition for conflicting fields +> Warning: Could not resolve keysym XF86ElectronicPrivacyScreenOn +> Warning: Could not resolve keysym XF86ElectronicPrivacyScreenOff +> Warning: Could not resolve keysym XF86ActionOnSelection +> Warning: Could not resolve keysym XF86ContextualInsert +> Warning: Could not resolve keysym XF86ContextualQuery +Errors from xkbcomp are not fatal to the X server +[gamescope] [Info] pipewire: stream state changed: connecting +[gamescope] [Info] pipewire: stream state changed: paused +[gamescope] [Info] pipewire: stream available on node ID: 173 +[gamescope] [Info] vblank: Using timerfd. +fsync: up and running. +[Gamescope WSI] No application info given. +[Gamescope WSI] Executable name: explorer.exe +ATTENTION: default value of option vk_wsi_force_swapchain_to_current_extent overridden by environment. +[Gamescope WSI] Application info: + pApplicationName: xalia.exe + applicationVersion: 0 + pEngineName: DXVK + engineVersion: 12587008 + apiVersion: 4206592 +[Gamescope WSI] Executable name: xalia.exe +ATTENTION: default value of option vk_wsi_force_swapchain_to_current_extent overridden by environment. +[Gamescope WSI] No application info given. +[Gamescope WSI] Application info: + pApplicationName: ArmaReforgerWorkbenchSteamDiag.exe + applicationVersion: 1 + pEngineName: DXVK + engineVersion: 12587008 + apiVersion: 4206592 +[Gamescope WSI] Executable name: ArmaReforgerWorkbenchSteamDiag.exe +ATTENTION: default value of option vk_wsi_force_swapchain_to_current_extent overridden by environment. +[Gamescope WSI] No application info given. +The XKEYBOARD keymap compiler (xkbcomp) reports: +> Warning: Unsupported maximum keycode 709, clipping. +> X11 cannot support keycodes above 255. +> Warning: Virtual modifier Hyper multiply defined +> Using 0, ignoring 0 +> Warning: Virtual modifier ScrollLock multiply defined +> Using 0, ignoring 0 +Errors from xkbcomp are not fatal to the X server +ATTENTION: default value of option vk_wsi_force_swapchain_to_current_extent overridden by environment. +[Gamescope WSI] Application info: + pApplicationName: ArmaReforgerWorkbenchSteamDiag.exe + applicationVersion: 0 + pEngineName: DXVK + engineVersion: 12587008 + apiVersion: 4206592 +ATTENTION: default value of option vk_wsi_force_swapchain_to_current_extent overridden by environment. +[Gamescope WSI] Application info: + pApplicationName: ArmaReforgerWorkbenchSteamDiag.exe + applicationVersion: 0 + pEngineName: vkd3d + engineVersion: 12587008 + apiVersion: 4206592 +[Gamescope WSI] Forcing on VK_EXT_swapchain_maintenance1. +ATTENTION: default value of option vk_wsi_force_swapchain_to_current_extent overridden by environment. +[Gamescope WSI] No application info given. +ATTENTION: default value of option vk_wsi_force_swapchain_to_current_extent overridden by environment. +[Gamescope WSI] Application info: + pApplicationName: ArmaReforgerWorkbenchSteamDiag.exe + applicationVersion: 0 + pEngineName: vkd3d + engineVersion: 12587008 + apiVersion: 4206592 +[Gamescope WSI] Forcing on VK_EXT_swapchain_maintenance1. +[Gamescope WSI] Creating Gamescope surface: xid: 0x1a001a4 +[Gamescope WSI] Atom of T was wrong type. Expected XCB_ATOM_CARDINAL. +[Gamescope WSI] Made gamescope surface for xid: 0x1a001a4 +[Gamescope WSI] Surface state: + steam app id: 1874910 + window xid: 0x1a001a4 + wayland surface res id: 5 + layer client flags: 0x4 + server hdr output enabled: false + hdr formats exposed to client: false +[gamescope] [Info] launch: Primary child shut down! +(EE) failed to read Wayland events: Broken pipe diff --git a/docs/evidence/native-2026-09-19-051249-companion-fixture-name-failure/launch-source-sha256.json b/docs/evidence/native-2026-09-19-051249-companion-fixture-name-failure/launch-source-sha256.json new file mode 100644 index 0000000..af71a5b --- /dev/null +++ b/docs/evidence/native-2026-09-19-051249-companion-fixture-name-failure/launch-source-sha256.json @@ -0,0 +1,118 @@ +{ + "addons/ai/Prefabs/ERR/MortarCrew.et": "05d3e7353ff9fe5523218a1487b31b7b742b0be8adbcb060c7099978cf008bce", + "addons/ai/Prefabs/ERR/MortarCrew.et.meta": "fdfd4fcd21a67c3d698fa4aadc4e5c76e665cebf4be86013bc389e493fab63cc", + "addons/ai/Scripts/Game/ERR/ERR_HQ.c": "ceafd6740ed277748744ce56ac0f0bb3a8521fcc060dafb2cdb99896aedf405a", + "addons/ai/Scripts/Game/ERR/ERR_HQJournal.c": "b3e402cfe92d415f37f666045afb062e6e11670ba03a0ca6f2d9fd4fc3520ac1", + "addons/ai/Scripts/Game/ERR/ERR_HQNetwork.c": "92ff2caca52e94c2cc9642dfc8509ce6e9349b257012bade8650bace9231128c", + "addons/ai/Scripts/Game/ERR/ERR_HQObservation.c": "36c978ec5f052213ac1236e1398d85063efbfd7ef60fe04f1fc11447fefe1d68", + "addons/ai/Scripts/Game/ERR/ERR_HQReport.c": "c4d16ccb571db4d9444c0a8d2be7318845d25ff90238b6d304e96a9ea19f1a08", + "addons/ai/Scripts/Game/ERR/ERR_HelicopterAvailability.c": "60eaef2f6d4b2fd44861c5a4434ef97e732e40a5ff7401e2da451ed2dd9c2762", + "addons/ai/Scripts/Game/ERR/ERR_MortarBattery.c": "66b8f16b692a0f75fc9d920f5224d9292a0f1dc7dd8b2dde912e676fa80ddc9c", + "addons/ai/Scripts/Game/ERR/ERR_MortarFiring.c": "657e96d1112b68c8ced37793e99f88e6078b38a579190e63d00b1f9a9a032e26", + "addons/ai/Scripts/Game/ERR/ERR_MortarPrediction.c": "470dd196ed64800c697d24c09d1344bacd2502587fac76af4ee0edae2563092d", + "addons/ai/Scripts/Game/ERR/ERR_MortarSalvo.c": "697c01f479df6c505a41d984a29c02002e3052114dafa2ec6252ae55e2979a2b", + "addons/ai/Scripts/Game/ERR/ERR_MortarSystem.c": "12d8fc39d47e03c3838e0642aa9e4a80baf60f250357493bff812d5c75812c86", + "addons/ai/Scripts/Game/ERR/ERR_SettlementSafety.c": "e5c0ebc95521a9a33a3f7d9cca6c551dda862a08b7af20b017877aba9584795b", + "addons/ai/Scripts/Game/ERR/ERR_SupportScenario.c": "71757018ec9716c4dc24f62a292a214919d3fd5daed3c16e03e56abd208e9f03", + "addons/ai/addon.gproj": "5f559db8f526700db11e6ae763f5245f19b7006fc68c56e4c09fb6f940bdf2a1", + "addons/chat/Missions/ERR_Everon.conf": "76f3ac0d21b585654beac7ddd68e3c8cbdd66dbfe909b17b04838fa813a7c29b", + "addons/chat/Missions/ERR_Everon.conf.meta": "0a23c98bf83873536c65fa17d38dea33a1d7b9e4ab210f90633ff688abcc551f", + "addons/chat/Scripts/Game/ERR/ERR_AdminCommands.c": "7ea6d6b240524cf0193c86fcab861fbdef9adca780acff11ee73f9ed0e99ce7b", + "addons/chat/Scripts/Game/ERR/ERR_NativeMortarProbe.c": "ddb892141500c192c0787b011d57dd8c07dd8c9a3ca5fdc407f6c271897bde0a", + "addons/chat/Scripts/Game/ERR/ERR_NativeRadioProbe.c": "84524163c63402755b4f834f74dfe6d8e5c397dc26031f532593c6f79f5a93b1", + "addons/chat/Scripts/Game/ERR/ERR_NativeSmoke.c": "0ab2fed95dcaa0442cf7feb25743308060d58497e347f17dbd25c8e970a9f81f", + "addons/chat/Scripts/WorkbenchGame/ERR/ERR_ValidateWorldPlugin.c": "81c92d408ce88cc9f98d6053f1d0c863427693ba748f00df9f1bf8079015ef94", + "addons/chat/addon.gproj": "ea1587e0174cf795334d306c71d99b06797fc891427cd57b6cab6e21cf0e4e0e", + "addons/core/Configs/ERR/EveronSites.conf": "2edb2c6983eb627800b65d9e244b9b228e0b82282e089c7b12e5a8921a2ea7bf", + "addons/core/Configs/ERR/EveronSites.conf.meta": "d5fe68025ef4e7c1e16082cf5873b7c7172eacbfaef4ab29b7e0e3c98f8dca56", + "addons/core/Configs/ERR/GameOverScreens.conf": "45231061911a1462d45fb6db0fecc2b0793f17b5ae71017174954ff4fbd20236", + "addons/core/Configs/ERR/GameOverScreens.conf.meta": "eb654b745c0b97b41c991694569ef4877a3c2315e0826f9556337cd68690843e", + "addons/core/Configs/ERR/VanillaFactions.conf": "f8b8b9898a16b4a4a55ab3c12d2547bef2dc433732c7643df980cb3aca715212", + "addons/core/Configs/ERR/VanillaFactions.conf.meta": "ac77725c0c21974991ef47a466b88122e939de8b46fd23e68889e7674cbb2bfd", + "addons/core/Missions/ERR_Everon_Base.conf": "1e6a0e9a756d15495201f71121626890f01efe6b00154c561672d4ec157960bd", + "addons/core/Missions/ERR_Everon_Base.conf.meta": "9b16267c644d815bcf98a3a3aaff30b93d7224fb24d3a2bac66730a28011f317", + "addons/core/Prefabs/ERR/Extraction.et": "1aa286ef253c5410f09fa641e4be91a7be8ec834487a7fbb74cfb45cab60ee1e", + "addons/core/Prefabs/ERR/Extraction.et.meta": "c2a838633001e2e3a202d39cb33aa744ebcd996017ad032359069641b5d13853", + "addons/core/Prefabs/ERR/FieldCover.et": "20f8095e69dbfe3db74ff19078e528ea75405362b335e03560ccd61f8df2e7f3", + "addons/core/Prefabs/ERR/FieldCover.et.meta": "83461ffa76244e1d69f20b053a9741ccdf7d127009182bd540a7e5ba6150c3d9", + "addons/core/Prefabs/ERR/GameMode.et": "385c97a5b8067091d92aa60c2d4fcf02002cf606b95523866ead65c96b8c0029", + "addons/core/Prefabs/ERR/GameMode.et.meta": "106769cd34525c9d440057072836cb7401a6752148c40edd7fe61c03bd58328c", + "addons/core/Prefabs/ERR/ObjectiveDocument.et": "2e72270bf186654af12d2c3ff9bf940690b03fb17fca44f873c1fde5d11384c0", + "addons/core/Prefabs/ERR/ObjectiveDocument.et.meta": "eaba9903be147b98a1106e2273e2270773df73b9b22f2cd4e20136a8e281382e", + "addons/core/Prefabs/ERR/Patrol.et": "c5685a8bc311cc5563fb3334beec9408d3d7a1069152fddeeb7df4f1b7f9e6ce", + "addons/core/Prefabs/ERR/Patrol.et.meta": "7c5da568fa2fcf0709ee2959253cb068d7c7ed7c2467af3b247a7e70efd96b69", + "addons/core/Prefabs/ERR/Prison.et": "1503db1441d8cd7a4f0b45c27ba9623b9fa39f0f81016e180bd2aa1379e1f42a", + "addons/core/Prefabs/ERR/Prison.et.meta": "2e426ef3de68f4107907854b51e818bc11d84649a01c538e3f18dd9ebec766bb", + "addons/core/Prefabs/ERR/PrisonDoor.et": "fc66be9d36f1f01084de59f1b0a1e8817f9e46547ead33d4fafaac0107446c40", + "addons/core/Prefabs/ERR/PrisonDoor.et.meta": "b8f3db52bf186426026668fbb9d633c3cbd4d438ab301fba880398f6a0e781c2", + "addons/core/Prefabs/ERR/PrisonWall.et": "8009d19365ae72a4749d7ad4fa04662575b06c65c6bf06507d380d57258b5eed", + "addons/core/Prefabs/ERR/PrisonWall.et.meta": "0294bc5dbb56f90f8153d62459bb0a6ad91d76a479812bbec9c7db182fdb58d6", + "addons/core/Prefabs/ERR/Radio.et": "b4b5cfe125b39019855816c9a1c508ca4d65d435b5546fdaa6c1fa3c8c9b1165", + "addons/core/Prefabs/ERR/Radio.et.meta": "bc91137b68ba550217914fb8892bb44d7e1920e4a1086f3e506623832a44212f", + "addons/core/Prefabs/ERR/SpectatorCamera.et": "b5b87d5b7b707f3745741aebe7c923067c8a74f8fbb2a4711834bab03bb5a812", + "addons/core/Prefabs/ERR/SpectatorCamera.et.meta": "2a16558f93915e31908a674509e9c89976470f78a84a1174a64b94b68b8f77ad", + "addons/core/Prefabs/ERR/SupplyCache.et": "bccf7afbaae97cfcdd78dd6dbbf4be5b2c045d348f50fe4581962e556c0044d7", + "addons/core/Prefabs/ERR/SupplyCache.et.meta": "2f5de3a4aab1e9d0e35521f48dc57b95bd6e449c383dec4f1c258e10295904cb", + "addons/core/Prefabs/ERR/SupplySite.et": "dc5decce5cabf39b6116e8794ec3960cb1e35761854fdbe69740da118787ded4", + "addons/core/Prefabs/ERR/SupplySite.et.meta": "b41944b12eb3528ff7a3ac94258b18c66ef161aa6a38894aee300a1ac4798630", + "addons/core/Scripts/Game/ERR/ERR_Actions.c": "adf93245e6d78c59b9839599d157a0d2b2b93ea93b3d1ae52e2904dd6c288266", + "addons/core/Scripts/Game/ERR/ERR_Actors.c": "b3c5aabb05f7cf35167bc09b5db51a4ffd89a46658805d6eedbfb80eee30273d", + "addons/core/Scripts/Game/ERR/ERR_AdminService.c": "047c14ce60cc0b167e202438f8f2b1063590e69ef88ea55b54598aea5f99c505", + "addons/core/Scripts/Game/ERR/ERR_DiscoveryMap.c": "2f4ea342fea0530061456be9cdce002d5e7a282e4e27eb88f3860e79f93612bf", + "addons/core/Scripts/Game/ERR/ERR_DiscoveryService.c": "6b5679447fe4a6d7d54c0545881ab56284f871556b3159207d421247f419eada", + "addons/core/Scripts/Game/ERR/ERR_DocumentComponent.c": "17bb76b80ebd3357e46d553c44674f602c7bd6901c92aec53ac8214194aa4ff2", + "addons/core/Scripts/Game/ERR/ERR_EscapeGameOverScreenInfo.c": "b1e1afb7795cb77c0bad94c85abf705b26b9dc2a9400905d80eafd56bdd009d3", + "addons/core/Scripts/Game/ERR/ERR_ExtractionService.c": "91357099b4e0401196b67d48963be54be30e56bdba57cdac67dc20b8ebb883e9", + "addons/core/Scripts/Game/ERR/ERR_FactionCatalog.c": "a5a8c53acf21259e14f59cb919535910f30dabff5a9179c664bc6a7a4d744d6e", + "addons/core/Scripts/Game/ERR/ERR_GameMode.c": "d766d1639378070bea64eef38baa4667f8b9f5f1a2a7b170f0fc5e8fd557917d", + "addons/core/Scripts/Game/ERR/ERR_Location.c": "d2035f56ded35743312ec6ca91a67f8623a466c91255e1893c570edf0954ff24", + "addons/core/Scripts/Game/ERR/ERR_MissionRules.c": "f7abc38ad8fdc375ce7fa63a65f0bade027d22b37e09de5e3f94ba8c3c63cc41", + "addons/core/Scripts/Game/ERR/ERR_NativeBaseSmoke.c": "128ce09f0d3f9a629aa3fcde1db0207249037de75b9dbdfadff141b43b1bfebf", + "addons/core/Scripts/Game/ERR/ERR_NativeContractsProbe.c": "d1556df885171cf967e96eef5d8981a2e9ee4e3938b7d32fdd0426f647bbabc0", + "addons/core/Scripts/Game/ERR/ERR_NativeDefinitionProbe.c": "d05ef8368ef5afa68e29f45843cb1878b5a09be768f8abdff2f4115c23759b01", + "addons/core/Scripts/Game/ERR/ERR_NativeExtractionProbe.c": "4b09385f73206de004f4f3c38a6192fd658a0d2012482dc5a84dff1599ceb972", + "addons/core/Scripts/Game/ERR/ERR_NativeLifecycleProbe.c": "89620ec1cc94e260ef72460b32c3291ffcc84cfe51afa907954b10229a711b2b", + "addons/core/Scripts/Game/ERR/ERR_NativeObjectiveProbe.c": "451f46d9a51753841046698911ee9954088214b6df856776a316865466fbce0f", + "addons/core/Scripts/Game/ERR/ERR_NativeRadioDefenceProbe.c": "cad54f0b43cefd72df74697dfc7e93725ff0acac6d311e963ce4f817428c272c", + "addons/core/Scripts/Game/ERR/ERR_NativeResultProbe.c": "b9a117eef2d5f65fbd792041a2b3e59e38e201bda8e0df8c503e1a1242cfc415", + "addons/core/Scripts/Game/ERR/ERR_NativeSiteSurvey.c": "ac0203753ade0cdff6d483132797a80e4520f14546c3f9dea288281cd4cd9c4f", + "addons/core/Scripts/Game/ERR/ERR_NativeStationTeardownDiagnostic.c": "c01cbdbfe25fd38916fa74f2c02333baaacd5228686fd6e40b33c27b3cea8ed8", + "addons/core/Scripts/Game/ERR/ERR_NativeTimeProbe.c": "c93d049785971e51246fcc07cf24804270a752a655505f2c38e48c80df5255ae", + "addons/core/Scripts/Game/ERR/ERR_NativeTransportProbe.c": "63ec0c5ce698114daa6314b2a6e3c3e98e76094117c477f9d0d072260686d193", + "addons/core/Scripts/Game/ERR/ERR_NativeTransportSurvey.c": "3e94493bf54d15be2bceb106ad18873e14e6755af09c05f07db7fb26fb7adff5", + "addons/core/Scripts/Game/ERR/ERR_ObjectiveDetails.c": "900bdcd11075230e0d311ca8725c1d7938cb2a4efa71360709003d90092a7e69", + "addons/core/Scripts/Game/ERR/ERR_ObjectiveText.c": "bbb29949194637e6781316836c895e2c0fa7ccdb547d4d944a717da2ad73b0a2", + "addons/core/Scripts/Game/ERR/ERR_Objectives.c": "88d95a52fcba103483ea751571e1afeae0e6fc82115ed50d6fc195424726960f", + "addons/core/Scripts/Game/ERR/ERR_Observer.c": "b719e723369ab4f403950c85226e1336eb48e3c127e84530ac1c695eb86bd0f9", + "addons/core/Scripts/Game/ERR/ERR_PlayerAdminCommands.c": "a084d7dc097dfcde3d6cd9c2e326b9e2f8f2a519f77b30c4f56ab7a1429aa721", + "addons/core/Scripts/Game/ERR/ERR_PlayerEscapeResult.c": "3124ab4d2d6d471409a47aba0af528790734df53243c03fe0cdac3e407047c14", + "addons/core/Scripts/Game/ERR/ERR_PlayerGuide.c": "2c9c365b88651f8b12618443638bf52c04e497221592bd483c33447e30468f36", + "addons/core/Scripts/Game/ERR/ERR_PlayerRoster.c": "a737ba739b3f73a91cd05d808a1d45070e83b5152c003c3164e29842dda51995", + "addons/core/Scripts/Game/ERR/ERR_RadioDefenceService.c": "85eb9c1b65d5987799927b6d8786b7299fcff849bcb15b91f8a4d1aa95823fd1", + "addons/core/Scripts/Game/ERR/ERR_Resources.c": "8a5314944f75b23982c6b99697045e3c0538aa2137b2c947a5b2411e6076ac03", + "addons/core/Scripts/Game/ERR/ERR_ScenarioComponent.c": "abba03af68323d5715ba1e2497fc66f3c706e6a6a983c3a386228abdfddeec89", + "addons/core/Scripts/Game/ERR/ERR_Settings.c": "2aee784e44c732e09f59150896491ab325ef5e62aa6bad725be1fda955a3f614", + "addons/core/Scripts/Game/ERR/ERR_SiteDefinition.c": "75b5121ceab77f0956f0dc34bd077b11af5586350de52321800427f18cc94477", + "addons/core/Scripts/Game/ERR/ERR_SiteService.c": "7ba02712562b3c8cd8de9851b6f26fed85020faacceef0767408b300b935c110", + "addons/core/Scripts/Game/ERR/ERR_SpawnFinalization.c": "2e295b0f225208c5414728ba83333e5e0ab6eef3a708ce39eb1dfce5400c94c9", + "addons/core/Scripts/Game/ERR/ERR_SpawnLogic.c": "64c2cef62d8a435eea396f057255b269d457935bf5d261221700739bf37240b8", + "addons/core/Scripts/Game/ERR/ERR_SpawnPlacement.c": "284db0d4a5ecd38f9c658c91ce943f4c0c30dcf4d31bb3edeea92e4ab0b1436a", + "addons/core/Scripts/Game/ERR/ERR_Supplies.c": "752e8a56b0b8cde33cf532032cb0a203553017b686faac2e19bee06f7a9c0713", + "addons/core/Scripts/Game/ERR/ERR_TimeService.c": "d9f481b7da01e08d2c982a948c18ba6bde76889d7cc9d26d510708f4ba479453", + "addons/core/Scripts/WorkbenchGame/ERR/ERR_ValidateBaseWorldPlugin.c": "7f44aa64ea7b4f8b3640a37a4b781c43bf6adb80e4a3a702d9491131698056f6", + "addons/core/Worlds/ERR_Everon.ent": "22324bc7eb0d80dec8a1f3bd61a9df9201b72f749f4e751766b0c9d0b7d46b87", + "addons/core/Worlds/ERR_Everon.ent.meta": "19d1903ca72baa326b4724a6791d0da1104a1e53f3f31dc1ca41a856efd68e83", + "addons/core/Worlds/ERR_Everon_Layers/default.layer": "f1a058bd315c7d01d464715ac9f4e18ae3d2432551d094a9afbd4c9c5a2a9416", + "addons/core/addon.gproj": "231274e6b62302f32c65f9ff31de2ce8a9e51e1c8d12c87deeec82ae1f40de46", + "addons/intel/Scripts/Game/ERR/ERR_IntelService.c": "482839434b94e7f8c345d5fd96490aeebb765f3dd0c1bb25fceea2f435c0e722", + "addons/intel/addon.gproj": "d0ced242cefb220a5cccd6779d61fda9bc55581701b9f78bcf13c09d92ddbcbe", + "addons/map/Materials/ERRM_MapRenderTarget.emat": "9877c5b175c5f30dd80bea36c711b21ab38219aa7075adf9ae79932e1d4c76bc", + "addons/map/Materials/ERRM_MapRenderTarget.emat.meta": "5ee1a705f8011a44020ca2691f5ccc17d44bf596fef9a36e98d1f267eb58fab0", + "addons/map/Prefabs/Items/Equipment/ERRM_SharedFieldMap.et": "30dee8e9eab459ea32a7d835a9fb89d43df47708057cab829f067b25a24cd581", + "addons/map/Prefabs/Items/Equipment/ERRM_SharedFieldMap.et.meta": "59093e9072c50d99c86da7609c87541016da5bcf92b98d99db4c524e1c8e0e8d", + "addons/map/Scripts/Game/ERR/ERR_ScenarioMap.c": "75fa1d742129ef7f33c005cd48f56db7f49ee7bde3c5428532b0b501b032b0a3", + "addons/map/Scripts/Game/ERRMap/ERRM_SharedMapComponent.c": "fc1a0c7df4fc96da446d7542a45a10fbec1eda1e543ba2f0581cb772277a47c5", + "addons/map/UI/layouts/ERRMap/SharedMapRenderTarget.layout": "49a2da4181b94d42174f58c7f9b6bf2207116c99427d61ff1c212092ac7db4d2", + "addons/map/UI/layouts/ERRMap/SharedMapRenderTarget.layout.meta": "5c846445cc089e2e08899ba703059d4adb805ff30ab5a16409a3cd59718cbd54", + "addons/map/addon.gproj": "1b371e5e01ea9fa46e76570fecb8aaa3a9298e34cba7ccca8a6bdb5ca86eb46a" +} diff --git a/docs/evidence/native-2026-09-19-051249-companion-fixture-name-failure/launch-source.json b/docs/evidence/native-2026-09-19-051249-companion-fixture-name-failure/launch-source.json new file mode 100644 index 0000000..f74712d --- /dev/null +++ b/docs/evidence/native-2026-09-19-051249-companion-fixture-name-failure/launch-source.json @@ -0,0 +1,46 @@ +{ + "schema_version": 1, + "launch_id": "805eaae4-52d0-4b9f-a195-2a73c7596134", + "captured_unix": 1789787568.1840758, + "source_root": "/home/jakub/devel/escapistsrereintroduced", + "command": [ + "gamescope", + "--backend", + "headless", + "-W", + "1280", + "-H", + "720", + "-w", + "1280", + "-h", + "720", + "-r", + "30", + "--", + "/home/jakub/.local/share/Steam/steamapps/common/Proton - Experimental/proton", + "run", + "/home/jakub/.local/share/Steam/steamapps/common/Arma Reforger Tools/Workbench/ArmaReforgerWorkbenchSteamDiag.exe", + "-gproj", + "Z:/home/jakub/devel/escapistsrereintroduced/addons/chat/addon.gproj", + "-addonsDir", + "Z:/home/jakub/devel/escapistsrereintroduced/addons", + "-profile", + "Z:/tmp/erri-workbench-profile", + "-logconsole", + "-wbModule=WorldEditor", + "-load", + "Worlds/ERR_Everon.ent", + "-plugin=ERR_ValidateWorldPlugin", + "-errPlay", + "1", + "-errSmoke", + "1", + "-errSmokeOutcome", + "victory", + "-noThrow", + "-errStationTeardownDiag", + "1" + ], + "manifest_sha256": "46042a09b91ddd038300a9a2a027282d233bbdb05977c01a645bd645ada946f6" +} diff --git a/docs/evidence/native-2026-09-19-051249-companion-fixture-name-failure/report.json b/docs/evidence/native-2026-09-19-051249-companion-fixture-name-failure/report.json new file mode 100644 index 0000000..83fe187 --- /dev/null +++ b/docs/evidence/native-2026-09-19-051249-companion-fixture-name-failure/report.json @@ -0,0 +1,23 @@ +{ + "log": "docs/evidence/native-2026-09-19-051249-companion-fixture-name-failure/console.log.txt", + "smoke_completions": 0, + "assertions_passed": 0, + "script_or_runtime_failures": [ + "05:12:56.844 SCRIPT (E): @\"Scripts/Game/ERR/ERR_NativeSmoke.c,153\": Types 'ERR_NativeRadioProbe' and 'ERR_NativeRadioDefenceProbe' are unrelated", + "05:12:56.844 SCRIPT (E): @\"Scripts/Game/ERR/ERR_NativeSmoke.c,326\": Cannot convert 'ERR_HQ' to 'float' for argument '0' in method 'Tick'", + "05:12:56.844 SCRIPT (E): @\"Scripts/Game/ERR/ERR_NativeSmoke.c,326\": Too many parameters for 'Tick' method", + "05:12:56.928 SCRIPT (E): @\"Scripts/Game/UI/Menu/ContentBrowser/Common/SCR_ScenarioUICommon.c,452\": Can't find class Tuple2", + "05:12:56.928 SCRIPT (E): @\"Scripts/Game/UI/Menu/ContentBrowser/Common/SCR_ScenarioUICommon.c,517\": Can't find class Tuple2", + "05:12:56.937 SCRIPT (E): Can't compile \"Game\" script module!" + ], + "engine_errors": [ + "05:12:56.844 SCRIPT (E): @\"Scripts/Game/ERR/ERR_NativeSmoke.c,153\": Types 'ERR_NativeRadioProbe' and 'ERR_NativeRadioDefenceProbe' are unrelated", + "05:12:56.844 SCRIPT (E): @\"Scripts/Game/ERR/ERR_NativeSmoke.c,326\": Cannot convert 'ERR_HQ' to 'float' for argument '0' in method 'Tick'", + "05:12:56.844 SCRIPT (E): @\"Scripts/Game/ERR/ERR_NativeSmoke.c,326\": Too many parameters for 'Tick' method", + "05:12:56.928 SCRIPT (E): @\"Scripts/Game/UI/Menu/ContentBrowser/Common/SCR_ScenarioUICommon.c,452\": Can't find class Tuple2", + "05:12:56.928 SCRIPT (E): @\"Scripts/Game/UI/Menu/ContentBrowser/Common/SCR_ScenarioUICommon.c,517\": Can't find class Tuple2", + "05:12:56.937 SCRIPT (E): Can't compile \"Game\" script module!" + ], + "missing_end_screen": [], + "scope": "scripted local Workbench integration only; no multiplayer, piloting or FPS claim" +} diff --git a/docs/evidence/native-2026-09-19-051249-companion-fixture-name-failure/runner.json.txt b/docs/evidence/native-2026-09-19-051249-companion-fixture-name-failure/runner.json.txt new file mode 100644 index 0000000..0a2cc85 --- /dev/null +++ b/docs/evidence/native-2026-09-19-051249-companion-fixture-name-failure/runner.json.txt @@ -0,0 +1,19 @@ +{ + "stopped_unix": 1789787577.491194, + "console_sha256": "117be79f94cc73d502dd2e15332b40d6d2bb38f7c17fa00b743514ba0b393731", + "end_source_sha256": "46042a09b91ddd038300a9a2a027282d233bbdb05977c01a645bd645ada946f6", + "source_unchanged_after_run": true, + "source_provenance": "launch_snapshot", + "launch_id": "805eaae4-52d0-4b9f-a195-2a73c7596134", + "launch_source_manifest": "launch-source-sha256.json", + "launch_source_metadata": "launch-source.json", + "launch_source_sha256": "46042a09b91ddd038300a9a2a027282d233bbdb05977c01a645bd645ada946f6", + "started_unix": 1789787568.1841419, + "result": "test-failed", + "session": "/tmp/erri-workbench-profile/logs/logs_2026-09-19_05-12-49", + "rounds_required": 1, + "project": "chat", + "display": "headless Gamescope 1280x720/30Hz", + "dedicated_server": false, + "audio": "silent sink and per-test-stream mute" +} diff --git a/docs/evidence/native-2026-09-19-051249-companion-fixture-name-failure/script.log.txt b/docs/evidence/native-2026-09-19-051249-companion-fixture-name-failure/script.log.txt new file mode 100644 index 0000000..531df28 --- /dev/null +++ b/docs/evidence/native-2026-09-19-051249-companion-fixture-name-failure/script.log.txt @@ -0,0 +1,36 @@ +--------------------------------------------- +Log Z:\tmp\erri-workbench-profile\logs\logs_2026-09-19_05-12-49\script.log started at 2026-09-19 05:12:52 (2026-09-19 03:12:52 UTC) + +05:12:52.745 SCRIPT : SCRIPT : Initializing scripts +05:12:52.745 SCRIPT : SCRIPT : ScriptProjectManager init +05:12:55.043 SCRIPT : SCRIPT : Compiling GameLib scripts +05:12:55.110 SCRIPT : Module: Workbench; loaded 18x files; 36x classes; used 125K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE"; CRC32: 90ce0460 +05:12:55.110 SCRIPT : Module: GameLib; loaded 465x files; 648x classes; used 828K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE"; CRC32: 4507af04 +05:12:55.111 SCRIPT : SCRIPT : Compiling Game scripts +05:12:56.339 SCRIPT : Compiling Game scripts +05:12:56.339 SCRIPT (W): @"Scripts/Game/Editor/Components/EditableEntity/SCR_EditableEntityComponent.c,785": 'GetPlayerPlatformKind' is obsolete +05:12:56.339 SCRIPT (W): @"Scripts/Game/Editor/Components/EditableEntity/SCR_EditableEntityComponent.c,786": 'GetPlayerPlatformId' is obsolete +05:12:56.591 SCRIPT (W): @"Scripts/Game/ERR/ERR_SiteService.c,140": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +05:12:56.602 SCRIPT (W): @"Scripts/Game/Workshop/SCR_AddonManager.c,876": 'GetRefCount' is obsolete: Will be removed +05:12:56.633 SCRIPT (W): @"Scripts/Game/Campaign/SCR_PlayerProfileManagerComponent.c,142": 'PlayerData' is obsolete +05:12:56.735 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,159": 'GetDSSession' is obsolete +05:12:56.735 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,162": 'RoomID' is obsolete +05:12:56.735 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,197": 'GetDSSession' is obsolete +05:12:56.735 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,201": 'RoomID' is obsolete +05:12:56.825 SCRIPT (W): @"Scripts/Game/DataCollection/SCR_DataCollectorComponent.c,481": 'GetStorage' is obsolete +05:12:56.825 SCRIPT (W): @"Scripts/Game/DataCollection/SCR_DataCollectorComponent.c,483": 'GetOnlineWritePrivilege' is obsolete +05:12:56.826 SCRIPT (W): @"Scripts/Game/Utilities/SCR_PlayerIdentityUtils.c,20": 'GetPlayerIdentityId' is obsolete +05:12:56.844 SCRIPT (E): @"Scripts/Game/ERR/ERR_NativeSmoke.c,153": Types 'ERR_NativeRadioProbe' and 'ERR_NativeRadioDefenceProbe' are unrelated +05:12:56.844 SCRIPT (E): @"Scripts/Game/ERR/ERR_NativeSmoke.c,326": Cannot convert 'ERR_HQ' to 'float' for argument '0' in method 'Tick' +05:12:56.844 SCRIPT (E): @"Scripts/Game/ERR/ERR_NativeSmoke.c,326": Too many parameters for 'Tick' method +05:12:56.868 SCRIPT (W): @"Scripts/Game/ERR/ERR_ExtractionService.c,45": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +05:12:56.868 SCRIPT (W): @"Scripts/Game/ERR/ERR_ExtractionService.c,56": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +05:12:56.869 SCRIPT (W): @"Scripts/Game/UI/Menu/MainMenuUI.c,643": 'GetNotifyCount' is obsolete: Will be substitued by Notification Api. +05:12:56.869 SCRIPT (W): @"Scripts/Game/UI/Menu/MainMenuUI.c,645": 'GetNotifyItem' is obsolete: Will be substitued by Notification Api. +05:12:56.893 SCRIPT (W): @"Scripts/Game/ERR/ERR_NativeTransportProbe.c,82": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +05:12:56.925 SCRIPT (W): @"Scripts/Game/DataCollection/PlayerData/SCR_PlayerData.c,210": 'PlayerData' is obsolete +05:12:56.928 SCRIPT (E): @"Scripts/Game/UI/Menu/ContentBrowser/Common/SCR_ScenarioUICommon.c,452": Can't find class Tuple2 +05:12:56.928 SCRIPT (E): @"Scripts/Game/UI/Menu/ContentBrowser/Common/SCR_ScenarioUICommon.c,517": Can't find class Tuple2 +05:12:56.937 SCRIPT (E): Can't compile "Game" script module! + +Scripts/Game/ERR/ERR_NativeSmoke.c(153): Types 'ERR_NativeRadioProbe' and 'ERR_NativeRadioDefenceProbe' are unrelated diff --git a/docs/evidence/native-2026-09-19-051249-companion-fixture-name-failure/source-provenance.json b/docs/evidence/native-2026-09-19-051249-companion-fixture-name-failure/source-provenance.json new file mode 100644 index 0000000..5fa4cc7 --- /dev/null +++ b/docs/evidence/native-2026-09-19-051249-companion-fixture-name-failure/source-provenance.json @@ -0,0 +1,4 @@ +{ + "schema_version": 1, + "kind": "launch_snapshot" +} diff --git a/docs/evidence/native-2026-09-19-051249-companion-fixture-name-failure/source-sha256.json b/docs/evidence/native-2026-09-19-051249-companion-fixture-name-failure/source-sha256.json new file mode 100644 index 0000000..af71a5b --- /dev/null +++ b/docs/evidence/native-2026-09-19-051249-companion-fixture-name-failure/source-sha256.json @@ -0,0 +1,118 @@ +{ + "addons/ai/Prefabs/ERR/MortarCrew.et": "05d3e7353ff9fe5523218a1487b31b7b742b0be8adbcb060c7099978cf008bce", + "addons/ai/Prefabs/ERR/MortarCrew.et.meta": "fdfd4fcd21a67c3d698fa4aadc4e5c76e665cebf4be86013bc389e493fab63cc", + "addons/ai/Scripts/Game/ERR/ERR_HQ.c": "ceafd6740ed277748744ce56ac0f0bb3a8521fcc060dafb2cdb99896aedf405a", + "addons/ai/Scripts/Game/ERR/ERR_HQJournal.c": "b3e402cfe92d415f37f666045afb062e6e11670ba03a0ca6f2d9fd4fc3520ac1", + "addons/ai/Scripts/Game/ERR/ERR_HQNetwork.c": "92ff2caca52e94c2cc9642dfc8509ce6e9349b257012bade8650bace9231128c", + "addons/ai/Scripts/Game/ERR/ERR_HQObservation.c": "36c978ec5f052213ac1236e1398d85063efbfd7ef60fe04f1fc11447fefe1d68", + "addons/ai/Scripts/Game/ERR/ERR_HQReport.c": "c4d16ccb571db4d9444c0a8d2be7318845d25ff90238b6d304e96a9ea19f1a08", + "addons/ai/Scripts/Game/ERR/ERR_HelicopterAvailability.c": "60eaef2f6d4b2fd44861c5a4434ef97e732e40a5ff7401e2da451ed2dd9c2762", + "addons/ai/Scripts/Game/ERR/ERR_MortarBattery.c": "66b8f16b692a0f75fc9d920f5224d9292a0f1dc7dd8b2dde912e676fa80ddc9c", + "addons/ai/Scripts/Game/ERR/ERR_MortarFiring.c": "657e96d1112b68c8ced37793e99f88e6078b38a579190e63d00b1f9a9a032e26", + "addons/ai/Scripts/Game/ERR/ERR_MortarPrediction.c": "470dd196ed64800c697d24c09d1344bacd2502587fac76af4ee0edae2563092d", + "addons/ai/Scripts/Game/ERR/ERR_MortarSalvo.c": "697c01f479df6c505a41d984a29c02002e3052114dafa2ec6252ae55e2979a2b", + "addons/ai/Scripts/Game/ERR/ERR_MortarSystem.c": "12d8fc39d47e03c3838e0642aa9e4a80baf60f250357493bff812d5c75812c86", + "addons/ai/Scripts/Game/ERR/ERR_SettlementSafety.c": "e5c0ebc95521a9a33a3f7d9cca6c551dda862a08b7af20b017877aba9584795b", + "addons/ai/Scripts/Game/ERR/ERR_SupportScenario.c": "71757018ec9716c4dc24f62a292a214919d3fd5daed3c16e03e56abd208e9f03", + "addons/ai/addon.gproj": "5f559db8f526700db11e6ae763f5245f19b7006fc68c56e4c09fb6f940bdf2a1", + "addons/chat/Missions/ERR_Everon.conf": "76f3ac0d21b585654beac7ddd68e3c8cbdd66dbfe909b17b04838fa813a7c29b", + "addons/chat/Missions/ERR_Everon.conf.meta": "0a23c98bf83873536c65fa17d38dea33a1d7b9e4ab210f90633ff688abcc551f", + "addons/chat/Scripts/Game/ERR/ERR_AdminCommands.c": "7ea6d6b240524cf0193c86fcab861fbdef9adca780acff11ee73f9ed0e99ce7b", + "addons/chat/Scripts/Game/ERR/ERR_NativeMortarProbe.c": "ddb892141500c192c0787b011d57dd8c07dd8c9a3ca5fdc407f6c271897bde0a", + "addons/chat/Scripts/Game/ERR/ERR_NativeRadioProbe.c": "84524163c63402755b4f834f74dfe6d8e5c397dc26031f532593c6f79f5a93b1", + "addons/chat/Scripts/Game/ERR/ERR_NativeSmoke.c": "0ab2fed95dcaa0442cf7feb25743308060d58497e347f17dbd25c8e970a9f81f", + "addons/chat/Scripts/WorkbenchGame/ERR/ERR_ValidateWorldPlugin.c": "81c92d408ce88cc9f98d6053f1d0c863427693ba748f00df9f1bf8079015ef94", + "addons/chat/addon.gproj": "ea1587e0174cf795334d306c71d99b06797fc891427cd57b6cab6e21cf0e4e0e", + "addons/core/Configs/ERR/EveronSites.conf": "2edb2c6983eb627800b65d9e244b9b228e0b82282e089c7b12e5a8921a2ea7bf", + "addons/core/Configs/ERR/EveronSites.conf.meta": "d5fe68025ef4e7c1e16082cf5873b7c7172eacbfaef4ab29b7e0e3c98f8dca56", + "addons/core/Configs/ERR/GameOverScreens.conf": "45231061911a1462d45fb6db0fecc2b0793f17b5ae71017174954ff4fbd20236", + "addons/core/Configs/ERR/GameOverScreens.conf.meta": "eb654b745c0b97b41c991694569ef4877a3c2315e0826f9556337cd68690843e", + "addons/core/Configs/ERR/VanillaFactions.conf": "f8b8b9898a16b4a4a55ab3c12d2547bef2dc433732c7643df980cb3aca715212", + "addons/core/Configs/ERR/VanillaFactions.conf.meta": "ac77725c0c21974991ef47a466b88122e939de8b46fd23e68889e7674cbb2bfd", + "addons/core/Missions/ERR_Everon_Base.conf": "1e6a0e9a756d15495201f71121626890f01efe6b00154c561672d4ec157960bd", + "addons/core/Missions/ERR_Everon_Base.conf.meta": "9b16267c644d815bcf98a3a3aaff30b93d7224fb24d3a2bac66730a28011f317", + "addons/core/Prefabs/ERR/Extraction.et": "1aa286ef253c5410f09fa641e4be91a7be8ec834487a7fbb74cfb45cab60ee1e", + "addons/core/Prefabs/ERR/Extraction.et.meta": "c2a838633001e2e3a202d39cb33aa744ebcd996017ad032359069641b5d13853", + "addons/core/Prefabs/ERR/FieldCover.et": "20f8095e69dbfe3db74ff19078e528ea75405362b335e03560ccd61f8df2e7f3", + "addons/core/Prefabs/ERR/FieldCover.et.meta": "83461ffa76244e1d69f20b053a9741ccdf7d127009182bd540a7e5ba6150c3d9", + "addons/core/Prefabs/ERR/GameMode.et": "385c97a5b8067091d92aa60c2d4fcf02002cf606b95523866ead65c96b8c0029", + "addons/core/Prefabs/ERR/GameMode.et.meta": "106769cd34525c9d440057072836cb7401a6752148c40edd7fe61c03bd58328c", + "addons/core/Prefabs/ERR/ObjectiveDocument.et": "2e72270bf186654af12d2c3ff9bf940690b03fb17fca44f873c1fde5d11384c0", + "addons/core/Prefabs/ERR/ObjectiveDocument.et.meta": "eaba9903be147b98a1106e2273e2270773df73b9b22f2cd4e20136a8e281382e", + "addons/core/Prefabs/ERR/Patrol.et": "c5685a8bc311cc5563fb3334beec9408d3d7a1069152fddeeb7df4f1b7f9e6ce", + "addons/core/Prefabs/ERR/Patrol.et.meta": "7c5da568fa2fcf0709ee2959253cb068d7c7ed7c2467af3b247a7e70efd96b69", + "addons/core/Prefabs/ERR/Prison.et": "1503db1441d8cd7a4f0b45c27ba9623b9fa39f0f81016e180bd2aa1379e1f42a", + "addons/core/Prefabs/ERR/Prison.et.meta": "2e426ef3de68f4107907854b51e818bc11d84649a01c538e3f18dd9ebec766bb", + "addons/core/Prefabs/ERR/PrisonDoor.et": "fc66be9d36f1f01084de59f1b0a1e8817f9e46547ead33d4fafaac0107446c40", + "addons/core/Prefabs/ERR/PrisonDoor.et.meta": "b8f3db52bf186426026668fbb9d633c3cbd4d438ab301fba880398f6a0e781c2", + "addons/core/Prefabs/ERR/PrisonWall.et": "8009d19365ae72a4749d7ad4fa04662575b06c65c6bf06507d380d57258b5eed", + "addons/core/Prefabs/ERR/PrisonWall.et.meta": "0294bc5dbb56f90f8153d62459bb0a6ad91d76a479812bbec9c7db182fdb58d6", + "addons/core/Prefabs/ERR/Radio.et": "b4b5cfe125b39019855816c9a1c508ca4d65d435b5546fdaa6c1fa3c8c9b1165", + "addons/core/Prefabs/ERR/Radio.et.meta": "bc91137b68ba550217914fb8892bb44d7e1920e4a1086f3e506623832a44212f", + "addons/core/Prefabs/ERR/SpectatorCamera.et": "b5b87d5b7b707f3745741aebe7c923067c8a74f8fbb2a4711834bab03bb5a812", + "addons/core/Prefabs/ERR/SpectatorCamera.et.meta": "2a16558f93915e31908a674509e9c89976470f78a84a1174a64b94b68b8f77ad", + "addons/core/Prefabs/ERR/SupplyCache.et": "bccf7afbaae97cfcdd78dd6dbbf4be5b2c045d348f50fe4581962e556c0044d7", + "addons/core/Prefabs/ERR/SupplyCache.et.meta": "2f5de3a4aab1e9d0e35521f48dc57b95bd6e449c383dec4f1c258e10295904cb", + "addons/core/Prefabs/ERR/SupplySite.et": "dc5decce5cabf39b6116e8794ec3960cb1e35761854fdbe69740da118787ded4", + "addons/core/Prefabs/ERR/SupplySite.et.meta": "b41944b12eb3528ff7a3ac94258b18c66ef161aa6a38894aee300a1ac4798630", + "addons/core/Scripts/Game/ERR/ERR_Actions.c": "adf93245e6d78c59b9839599d157a0d2b2b93ea93b3d1ae52e2904dd6c288266", + "addons/core/Scripts/Game/ERR/ERR_Actors.c": "b3c5aabb05f7cf35167bc09b5db51a4ffd89a46658805d6eedbfb80eee30273d", + "addons/core/Scripts/Game/ERR/ERR_AdminService.c": "047c14ce60cc0b167e202438f8f2b1063590e69ef88ea55b54598aea5f99c505", + "addons/core/Scripts/Game/ERR/ERR_DiscoveryMap.c": "2f4ea342fea0530061456be9cdce002d5e7a282e4e27eb88f3860e79f93612bf", + "addons/core/Scripts/Game/ERR/ERR_DiscoveryService.c": "6b5679447fe4a6d7d54c0545881ab56284f871556b3159207d421247f419eada", + "addons/core/Scripts/Game/ERR/ERR_DocumentComponent.c": "17bb76b80ebd3357e46d553c44674f602c7bd6901c92aec53ac8214194aa4ff2", + "addons/core/Scripts/Game/ERR/ERR_EscapeGameOverScreenInfo.c": "b1e1afb7795cb77c0bad94c85abf705b26b9dc2a9400905d80eafd56bdd009d3", + "addons/core/Scripts/Game/ERR/ERR_ExtractionService.c": "91357099b4e0401196b67d48963be54be30e56bdba57cdac67dc20b8ebb883e9", + "addons/core/Scripts/Game/ERR/ERR_FactionCatalog.c": "a5a8c53acf21259e14f59cb919535910f30dabff5a9179c664bc6a7a4d744d6e", + "addons/core/Scripts/Game/ERR/ERR_GameMode.c": "d766d1639378070bea64eef38baa4667f8b9f5f1a2a7b170f0fc5e8fd557917d", + "addons/core/Scripts/Game/ERR/ERR_Location.c": "d2035f56ded35743312ec6ca91a67f8623a466c91255e1893c570edf0954ff24", + "addons/core/Scripts/Game/ERR/ERR_MissionRules.c": "f7abc38ad8fdc375ce7fa63a65f0bade027d22b37e09de5e3f94ba8c3c63cc41", + "addons/core/Scripts/Game/ERR/ERR_NativeBaseSmoke.c": "128ce09f0d3f9a629aa3fcde1db0207249037de75b9dbdfadff141b43b1bfebf", + "addons/core/Scripts/Game/ERR/ERR_NativeContractsProbe.c": "d1556df885171cf967e96eef5d8981a2e9ee4e3938b7d32fdd0426f647bbabc0", + "addons/core/Scripts/Game/ERR/ERR_NativeDefinitionProbe.c": "d05ef8368ef5afa68e29f45843cb1878b5a09be768f8abdff2f4115c23759b01", + "addons/core/Scripts/Game/ERR/ERR_NativeExtractionProbe.c": "4b09385f73206de004f4f3c38a6192fd658a0d2012482dc5a84dff1599ceb972", + "addons/core/Scripts/Game/ERR/ERR_NativeLifecycleProbe.c": "89620ec1cc94e260ef72460b32c3291ffcc84cfe51afa907954b10229a711b2b", + "addons/core/Scripts/Game/ERR/ERR_NativeObjectiveProbe.c": "451f46d9a51753841046698911ee9954088214b6df856776a316865466fbce0f", + "addons/core/Scripts/Game/ERR/ERR_NativeRadioDefenceProbe.c": "cad54f0b43cefd72df74697dfc7e93725ff0acac6d311e963ce4f817428c272c", + "addons/core/Scripts/Game/ERR/ERR_NativeResultProbe.c": "b9a117eef2d5f65fbd792041a2b3e59e38e201bda8e0df8c503e1a1242cfc415", + "addons/core/Scripts/Game/ERR/ERR_NativeSiteSurvey.c": "ac0203753ade0cdff6d483132797a80e4520f14546c3f9dea288281cd4cd9c4f", + "addons/core/Scripts/Game/ERR/ERR_NativeStationTeardownDiagnostic.c": "c01cbdbfe25fd38916fa74f2c02333baaacd5228686fd6e40b33c27b3cea8ed8", + "addons/core/Scripts/Game/ERR/ERR_NativeTimeProbe.c": "c93d049785971e51246fcc07cf24804270a752a655505f2c38e48c80df5255ae", + "addons/core/Scripts/Game/ERR/ERR_NativeTransportProbe.c": "63ec0c5ce698114daa6314b2a6e3c3e98e76094117c477f9d0d072260686d193", + "addons/core/Scripts/Game/ERR/ERR_NativeTransportSurvey.c": "3e94493bf54d15be2bceb106ad18873e14e6755af09c05f07db7fb26fb7adff5", + "addons/core/Scripts/Game/ERR/ERR_ObjectiveDetails.c": "900bdcd11075230e0d311ca8725c1d7938cb2a4efa71360709003d90092a7e69", + "addons/core/Scripts/Game/ERR/ERR_ObjectiveText.c": "bbb29949194637e6781316836c895e2c0fa7ccdb547d4d944a717da2ad73b0a2", + "addons/core/Scripts/Game/ERR/ERR_Objectives.c": "88d95a52fcba103483ea751571e1afeae0e6fc82115ed50d6fc195424726960f", + "addons/core/Scripts/Game/ERR/ERR_Observer.c": "b719e723369ab4f403950c85226e1336eb48e3c127e84530ac1c695eb86bd0f9", + "addons/core/Scripts/Game/ERR/ERR_PlayerAdminCommands.c": "a084d7dc097dfcde3d6cd9c2e326b9e2f8f2a519f77b30c4f56ab7a1429aa721", + "addons/core/Scripts/Game/ERR/ERR_PlayerEscapeResult.c": "3124ab4d2d6d471409a47aba0af528790734df53243c03fe0cdac3e407047c14", + "addons/core/Scripts/Game/ERR/ERR_PlayerGuide.c": "2c9c365b88651f8b12618443638bf52c04e497221592bd483c33447e30468f36", + "addons/core/Scripts/Game/ERR/ERR_PlayerRoster.c": "a737ba739b3f73a91cd05d808a1d45070e83b5152c003c3164e29842dda51995", + "addons/core/Scripts/Game/ERR/ERR_RadioDefenceService.c": "85eb9c1b65d5987799927b6d8786b7299fcff849bcb15b91f8a4d1aa95823fd1", + "addons/core/Scripts/Game/ERR/ERR_Resources.c": "8a5314944f75b23982c6b99697045e3c0538aa2137b2c947a5b2411e6076ac03", + "addons/core/Scripts/Game/ERR/ERR_ScenarioComponent.c": "abba03af68323d5715ba1e2497fc66f3c706e6a6a983c3a386228abdfddeec89", + "addons/core/Scripts/Game/ERR/ERR_Settings.c": "2aee784e44c732e09f59150896491ab325ef5e62aa6bad725be1fda955a3f614", + "addons/core/Scripts/Game/ERR/ERR_SiteDefinition.c": "75b5121ceab77f0956f0dc34bd077b11af5586350de52321800427f18cc94477", + "addons/core/Scripts/Game/ERR/ERR_SiteService.c": "7ba02712562b3c8cd8de9851b6f26fed85020faacceef0767408b300b935c110", + "addons/core/Scripts/Game/ERR/ERR_SpawnFinalization.c": "2e295b0f225208c5414728ba83333e5e0ab6eef3a708ce39eb1dfce5400c94c9", + "addons/core/Scripts/Game/ERR/ERR_SpawnLogic.c": "64c2cef62d8a435eea396f057255b269d457935bf5d261221700739bf37240b8", + "addons/core/Scripts/Game/ERR/ERR_SpawnPlacement.c": "284db0d4a5ecd38f9c658c91ce943f4c0c30dcf4d31bb3edeea92e4ab0b1436a", + "addons/core/Scripts/Game/ERR/ERR_Supplies.c": "752e8a56b0b8cde33cf532032cb0a203553017b686faac2e19bee06f7a9c0713", + "addons/core/Scripts/Game/ERR/ERR_TimeService.c": "d9f481b7da01e08d2c982a948c18ba6bde76889d7cc9d26d510708f4ba479453", + "addons/core/Scripts/WorkbenchGame/ERR/ERR_ValidateBaseWorldPlugin.c": "7f44aa64ea7b4f8b3640a37a4b781c43bf6adb80e4a3a702d9491131698056f6", + "addons/core/Worlds/ERR_Everon.ent": "22324bc7eb0d80dec8a1f3bd61a9df9201b72f749f4e751766b0c9d0b7d46b87", + "addons/core/Worlds/ERR_Everon.ent.meta": "19d1903ca72baa326b4724a6791d0da1104a1e53f3f31dc1ca41a856efd68e83", + "addons/core/Worlds/ERR_Everon_Layers/default.layer": "f1a058bd315c7d01d464715ac9f4e18ae3d2432551d094a9afbd4c9c5a2a9416", + "addons/core/addon.gproj": "231274e6b62302f32c65f9ff31de2ce8a9e51e1c8d12c87deeec82ae1f40de46", + "addons/intel/Scripts/Game/ERR/ERR_IntelService.c": "482839434b94e7f8c345d5fd96490aeebb765f3dd0c1bb25fceea2f435c0e722", + "addons/intel/addon.gproj": "d0ced242cefb220a5cccd6779d61fda9bc55581701b9f78bcf13c09d92ddbcbe", + "addons/map/Materials/ERRM_MapRenderTarget.emat": "9877c5b175c5f30dd80bea36c711b21ab38219aa7075adf9ae79932e1d4c76bc", + "addons/map/Materials/ERRM_MapRenderTarget.emat.meta": "5ee1a705f8011a44020ca2691f5ccc17d44bf596fef9a36e98d1f267eb58fab0", + "addons/map/Prefabs/Items/Equipment/ERRM_SharedFieldMap.et": "30dee8e9eab459ea32a7d835a9fb89d43df47708057cab829f067b25a24cd581", + "addons/map/Prefabs/Items/Equipment/ERRM_SharedFieldMap.et.meta": "59093e9072c50d99c86da7609c87541016da5bcf92b98d99db4c524e1c8e0e8d", + "addons/map/Scripts/Game/ERR/ERR_ScenarioMap.c": "75fa1d742129ef7f33c005cd48f56db7f49ee7bde3c5428532b0b501b032b0a3", + "addons/map/Scripts/Game/ERRMap/ERRM_SharedMapComponent.c": "fc1a0c7df4fc96da446d7542a45a10fbec1eda1e543ba2f0581cb772277a47c5", + "addons/map/UI/layouts/ERRMap/SharedMapRenderTarget.layout": "49a2da4181b94d42174f58c7f9b6bf2207116c99427d61ff1c212092ac7db4d2", + "addons/map/UI/layouts/ERRMap/SharedMapRenderTarget.layout.meta": "5c846445cc089e2e08899ba703059d4adb805ff30ab5a16409a3cd59718cbd54", + "addons/map/addon.gproj": "1b371e5e01ea9fa46e76570fecb8aaa3a9298e34cba7ccca8a6bdb5ca86eb46a" +} diff --git a/docs/evidence/native-2026-09-19-051452/console.log.txt b/docs/evidence/native-2026-09-19-051452/console.log.txt new file mode 100644 index 0000000..2f69344 --- /dev/null +++ b/docs/evidence/native-2026-09-19-051452/console.log.txt @@ -0,0 +1,1020 @@ +--------------------------------------------- +Log Z:\tmp\erri-workbench-profile\logs\logs_2026-09-19_05-14-52\console.log started at 2026-09-19 05:14:52 (2026-09-19 03:14:52 UTC) + +05:14:52.623 ENGINE : FileSystem: Adding relative directory 'Z:\tmp\erri-workbench-profile\logs\logs_2026-09-19_05-14-52' to filesystem under name logs +05:14:52.623 ENGINE : FileSystem: Adding relative directory 'Z:\tmp\erri-workbench-profile\profile' to filesystem under name profile +05:14:52.623 ENGINE : FileSystem: Current working directory: 'Z:\home\jakub\.local\share\Steam\steamapps\common\Arma Reforger Tools\Workbench\' +05:14:52.625 PROFILING : Workbench Create Engine took: 10.176700 ms +05:14:53.669 INIT : INIT : Workbench Init Engine +05:14:53.669 ENGINE : Initializing engine, version 192142 +05:14:53.669 ENGINE : CLI Params: -gproj Z:/home/jakub/devel/escapistsrereintroduced/addons/core/addon.gproj -addonsDir Z:/home/jakub/devel/escapistsrereintroduced/addons -profile Z:/tmp/erri-workbench-profile -logconsole -wbModule WorldEditor -load Worlds/ERR_Everon.ent -plugin ERR_ValidateBaseWorldPlugin -errPlay 1 -errBaseSmoke 1 -errSmokeOutcome victory -noThrow -errStationTeardownDiag 1 +05:14:53.678 ENGINE : Addon dirs: +05:14:53.678 ENGINE : dir: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/core/' +05:14:53.678 ENGINE : dir: 'Z:/home/jakub/devel/escapistsrereintroduced/addons' +05:14:53.678 ENGINE : dir: './addons' +05:14:53.678 ENGINE : dir: 'Z:/tmp/erri-workbench-profile/addons' +05:14:53.678 ENGINE : Available addons: +05:14:53.678 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/core/addon.gproj' guid: '2528466DE220D91C' +05:14:53.678 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/ai/addon.gproj' guid: '5192138CB9D5B911' +05:14:53.678 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/chat/addon.gproj' guid: 'FA804F411BDDF2C6' +05:14:53.678 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/intel/addon.gproj' guid: 'D31039C7C53E348A' +05:14:53.678 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/map/addon.gproj' guid: '9AAEE9041D79809E' +05:14:53.678 ENGINE : gproj: './addons/core/core.gproj' guid: '5614BBCCBB55ED1C' (packed) +05:14:53.678 ENGINE : gproj: 'Z:/tmp/erri-workbench-profile/addons/ArmaReforger/ArmaReforger.gproj' guid: '58D0FB3206B6F859' (packed) +05:14:53.678 ENGINE : FileSystem: Adding relative directory 'Z:\home\jakub\devel\escapistsrereintroduced\addons\core' to filesystem under name ERR_Core +05:14:53.830 ENGINE : FileSystem: Adding package 'Z:/tmp/erri-workbench-profile/addons/ArmaReforger/' (pak count: 14) to filesystem under name ArmaReforger +05:14:53.835 ENGINE : FileSystem: Adding package './addons/core/' (pak count: 2) to filesystem under name core +05:14:53.835 ENGINE : CPU vendor : AuthenticAMD +05:14:53.835 ENGINE : CPU type : 2 +05:14:53.835 ENGINE : CPU name : AMD Ryzen 7 3800XT 8-Core Processor +05:14:53.835 ENGINE : CPU cache info : L1 [Inst 32KB, Data 32KB], L2 [Unif 512KB], L3 [Unif 16384KB] +05:14:53.835 ENGINE : CPU count logical : 16 +05:14:53.835 ENGINE : CPU count physical : 8 +05:14:53.835 ENGINE : CPU features : mmx sse sse2 sse3 ssse3 sse4_1 sse4_2 popcnt aesni pclmulqdq osxsave avx sha avx2 +05:14:53.835 RESOURCES : ResourceDB: loading cache (id=0 name=ERR_Core path=Z:\home\jakub\devel\escapistsrereintroduced\addons\core/resourceDatabase.rdb) +05:14:53.836 RESOURCES : ResourceDB: loading cache (id=1 name=ArmaReforger path=Z:/tmp/erri-workbench-profile/addons/ArmaReforger/resourceDatabase.rdb) +05:14:53.990 RESOURCES : ResourceDB: loading cache (id=2 name=core path=./addons/core/resourceDatabase.rdb) +05:14:53.991 RESOURCES : ResourceDB: loading cache (id=3 name=profile path=Z:\tmp\erri-workbench-profile\profile/resourceDatabase.rdb) +05:14:53.992 RESOURCES : ResourceDB: loading cache (id=4 name=logs path=Z:\tmp\erri-workbench-profile\logs\logs_2026-09-19_05-14-52/resourceDatabase.rdb) +05:14:54.161 RESOURCES : RESOURCES : ResourceDB: full scan +05:14:54.166 RESOURCES : RESOURCES : scanning... +05:14:54.166 RESOURCES : RESOURCES : scanning @"ERR_Core" +05:14:54.168 RESOURCES : RESOURCES : scanning @"ArmaReforger" +05:14:54.310 RESOURCES : RESOURCES : scanning @"core" +05:14:54.315 RESOURCES : RESOURCES : scanning @"profile" +05:14:54.315 RESOURCES : RESOURCES : scanning @"logs" +05:14:54.316 RESOURCES : RESOURCES : processing meta-files... +05:14:54.382 RESOURCES : RESOURCES : processing files... +05:14:54.394 INIT : Workbench startup +05:14:54.394 INIT : Workbench Init Engine +05:14:54.394 RESOURCES : ResourceDB: full scan +05:14:54.394 RESOURCES : processing files... +05:14:54.394 RESOURCES (W): resource not registered: @"$profile:rereintroduced.json". Setting null GUID +05:14:54.394 RESOURCES (W): resource not registered: @"$logs:launch-source-sha256.json". Setting null GUID +05:14:54.394 RESOURCES (W): resource not registered: @"$logs:launch-source.json". Setting null GUID +05:14:54.394 RESOURCES : RESOURCES : processing folders... +05:14:54.401 RESOURCES : RESOURCES : creating GUID-item mapping... +05:14:54.418 RESOURCES : RESOURCES : building tree... +05:14:54.471 PROFILING : ResourceDB: full scan took: 309.962400 ms +05:14:54.472 RESOURCES : ResourceDB: saving cache (id=0 name=ERR_Core path=Z:\home\jakub\devel\escapistsrereintroduced\addons\core/resourceDatabase.rdb) +05:14:54.474 RESOURCES : ResourceDB: written 4000/4000 bytes +05:14:54.474 RESOURCES : ResourceDB: cache successfully saved +05:14:54.475 RESOURCES : ResourceDB: saving cache (id=3 name=profile path=Z:\tmp\erri-workbench-profile\profile/resourceDatabase.rdb) +05:14:54.477 RESOURCES : ResourceDB: written 206/206 bytes +05:14:54.477 RESOURCES : ResourceDB: cache successfully saved +05:14:54.477 RESOURCES : ResourceDB: saving cache (id=4 name=logs path=Z:\tmp\erri-workbench-profile\logs\logs_2026-09-19_05-14-52/resourceDatabase.rdb) +05:14:54.479 RESOURCES : ResourceDB: written 162/162 bytes +05:14:54.479 RESOURCES : ResourceDB: cache successfully saved +05:14:54.479 ENGINE : GameProject load +05:14:54.479 ENGINE : Loaded addons: +05:14:54.479 ENGINE : gproj: './addons/core/core.gproj' guid: '5614BBCCBB55ED1C' +05:14:54.479 ENGINE : gproj: 'Z:/tmp/erri-workbench-profile/addons/ArmaReforger/ArmaReforger.gproj' guid: '58D0FB3206B6F859' +05:14:54.479 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/core/addon.gproj' guid: '2528466DE220D91C' +05:14:54.481 ENGINE : Loading custom engine user config '$profile:.save/app1874910_user76561198020202999/settings/ReforgerEngineSettings.conf' +05:14:54.481 INIT : GameProject engine user settings load @"$profile:.save/app1874910_user76561198020202999/settings/ReforgerEngineSettings.conf" +05:14:54.481 ENGINE : Engine user settings config loaded +05:14:54.481 PROFILING : Settings changed took: 0.002900 ms +05:14:54.597 RENDER : (OK) Adapter 'AMD Radeon RX 6950 XT (RADV NAVI21)' supports feature level 12_0 +05:14:54.598 RENDER : Basic screen setup: +05:14:54.598 RENDER : Back buffer format : TEXFMT_R8G8B8A8_SRGB (29) +05:14:54.598 RENDER : MSAA : none +05:14:54.612 RENDER : AMD AGS library initialized, version 6.1.0 x DLL 6.1.0 +05:14:54.612 RENDER : Extendeded AMD info for AMD Radeon RX 6950 XT (RADV NAVI21) (primary device) +05:14:54.612 RENDER : * architecture RDNA2, 80 CUs, 40 WGPs (for RDNA), 64 ROPs +05:14:54.612 RENDER : * core clocks 2720 MHz, memory 1124 MHz +05:14:54.612 RENDER : * TFlops 27.9, memory bandwidth (562.0 GB/s) +05:14:54.612 RENDER : AMD AGS correctly initialized +05:14:54.612 RENDER : GPU_ATI (0x1002) (AMD Radeon RX 6950 XT (RADV NAVI21)) with 1 GPU detected, VRAM 16128MB (fast 0MB), shared 64362MB, driver version 99.19.02-230831a-396538C-AMD-Software-Adrenalin-Edition +05:14:54.612 RENDER : Detected output devices: +05:14:54.612 RENDER : * 1 device/s connected to AMD Radeon RX 6950 XT (RADV NAVI21): +05:14:54.612 RENDER : Generic Non-PnP Monitor (\\.\DISPLAY1), 1280x720 (offset 0x0), 30Hz +05:14:54.612 RENDER : Concurrent frames limit 2 +05:14:54.690 RENDER : DX12 device successfully created by AMD AGS library +05:14:54.690 RENDER : * user markers not supported in this version AMD SW +05:14:54.690 RENDER : Graphics device features +05:14:54.690 RENDER : Needed: +05:14:54.690 RENDER : * Highest supported shader model: 6.8 (6.0 needed) +05:14:54.690 RENDER : Optional: +05:14:54.690 RENDER : * Allow tearing (VSYNC) : 1 +05:14:54.690 RENDER : * 16 bits : 1 +05:14:54.690 RENDER : * Resource heap tier : 3 +05:14:54.690 RENDER : * Persistent heaps (DRED) : 1 +05:14:54.690 RENDER : * DRED 1.2 is supported by compiler +05:14:54.713 RENDER : Main RT format setup. +05:14:54.713 RENDER : Main RT format for quality 0 : TEXFMT_R11G11B10_FLOAT (26) +05:14:54.713 RENDER : Main RT format for quality 1 : TEXFMT_R16G16B16A16_FLOAT (10) +05:14:54.715 ENGINE : Job system settings: coreCount=16, shortJobContextCount=16, shortJobThreadCount=15, longJobThreadCount=16 +05:14:54.749 PROFILING : Settings changed took: 0.017800 ms +05:14:55.180 AUDIO : Endpoint: Speakers (PulseAudio Output) +05:14:55.180 AUDIO : Format: Channels: 2, Sample rate: 48kHz, Avg. bytes: 384kB, Sample bits: 32, Block align: 8B +05:14:55.181 AUDIO : Audio client: +05:14:55.181 AUDIO : Format: Channels: 2, Sample rate: 48kHz, Buffer size: 1536B, Frame: 512 +05:14:55.184 RENDER : RENDER : Reload shaders +05:14:55.184 RENDER : Enfusion shader version 13 +05:14:55.184 INIT : INIT : ShaderListReload +05:14:55.184 PROFILING : ShaderListReload took: 0.000400 ms +05:14:55.326 AUDIO : Endpoint: Speakers (PulseAudio Output) +05:14:55.326 AUDIO : Format: Channels: 2, Sample rate: 48kHz, Avg. bytes: 384kB, Sample bits: 32, Block align: 8B +05:14:55.327 AUDIO : Audio client: +05:14:55.327 AUDIO : Format: Channels: 2, Sample rate: 48kHz, Buffer size: 1536B, Frame: 512 +05:14:55.426 RENDER : Loaded 3752 newer shader binaries +05:14:55.426 PROFILING : Reload shaders took: 242.546100 ms +05:14:55.426 ENGINE : Initializing inputs. +05:14:55.439 NETWORK : Initializing networking. +05:14:55.439 NETWORK : Using new GameRplScheduler. +05:14:55.439 SCRIPT : SCRIPT : Initializing scripts +05:14:55.439 SCRIPT : SCRIPT : ScriptProjectManager init +05:14:56.281 PROFILING : ScriptProjectManager init took: 841.663400 ms +05:14:56.315 PROFILING : Initializing scripts took: 875.938500 ms +05:14:56.332 ENGINE : Enfusion engine successfully created. +05:14:56.333 PROFILING : Workbench Init Engine took: 2663.477000 ms +05:14:56.333 INIT : INIT : Workbench Create Game +05:14:56.343 GUI : Using default language (en_us) +05:14:56.343 GUI : Loading 'en_us' localization file. +05:14:56.343 INIT : INIT : Loading StringTable +05:14:56.367 PROFILING : Loading StringTable took: 23.733900 ms +05:14:56.367 SCRIPT : SCRIPT : Compiling GameLib scripts +05:14:56.421 SCRIPT : Module: Workbench; loaded 18x files; 36x classes; used 125K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE"; CRC32: 90ce0460 +05:14:56.422 SCRIPT : Module: GameLib; loaded 465x files; 648x classes; used 828K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE"; CRC32: 4507af04 +05:14:56.422 PROFILING : Compiling GameLib scripts took: 55.230900 ms +05:14:56.422 SCRIPT : SCRIPT : Compiling Game scripts +05:14:57.507 INIT : Workbench Create Game +05:14:57.507 SCRIPT : Compiling Game scripts +05:14:57.507 SCRIPT (W): @"Scripts/Game/Editor/Components/EditableEntity/SCR_EditableEntityComponent.c,785": 'GetPlayerPlatformKind' is obsolete +05:14:57.507 SCRIPT (W): @"Scripts/Game/Editor/Components/EditableEntity/SCR_EditableEntityComponent.c,786": 'GetPlayerPlatformId' is obsolete +05:14:57.752 SCRIPT (W): @"Scripts/Game/ERR/ERR_SiteService.c,140": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +05:14:57.762 SCRIPT (W): @"Scripts/Game/Workshop/SCR_AddonManager.c,876": 'GetRefCount' is obsolete: Will be removed +05:14:57.790 SCRIPT (W): @"Scripts/Game/Campaign/SCR_PlayerProfileManagerComponent.c,142": 'PlayerData' is obsolete +05:14:57.887 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,159": 'GetDSSession' is obsolete +05:14:57.887 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,162": 'RoomID' is obsolete +05:14:57.887 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,197": 'GetDSSession' is obsolete +05:14:57.887 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,201": 'RoomID' is obsolete +05:14:57.974 SCRIPT (W): @"Scripts/Game/DataCollection/SCR_DataCollectorComponent.c,481": 'GetStorage' is obsolete +05:14:57.974 SCRIPT (W): @"Scripts/Game/DataCollection/SCR_DataCollectorComponent.c,483": 'GetOnlineWritePrivilege' is obsolete +05:14:57.976 SCRIPT (W): @"Scripts/Game/Utilities/SCR_PlayerIdentityUtils.c,20": 'GetPlayerIdentityId' is obsolete +05:14:58.017 SCRIPT (W): @"Scripts/Game/ERR/ERR_ExtractionService.c,45": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +05:14:58.017 SCRIPT (W): @"Scripts/Game/ERR/ERR_ExtractionService.c,56": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +05:14:58.019 SCRIPT (W): @"Scripts/Game/UI/Menu/MainMenuUI.c,643": 'GetNotifyCount' is obsolete: Will be substitued by Notification Api. +05:14:58.019 SCRIPT (W): @"Scripts/Game/UI/Menu/MainMenuUI.c,645": 'GetNotifyItem' is obsolete: Will be substitued by Notification Api. +05:14:58.043 SCRIPT (W): @"Scripts/Game/ERR/ERR_NativeTransportProbe.c,82": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +05:14:58.075 SCRIPT (W): @"Scripts/Game/DataCollection/PlayerData/SCR_PlayerData.c,210": 'PlayerData' is obsolete +05:14:58.345 SCRIPT : Module: WorkbenchGame; loaded 171x files; 616x classes; used 2478K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE"; CRC32: db6febb9 +05:14:58.351 SCRIPT : Module: Game; loaded 5704x files; 11180x classes; used 32539K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE,ENABLE_BASE_DESTRUCTION,BUDGET_OPTIMIZATION_CHECKS,SHOW_DISCLAIMER,DEBUG,RESPAWN_TIMER_COMPONENT_DEBUG,GAME_MODE_DEBUG,DEBUG_CONFIGURABLE_DIALOGS,DISABLE_WEAPON_SWITCHING,SCRIPTED_AIM_MODIFIER_DEBUG"; CRC32: b027eb70 +05:14:58.387 PROFILING : Compiling Game scripts took: 1964.289100 ms +05:14:58.393 INIT : Creating game instance(ArmaReforgerScripted), version 1.8.0.13 built 2026-08-21 14:30:18 UTC. +05:14:58.432 ENGINE : Game successfully created. +05:14:58.434 PROFILING : Workbench Create Game took: 2101.118800 ms +05:14:58.441 DEFAULT : Using thumbnail cache directory: C:/users/steamuser/AppData/Local/Temp/Arma Reforger Workbench/Projects/ERR_Core/thumbnails +05:14:59.269 INIT : INIT : Workbench Reload Game +05:14:59.270 ENGINE : Game destroyed. +05:14:59.276 GUI : Using default language (en_us) +05:14:59.277 GUI : Loading 'en_us' localization file. +05:14:59.277 INIT : INIT : Loading StringTable +05:14:59.286 PROFILING : Loading StringTable took: 9.553100 ms +05:14:59.287 INIT : Creating game instance(ArmaReforgerScripted), version 1.8.0.13 built 2026-08-21 14:30:18 UTC. +05:14:59.294 SCRIPT : Unable to register a script command due keyword duplicity: ban +05:14:59.294 SCRIPT : Unable to register a script command due keyword duplicity: kick +05:14:59.294 ENGINE : Game successfully created. +05:14:59.294 ENGINE : Game successfully initialized. +05:14:59.294 PROFILING : Workbench Reload Game took: 24.724600 ms +05:14:59.969 WORLD : WORLD : Entities load '$ERR_Core:Worlds/ERR_Everon.ent' +05:15:00.982 PROFILING : Entities load took: 1013.090800 ms +05:15:00.992 WORLD : WORLD : CreateEntities +05:15:00.998 WORLD : WORLD : NotifyBeforeEntitiesCreated +05:15:00.998 PROFILING : NotifyBeforeEntitiesCreated took: 0.003700 ms +05:15:00.998 WORLD : WORLD : Wait for preloading data +05:15:00.998 PROFILING : Wait for preloading data took: 0.003900 ms +05:15:01.107 ENTITY : Create entity @"ENTITY:2" ('Eden', GenericTerrainEntity) at <0.000000 0.000000 0.000000> @"{5AD924374E8C7AF6}Prefabs/World/Game/Eden/GenericTerrain_Eden.et" +05:15:01.107 PROFILING : PROFILING : Terrain load +05:15:02.711 PROFILING : Terrain load took: 1603.204500 ms +05:15:06.793 WORLD : CreateEntities +05:15:06.793 ENTITY : Create entity @"ENTITY:610406" ('StaticModelEntity','Assets/Structures/Infrastructure/Towers/TransmitterTower_01/TransmitterTower_01_small.xob') at <1931.796021 81.777000 5138.725098> @"{6A004A8F0571D456}Prefabs/Structures/Infrastructure/Towers/TransmitterTower_01/TransmitterTower_01_small.et" +05:15:06.793 ENTITY : CreateComponent 'ScriptedRadioComponent' +05:15:06.793 DEFAULT (W): World doesn't contain RadioManagerEntity to support any BaseRadioComponent. +05:15:16.577 WORLD : WORLD : NotifyBeforeEntitiesInitialized +05:15:16.577 PROFILING : NotifyBeforeEntitiesInitialized took: 0.010200 ms +05:15:17.035 WORLD : WORLD : NotifyEntitiesInitialized +05:15:17.035 TERRAIN : TERRAIN : Initializing road networks... +05:15:17.037 PROFILING : Initializing road networks... took: 2.224000 ms +05:15:17.037 PROFILING : NotifyEntitiesInitialized took: 2.596200 ms +05:15:17.037 PROFILING : CreateEntities took: 16044.539800 ms +05:15:17.221 PROFILING : * WorldEditor: LoadWorld: 17256.675100 ms +05:15:18.676 TERRAIN : Loading tile map config (worlds/Eden/Eden/tileMap.conf) +05:15:18.676 TERRAIN : Loading minimap config (worlds/Eden/Eden/miniMap.conf) +05:15:18.677 TERRAIN : The default minimap texture ('worlds/Eden/EdenRasterized.edds') not found. Trying 'worlds/Eden/Eden.edds'... +05:15:18.678 TERRAIN : The default minimap texture ('worlds/Eden/Eden.edds') not found. Skipping... +05:15:18.764 SCRIPT : ERR SITE SURVEY: supply=6150/7050 elevationRange=0.625 min=202.875 max=203.5 +05:15:18.783 BACKEND : Attempting online Game Config instead. +05:15:21.969 INIT : INIT : Workbench Reload Game +05:15:21.971 ENGINE : Game destroyed. +05:15:21.977 GUI : Using default language (en_us) +05:15:21.977 GUI : Loading 'en_us' localization file. +05:15:21.977 INIT : INIT : Loading StringTable +05:15:22.000 PROFILING : Loading StringTable took: 22.435000 ms +05:15:22.000 INIT : Creating game instance(ArmaReforgerScripted), version 1.8.0.13 built 2026-08-21 14:30:18 UTC. +05:15:22.011 SCRIPT : Unable to register a script command due keyword duplicity: ban +05:15:22.011 SCRIPT : Unable to register a script command due keyword duplicity: kick +05:15:22.011 ENGINE : Game successfully created. +05:15:22.011 ENGINE : Game successfully initialized. +05:15:22.011 PROFILING : Workbench Reload Game took: 42.380500 ms +05:15:22.015 DEFAULT (W): LogiLED: Cannot initialize! (service not running or no compatible device detected) +05:15:22.077 PLATFORM : Save data from container 'settings' have been loaded +05:15:22.164 PLATFORM : Save data from container 'sessions' have been loaded +05:15:22.165 PLATFORM : GameProject user settings load from profile @"ReforgerGameSettings.conf" +05:15:22.165 ENGINE : Game user settings config loaded +05:15:22.262 DEFAULT : [SaveGameManager] Starting new playthrough nr.0 '' for mission '{B6C516F86302C679}Worlds/ERR_Everon.ent'. +05:15:22.268 WORLD : WORLD : Game::LoadEntities +05:15:22.268 WORLD : WORLD : Initializing world systems @"{1C60D2EDA2B468B8}Configs/Systems/BaseGameModeSystems.conf" +05:15:22.269 NETWORK : Enabled lag compensation, 29 frames with 100 FPS and 280 ms rewind limits. +05:15:22.269 WORLD : WORLD : CreateEntities +05:15:22.269 WORLD : WORLD : CreateEntities +05:15:22.269 WORLD : WORLD : NotifyBeforeEntitiesCreated +05:15:22.272 RESOURCES : Loaded mission headers from 7 addon(s)! +05:15:22.273 PROFILING : NotifyBeforeEntitiesCreated took: 3.782900 ms +05:15:22.273 WORLD : WORLD : Wait for preloading data +05:15:22.273 PROFILING : Wait for preloading data took: 0.001000 ms +05:15:26.686 WORLD : Game::LoadEntities +05:15:26.686 WORLD : CreateEntities +05:15:26.686 WORLD : CreateEntities +05:15:26.686 ENTITY : Create entity @"ENTITY:610406" ('StaticModelEntity','Assets/Structures/Infrastructure/Towers/TransmitterTower_01/TransmitterTower_01_small.xob') at <1931.796021 81.777000 5138.725098> @"{6A004A8F0571D456}Prefabs/Structures/Infrastructure/Towers/TransmitterTower_01/TransmitterTower_01_small.et" +05:15:26.686 ENTITY : CreateComponent 'ScriptedRadioComponent' +05:15:26.686 DEFAULT (W): World doesn't contain RadioManagerEntity to support any BaseRadioComponent. +05:15:28.087 ENTITY : Create entity @"ENTITY:842066" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1080.213013 10.776751 6018.347168> +05:15:28.087 ENTITY : CreateComponent 'Hierarchy' +05:15:28.087 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842066" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1080.213013 10.776751 6018.347168>') +05:15:28.087 ENTITY : Create entity @"ENTITY:842068" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1082.185913 10.778749 6018.331055> +05:15:28.087 ENTITY : CreateComponent 'Hierarchy' +05:15:28.087 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842068" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1082.185913 10.778749 6018.331055>') +05:15:28.087 ENTITY : Create entity @"ENTITY:842070" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1084.190918 10.790751 6018.334961> +05:15:28.087 ENTITY : CreateComponent 'Hierarchy' +05:15:28.087 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842070" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1084.190918 10.790751 6018.334961>') +05:15:28.093 ENTITY : Create entity @"ENTITY:842333" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4425.594727 9.981750 11029.402344> +05:15:28.093 ENTITY : CreateComponent 'Hierarchy' +05:15:28.093 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842333" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4425.594727 9.981750 11029.402344>') +05:15:28.093 ENTITY : Create entity @"ENTITY:842335" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4426.584473 9.983749 11031.109375> +05:15:28.093 ENTITY : CreateComponent 'Hierarchy' +05:15:28.093 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842335" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4426.584473 9.983749 11031.109375>') +05:15:28.093 ENTITY : Create entity @"ENTITY:842337" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4427.572266 9.995750 11032.853516> +05:15:28.093 ENTITY : CreateComponent 'Hierarchy' +05:15:28.093 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842337" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4427.572266 9.995750 11032.853516>') +05:15:28.097 ENTITY : Create entity @"ENTITY:842591" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.946289 10.470250 1551.986084> +05:15:28.097 ENTITY : CreateComponent 'Hierarchy' +05:15:28.097 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842591" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.946289 10.470250 1551.986084>') +05:15:28.097 ENTITY : Create entity @"ENTITY:842593" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.430664 10.472250 1550.081421> +05:15:28.097 ENTITY : CreateComponent 'Hierarchy' +05:15:28.097 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842593" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.430664 10.472250 1550.081421>') +05:15:28.098 ENTITY : Create entity @"ENTITY:842595" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10008.926758 10.484250 1548.140869> +05:15:28.098 ENTITY : CreateComponent 'Hierarchy' +05:15:28.098 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842595" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10008.926758 10.484250 1548.140869>') +05:15:32.555 ENTITY : Create entity @"ENTITY:2305843009213693956" ('Factions', SCR_FactionManager) at <0.000000 0.000000 0.000000> @"{589540B35EBA8CDC}Prefabs/MP/Managers/Factions/FactionManager_USxUSSR.et" +05:15:32.555 RESOURCES : GetResourceObject @"{5168FEA3054D6D15}Prefabs/Vehicles/Wheeled/M151A2/M151A2_M2HB_MERDC.et" +05:15:32.555 WORLD : Entity prefab load @"{5168FEA3054D6D15}Prefabs/Vehicles/Wheeled/M151A2/M151A2_M2HB_MERDC.et" +05:15:32.555 RESOURCES : GetResourceObject @"{F6B23D17D5067C11}Prefabs/Vehicles/Wheeled/M151A2/M151A2_M2HB.et" +05:15:32.555 WORLD : Entity prefab load @"{F6B23D17D5067C11}Prefabs/Vehicles/Wheeled/M151A2/M151A2_M2HB.et" +05:15:32.555 RESOURCES : GetResourceObject @"{F649585ABB3706C4}Prefabs/Vehicles/Wheeled/M151A2/M151A2.et" +05:15:32.555 WORLD : Entity prefab load @"{F649585ABB3706C4}Prefabs/Vehicles/Wheeled/M151A2/M151A2.et" +05:15:32.555 WORLD (E): Unknown keyword/data 'SlidingTrackMaterial' at offset 19441(0x4bf1) +05:15:32.594 RESOURCES : GetResourceObject @"{F7B9B434FCFF00B3}Prefabs/Vehicles/Wheeled/Conflict_Variants/BRDM2_Conflict.et" +05:15:32.594 WORLD : Entity prefab load @"{F7B9B434FCFF00B3}Prefabs/Vehicles/Wheeled/Conflict_Variants/BRDM2_Conflict.et" +05:15:32.594 RESOURCES : GetResourceObject @"{254289B9C09904AB}Prefabs/Vehicles/Wheeled/BRDM2/BRDM2.et" +05:15:32.594 WORLD : Entity prefab load @"{254289B9C09904AB}Prefabs/Vehicles/Wheeled/BRDM2/BRDM2.et" +05:15:32.594 RESOURCES : GetResourceObject @"{532B5F3CF8496E59}Prefabs/Vehicles/Wheeled/BRDM2/BRDM2_base.et" +05:15:32.594 WORLD : Entity prefab load @"{532B5F3CF8496E59}Prefabs/Vehicles/Wheeled/BRDM2/BRDM2_base.et" +05:15:32.594 WORLD (E): Unknown keyword/data 'Parent' at offset 35955(0x8c73) +05:15:32.594 WORLD (E): Unknown keyword/data 'Parent' at offset 36915(0x9033) +05:15:32.595 RESOURCES : GetResourceObject @"{BD75A18920BD1278}Prefabs/Vehicles/Wheeled/Conflict_Variants/BTR70_Conflict.et" +05:15:32.595 WORLD : Entity prefab load @"{BD75A18920BD1278}Prefabs/Vehicles/Wheeled/Conflict_Variants/BTR70_Conflict.et" +05:15:32.595 RESOURCES : GetResourceObject @"{C012BB3488BEA0C2}Prefabs/Vehicles/Wheeled/BTR70/BTR70.et" +05:15:32.595 WORLD : Entity prefab load @"{C012BB3488BEA0C2}Prefabs/Vehicles/Wheeled/BTR70/BTR70.et" +05:15:32.595 RESOURCES : GetResourceObject @"{1C5FE7B7FF49BB8D}Prefabs/Vehicles/Wheeled/BTR70/BTR70_Base.et" +05:15:32.595 WORLD : Entity prefab load @"{1C5FE7B7FF49BB8D}Prefabs/Vehicles/Wheeled/BTR70/BTR70_Base.et" +05:15:32.595 WORLD (E): Unknown keyword/data 'Parent' at offset 42646(0xa696) +05:15:32.595 WORLD (E): Unknown keyword/data 'Parent' at offset 43645(0xaa7d) +05:15:32.595 WORLD (E): Unknown keyword/data 'Parent' at offset 44617(0xae49) +05:15:32.595 WORLD (E): Unknown keyword/data 'Parent' at offset 45590(0xb216) +05:15:32.927 WORLD : WORLD : NotifyBeforeEntitiesInitialized +05:15:32.927 PROFILING : NotifyBeforeEntitiesInitialized took: 0.040400 ms +05:15:34.898 WORLD : InitEntities 'world' +05:15:34.898 ENTITY : Init entity @"ENTITY:2305843009213693953" ('Rereintroduced', ERR_GameMode) at <1076.468018 51.000999 1325.246948> @"{978E045E53EF36C8}Prefabs/ERR/GameMode.et" +05:15:34.898 SCRIPT (W): SCR_PerceivedFactionManagerComponent trying to set fall back faction 'CIV' but this faction could not be found so it is null instead. +05:15:34.922 WORLD : InitEntities 'world' +05:15:34.922 ENTITY : Init entity @"ENTITY:2305843009213693953" ('Rereintroduced', ERR_GameMode) at <1076.468018 51.000999 1325.246948> @"{978E045E53EF36C8}Prefabs/ERR/GameMode.et" +05:15:34.922 SCRIPT : ERR BASE SMOKE: core-only scripted escape; not manual or multiplayer acceptance +05:15:34.922 WORLD : WORLD : NotifyEntitiesInitialized +05:15:34.922 TERRAIN : TERRAIN : Initializing road networks... +05:15:34.925 PROFILING : Initializing road networks... took: 2.455400 ms +05:15:34.925 DEFAULT : DEFAULT : WorldVolumesCollection +05:15:34.980 PROFILING : WorldVolumesCollection took: 55.470800 ms +05:15:34.980 INIT : INIT : SoundWorldInit +05:15:34.996 PROFILING : SoundWorldInit took: 15.997000 ms +05:15:34.996 PROFILING : NotifyEntitiesInitialized took: 74.230100 ms +05:15:34.997 PROFILING : CreateEntities took: 12727.470700 ms +05:15:34.997 PROFILING : CreateEntities took: 12727.680400 ms +05:15:34.997 WORLD : WORLD : Wait for preloading data around camera +05:15:34.997 PROFILING : Wait for preloading data around camera took: 0.001100 ms +05:15:34.997 WORLD : WORLD : EOnActivate +05:15:35.030 PROFILING : EOnActivate took: 32.280000 ms +05:15:35.030 PROFILING : Game::LoadEntities took: 12761.702800 ms +05:15:35.301 DEFAULT : Entered offline game state. +05:15:35.404 NETWORK : Player connected: connectionID=2147483646 +05:15:35.404 NETWORK : ### Connecting player: connectionID=2147483646, Name= +05:15:35.405 NETWORK : ### Creating player: PlayerId=1, Name=jakub +05:15:35.409 ENTITY : SpawnEntityPrefab @"{225E51284CC95CFA}Prefabs/Characters/Core/DefaultPlayerControllerMP.et" +05:15:35.409 ENTITY : Create entity @"ENTITY:4611686018427388381" ('SCR_PlayerController') at <0.000000 0.000000 0.000000> +05:15:35.409 ENTITY : EntityPrefabUse @"{225E51284CC95CFA}Prefabs/Characters/Core/DefaultPlayerControllerMP.et" +05:15:35.409 SCRIPT (W): Notification data in 'SCR_NotificationsLogDisplay' has duplicate notification info key: 'EDITOR_PERCEIVED_FACTION_PUNISHMENT_KILLING_SET'. There should only be one of each key! +05:15:35.410 SCRIPT (W): Notification data in 'SCR_NotificationsLogDisplay' has duplicate notification info key: 'EDITOR_PERCEIVED_FACTION_TYPE_DISABLED'. There should only be one of each key! +05:15:35.411 SCRIPT (W): Can't open config file "" +05:15:35.417 WORLD : InitEntities 'world' +05:15:35.417 ENTITY : Init entity @"ENTITY:4611686018427388381" ('SCR_PlayerController') at <0.000000 0.000000 0.000000> @"{225E51284CC95CFA}Prefabs/Characters/Core/DefaultPlayerControllerMP.et" +05:15:35.417 GUI : WidgetManager: CrateWidgets @"{3C9DCDD76AB83157}UI/layouts/HUD/HUDLayouts/HUDManager_Root.layout" +05:15:35.417 SCRIPT (W): Slot_WeaponInfo Has no Content! +05:15:35.417 SCRIPT (W): Slot_Chat Has no Content! +05:15:35.418 SCRIPT (W): Slot_VON Has no Content! +05:15:35.418 SCRIPT (W): Slot_AvailableActions Has no Content! +05:15:35.418 SCRIPT (W): Slot_Vehicle Has no Content! +05:15:35.418 SCRIPT (W): Slot_GameVersion Has no Content! +05:15:35.418 SCRIPT (W): Slot_Notifications Has no Content! +05:15:35.418 SCRIPT (W): Slot_Hints Has no Content! +05:15:35.431 NETWORK : ### Updating player: PlayerId=1, Name=jakub, rplIdentity=0xFFFFFFFE, IdentityId=00000000-0000-0000-0000-000000000000 +05:15:35.431 SCRIPT (W): Ban Settings could not be loaded from BE Storage: Relying on default config +05:15:35.432 NETWORK : Players connecting: 0 +05:15:35.432 NETWORK : Players connected: 1 / 1 +05:15:35.460 DEFAULT : Using autosave directory: C:/users/steamuser/AppData/Local/Temp/Arma Reforger Workbench/Projects/ERR_Core/autosaves +05:15:35.461 PROFILING : Workbench startup took: 42899.452800 ms +05:15:35.483 WORLD : Frame start +05:15:35.483 SCRIPT : ScenarioFramework: Available tasks are empty, no new tasks will be generated. +05:15:35.499 WORLD : UpdateEntities +05:15:35.499 WORLD : Frame +05:15:35.499 SCRIPT : SCR_BaseGameMode::OnGameStateChanged = GAME +05:15:35.671 WORLD : UpdateEntities +05:15:35.672 WORLD : PostFrame +05:15:35.672 GUI : WidgetManager: CrateWidgets @"{D89BBA18F99053D6}UI/layouts/HUD/Chat/ChatHud.layout" +05:15:35.672 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +05:15:35.725 RESOURCES : GetResourceObject @"{20A6917D2114E29A}UI/layouts/HUD/Hint/HintInfoDisplay.layout" +05:15:35.725 GUI : Layout load @"{20A6917D2114E29A}UI/layouts/HUD/Hint/HintInfoDisplay.layout" +05:15:35.725 GUI : Widget prefab @"{EA1CC57D868E94F9}UI/layouts/HUD/Hint/Hint.layout" +05:15:35.725 GUI (W): Overridden prefab member (GUID: '{661AB14E0F471C66}' type: ButtonWidgetClass) no longer exists in prefab +05:15:35.856 RENDER : RENDER : ObjectsHeightMap::Build +05:15:35.856 RENDER : RENDER : MeshOccupancyGridManager::GenerateAllForWorld +05:15:36.019 PROFILING : MeshOccupancyGridManager::GenerateAllForWorld took: 162.298000 ms +05:15:36.028 PROFILING : ObjectsHeightMap::Build took: 171.747500 ms +05:15:37.208 SCRIPT : Rereintroduced [sites]: cache clearance position=<6086,211.538,7160> clear=1 +05:15:37.226 SCRIPT : Rereintroduced [sites]: authored everon-prison-1 at <6090,211.444,7160> +05:15:37.227 SCRIPT : Rereintroduced [sites]: cache clearance position=<6150,203.288,7050> clear=1 +05:15:37.254 SCRIPT : Rereintroduced [sites]: authored everon-supply-1 at <6150,203.288,7050> +05:15:37.257 SCRIPT : Rereintroduced [sites]: authored everon-radio-1 at <6500,159.756,7200> +05:15:37.304 SCRIPT : Rereintroduced [sites]: authored everon-extraction-1 at <7000,65.2562,7500> +05:15:37.304 SCRIPT : Rereintroduced [sites]: cache clearance position=<5960,220.256,7220> clear=1 +05:15:37.310 SCRIPT : Rereintroduced [sites]: transport parking=<5960,220.256,7212> radius=4 terrainRange=0.8125 obstructed=0 clear=1 +05:15:37.356 SCRIPT : Rereintroduced [sites]: authored everon-supply-2 at <5960,220.256,7220> +05:15:37.356 SCRIPT : Rereintroduced [sites]: cache clearance position=<6340,175.788,7400> clear=1 +05:15:37.358 SCRIPT : Rereintroduced [sites]: authored everon-medical-1 at <6340,175.788,7400> +05:15:37.359 SCRIPT : Rereintroduced [sites]: cache clearance position=<6740,140.6,7300> clear=1 +05:15:37.362 SCRIPT : Rereintroduced [sites]: cache clearance position=<6740,140.913,7296> clear=1 +05:15:37.363 SCRIPT : Rereintroduced [sites]: cache clearance position=<6736,140.975,7300> clear=1 +05:15:37.364 SCRIPT : Rereintroduced [sites]: cache clearance position=<6744,140.288,7300> clear=1 +05:15:37.365 SCRIPT : Rereintroduced [sites]: authored everon-outpost-1 at <6740,140.6,7300> +05:15:37.462 SCRIPT : Rereintroduced [sites]: 7 sites and 117 physical stock items ready +05:15:37.463 SCRIPT : Rereintroduced [time]: started at 14:00 with 1x progression +05:15:37.463 SCRIPT : Rereintroduced [mission]: phase 0 -> 1 +05:15:37.704 SCRIPT : INFO: Faction: player jakub (playerID = 1 | UUID = 00000000-0000-0000-0000-000000000000) has joined faction #AR-Faction_US (US) +05:15:37.786 SCRIPT : Rereintroduced [spawn]: player 1 at <6087,211.538,7157> +05:15:37.894 SCRIPT : ERR SMOKE PASS: objective UI current native task exists +05:15:37.897 SCRIPT : ERR SMOKE PASS: objective UI native list and detail layouts created +05:15:37.897 SCRIPT : ERR SMOKE PASS: objective UI native handlers attached +05:15:37.897 SCRIPT : ERR SMOKE PASS: objective UI open list and details contain current title and instructions +05:15:37.898 SCRIPT : ERR SMOKE PASS: objective UI list-only task cannot expose an undiscovered map position +05:15:37.898 SCRIPT : ERR SMOKE PASS: objective UI actual local player receives the active objective +05:15:37.898 SCRIPT : ERR SMOKE PASS: objective UI extraction instructions follow a nondefault boundary +05:15:37.898 SCRIPT : ERR SMOKE PASS: objective UI rebinding keeps one subscription to each native task event +05:15:37.899 SCRIPT : ERR SMOKE PASS: objective UI closing native widget uses production detach and releases its task +05:15:37.899 SCRIPT : ERR SMOKE PASS: objective UI closed native widget receives no task callbacks +05:15:38.897 SCRIPT : ERR SMOKE PASS: objective UI closed native widget has no delayed overflow callbacks +05:15:38.898 SCRIPT : ERR SMOKE PASS: objective UI current native task exists +05:15:38.900 SCRIPT : ERR SMOKE PASS: objective UI native list and detail layouts created +05:15:38.900 SCRIPT : ERR SMOKE PASS: objective UI native handlers attached +05:15:38.900 SCRIPT : ERR SMOKE PASS: objective UI open list and details contain current title and instructions +05:15:38.900 SCRIPT : ERR SMOKE PASS: objective UI list-only task cannot expose an undiscovered map position +05:15:38.900 SCRIPT : ERR SMOKE PASS: objective UI actual local player receives the active objective +05:15:38.901 SCRIPT : ERR SMOKE PASS: objective UI extraction instructions follow a nondefault boundary +05:15:38.901 SCRIPT : ERR SMOKE PASS: objective UI details reopen through native layout and current objective binding +05:15:39.401 SCRIPT : ERR SMOKE PASS: definition authored configuration resolves +05:15:39.402 SCRIPT : ERR SMOKE PASS: definition duplicate site identity rejected +05:15:39.402 SCRIPT : ERR SMOKE PASS: definition dangling document target rejected +05:15:39.402 SCRIPT : ERR SMOKE PASS: definition non-radio document target rejected +05:15:39.402 SCRIPT : ERR SMOKE PASS: definition insufficient guaranteed radio clues rejected +05:15:39.402 SCRIPT : ERR SMOKE PASS: definition unbounded stock rejected +05:15:39.402 SCRIPT : ERR SMOKE PASS: definition unguaranteed clue route rejected +05:15:39.402 SCRIPT : ERR SMOKE PASS: definition radio sources sharing one footprint rejected +05:15:39.402 SCRIPT : ERR SMOKE PASS: definition unnamed location rejected +05:15:39.403 SCRIPT : ERR SMOKE PASS: definition proximity discovery cannot reveal progression sites +05:15:39.403 SCRIPT : ERR SMOKE PASS: definition escape cannot reveal the radio directly +05:15:39.403 SCRIPT : ERR SMOKE PASS: definition unbounded scenery offset rejected +05:15:39.403 SCRIPT : ERR SMOKE PASS: definition valid configuration restored after isolated mutations +05:15:39.403 SCRIPT : ERR SMOKE PASS: base contracts catalog resolves hostile vanilla factions and successful preparation +05:15:39.403 SCRIPT : ERR SMOKE PASS: base contracts physical prisoner matches injected faction and resource +05:15:39.404 SCRIPT : ERR SMOKE PASS: base contracts physical guard squad comes from injected catalog +05:15:39.404 SCRIPT : ERR SMOKE PASS: base contracts same-side factions rejected +05:15:39.404 SCRIPT : ERR SMOKE PASS: base contracts unknown world faction rejected +05:15:39.404 SCRIPT : ERR SMOKE PASS: base contracts missing prisoner resource rejected +05:15:39.404 SCRIPT : ERR SMOKE PASS: base contracts isolated catalog restored without mutating live configuration +05:15:39.404 SCRIPT : ERR SMOKE PASS: base contracts unauthorized settings request rejected +05:15:39.405 SCRIPT : ERR SMOKE PASS: base contracts partially numeric input rejected without mutation +05:15:39.405 SCRIPT : ERR SMOKE PASS: base contracts out-of-range duration rejected without mutation +05:15:39.408 SCRIPT : ERR SMOKE PASS: base contracts normalized base command saves validated duration +05:15:39.408 SCRIPT : ERR SMOKE PASS: base contracts base command reads saved duration +05:15:39.408 SCRIPT : ERR SMOKE PASS: base contracts base settings listing available +05:15:39.408 SCRIPT : ERR SMOKE PASS: base contracts base mission status available before companions +05:15:39.410 SCRIPT : ERR SMOKE PASS: base contracts test setting restored +05:15:39.411 SCRIPT : ERR SMOKE PASS: base outpost barrier is upright +05:15:39.411 SCRIPT : ERR COVER GEOMETRY: low=<6738.99,140.839,7295.42> high=<6740.98,141.655,7296.62> trace=0.377114 +05:15:39.411 SCRIPT : ERR SMOKE PASS: base outpost barrier has physical collision +05:15:39.411 SCRIPT : ERR SMOKE PASS: base outpost barrier is upright +05:15:39.411 SCRIPT : ERR COVER GEOMETRY: low=<6735.42,140.901,7299.02> high=<6736.62,141.718,7301.01> trace=0.377114 +05:15:39.411 SCRIPT : ERR SMOKE PASS: base outpost barrier has physical collision +05:15:39.411 SCRIPT : ERR SMOKE PASS: base outpost barrier is upright +05:15:39.411 SCRIPT : ERR COVER GEOMETRY: low=<6743.42,140.214,7299.02> high=<6744.62,141.03,7301.01> trace=0.377114 +05:15:39.412 SCRIPT : ERR SMOKE PASS: base outpost barrier has physical collision +05:15:39.412 SCRIPT : ERR SMOKE PASS: base exactly three authored outpost barriers exist +05:15:39.412 SCRIPT : ERR SMOKE PASS: mission time clock parsing includes midnight and final minute +05:15:39.412 SCRIPT : ERR SMOKE PASS: mission time malformed clock commands rejected +05:15:39.412 SCRIPT : ERR SMOKE PASS: mission time isolated fixture paths unused +05:15:39.413 SCRIPT : ERR SMOKE PASS: mission time legacy fixture created +05:15:39.413 SCRIPT : ERR SMOKE PASS: mission time existing six-key settings preserved +05:15:39.413 SCRIPT : ERR SMOKE PASS: mission time only absent time settings receive defaults +05:15:39.414 SCRIPT : ERR SMOKE PASS: mission time loading does not rewrite legacy file +05:15:39.418 SCRIPT : ERR SMOKE PASS: mission time explicit save upgrades valid legacy settings +05:15:39.418 SCRIPT : ERR SMOKE PASS: mission time new keys and old values survive reload +05:15:39.420 SCRIPT : ERR SMOKE PASS: mission time present out-of-range time cannot silently default +05:15:39.420 SCRIPT : ERR SMOKE PASS: mission time fractional clock setting rejected +05:15:39.421 SCRIPT : ERR SMOKE PASS: mission time zero multiplier rejected +05:15:39.421 SCRIPT : ERR SMOKE PASS: mission time missing legacy setting remains invalid +05:15:39.424 SCRIPT : ERR SMOKE PASS: mission time partially upgraded file defaults only missing new field +05:15:39.426 SCRIPT : ERR SMOKE PASS: mission time valid saved backup recovers invalid primary +05:15:39.426 SCRIPT : ERR SMOKE PASS: mission time server starts world clock before prison phase +05:15:39.426 SCRIPT : ERR SMOKE PASS: mission time engine progression matches applied multiplier +05:15:39.426 SCRIPT : ERR SMOKE PASS: mission time unauthorized clock mutation rejected +05:15:39.426 SCRIPT : ERR SMOKE PASS: mission time invalid clock command preserves setting +05:15:39.436 SCRIPT : ERR SMOKE PASS: mission time authorized settings persist and test restores originals +05:15:39.436 SCRIPT : ERR SMOKE PASS: mission time saved changes and repeated start leave current clock and speed intact +05:15:39.436 SCRIPT : ERR SMOKE PASS: mission time admin sees current clock separately from next round settings +05:15:39.437 SCRIPT : ERR SMOKE PASS: base native prison objective exists +05:15:39.437 SCRIPT : ERR SMOKE PASS: objective UI current native task exists +05:15:39.437 SCRIPT : ERR SMOKE PASS: objective UI open list and details contain current title and instructions +05:15:39.437 SCRIPT : ERR SMOKE PASS: objective UI list-only task cannot expose an undiscovered map position +05:15:39.437 SCRIPT : ERR SMOKE PASS: objective UI actual local player receives the active objective +05:15:39.437 SCRIPT : ERR SMOKE PASS: objective UI extraction instructions follow a nondefault boundary +05:15:39.438 SCRIPT : ERR SMOKE PASS: base authored supply cache is a separate scavenging location +05:15:39.438 SCRIPT : ERR BASE STOCK: cache items=54 +05:15:39.438 SCRIPT : ERR SMOKE PASS: base cache holds finite physical equipment and objective documents +05:15:39.438 SCRIPT : ERR SMOKE PASS: base no companion HQ or support controller loaded +05:15:39.438 SCRIPT : ERR SMOKE PASS: base prisoner spawned in authored prison +05:15:39.438 SCRIPT : ERR SMOKE PASS: base gate, clues, radio and helicopter created by core +05:15:39.439 SCRIPT : Rereintroduced [mission]: phase 1 -> 2 +05:15:39.440 SCRIPT : ERR SMOKE PASS: base gate action begins escape +05:15:39.443 SCRIPT : ERR SMOKE PASS: base test defence duration accepted +05:15:39.443 SCRIPT : ERR SMOKE PASS: base previous native objective completes on phase change +05:15:39.443 SCRIPT : ERR SMOKE PASS: base search objective does not expose a hidden site +05:15:39.443 SCRIPT : ERR SMOKE PASS: objective UI current native task exists +05:15:39.446 SCRIPT : ERR SMOKE PASS: objective UI native list and detail layouts created +05:15:39.446 SCRIPT : ERR SMOKE PASS: objective UI native handlers attached +05:15:39.446 SCRIPT : ERR SMOKE PASS: objective UI open list and details contain current title and instructions +05:15:39.446 SCRIPT : ERR SMOKE PASS: objective UI list-only task cannot expose an undiscovered map position +05:15:39.447 SCRIPT : ERR SMOKE PASS: objective UI actual local player receives the active objective +05:15:39.447 SCRIPT : ERR SMOKE PASS: objective UI extraction instructions follow a nondefault boundary +05:15:39.447 SCRIPT : ERR SMOKE PASS: base both named supply routes revealed after escape +05:15:39.447 SCRIPT : ERR SMOKE PASS: base optional sites remain hidden until approached +05:15:45.456 SCRIPT : ERR SMOKE PASS: base unconscious player cannot discover optional sites +05:15:51.530 SCRIPT : ERR SMOKE PASS: base distant player cannot discover optional sites +05:15:51.531 SCRIPT : ERR SMOKE PASS: base isolated visibility obstacle created +05:15:51.531 SCRIPT : ERR VISIBILITY OBSTACLE: low=<6338.5,174.97,7403.87> high=<6341.5,178.737,7404.13> observer=<6340.57,174.699,7466.65> target=<6340,175.788,7400> +05:15:57.598 SCRIPT : ERR SMOKE PASS: base physical wall prevents nearby site discovery +05:16:03.686 SCRIPT : ERR SMOKE PASS: base conscious nearby player visually discovers named medical stash once +05:16:03.686 SCRIPT : ERR SMOKE PASS: base proximity cannot bypass radio documents +05:16:04.192 SCRIPT : ERR SMOKE PASS: base physical clue recovered +05:16:04.848 SCRIPT : Rereintroduced [intel]: player 1 recovered folder; location=everon-radio-1 knowledge=1 +05:16:06.723 SCRIPT : ERR SMOKE PASS: base physical clue recovered +05:16:06.858 SCRIPT : Rereintroduced [intel]: player 1 recovered folder; location=everon-radio-1 knowledge=2 +05:16:09.241 SCRIPT : ERR SMOKE PASS: base objective guidance reacts to discovered radio +05:16:09.241 SCRIPT : ERR SMOKE PASS: objective UI current native task exists +05:16:09.241 SCRIPT : ERR SMOKE PASS: objective UI open list and details contain current title and instructions +05:16:09.242 SCRIPT : ERR SMOKE PASS: objective UI list-only task cannot expose an undiscovered map position +05:16:09.242 SCRIPT : ERR SMOKE PASS: objective UI actual local player receives the active objective +05:16:09.242 SCRIPT : ERR SMOKE PASS: objective UI extraction instructions follow a nondefault boundary +05:16:09.245 SCRIPT : ERR SMOKE PASS: base discovery ticks do not repeat the location event +05:16:09.245 SCRIPT : ERR SMOKE PASS: base documents identify radio without Intel addon +05:16:11.256 SCRIPT : ERR SMOKE PASS: radio service identified radio and real controlled prisoner available +05:16:11.256 SCRIPT : ERR SMOKE PASS: radio service controlled prisoner supports native state restoration +05:16:11.259 SCRIPT : ERR SMOKE PASS: radio service isolated thirty-second duration saved +05:16:11.266 SCRIPT : ERR SMOKE PASS: radio service second physical defender spawned +05:16:12.265 SCRIPT : ERR SMOKE PASS: radio service second physical defender settles with simulated connection membership +05:16:12.265 SCRIPT : ERR SMOKE PASS: radio service ordinary AI cannot tune even while alive and nearby +05:16:12.266 SCRIPT : ERR SMOKE PASS: radio service missing radio rejected +05:16:13.277 SCRIPT : ERR RADIO POSITION: outside tuning range after deferred teleport actor=<6506,159.313,7200> radio=<6500,159.756,7200> distanceXZ=6.00488 +05:16:13.278 SCRIPT : ERR SMOKE PASS: radio service tuning outside five metres rejected +05:16:14.287 SCRIPT : ERR RADIO POSITION: unconscious tuning range after deferred teleport actor=<6502.02,159.671,7200.05> radio=<6500,159.756,7200> distanceXZ=2.01677 +05:16:14.287 SCRIPT : ERR SMOKE PASS: radio service unconscious prisoner cannot tune +05:16:15.289 SCRIPT : ERR RADIO RECOVERY: tuning prisoner waiting step=4 alive=1 canFight=0 unconscious=1 lifeState=0 origin=<6502.02,159.672,7200.05> +05:16:16.300 SCRIPT : ERR RADIO RECOVERY: tuning prisoner waiting step=4 alive=1 canFight=0 unconscious=1 lifeState=0 origin=<6502.02,159.673,7200.05> +05:16:17.311 SCRIPT : ERR RADIO RECOVERY: tuning prisoner waiting step=4 alive=1 canFight=0 unconscious=1 lifeState=0 origin=<6502.02,159.531,7200.05> +05:16:17.821 SCRIPT : ERR RADIO RECOVERY: tuning prisoner ready step=4 alive=1 canFight=1 unconscious=0 lifeState=0 origin=<6502.02,159.531,7200.05> +05:16:17.821 SCRIPT : ERR RADIO AUTH: active=1 phase=2 registered=1 kind=1 knowledge=2 serviceState=0 distance=2.01677 +05:16:17.821 SCRIPT : ERR RADIO AUTH: playerId=1 connected=1 usedLife=1 sameActor=1 friendly=1 canFight=1 canBegin=1 +05:16:17.822 SCRIPT : ERR SMOKE PASS: radio service registered friendly conscious prisoner remains authorized +05:16:17.822 SCRIPT : ERR SMOKE PASS: radio service unregistered defender cannot start the isolated service +05:16:17.822 SCRIPT : ERR SMOKE PASS: radio service physical defender has native faction affiliation +05:16:18.840 SCRIPT : ERR SMOKE PASS: radio service hostile controlled defender cannot tune +05:16:19.854 SCRIPT : ERR SMOKE PASS: radio service start event emitted once and duplicate start rejected +05:16:19.855 SCRIPT : ERR SMOKE PASS: radio service two conscious physical defenders share one timer +05:16:20.864 SCRIPT : ERR SMOKE PASS: radio service hostile actor cannot defend even with simulated connection membership +05:16:21.882 SCRIPT : ERR SMOKE PASS: radio service elapsed countdown does not emit redundant progress events +05:16:22.891 SCRIPT : ERR SMOKE PASS: radio service second defender preserves progress while first is unconscious +05:16:23.905 SCRIPT : ERR SMOKE PASS: radio service all unconscious defenders reset accumulated time +05:16:24.916 SCRIPT : ERR RADIO RECOVERY: first defender waiting step=11 alive=1 canFight=0 unconscious=1 lifeState=0 origin=<6502.05,159.668,7200.1> +05:16:25.930 SCRIPT : ERR RADIO RECOVERY: first defender waiting step=11 alive=1 canFight=0 unconscious=1 lifeState=0 origin=<6502.05,159.529,7200.1> +05:16:26.435 SCRIPT : ERR RADIO RECOVERY: first defender ready step=11 alive=1 canFight=1 unconscious=0 lifeState=0 origin=<6502.05,159.529,7200.1> +05:16:26.435 SCRIPT : ERR SMOKE PASS: radio service conscious recovery starts a fresh continuous interval +05:16:27.440 SCRIPT : ERR RADIO RECOVERY: second defender waiting step=12 alive=1 canFight=0 unconscious=1 lifeState=0 origin=<6497.74,159.872,7199.26> +05:16:28.458 SCRIPT : ERR RADIO RECOVERY: second defender waiting step=12 alive=1 canFight=0 unconscious=1 lifeState=0 origin=<6497.74,159.872,7199.26> +05:16:28.958 SCRIPT : ERR RADIO RECOVERY: second defender ready step=12 alive=1 canFight=1 unconscious=0 lifeState=0 origin=<6497.74,159.872,7199.26> +05:16:28.959 SCRIPT : ERR SMOKE PASS: radio service empty server resets despite remaining character bodies +05:16:29.962 SCRIPT : ERR RADIO POSITION: outside defence radius after deferred teleport actor=<6560.49,155.594,7199.99> radio=<6500,159.756,7200> distanceXZ=60.4946 +05:16:29.962 SCRIPT : ERR SMOKE PASS: radio service outside sixty metres excludes first defender without resetting second +05:16:30.979 SCRIPT : ERR SMOKE PASS: radio service dead defender cannot maintain transmission +05:16:31.992 SCRIPT : ERR RADIO POSITION: returned to radio after deferred teleport actor=<6502.01,159.532,7200.01> radio=<6500,159.756,7200> distanceXZ=2.00538 +05:16:31.992 SCRIPT : ERR SMOKE PASS: radio service survivor returns physically before final transmission samples +05:16:31.994 SCRIPT : ERR SMOKE PASS: radio service live duration increase saved +05:16:31.995 SCRIPT : ERR SMOKE PASS: radio service live duration increase preserves accumulated occupancy +05:16:31.996 SCRIPT : ERR SMOKE PASS: radio service live duration reduction saved +05:16:31.997 SCRIPT : ERR SMOKE PASS: radio service live duration reduction completes at exact continuous boundary +05:16:31.997 SCRIPT : ERR SMOKE PASS: radio service completed service cannot restart or emit duplicate completion after stop +05:16:31.997 SCRIPT : ERR SMOKE PASS: radio service isolated cancellation service begins +05:16:31.997 SCRIPT : ERR SMOKE PASS: radio service stop cancels progress and future starts without completing +05:16:31.997 SCRIPT : ERR SMOKE PASS: radio service isolated terminal-phase service begins +05:16:31.997 SCRIPT : ERR SMOKE PASS: radio service terminal phase event prevents later completion +05:16:31.997 SCRIPT : ERR SMOKE PASS: radio service isolated event tests leave live objective ready for normal tuning +05:16:33.002 SCRIPT : ERR RADIO RECOVERY: restored prisoner ready step=90 alive=1 canFight=1 unconscious=0 lifeState=0 origin=<6501.99,159.532,7199.98> +05:16:33.003 SCRIPT : ERR RADIO RESTORE: actual=<6501.99,159.532,7199.98> original=<6501.99,159.533,7199.98> distance=0.000984162 +05:16:33.003 SCRIPT : ERR SMOKE PASS: radio service isolated test restores live duration and physical player state after a world frame +05:16:33.003 SCRIPT : Rereintroduced [mission]: phase 2 -> 3 +05:16:33.004 SCRIPT : ERR SMOKE PASS: base identified radio accepts transmission +05:16:38.061 SCRIPT : ERR SMOKE PASS: base depleted stock stays empty when preparation is queried again +05:16:38.061 SCRIPT : ERR SMOKE PASS: base native objective reports advancing radio progress +05:16:38.061 SCRIPT : ERR SMOKE PASS: objective UI current native task exists +05:16:38.064 SCRIPT : ERR SMOKE PASS: objective UI native list and detail layouts created +05:16:38.064 SCRIPT : ERR SMOKE PASS: objective UI native handlers attached +05:16:38.064 SCRIPT : ERR SMOKE PASS: objective UI open list and details contain current title and instructions +05:16:38.065 SCRIPT : ERR SMOKE PASS: objective UI list-only task cannot expose an undiscovered map position +05:16:38.065 SCRIPT : ERR SMOKE PASS: objective UI actual local player receives the active objective +05:16:38.065 SCRIPT : ERR SMOKE PASS: objective UI extraction instructions follow a nondefault boundary +05:17:13.397 SCRIPT : ERR SMOKE PASS: base unconscious survivor does not trigger defeat after the full grace period +05:17:13.397 SCRIPT : ERR SMOKE PASS: base unconscious radio defender cannot advance transmission +05:17:13.397 SCRIPT : ERR SMOKE PASS: base unconscious player retains their body and camera +05:17:19.473 SCRIPT : ERR SMOKE PASS: base regaining consciousness resumes transmission from zero +05:17:19.473 SCRIPT : ERR SMOKE PASS: base regaining consciousness does not grant another life +05:17:22.011 SCRIPT : ERR SMOKE PASS: base lost supply cache is not replaced +05:17:22.011 SCRIPT : ERR SMOKE PASS: base objective reports interruption and reset +05:17:22.011 SCRIPT : ERR SMOKE PASS: objective UI current native task exists +05:17:22.011 SCRIPT : ERR SMOKE PASS: objective UI open list and details contain current title and instructions +05:17:22.012 SCRIPT : ERR SMOKE PASS: objective UI list-only task cannot expose an undiscovered map position +05:17:22.012 SCRIPT : ERR SMOKE PASS: objective UI actual local player receives the active objective +05:17:22.012 SCRIPT : ERR SMOKE PASS: objective UI extraction instructions follow a nondefault boundary +05:17:52.426 SCRIPT : Rereintroduced [mission]: phase 3 -> 4 +05:17:55.395 SCRIPT : ERR SMOKE PASS: base radio defence reveals extraction +05:17:55.396 SCRIPT : ERR SMOKE PASS: mission time clock advancement remains enabled +05:17:55.396 SCRIPT : ERR SMOKE PASS: mission time progression sampled across at least ten engine seconds +05:17:55.396 SCRIPT : ERR SMOKE PASS: mission time native clock advances at configured rate without periodic resets +05:17:55.396 SCRIPT : ERR SMOKE PASS: objective UI current native task exists +05:17:55.398 SCRIPT : ERR SMOKE PASS: objective UI native list and detail layouts created +05:17:55.399 SCRIPT : ERR SMOKE PASS: objective UI native handlers attached +05:17:55.399 SCRIPT : ERR SMOKE PASS: objective UI open list and details contain current title and instructions +05:17:55.399 SCRIPT : ERR SMOKE PASS: objective UI list-only task cannot expose an undiscovered map position +05:17:55.399 SCRIPT : ERR SMOKE PASS: objective UI actual local player receives the active objective +05:17:55.399 SCRIPT : ERR SMOKE PASS: objective UI extraction instructions follow a nondefault boundary +05:17:55.400 SCRIPT : ERR SMOKE PASS: base player physically boards extraction helicopter +05:17:58.427 SCRIPT : ERR SMOKE PASS: base extraction requires real occupancy +05:17:58.447 SCRIPT : Rereintroduced [mission]: phase 4 -> 5 +05:17:58.447 SCRIPT : ERR SMOKE PASS: base escape and restart reached without companion services +05:17:58.447 SCRIPT : ERR SMOKE COMPLETE: core-only escape +05:17:58.545 SCRIPT : SCR_BaseGameMode::OnGameStateChanged = POSTGAME +05:17:58.548 GUI : WidgetManager: CrateWidgets @"{144919871D65F121}UI/layouts/HUD/GameOver/EndScreen/EndScreen.layout" +05:17:58.548 SCRIPT (W): Slot_Chat Has no Content! +05:17:58.548 SCRIPT (W): Slot_VON Has no Content! +05:17:58.548 SCRIPT (W): Slot_GameVersion Has no Content! +05:17:58.548 SCRIPT (W): Slot_Notifications Has no Content! +05:18:00.582 SCRIPT : ERR RESULT UI: player=1 title=You escaped Everon +05:18:00.583 SCRIPT (W): SCR_ScriptedWidgetComponent.GetComponent: widget not found: SCR_InputButtonComponent Back +05:18:00.583 SCRIPT : -- Stack trace -- +05:18:00.583 SCRIPT : GetComponent() Scripts/Game/UI/Components/WidgetLibrary/SCR_ScriptedWidgetComponent.c : 43 +05:18:00.583 SCRIPT : GetInputButtonComponent() Scripts/Game/UI/Components/WidgetLibrary/SCR_InputButton/SCR_InputButtonComponent.c : 1214 +05:18:00.583 SCRIPT : OnMenuOpen() Scripts/Game/UI/GameOverScreen/SCR_GameOverScreenInput.c : 15 +05:18:00.583 SCRIPT : OpenGameOverScreen() Scripts/Game/GameOverScreen/SCR_GameOverScreenManagerComponent.c : 447 +05:18:00.584 SCRIPT : ShowGameOverScreen() Scripts/Game/GameOverScreen/SCR_GameOverScreenManagerComponent.c : 177 +05:18:00.584 SCRIPT : OnUpdate() Scripts/Game/game.c : 885 +05:18:00.584 SCRIPT : ----------------- +05:18:00.584 SCRIPT (W): SCR_ScriptedWidgetComponent.GetComponent: widget not found: SCR_InputButtonComponent ChatButton +05:18:00.584 SCRIPT : -- Stack trace -- +05:18:00.584 SCRIPT : GetComponent() Scripts/Game/UI/Components/WidgetLibrary/SCR_ScriptedWidgetComponent.c : 43 +05:18:00.584 SCRIPT : GetInputButtonComponent() Scripts/Game/UI/Components/WidgetLibrary/SCR_InputButton/SCR_InputButtonComponent.c : 1214 +05:18:00.585 SCRIPT : OnMenuOpen() Scripts/Game/UI/GameOverScreen/SCR_GameOverScreenInput.c : 21 +05:18:00.585 SCRIPT : OpenGameOverScreen() Scripts/Game/GameOverScreen/SCR_GameOverScreenManagerComponent.c : 447 +05:18:00.585 SCRIPT : ShowGameOverScreen() Scripts/Game/GameOverScreen/SCR_GameOverScreenManagerComponent.c : 177 +05:18:00.585 SCRIPT : OnUpdate() Scripts/Game/game.c : 885 +05:18:00.585 SCRIPT : ----------------- +05:18:00.587 GUI : WidgetManager: CrateWidgets @"{144919871D65F121}UI/layouts/HUD/GameOver/EndScreen/EndScreen.layout" +05:18:00.587 SCRIPT (W): Slot_Chat Has no Content! +05:18:00.587 SCRIPT (W): Slot_VON Has no Content! +05:18:00.588 SCRIPT (W): Slot_GameVersion Has no Content! +05:18:00.588 SCRIPT (W): Slot_Notifications Has no Content! +05:18:00.589 SCRIPT : ERR RESULT UI: player=1 title=You escaped Everon +05:18:28.462 SCRIPT (W): Maybe a problem: DataProgression is not ready but the analytics event was requested +05:18:28.463 SCRIPT (W): SCR_PlayerData:CalculateStatsChange: Specialization stats, experience or rank stats were modified prematurely. The career data for this session might be compromised +05:18:28.681 DEFAULT (W): Achievements cannot be saved. +05:18:28.681 DEFAULT (W): Achievements failed to save. Consecutive calls to Achievements API may fail. +05:18:28.980 PLATFORM : Save data from container 'settings' have been loaded +05:18:29.080 PLATFORM : Save data from container 'sessions' have been loaded +05:18:29.080 PLATFORM : GameProject user settings load from profile @"ReforgerGameSettings.conf" +05:18:29.080 ENGINE : Game user settings config loaded +05:18:32.107 SCRIPT : string detail = 'ERR STATION TEARDOWN DIAG: n=1 owner= prefab={AE578EEA4244D41F}Prefabs/Items/Equipment/Kits/MedicalKit_01/MedicalKit_01_US.et cachedCatalog=1 globalCatalog=1 modePresent=0 gameState=-1 errPhase=-1 endData=0 call=OnDelete/InitValidSetup' +05:18:32.111 SCRIPT : string detail = 'ERR STATION TEARDOWN DIAG: n=2 owner= prefab={21EF98BFC1EB3793}Prefabs/Items/Equipment/Kits/MedicalKit_01/MedicalKit_01_USSR.et cachedCatalog=1 globalCatalog=1 modePresent=0 gameState=-1 errPhase=-1 endData=0 call=OnDelete/InitValidSetup' +05:18:32.270 DEFAULT : [SaveGameManager] Starting new playthrough nr.0 '' for mission '{B6C516F86302C679}Worlds/ERR_Everon.ent'. +05:18:32.271 WORLD : WORLD : Entities load '$ERR_Core:Worlds/ERR_Everon.ent' +05:18:32.959 PROFILING : Entities load took: 687.861700 ms +05:18:32.960 WORLD : WORLD : Game::LoadEntities +05:18:32.961 WORLD : WORLD : Initializing world systems @"{1C60D2EDA2B468B8}Configs/Systems/BaseGameModeSystems.conf" +05:18:32.962 NETWORK : Enabled lag compensation, 29 frames with 100 FPS and 280 ms rewind limits. +05:18:32.962 WORLD : WORLD : CreateEntities +05:18:32.962 WORLD : WORLD : CreateEntities 'world' +05:18:32.962 WORLD : WORLD : NotifyBeforeEntitiesCreated +05:18:32.962 RESOURCES : Unloading all loaded mission headers from 7 addon(s)! +05:18:32.965 RESOURCES : Loaded mission headers from 7 addon(s)! +05:18:32.965 PROFILING : NotifyBeforeEntitiesCreated took: 2.936500 ms +05:18:32.965 WORLD : WORLD : Wait for preloading data +05:18:32.965 PROFILING : Wait for preloading data took: 0.001100 ms +05:18:32.965 ENTITY : Create entity @"ENTITY:2" ('Eden', GenericTerrainEntity) at <0.000000 0.000000 0.000000> @"{5AD924374E8C7AF6}Prefabs/World/Game/Eden/GenericTerrain_Eden.et" +05:18:32.965 PROFILING : PROFILING : Terrain load +05:18:34.117 PROFILING : Terrain load took: 1151.293000 ms +05:18:37.016 WORLD : Game::LoadEntities +05:18:37.016 WORLD : CreateEntities +05:18:37.016 WORLD : CreateEntities 'world' +05:18:37.016 ENTITY : Create entity @"ENTITY:610406" ('StaticModelEntity','Assets/Structures/Infrastructure/Towers/TransmitterTower_01/TransmitterTower_01_small.xob') at <1931.796021 81.777000 5138.725098> @"{6A004A8F0571D456}Prefabs/Structures/Infrastructure/Towers/TransmitterTower_01/TransmitterTower_01_small.et" +05:18:37.016 ENTITY : CreateComponent 'ScriptedRadioComponent' +05:18:37.016 DEFAULT (W): World doesn't contain RadioManagerEntity to support any BaseRadioComponent. +05:18:38.341 ENTITY : Create entity @"ENTITY:842066" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1080.213013 10.776751 6018.347168> +05:18:38.341 ENTITY : CreateComponent 'Hierarchy' +05:18:38.341 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842066" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1080.213013 10.776751 6018.347168>') +05:18:38.341 ENTITY : Create entity @"ENTITY:842068" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1082.185913 10.778749 6018.331055> +05:18:38.341 ENTITY : CreateComponent 'Hierarchy' +05:18:38.341 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842068" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1082.185913 10.778749 6018.331055>') +05:18:38.341 ENTITY : Create entity @"ENTITY:842070" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1084.190918 10.790751 6018.334961> +05:18:38.341 ENTITY : CreateComponent 'Hierarchy' +05:18:38.341 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842070" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1084.190918 10.790751 6018.334961>') +05:18:38.346 ENTITY : Create entity @"ENTITY:842333" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4425.594727 9.981750 11029.402344> +05:18:38.346 ENTITY : CreateComponent 'Hierarchy' +05:18:38.346 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842333" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4425.594727 9.981750 11029.402344>') +05:18:38.346 ENTITY : Create entity @"ENTITY:842335" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4426.584473 9.983749 11031.109375> +05:18:38.346 ENTITY : CreateComponent 'Hierarchy' +05:18:38.346 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842335" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4426.584473 9.983749 11031.109375>') +05:18:38.346 ENTITY : Create entity @"ENTITY:842337" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4427.572266 9.995750 11032.853516> +05:18:38.346 ENTITY : CreateComponent 'Hierarchy' +05:18:38.346 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842337" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4427.572266 9.995750 11032.853516>') +05:18:38.350 ENTITY : Create entity @"ENTITY:842591" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.946289 10.470250 1551.986084> +05:18:38.350 ENTITY : CreateComponent 'Hierarchy' +05:18:38.350 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842591" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.946289 10.470250 1551.986084>') +05:18:38.350 ENTITY : Create entity @"ENTITY:842593" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.430664 10.472250 1550.081421> +05:18:38.350 ENTITY : CreateComponent 'Hierarchy' +05:18:38.350 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842593" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.430664 10.472250 1550.081421>') +05:18:38.350 ENTITY : Create entity @"ENTITY:842595" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10008.926758 10.484250 1548.140869> +05:18:38.350 ENTITY : CreateComponent 'Hierarchy' +05:18:38.350 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842595" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10008.926758 10.484250 1548.140869>') +05:18:43.087 WORLD : WORLD : NotifyBeforeEntitiesInitialized +05:18:43.087 PROFILING : NotifyBeforeEntitiesInitialized took: 0.043100 ms +05:18:45.045 WORLD : InitEntities 'world' +05:18:45.045 ENTITY : Init entity @"ENTITY:2305843009213693953" ('Rereintroduced', ERR_GameMode) at <1076.468018 51.000999 1325.246948> @"{978E045E53EF36C8}Prefabs/ERR/GameMode.et" +05:18:45.045 SCRIPT (W): SCR_PerceivedFactionManagerComponent trying to set fall back faction 'CIV' but this faction could not be found so it is null instead. +05:18:45.046 WORLD : InitEntities 'world' +05:18:45.046 ENTITY : Init entity @"ENTITY:2305843009213693953" ('Rereintroduced', ERR_GameMode) at <1076.468018 51.000999 1325.246948> @"{978E045E53EF36C8}Prefabs/ERR/GameMode.et" +05:18:45.046 SCRIPT : ERR BASE SMOKE: core-only scripted escape; not manual or multiplayer acceptance +05:18:45.047 WORLD : WORLD : NotifyEntitiesInitialized +05:18:45.047 TERRAIN : TERRAIN : Initializing road networks... +05:18:45.049 PROFILING : Initializing road networks... took: 2.330900 ms +05:18:45.049 DEFAULT : DEFAULT : WorldVolumesCollection +05:18:45.110 PROFILING : WorldVolumesCollection took: 60.446400 ms +05:18:45.110 INIT : INIT : SoundWorldInit +05:18:45.110 PROFILING : SoundWorldInit took: 0.216000 ms +05:18:45.110 PROFILING : NotifyEntitiesInitialized took: 63.257900 ms +05:18:45.110 PROFILING : CreateEntities took: 12148.026000 ms +05:18:45.110 PROFILING : CreateEntities took: 12148.221800 ms +05:18:45.111 WORLD : WORLD : Wait for preloading data around camera +05:18:45.111 PROFILING : Wait for preloading data around camera took: 0.001200 ms +05:18:45.111 WORLD : WORLD : EOnActivate +05:18:45.139 PROFILING : EOnActivate took: 28.331200 ms +05:18:45.139 PROFILING : Game::LoadEntities took: 12178.524200 ms +05:18:45.140 PROFILING : * LoadEntities: 12178.828300 ms +05:18:45.556 DEFAULT : Entered offline game state. +05:18:45.663 NETWORK : Player connected: connectionID=2147483646 +05:18:45.663 NETWORK : ### Connecting player: connectionID=2147483646, Name= +05:18:45.663 NETWORK : ### Creating player: PlayerId=1, Name=jakub +05:18:45.665 ENTITY : SpawnEntityPrefab @"{225E51284CC95CFA}Prefabs/Characters/Core/DefaultPlayerControllerMP.et" +05:18:45.665 ENTITY : Create entity @"ENTITY:4611686018427388381" ('SCR_PlayerController') at <0.000000 0.000000 0.000000> +05:18:45.665 ENTITY : EntityPrefabUse @"{225E51284CC95CFA}Prefabs/Characters/Core/DefaultPlayerControllerMP.et" +05:18:45.665 SCRIPT (W): Notification data in 'SCR_NotificationsLogDisplay' has duplicate notification info key: 'EDITOR_PERCEIVED_FACTION_PUNISHMENT_KILLING_SET'. There should only be one of each key! +05:18:45.665 SCRIPT (W): Notification data in 'SCR_NotificationsLogDisplay' has duplicate notification info key: 'EDITOR_PERCEIVED_FACTION_TYPE_DISABLED'. There should only be one of each key! +05:18:45.667 SCRIPT (W): Can't open config file "" +05:18:45.667 SCRIPT (W): Cannot update game blocklist. Another request in progress. +05:18:45.668 WORLD : InitEntities 'world' +05:18:45.668 ENTITY : Init entity @"ENTITY:4611686018427388381" ('SCR_PlayerController') at <0.000000 0.000000 0.000000> @"{225E51284CC95CFA}Prefabs/Characters/Core/DefaultPlayerControllerMP.et" +05:18:45.668 GUI : WidgetManager: CrateWidgets @"{3C9DCDD76AB83157}UI/layouts/HUD/HUDLayouts/HUDManager_Root.layout" +05:18:45.668 SCRIPT (W): Slot_WeaponInfo Has no Content! +05:18:45.668 SCRIPT (W): Slot_Chat Has no Content! +05:18:45.668 SCRIPT (W): Slot_VON Has no Content! +05:18:45.668 SCRIPT (W): Slot_AvailableActions Has no Content! +05:18:45.669 SCRIPT (W): Slot_Vehicle Has no Content! +05:18:45.669 SCRIPT (W): Slot_GameVersion Has no Content! +05:18:45.669 SCRIPT (W): Slot_Notifications Has no Content! +05:18:45.669 SCRIPT (W): Slot_Hints Has no Content! +05:18:45.675 NETWORK : ### Updating player: PlayerId=1, Name=jakub, rplIdentity=0xFFFFFFFE, IdentityId=00000000-0000-0000-0000-000000000000 +05:18:45.675 NETWORK : Players connecting: 0 +05:18:45.675 NETWORK : Players connected: 1 / 1 +05:18:45.693 WORLD : Frame start +05:18:45.694 SCRIPT : ScenarioFramework: Available tasks are empty, no new tasks will be generated. +05:18:45.706 WORLD : UpdateEntities +05:18:45.706 WORLD : Frame +05:18:45.706 SCRIPT : SCR_BaseGameMode::OnGameStateChanged = GAME +05:18:45.816 WORLD : UpdateEntities +05:18:45.816 WORLD : PostFrame +05:18:45.816 GUI : WidgetManager: CrateWidgets @"{D89BBA18F99053D6}UI/layouts/HUD/Chat/ChatHud.layout" +05:18:45.816 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +05:18:45.838 RENDER : RENDER : ObjectsHeightMap::Build +05:18:45.838 RENDER : RENDER : MeshOccupancyGridManager::GenerateAllForWorld +05:18:45.999 PROFILING : MeshOccupancyGridManager::GenerateAllForWorld took: 160.643200 ms +05:18:46.006 PROFILING : ObjectsHeightMap::Build took: 167.701100 ms +05:18:47.198 SCRIPT : Rereintroduced [sites]: cache clearance position=<6086,211.538,7160> clear=1 +05:18:47.203 SCRIPT : Rereintroduced [sites]: authored everon-prison-1 at <6090,211.444,7160> +05:18:47.204 SCRIPT : Rereintroduced [sites]: cache clearance position=<6150,203.288,7050> clear=1 +05:18:47.212 SCRIPT : Rereintroduced [sites]: authored everon-supply-1 at <6150,203.288,7050> +05:18:47.214 SCRIPT : Rereintroduced [sites]: authored everon-radio-1 at <6500,159.756,7200> +05:18:47.224 SCRIPT : Rereintroduced [sites]: authored everon-extraction-1 at <7000,65.2562,7500> +05:18:47.224 SCRIPT : Rereintroduced [sites]: cache clearance position=<5960,220.256,7220> clear=1 +05:18:47.229 SCRIPT : Rereintroduced [sites]: transport parking=<5960,220.256,7212> radius=4 terrainRange=0.8125 obstructed=0 clear=1 +05:18:47.240 SCRIPT : Rereintroduced [sites]: authored everon-supply-2 at <5960,220.256,7220> +05:18:47.240 SCRIPT : Rereintroduced [sites]: cache clearance position=<6340,175.788,7400> clear=1 +05:18:47.242 SCRIPT : Rereintroduced [sites]: authored everon-medical-1 at <6340,175.788,7400> +05:18:47.242 SCRIPT : Rereintroduced [sites]: cache clearance position=<6740,140.6,7300> clear=1 +05:18:47.245 SCRIPT : Rereintroduced [sites]: cache clearance position=<6740,140.913,7296> clear=1 +05:18:47.245 SCRIPT : Rereintroduced [sites]: cache clearance position=<6736,140.975,7300> clear=1 +05:18:47.245 SCRIPT : Rereintroduced [sites]: cache clearance position=<6744,140.288,7300> clear=1 +05:18:47.247 SCRIPT : Rereintroduced [sites]: authored everon-outpost-1 at <6740,140.6,7300> +05:18:47.449 SCRIPT : Rereintroduced [sites]: 7 sites and 117 physical stock items ready +05:18:47.450 SCRIPT : Rereintroduced [time]: started at 14:00 with 1x progression +05:18:47.450 SCRIPT : Rereintroduced [mission]: phase 0 -> 1 +05:18:47.708 SCRIPT : INFO: Faction: player jakub (playerID = 1 | UUID = 00000000-0000-0000-0000-000000000000) has joined faction #AR-Faction_US (US) +05:18:47.736 SCRIPT : Rereintroduced [spawn]: player 1 at <6087,211.438,7157> +05:18:47.762 SCRIPT : ERR SMOKE PASS: objective UI current native task exists +05:18:47.765 SCRIPT : ERR SMOKE PASS: objective UI native list and detail layouts created +05:18:47.765 SCRIPT : ERR SMOKE PASS: objective UI native handlers attached +05:18:47.765 SCRIPT : ERR SMOKE PASS: objective UI open list and details contain current title and instructions +05:18:47.765 SCRIPT : ERR SMOKE PASS: objective UI list-only task cannot expose an undiscovered map position +05:18:47.766 SCRIPT : ERR SMOKE PASS: objective UI actual local player receives the active objective +05:18:47.766 SCRIPT : ERR SMOKE PASS: objective UI extraction instructions follow a nondefault boundary +05:18:47.766 SCRIPT : ERR SMOKE PASS: objective UI rebinding keeps one subscription to each native task event +05:18:47.767 SCRIPT : ERR SMOKE PASS: objective UI closing native widget uses production detach and releases its task +05:18:47.767 SCRIPT : ERR SMOKE PASS: objective UI closed native widget receives no task callbacks +05:18:48.271 SCRIPT : ERR SMOKE PASS: objective UI closed native widget has no delayed overflow callbacks +05:18:48.271 SCRIPT : ERR SMOKE PASS: objective UI current native task exists +05:18:48.273 SCRIPT : ERR SMOKE PASS: objective UI native list and detail layouts created +05:18:48.273 SCRIPT : ERR SMOKE PASS: objective UI native handlers attached +05:18:48.274 SCRIPT : ERR SMOKE PASS: objective UI open list and details contain current title and instructions +05:18:48.274 SCRIPT : ERR SMOKE PASS: objective UI list-only task cannot expose an undiscovered map position +05:18:48.274 SCRIPT : ERR SMOKE PASS: objective UI actual local player receives the active objective +05:18:48.275 SCRIPT : ERR SMOKE PASS: objective UI extraction instructions follow a nondefault boundary +05:18:48.275 SCRIPT : ERR SMOKE PASS: objective UI details reopen through native layout and current objective binding +05:18:48.771 SCRIPT : ERR SMOKE PASS: definition authored configuration resolves +05:18:48.772 SCRIPT : ERR SMOKE PASS: definition duplicate site identity rejected +05:18:48.772 SCRIPT : ERR SMOKE PASS: definition dangling document target rejected +05:18:48.772 SCRIPT : ERR SMOKE PASS: definition non-radio document target rejected +05:18:48.772 SCRIPT : ERR SMOKE PASS: definition insufficient guaranteed radio clues rejected +05:18:48.772 SCRIPT : ERR SMOKE PASS: definition unbounded stock rejected +05:18:48.773 SCRIPT : ERR SMOKE PASS: definition unguaranteed clue route rejected +05:18:48.773 SCRIPT : ERR SMOKE PASS: definition radio sources sharing one footprint rejected +05:18:48.773 SCRIPT : ERR SMOKE PASS: definition unnamed location rejected +05:18:48.773 SCRIPT : ERR SMOKE PASS: definition proximity discovery cannot reveal progression sites +05:18:48.774 SCRIPT : ERR SMOKE PASS: definition escape cannot reveal the radio directly +05:18:48.774 SCRIPT : ERR SMOKE PASS: definition unbounded scenery offset rejected +05:18:48.774 SCRIPT : ERR SMOKE PASS: definition valid configuration restored after isolated mutations +05:18:48.774 SCRIPT : ERR SMOKE PASS: base contracts catalog resolves hostile vanilla factions and successful preparation +05:18:48.774 SCRIPT : ERR SMOKE PASS: base contracts physical prisoner matches injected faction and resource +05:18:48.775 SCRIPT : ERR SMOKE PASS: base contracts physical guard squad comes from injected catalog +05:18:48.775 SCRIPT : ERR SMOKE PASS: base contracts same-side factions rejected +05:18:48.775 SCRIPT : ERR SMOKE PASS: base contracts unknown world faction rejected +05:18:48.775 SCRIPT : ERR SMOKE PASS: base contracts missing prisoner resource rejected +05:18:48.775 SCRIPT : ERR SMOKE PASS: base contracts isolated catalog restored without mutating live configuration +05:18:48.775 SCRIPT : ERR SMOKE PASS: base contracts unauthorized settings request rejected +05:18:48.775 SCRIPT : ERR SMOKE PASS: base contracts partially numeric input rejected without mutation +05:18:48.776 SCRIPT : ERR SMOKE PASS: base contracts out-of-range duration rejected without mutation +05:18:48.778 SCRIPT : ERR SMOKE PASS: base contracts normalized base command saves validated duration +05:18:48.778 SCRIPT : ERR SMOKE PASS: base contracts base command reads saved duration +05:18:48.778 SCRIPT : ERR SMOKE PASS: base contracts base settings listing available +05:18:48.779 SCRIPT : ERR SMOKE PASS: base contracts base mission status available before companions +05:18:48.781 SCRIPT : ERR SMOKE PASS: base contracts test setting restored +05:18:48.781 SCRIPT : ERR SMOKE PASS: base outpost barrier is upright +05:18:48.781 SCRIPT : ERR COVER GEOMETRY: low=<6738.99,140.839,7295.42> high=<6740.98,141.655,7296.62> trace=0.377114 +05:18:48.781 SCRIPT : ERR SMOKE PASS: base outpost barrier has physical collision +05:18:48.782 SCRIPT : ERR SMOKE PASS: base outpost barrier is upright +05:18:48.782 SCRIPT : ERR COVER GEOMETRY: low=<6735.42,140.901,7299.02> high=<6736.62,141.718,7301.01> trace=0.377114 +05:18:48.782 SCRIPT : ERR SMOKE PASS: base outpost barrier has physical collision +05:18:48.782 SCRIPT : ERR SMOKE PASS: base outpost barrier is upright +05:18:48.782 SCRIPT : ERR COVER GEOMETRY: low=<6743.42,140.214,7299.02> high=<6744.62,141.03,7301.01> trace=0.377114 +05:18:48.782 SCRIPT : ERR SMOKE PASS: base outpost barrier has physical collision +05:18:48.782 SCRIPT : ERR SMOKE PASS: base exactly three authored outpost barriers exist +05:18:48.783 SCRIPT : ERR SMOKE PASS: mission time clock parsing includes midnight and final minute +05:18:48.783 SCRIPT : ERR SMOKE PASS: mission time malformed clock commands rejected +05:18:48.783 SCRIPT : ERR SMOKE PASS: mission time isolated fixture paths unused +05:18:48.784 SCRIPT : ERR SMOKE PASS: mission time legacy fixture created +05:18:48.784 SCRIPT : ERR SMOKE PASS: mission time existing six-key settings preserved +05:18:48.784 SCRIPT : ERR SMOKE PASS: mission time only absent time settings receive defaults +05:18:48.785 SCRIPT : ERR SMOKE PASS: mission time loading does not rewrite legacy file +05:18:48.790 SCRIPT : ERR SMOKE PASS: mission time explicit save upgrades valid legacy settings +05:18:48.790 SCRIPT : ERR SMOKE PASS: mission time new keys and old values survive reload +05:18:48.791 SCRIPT : ERR SMOKE PASS: mission time present out-of-range time cannot silently default +05:18:48.792 SCRIPT : ERR SMOKE PASS: mission time fractional clock setting rejected +05:18:48.792 SCRIPT : ERR SMOKE PASS: mission time zero multiplier rejected +05:18:48.794 SCRIPT : ERR SMOKE PASS: mission time missing legacy setting remains invalid +05:18:48.794 SCRIPT : ERR SMOKE PASS: mission time partially upgraded file defaults only missing new field +05:18:48.795 SCRIPT : ERR SMOKE PASS: mission time valid saved backup recovers invalid primary +05:18:48.796 SCRIPT : ERR SMOKE PASS: mission time server starts world clock before prison phase +05:18:48.796 SCRIPT : ERR SMOKE PASS: mission time engine progression matches applied multiplier +05:18:48.796 SCRIPT : ERR SMOKE PASS: mission time unauthorized clock mutation rejected +05:18:48.796 SCRIPT : ERR SMOKE PASS: mission time invalid clock command preserves setting +05:18:48.805 SCRIPT : ERR SMOKE PASS: mission time authorized settings persist and test restores originals +05:18:48.805 SCRIPT : ERR SMOKE PASS: mission time saved changes and repeated start leave current clock and speed intact +05:18:48.805 SCRIPT : ERR SMOKE PASS: mission time admin sees current clock separately from next round settings +05:18:48.806 SCRIPT : ERR SMOKE PASS: base native prison objective exists +05:18:48.806 SCRIPT : ERR SMOKE PASS: objective UI current native task exists +05:18:48.806 SCRIPT : ERR SMOKE PASS: objective UI open list and details contain current title and instructions +05:18:48.806 SCRIPT : ERR SMOKE PASS: objective UI list-only task cannot expose an undiscovered map position +05:18:48.806 SCRIPT : ERR SMOKE PASS: objective UI actual local player receives the active objective +05:18:48.806 SCRIPT : ERR SMOKE PASS: objective UI extraction instructions follow a nondefault boundary +05:18:48.806 SCRIPT : ERR SMOKE PASS: base authored supply cache is a separate scavenging location +05:18:48.807 SCRIPT : ERR BASE STOCK: cache items=54 +05:18:48.807 SCRIPT : ERR SMOKE PASS: base cache holds finite physical equipment and objective documents +05:18:48.807 SCRIPT : ERR SMOKE PASS: base no companion HQ or support controller loaded +05:18:48.807 SCRIPT : ERR SMOKE PASS: base prisoner spawned in authored prison +05:18:48.807 SCRIPT : ERR SMOKE PASS: base gate, clues, radio and helicopter created by core +05:18:48.807 SCRIPT : Rereintroduced [mission]: phase 1 -> 2 +05:18:48.808 SCRIPT : ERR SMOKE PASS: base gate action begins escape +05:18:48.811 SCRIPT : ERR SMOKE PASS: base test defence duration accepted +05:18:48.811 SCRIPT : ERR SMOKE PASS: base previous native objective completes on phase change +05:18:48.811 SCRIPT : ERR SMOKE PASS: base search objective does not expose a hidden site +05:18:48.811 SCRIPT : ERR SMOKE PASS: objective UI current native task exists +05:18:48.814 SCRIPT : ERR SMOKE PASS: objective UI native list and detail layouts created +05:18:48.814 SCRIPT : ERR SMOKE PASS: objective UI native handlers attached +05:18:48.814 SCRIPT : ERR SMOKE PASS: objective UI open list and details contain current title and instructions +05:18:48.814 SCRIPT : ERR SMOKE PASS: objective UI list-only task cannot expose an undiscovered map position +05:18:48.815 SCRIPT : ERR SMOKE PASS: objective UI actual local player receives the active objective +05:18:48.815 SCRIPT : ERR SMOKE PASS: objective UI extraction instructions follow a nondefault boundary +05:18:48.815 SCRIPT : ERR SMOKE PASS: base both named supply routes revealed after escape +05:18:48.815 SCRIPT : ERR SMOKE PASS: base optional sites remain hidden until approached +05:18:54.821 SCRIPT : ERR SMOKE PASS: base unconscious player cannot discover optional sites +05:19:00.885 SCRIPT : ERR SMOKE PASS: base distant player cannot discover optional sites +05:19:00.885 SCRIPT : ERR SMOKE PASS: base isolated visibility obstacle created +05:19:00.885 SCRIPT : ERR VISIBILITY OBSTACLE: low=<6338.5,174.97,7403.87> high=<6341.5,178.737,7404.13> observer=<6340.36,174.683,7466.41> target=<6340,175.788,7400> +05:19:06.962 SCRIPT : ERR SMOKE PASS: base physical wall prevents nearby site discovery +05:19:13.035 SCRIPT : ERR SMOKE PASS: base conscious nearby player visually discovers named medical stash once +05:19:13.035 SCRIPT : ERR SMOKE PASS: base proximity cannot bypass radio documents +05:19:13.537 SCRIPT : ERR SMOKE PASS: base physical clue recovered +05:19:13.846 SCRIPT : Rereintroduced [intel]: player 1 recovered folder; location=everon-radio-1 knowledge=2 +05:19:16.066 SCRIPT : ERR SMOKE PASS: base physical clue recovered +05:19:18.591 SCRIPT : ERR SMOKE PASS: base objective guidance reacts to discovered radio +05:19:18.591 SCRIPT : ERR SMOKE PASS: objective UI current native task exists +05:19:18.591 SCRIPT : ERR SMOKE PASS: objective UI open list and details contain current title and instructions +05:19:18.591 SCRIPT : ERR SMOKE PASS: objective UI list-only task cannot expose an undiscovered map position +05:19:18.591 SCRIPT : ERR SMOKE PASS: objective UI actual local player receives the active objective +05:19:18.592 SCRIPT : ERR SMOKE PASS: objective UI extraction instructions follow a nondefault boundary +05:19:18.594 SCRIPT : ERR SMOKE PASS: base discovery ticks do not repeat the location event +05:19:18.594 SCRIPT : ERR SMOKE PASS: base documents identify radio without Intel addon +05:19:20.119 SCRIPT : ERR SMOKE PASS: radio service identified radio and real controlled prisoner available +05:19:20.120 SCRIPT : ERR SMOKE PASS: radio service controlled prisoner supports native state restoration +05:19:20.122 SCRIPT : ERR SMOKE PASS: radio service isolated thirty-second duration saved +05:19:20.130 SCRIPT : ERR SMOKE PASS: radio service second physical defender spawned +05:19:21.125 SCRIPT : ERR SMOKE PASS: radio service second physical defender settles with simulated connection membership +05:19:21.126 SCRIPT : ERR SMOKE PASS: radio service ordinary AI cannot tune even while alive and nearby +05:19:21.126 SCRIPT : ERR SMOKE PASS: radio service missing radio rejected +05:19:22.136 SCRIPT : ERR RADIO POSITION: outside tuning range after deferred teleport actor=<6506.01,159.313,7200.01> radio=<6500,159.756,7200> distanceXZ=6.00635 +05:19:22.136 SCRIPT : ERR SMOKE PASS: radio service tuning outside five metres rejected +05:19:23.153 SCRIPT : ERR RADIO POSITION: unconscious tuning range after deferred teleport actor=<6502.05,159.67,7200.04> radio=<6500,159.756,7200> distanceXZ=2.0467 +05:19:23.154 SCRIPT : ERR SMOKE PASS: radio service unconscious prisoner cannot tune +05:19:24.166 SCRIPT : ERR RADIO RECOVERY: tuning prisoner waiting step=4 alive=1 canFight=0 unconscious=1 lifeState=0 origin=<6502.05,159.67,7200.04> +05:19:25.178 SCRIPT : ERR RADIO RECOVERY: tuning prisoner waiting step=4 alive=1 canFight=0 unconscious=1 lifeState=0 origin=<6502.05,159.67,7200.04> +05:19:26.198 SCRIPT : ERR RADIO RECOVERY: tuning prisoner waiting step=4 alive=1 canFight=0 unconscious=1 lifeState=0 origin=<6502.05,159.529,7200.04> +05:19:26.701 SCRIPT : ERR RADIO RECOVERY: tuning prisoner ready step=4 alive=1 canFight=1 unconscious=0 lifeState=0 origin=<6502.05,159.529,7200.04> +05:19:26.701 SCRIPT : ERR RADIO AUTH: active=1 phase=2 registered=1 kind=1 knowledge=2 serviceState=0 distance=2.0467 +05:19:26.701 SCRIPT : ERR RADIO AUTH: playerId=1 connected=1 usedLife=1 sameActor=1 friendly=1 canFight=1 canBegin=1 +05:19:26.701 SCRIPT : ERR SMOKE PASS: radio service registered friendly conscious prisoner remains authorized +05:19:26.702 SCRIPT : ERR SMOKE PASS: radio service unregistered defender cannot start the isolated service +05:19:26.702 SCRIPT : ERR SMOKE PASS: radio service physical defender has native faction affiliation +05:19:27.713 SCRIPT : ERR SMOKE PASS: radio service hostile controlled defender cannot tune +05:19:28.725 SCRIPT : ERR SMOKE PASS: radio service start event emitted once and duplicate start rejected +05:19:28.726 SCRIPT : ERR SMOKE PASS: radio service two conscious physical defenders share one timer +05:19:29.731 SCRIPT : ERR SMOKE PASS: radio service hostile actor cannot defend even with simulated connection membership +05:19:30.734 SCRIPT : ERR SMOKE PASS: radio service elapsed countdown does not emit redundant progress events +05:19:31.741 SCRIPT : ERR SMOKE PASS: radio service second defender preserves progress while first is unconscious +05:19:32.756 SCRIPT : ERR SMOKE PASS: radio service all unconscious defenders reset accumulated time +05:19:33.769 SCRIPT : ERR RADIO RECOVERY: first defender waiting step=11 alive=1 canFight=0 unconscious=1 lifeState=0 origin=<6502.09,159.667,7200.08> +05:19:34.786 SCRIPT : ERR RADIO RECOVERY: first defender waiting step=11 alive=1 canFight=0 unconscious=1 lifeState=0 origin=<6502.09,159.527,7200.08> +05:19:35.291 SCRIPT : ERR RADIO RECOVERY: first defender ready step=11 alive=1 canFight=1 unconscious=0 lifeState=0 origin=<6502.09,159.527,7200.08> +05:19:35.291 SCRIPT : ERR SMOKE PASS: radio service conscious recovery starts a fresh continuous interval +05:19:36.308 SCRIPT : ERR RADIO RECOVERY: second defender waiting step=12 alive=1 canFight=0 unconscious=1 lifeState=0 origin=<6497.79,159.87,7199.22> +05:19:37.317 SCRIPT : ERR RADIO RECOVERY: second defender waiting step=12 alive=1 canFight=0 unconscious=1 lifeState=0 origin=<6497.79,159.87,7199.22> +05:19:37.819 SCRIPT : ERR RADIO RECOVERY: second defender ready step=12 alive=1 canFight=1 unconscious=0 lifeState=0 origin=<6497.79,159.869,7199.22> +05:19:37.819 SCRIPT : ERR SMOKE PASS: radio service empty server resets despite remaining character bodies +05:19:38.832 SCRIPT : ERR RADIO POSITION: outside defence radius after deferred teleport actor=<6560.49,155.594,7199.99> radio=<6500,159.756,7200> distanceXZ=60.4941 +05:19:38.832 SCRIPT : ERR SMOKE PASS: radio service outside sixty metres excludes first defender without resetting second +05:19:39.835 SCRIPT : ERR SMOKE PASS: radio service dead defender cannot maintain transmission +05:19:40.849 SCRIPT : ERR RADIO POSITION: returned to radio after deferred teleport actor=<6502.01,159.532,7200.01> radio=<6500,159.756,7200> distanceXZ=2.00538 +05:19:40.849 SCRIPT : ERR SMOKE PASS: radio service survivor returns physically before final transmission samples +05:19:40.852 SCRIPT : ERR SMOKE PASS: radio service live duration increase saved +05:19:40.852 SCRIPT : ERR SMOKE PASS: radio service live duration increase preserves accumulated occupancy +05:19:40.854 SCRIPT : ERR SMOKE PASS: radio service live duration reduction saved +05:19:40.854 SCRIPT : ERR SMOKE PASS: radio service live duration reduction completes at exact continuous boundary +05:19:40.854 SCRIPT : ERR SMOKE PASS: radio service completed service cannot restart or emit duplicate completion after stop +05:19:40.855 SCRIPT : ERR SMOKE PASS: radio service isolated cancellation service begins +05:19:40.855 SCRIPT : ERR SMOKE PASS: radio service stop cancels progress and future starts without completing +05:19:40.855 SCRIPT : ERR SMOKE PASS: radio service isolated terminal-phase service begins +05:19:40.855 SCRIPT : ERR SMOKE PASS: radio service terminal phase event prevents later completion +05:19:40.855 SCRIPT : ERR SMOKE PASS: radio service isolated event tests leave live objective ready for normal tuning +05:19:41.859 SCRIPT : ERR RADIO RECOVERY: restored prisoner ready step=90 alive=1 canFight=1 unconscious=0 lifeState=0 origin=<6501.99,159.532,7199.98> +05:19:41.859 SCRIPT : ERR RADIO RESTORE: actual=<6501.99,159.532,7199.98> original=<6501.99,159.533,7199.98> distance=0.0023286 +05:19:41.860 SCRIPT : ERR SMOKE PASS: radio service isolated test restores live duration and physical player state after a world frame +05:19:41.860 SCRIPT : Rereintroduced [mission]: phase 2 -> 3 +05:19:41.861 SCRIPT : ERR SMOKE PASS: base identified radio accepts transmission +05:19:46.901 SCRIPT : ERR SMOKE PASS: base depleted stock stays empty when preparation is queried again +05:19:46.901 SCRIPT : ERR SMOKE PASS: base native objective reports advancing radio progress +05:19:46.902 SCRIPT : ERR SMOKE PASS: objective UI current native task exists +05:19:46.904 SCRIPT : ERR SMOKE PASS: objective UI native list and detail layouts created +05:19:46.904 SCRIPT : ERR SMOKE PASS: objective UI native handlers attached +05:19:46.905 SCRIPT : ERR SMOKE PASS: objective UI open list and details contain current title and instructions +05:19:46.905 SCRIPT : ERR SMOKE PASS: objective UI list-only task cannot expose an undiscovered map position +05:19:46.905 SCRIPT : ERR SMOKE PASS: objective UI actual local player receives the active objective +05:19:46.905 SCRIPT : ERR SMOKE PASS: objective UI extraction instructions follow a nondefault boundary +05:20:22.238 SCRIPT : ERR SMOKE PASS: base unconscious survivor does not trigger defeat after the full grace period +05:20:22.238 SCRIPT : ERR SMOKE PASS: base unconscious radio defender cannot advance transmission +05:20:22.238 SCRIPT : ERR SMOKE PASS: base unconscious player retains their body and camera +05:20:28.311 SCRIPT : ERR SMOKE PASS: base regaining consciousness resumes transmission from zero +05:20:28.311 SCRIPT : ERR SMOKE PASS: base regaining consciousness does not grant another life +05:20:30.845 SCRIPT : ERR SMOKE PASS: base lost supply cache is not replaced +05:20:30.845 SCRIPT : ERR SMOKE PASS: base objective reports interruption and reset +05:20:30.845 SCRIPT : ERR SMOKE PASS: objective UI current native task exists +05:20:30.845 SCRIPT : ERR SMOKE PASS: objective UI open list and details contain current title and instructions +05:20:30.846 SCRIPT : ERR SMOKE PASS: objective UI list-only task cannot expose an undiscovered map position +05:20:30.846 SCRIPT : ERR SMOKE PASS: objective UI actual local player receives the active objective +05:20:30.846 SCRIPT : ERR SMOKE PASS: objective UI extraction instructions follow a nondefault boundary +05:21:01.371 SCRIPT : Rereintroduced [mission]: phase 3 -> 4 +05:21:04.284 SCRIPT : ERR SMOKE PASS: base radio defence reveals extraction +05:21:04.284 SCRIPT : ERR SMOKE PASS: mission time clock advancement remains enabled +05:21:04.284 SCRIPT : ERR SMOKE PASS: mission time progression sampled across at least ten engine seconds +05:21:04.284 SCRIPT : ERR SMOKE PASS: mission time native clock advances at configured rate without periodic resets +05:21:04.284 SCRIPT : ERR SMOKE PASS: objective UI current native task exists +05:21:04.287 SCRIPT : ERR SMOKE PASS: objective UI native list and detail layouts created +05:21:04.287 SCRIPT : ERR SMOKE PASS: objective UI native handlers attached +05:21:04.287 SCRIPT : ERR SMOKE PASS: objective UI open list and details contain current title and instructions +05:21:04.288 SCRIPT : ERR SMOKE PASS: objective UI list-only task cannot expose an undiscovered map position +05:21:04.288 SCRIPT : ERR SMOKE PASS: objective UI actual local player receives the active objective +05:21:04.288 SCRIPT : ERR SMOKE PASS: objective UI extraction instructions follow a nondefault boundary +05:21:04.288 SCRIPT : ERR SMOKE PASS: base player physically boards extraction helicopter +05:21:07.307 SCRIPT : ERR SMOKE PASS: base extraction requires real occupancy +05:21:07.402 SCRIPT : Rereintroduced [mission]: phase 4 -> 5 +05:21:07.403 SCRIPT : ERR SMOKE PASS: base escape and restart reached without companion services +05:21:07.403 SCRIPT : ERR SMOKE COMPLETE: core-only escape +05:21:07.496 SCRIPT : SCR_BaseGameMode::OnGameStateChanged = POSTGAME +05:21:07.498 GUI : WidgetManager: CrateWidgets @"{144919871D65F121}UI/layouts/HUD/GameOver/EndScreen/EndScreen.layout" +05:21:07.498 SCRIPT (W): Slot_Chat Has no Content! +05:21:07.498 SCRIPT (W): Slot_VON Has no Content! +05:21:07.498 SCRIPT (W): Slot_GameVersion Has no Content! +05:21:07.499 SCRIPT (W): Slot_Notifications Has no Content! +05:21:09.523 SCRIPT : ERR RESULT UI: player=1 title=You escaped Everon +05:21:09.523 SCRIPT (W): SCR_ScriptedWidgetComponent.GetComponent: widget not found: SCR_InputButtonComponent Back +05:21:09.523 SCRIPT : -- Stack trace -- +05:21:09.523 SCRIPT : GetComponent() Scripts/Game/UI/Components/WidgetLibrary/SCR_ScriptedWidgetComponent.c : 43 +05:21:09.523 SCRIPT : GetInputButtonComponent() Scripts/Game/UI/Components/WidgetLibrary/SCR_InputButton/SCR_InputButtonComponent.c : 1214 +05:21:09.523 SCRIPT : OnMenuOpen() Scripts/Game/UI/GameOverScreen/SCR_GameOverScreenInput.c : 15 +05:21:09.524 SCRIPT : OpenGameOverScreen() Scripts/Game/GameOverScreen/SCR_GameOverScreenManagerComponent.c : 447 +05:21:09.524 SCRIPT : ShowGameOverScreen() Scripts/Game/GameOverScreen/SCR_GameOverScreenManagerComponent.c : 177 +05:21:09.524 SCRIPT : OnUpdate() Scripts/Game/game.c : 885 +05:21:09.524 SCRIPT : ----------------- +05:21:09.524 SCRIPT (W): SCR_ScriptedWidgetComponent.GetComponent: widget not found: SCR_InputButtonComponent ChatButton +05:21:09.524 SCRIPT : -- Stack trace -- +05:21:09.524 SCRIPT : GetComponent() Scripts/Game/UI/Components/WidgetLibrary/SCR_ScriptedWidgetComponent.c : 43 +05:21:09.524 SCRIPT : GetInputButtonComponent() Scripts/Game/UI/Components/WidgetLibrary/SCR_InputButton/SCR_InputButtonComponent.c : 1214 +05:21:09.525 SCRIPT : OnMenuOpen() Scripts/Game/UI/GameOverScreen/SCR_GameOverScreenInput.c : 21 +05:21:09.525 SCRIPT : OpenGameOverScreen() Scripts/Game/GameOverScreen/SCR_GameOverScreenManagerComponent.c : 447 +05:21:09.525 SCRIPT : ShowGameOverScreen() Scripts/Game/GameOverScreen/SCR_GameOverScreenManagerComponent.c : 177 +05:21:09.525 SCRIPT : OnUpdate() Scripts/Game/game.c : 885 +05:21:09.525 SCRIPT : ----------------- +05:21:09.527 GUI : WidgetManager: CrateWidgets @"{144919871D65F121}UI/layouts/HUD/GameOver/EndScreen/EndScreen.layout" +05:21:09.527 SCRIPT (W): Slot_Chat Has no Content! +05:21:09.527 SCRIPT (W): Slot_VON Has no Content! +05:21:09.527 SCRIPT (W): Slot_GameVersion Has no Content! +05:21:09.528 SCRIPT (W): Slot_Notifications Has no Content! +05:21:09.528 SCRIPT : ERR RESULT UI: player=1 title=You escaped Everon diff --git a/docs/evidence/native-2026-09-19-051452/error.log.txt b/docs/evidence/native-2026-09-19-051452/error.log.txt new file mode 100644 index 0000000..2849050 --- /dev/null +++ b/docs/evidence/native-2026-09-19-051452/error.log.txt @@ -0,0 +1,209 @@ +--------------------------------------------- +Log Z:\tmp\erri-workbench-profile\logs\logs_2026-09-19_05-14-52\error.log started at 2026-09-19 05:14:54 (2026-09-19 03:14:54 UTC) + +05:14:54.394 INIT : Workbench startup +05:14:54.394 INIT : Workbench Init Engine +05:14:54.394 RESOURCES : ResourceDB: full scan +05:14:54.394 RESOURCES : processing files... +05:14:54.394 RESOURCES (W): resource not registered: @"$profile:rereintroduced.json". Setting null GUID +05:14:54.394 RESOURCES (W): resource not registered: @"$logs:launch-source-sha256.json". Setting null GUID +05:14:54.394 RESOURCES (W): resource not registered: @"$logs:launch-source.json". Setting null GUID +05:14:57.507 INIT : Workbench Create Game +05:14:57.507 SCRIPT : Compiling Game scripts +05:14:57.507 SCRIPT (W): @"Scripts/Game/Editor/Components/EditableEntity/SCR_EditableEntityComponent.c,785": 'GetPlayerPlatformKind' is obsolete +05:14:57.507 SCRIPT (W): @"Scripts/Game/Editor/Components/EditableEntity/SCR_EditableEntityComponent.c,786": 'GetPlayerPlatformId' is obsolete +05:14:57.752 SCRIPT (W): @"Scripts/Game/ERR/ERR_SiteService.c,140": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +05:14:57.762 SCRIPT (W): @"Scripts/Game/Workshop/SCR_AddonManager.c,876": 'GetRefCount' is obsolete: Will be removed +05:14:57.790 SCRIPT (W): @"Scripts/Game/Campaign/SCR_PlayerProfileManagerComponent.c,142": 'PlayerData' is obsolete +05:14:57.887 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,159": 'GetDSSession' is obsolete +05:14:57.887 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,162": 'RoomID' is obsolete +05:14:57.887 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,197": 'GetDSSession' is obsolete +05:14:57.887 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,201": 'RoomID' is obsolete +05:14:57.974 SCRIPT (W): @"Scripts/Game/DataCollection/SCR_DataCollectorComponent.c,481": 'GetStorage' is obsolete +05:14:57.974 SCRIPT (W): @"Scripts/Game/DataCollection/SCR_DataCollectorComponent.c,483": 'GetOnlineWritePrivilege' is obsolete +05:14:57.976 SCRIPT (W): @"Scripts/Game/Utilities/SCR_PlayerIdentityUtils.c,20": 'GetPlayerIdentityId' is obsolete +05:14:58.017 SCRIPT (W): @"Scripts/Game/ERR/ERR_ExtractionService.c,45": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +05:14:58.017 SCRIPT (W): @"Scripts/Game/ERR/ERR_ExtractionService.c,56": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +05:14:58.019 SCRIPT (W): @"Scripts/Game/UI/Menu/MainMenuUI.c,643": 'GetNotifyCount' is obsolete: Will be substitued by Notification Api. +05:14:58.019 SCRIPT (W): @"Scripts/Game/UI/Menu/MainMenuUI.c,645": 'GetNotifyItem' is obsolete: Will be substitued by Notification Api. +05:14:58.043 SCRIPT (W): @"Scripts/Game/ERR/ERR_NativeTransportProbe.c,82": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +05:14:58.075 SCRIPT (W): @"Scripts/Game/DataCollection/PlayerData/SCR_PlayerData.c,210": 'PlayerData' is obsolete +05:15:06.793 WORLD : CreateEntities +05:15:06.793 ENTITY : Create entity @"ENTITY:610406" ('StaticModelEntity','Assets/Structures/Infrastructure/Towers/TransmitterTower_01/TransmitterTower_01_small.xob') at <1931.796021 81.777000 5138.725098> @"{6A004A8F0571D456}Prefabs/Structures/Infrastructure/Towers/TransmitterTower_01/TransmitterTower_01_small.et" +05:15:06.793 ENTITY : CreateComponent 'ScriptedRadioComponent' +05:15:06.793 DEFAULT (W): World doesn't contain RadioManagerEntity to support any BaseRadioComponent. +05:15:22.015 DEFAULT (W): LogiLED: Cannot initialize! (service not running or no compatible device detected) +05:15:26.686 WORLD : Game::LoadEntities +05:15:26.686 WORLD : CreateEntities +05:15:26.686 WORLD : CreateEntities +05:15:26.686 ENTITY : Create entity @"ENTITY:610406" ('StaticModelEntity','Assets/Structures/Infrastructure/Towers/TransmitterTower_01/TransmitterTower_01_small.xob') at <1931.796021 81.777000 5138.725098> @"{6A004A8F0571D456}Prefabs/Structures/Infrastructure/Towers/TransmitterTower_01/TransmitterTower_01_small.et" +05:15:26.686 ENTITY : CreateComponent 'ScriptedRadioComponent' +05:15:26.686 DEFAULT (W): World doesn't contain RadioManagerEntity to support any BaseRadioComponent. +05:15:28.087 ENTITY : Create entity @"ENTITY:842066" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1080.213013 10.776751 6018.347168> +05:15:28.087 ENTITY : CreateComponent 'Hierarchy' +05:15:28.087 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842066" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1080.213013 10.776751 6018.347168>') +05:15:28.087 ENTITY : Create entity @"ENTITY:842068" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1082.185913 10.778749 6018.331055> +05:15:28.087 ENTITY : CreateComponent 'Hierarchy' +05:15:28.087 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842068" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1082.185913 10.778749 6018.331055>') +05:15:28.087 ENTITY : Create entity @"ENTITY:842070" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1084.190918 10.790751 6018.334961> +05:15:28.087 ENTITY : CreateComponent 'Hierarchy' +05:15:28.087 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842070" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1084.190918 10.790751 6018.334961>') +05:15:28.093 ENTITY : Create entity @"ENTITY:842333" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4425.594727 9.981750 11029.402344> +05:15:28.093 ENTITY : CreateComponent 'Hierarchy' +05:15:28.093 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842333" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4425.594727 9.981750 11029.402344>') +05:15:28.093 ENTITY : Create entity @"ENTITY:842335" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4426.584473 9.983749 11031.109375> +05:15:28.093 ENTITY : CreateComponent 'Hierarchy' +05:15:28.093 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842335" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4426.584473 9.983749 11031.109375>') +05:15:28.093 ENTITY : Create entity @"ENTITY:842337" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4427.572266 9.995750 11032.853516> +05:15:28.093 ENTITY : CreateComponent 'Hierarchy' +05:15:28.093 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842337" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4427.572266 9.995750 11032.853516>') +05:15:28.097 ENTITY : Create entity @"ENTITY:842591" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.946289 10.470250 1551.986084> +05:15:28.097 ENTITY : CreateComponent 'Hierarchy' +05:15:28.097 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842591" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.946289 10.470250 1551.986084>') +05:15:28.097 ENTITY : Create entity @"ENTITY:842593" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.430664 10.472250 1550.081421> +05:15:28.097 ENTITY : CreateComponent 'Hierarchy' +05:15:28.097 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842593" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.430664 10.472250 1550.081421>') +05:15:28.098 ENTITY : Create entity @"ENTITY:842595" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10008.926758 10.484250 1548.140869> +05:15:28.098 ENTITY : CreateComponent 'Hierarchy' +05:15:28.098 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842595" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10008.926758 10.484250 1548.140869>') +05:15:32.555 ENTITY : Create entity @"ENTITY:2305843009213693956" ('Factions', SCR_FactionManager) at <0.000000 0.000000 0.000000> @"{589540B35EBA8CDC}Prefabs/MP/Managers/Factions/FactionManager_USxUSSR.et" +05:15:32.555 RESOURCES : GetResourceObject @"{5168FEA3054D6D15}Prefabs/Vehicles/Wheeled/M151A2/M151A2_M2HB_MERDC.et" +05:15:32.555 WORLD : Entity prefab load @"{5168FEA3054D6D15}Prefabs/Vehicles/Wheeled/M151A2/M151A2_M2HB_MERDC.et" +05:15:32.555 RESOURCES : GetResourceObject @"{F6B23D17D5067C11}Prefabs/Vehicles/Wheeled/M151A2/M151A2_M2HB.et" +05:15:32.555 WORLD : Entity prefab load @"{F6B23D17D5067C11}Prefabs/Vehicles/Wheeled/M151A2/M151A2_M2HB.et" +05:15:32.555 RESOURCES : GetResourceObject @"{F649585ABB3706C4}Prefabs/Vehicles/Wheeled/M151A2/M151A2.et" +05:15:32.555 WORLD : Entity prefab load @"{F649585ABB3706C4}Prefabs/Vehicles/Wheeled/M151A2/M151A2.et" +05:15:32.555 WORLD (E): Unknown keyword/data 'SlidingTrackMaterial' at offset 19441(0x4bf1) +05:15:32.594 RESOURCES : GetResourceObject @"{F7B9B434FCFF00B3}Prefabs/Vehicles/Wheeled/Conflict_Variants/BRDM2_Conflict.et" +05:15:32.594 WORLD : Entity prefab load @"{F7B9B434FCFF00B3}Prefabs/Vehicles/Wheeled/Conflict_Variants/BRDM2_Conflict.et" +05:15:32.594 RESOURCES : GetResourceObject @"{254289B9C09904AB}Prefabs/Vehicles/Wheeled/BRDM2/BRDM2.et" +05:15:32.594 WORLD : Entity prefab load @"{254289B9C09904AB}Prefabs/Vehicles/Wheeled/BRDM2/BRDM2.et" +05:15:32.594 RESOURCES : GetResourceObject @"{532B5F3CF8496E59}Prefabs/Vehicles/Wheeled/BRDM2/BRDM2_base.et" +05:15:32.594 WORLD : Entity prefab load @"{532B5F3CF8496E59}Prefabs/Vehicles/Wheeled/BRDM2/BRDM2_base.et" +05:15:32.594 WORLD (E): Unknown keyword/data 'Parent' at offset 35955(0x8c73) +05:15:32.594 WORLD (E): Unknown keyword/data 'Parent' at offset 36915(0x9033) +05:15:32.595 RESOURCES : GetResourceObject @"{BD75A18920BD1278}Prefabs/Vehicles/Wheeled/Conflict_Variants/BTR70_Conflict.et" +05:15:32.595 WORLD : Entity prefab load @"{BD75A18920BD1278}Prefabs/Vehicles/Wheeled/Conflict_Variants/BTR70_Conflict.et" +05:15:32.595 RESOURCES : GetResourceObject @"{C012BB3488BEA0C2}Prefabs/Vehicles/Wheeled/BTR70/BTR70.et" +05:15:32.595 WORLD : Entity prefab load @"{C012BB3488BEA0C2}Prefabs/Vehicles/Wheeled/BTR70/BTR70.et" +05:15:32.595 RESOURCES : GetResourceObject @"{1C5FE7B7FF49BB8D}Prefabs/Vehicles/Wheeled/BTR70/BTR70_Base.et" +05:15:32.595 WORLD : Entity prefab load @"{1C5FE7B7FF49BB8D}Prefabs/Vehicles/Wheeled/BTR70/BTR70_Base.et" +05:15:32.595 WORLD (E): Unknown keyword/data 'Parent' at offset 42646(0xa696) +05:15:32.595 WORLD (E): Unknown keyword/data 'Parent' at offset 43645(0xaa7d) +05:15:32.595 WORLD (E): Unknown keyword/data 'Parent' at offset 44617(0xae49) +05:15:32.595 WORLD (E): Unknown keyword/data 'Parent' at offset 45590(0xb216) +05:15:34.898 WORLD : InitEntities 'world' +05:15:34.898 ENTITY : Init entity @"ENTITY:2305843009213693953" ('Rereintroduced', ERR_GameMode) at <1076.468018 51.000999 1325.246948> @"{978E045E53EF36C8}Prefabs/ERR/GameMode.et" +05:15:34.898 SCRIPT (W): SCR_PerceivedFactionManagerComponent trying to set fall back faction 'CIV' but this faction could not be found so it is null instead. +05:15:35.409 ENTITY : SpawnEntityPrefab @"{225E51284CC95CFA}Prefabs/Characters/Core/DefaultPlayerControllerMP.et" +05:15:35.409 ENTITY : Create entity @"ENTITY:4611686018427388381" ('SCR_PlayerController') at <0.000000 0.000000 0.000000> +05:15:35.409 ENTITY : EntityPrefabUse @"{225E51284CC95CFA}Prefabs/Characters/Core/DefaultPlayerControllerMP.et" +05:15:35.409 SCRIPT (W): Notification data in 'SCR_NotificationsLogDisplay' has duplicate notification info key: 'EDITOR_PERCEIVED_FACTION_PUNISHMENT_KILLING_SET'. There should only be one of each key! +05:15:35.410 SCRIPT (W): Notification data in 'SCR_NotificationsLogDisplay' has duplicate notification info key: 'EDITOR_PERCEIVED_FACTION_TYPE_DISABLED'. There should only be one of each key! +05:15:35.411 SCRIPT (W): Can't open config file "" +05:15:35.417 WORLD : InitEntities 'world' +05:15:35.417 ENTITY : Init entity @"ENTITY:4611686018427388381" ('SCR_PlayerController') at <0.000000 0.000000 0.000000> @"{225E51284CC95CFA}Prefabs/Characters/Core/DefaultPlayerControllerMP.et" +05:15:35.417 GUI : WidgetManager: CrateWidgets @"{3C9DCDD76AB83157}UI/layouts/HUD/HUDLayouts/HUDManager_Root.layout" +05:15:35.417 SCRIPT (W): Slot_WeaponInfo Has no Content! +05:15:35.417 SCRIPT (W): Slot_Chat Has no Content! +05:15:35.418 SCRIPT (W): Slot_VON Has no Content! +05:15:35.418 SCRIPT (W): Slot_AvailableActions Has no Content! +05:15:35.418 SCRIPT (W): Slot_Vehicle Has no Content! +05:15:35.418 SCRIPT (W): Slot_GameVersion Has no Content! +05:15:35.418 SCRIPT (W): Slot_Notifications Has no Content! +05:15:35.418 SCRIPT (W): Slot_Hints Has no Content! +05:15:35.431 SCRIPT (W): Ban Settings could not be loaded from BE Storage: Relying on default config +05:15:35.671 WORLD : UpdateEntities +05:15:35.672 WORLD : PostFrame +05:15:35.672 GUI : WidgetManager: CrateWidgets @"{D89BBA18F99053D6}UI/layouts/HUD/Chat/ChatHud.layout" +05:15:35.672 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +05:15:35.725 RESOURCES : GetResourceObject @"{20A6917D2114E29A}UI/layouts/HUD/Hint/HintInfoDisplay.layout" +05:15:35.725 GUI : Layout load @"{20A6917D2114E29A}UI/layouts/HUD/Hint/HintInfoDisplay.layout" +05:15:35.725 GUI : Widget prefab @"{EA1CC57D868E94F9}UI/layouts/HUD/Hint/Hint.layout" +05:15:35.725 GUI (W): Overridden prefab member (GUID: '{661AB14E0F471C66}' type: ButtonWidgetClass) no longer exists in prefab +05:17:58.548 GUI : WidgetManager: CrateWidgets @"{144919871D65F121}UI/layouts/HUD/GameOver/EndScreen/EndScreen.layout" +05:17:58.548 SCRIPT (W): Slot_Chat Has no Content! +05:17:58.548 SCRIPT (W): Slot_VON Has no Content! +05:17:58.548 SCRIPT (W): Slot_GameVersion Has no Content! +05:17:58.548 SCRIPT (W): Slot_Notifications Has no Content! +05:18:00.583 SCRIPT (W): SCR_ScriptedWidgetComponent.GetComponent: widget not found: SCR_InputButtonComponent Back +05:18:00.584 SCRIPT (W): SCR_ScriptedWidgetComponent.GetComponent: widget not found: SCR_InputButtonComponent ChatButton +05:18:00.587 GUI : WidgetManager: CrateWidgets @"{144919871D65F121}UI/layouts/HUD/GameOver/EndScreen/EndScreen.layout" +05:18:00.587 SCRIPT (W): Slot_Chat Has no Content! +05:18:00.587 SCRIPT (W): Slot_VON Has no Content! +05:18:00.588 SCRIPT (W): Slot_GameVersion Has no Content! +05:18:00.588 SCRIPT (W): Slot_Notifications Has no Content! +05:18:28.462 SCRIPT (W): Maybe a problem: DataProgression is not ready but the analytics event was requested +05:18:28.463 SCRIPT (W): SCR_PlayerData:CalculateStatsChange: Specialization stats, experience or rank stats were modified prematurely. The career data for this session might be compromised +05:18:28.681 DEFAULT (W): Achievements cannot be saved. +05:18:28.681 DEFAULT (W): Achievements failed to save. Consecutive calls to Achievements API may fail. +05:18:37.016 WORLD : Game::LoadEntities +05:18:37.016 WORLD : CreateEntities +05:18:37.016 WORLD : CreateEntities 'world' +05:18:37.016 ENTITY : Create entity @"ENTITY:610406" ('StaticModelEntity','Assets/Structures/Infrastructure/Towers/TransmitterTower_01/TransmitterTower_01_small.xob') at <1931.796021 81.777000 5138.725098> @"{6A004A8F0571D456}Prefabs/Structures/Infrastructure/Towers/TransmitterTower_01/TransmitterTower_01_small.et" +05:18:37.016 ENTITY : CreateComponent 'ScriptedRadioComponent' +05:18:37.016 DEFAULT (W): World doesn't contain RadioManagerEntity to support any BaseRadioComponent. +05:18:38.341 ENTITY : Create entity @"ENTITY:842066" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1080.213013 10.776751 6018.347168> +05:18:38.341 ENTITY : CreateComponent 'Hierarchy' +05:18:38.341 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842066" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1080.213013 10.776751 6018.347168>') +05:18:38.341 ENTITY : Create entity @"ENTITY:842068" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1082.185913 10.778749 6018.331055> +05:18:38.341 ENTITY : CreateComponent 'Hierarchy' +05:18:38.341 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842068" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1082.185913 10.778749 6018.331055>') +05:18:38.341 ENTITY : Create entity @"ENTITY:842070" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1084.190918 10.790751 6018.334961> +05:18:38.341 ENTITY : CreateComponent 'Hierarchy' +05:18:38.341 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842070" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1084.190918 10.790751 6018.334961>') +05:18:38.346 ENTITY : Create entity @"ENTITY:842333" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4425.594727 9.981750 11029.402344> +05:18:38.346 ENTITY : CreateComponent 'Hierarchy' +05:18:38.346 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842333" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4425.594727 9.981750 11029.402344>') +05:18:38.346 ENTITY : Create entity @"ENTITY:842335" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4426.584473 9.983749 11031.109375> +05:18:38.346 ENTITY : CreateComponent 'Hierarchy' +05:18:38.346 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842335" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4426.584473 9.983749 11031.109375>') +05:18:38.346 ENTITY : Create entity @"ENTITY:842337" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4427.572266 9.995750 11032.853516> +05:18:38.346 ENTITY : CreateComponent 'Hierarchy' +05:18:38.346 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842337" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4427.572266 9.995750 11032.853516>') +05:18:38.350 ENTITY : Create entity @"ENTITY:842591" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.946289 10.470250 1551.986084> +05:18:38.350 ENTITY : CreateComponent 'Hierarchy' +05:18:38.350 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842591" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.946289 10.470250 1551.986084>') +05:18:38.350 ENTITY : Create entity @"ENTITY:842593" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.430664 10.472250 1550.081421> +05:18:38.350 ENTITY : CreateComponent 'Hierarchy' +05:18:38.350 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842593" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.430664 10.472250 1550.081421>') +05:18:38.350 ENTITY : Create entity @"ENTITY:842595" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10008.926758 10.484250 1548.140869> +05:18:38.350 ENTITY : CreateComponent 'Hierarchy' +05:18:38.350 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842595" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10008.926758 10.484250 1548.140869>') +05:18:45.045 WORLD : InitEntities 'world' +05:18:45.045 ENTITY : Init entity @"ENTITY:2305843009213693953" ('Rereintroduced', ERR_GameMode) at <1076.468018 51.000999 1325.246948> @"{978E045E53EF36C8}Prefabs/ERR/GameMode.et" +05:18:45.045 SCRIPT (W): SCR_PerceivedFactionManagerComponent trying to set fall back faction 'CIV' but this faction could not be found so it is null instead. +05:18:45.665 ENTITY : SpawnEntityPrefab @"{225E51284CC95CFA}Prefabs/Characters/Core/DefaultPlayerControllerMP.et" +05:18:45.665 ENTITY : Create entity @"ENTITY:4611686018427388381" ('SCR_PlayerController') at <0.000000 0.000000 0.000000> +05:18:45.665 ENTITY : EntityPrefabUse @"{225E51284CC95CFA}Prefabs/Characters/Core/DefaultPlayerControllerMP.et" +05:18:45.665 SCRIPT (W): Notification data in 'SCR_NotificationsLogDisplay' has duplicate notification info key: 'EDITOR_PERCEIVED_FACTION_PUNISHMENT_KILLING_SET'. There should only be one of each key! +05:18:45.665 SCRIPT (W): Notification data in 'SCR_NotificationsLogDisplay' has duplicate notification info key: 'EDITOR_PERCEIVED_FACTION_TYPE_DISABLED'. There should only be one of each key! +05:18:45.667 SCRIPT (W): Can't open config file "" +05:18:45.667 SCRIPT (W): Cannot update game blocklist. Another request in progress. +05:18:45.668 WORLD : InitEntities 'world' +05:18:45.668 ENTITY : Init entity @"ENTITY:4611686018427388381" ('SCR_PlayerController') at <0.000000 0.000000 0.000000> @"{225E51284CC95CFA}Prefabs/Characters/Core/DefaultPlayerControllerMP.et" +05:18:45.668 GUI : WidgetManager: CrateWidgets @"{3C9DCDD76AB83157}UI/layouts/HUD/HUDLayouts/HUDManager_Root.layout" +05:18:45.668 SCRIPT (W): Slot_WeaponInfo Has no Content! +05:18:45.668 SCRIPT (W): Slot_Chat Has no Content! +05:18:45.668 SCRIPT (W): Slot_VON Has no Content! +05:18:45.668 SCRIPT (W): Slot_AvailableActions Has no Content! +05:18:45.669 SCRIPT (W): Slot_Vehicle Has no Content! +05:18:45.669 SCRIPT (W): Slot_GameVersion Has no Content! +05:18:45.669 SCRIPT (W): Slot_Notifications Has no Content! +05:18:45.669 SCRIPT (W): Slot_Hints Has no Content! +05:18:45.816 WORLD : UpdateEntities +05:18:45.816 WORLD : PostFrame +05:18:45.816 GUI : WidgetManager: CrateWidgets @"{D89BBA18F99053D6}UI/layouts/HUD/Chat/ChatHud.layout" +05:18:45.816 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +05:21:07.498 GUI : WidgetManager: CrateWidgets @"{144919871D65F121}UI/layouts/HUD/GameOver/EndScreen/EndScreen.layout" +05:21:07.498 SCRIPT (W): Slot_Chat Has no Content! +05:21:07.498 SCRIPT (W): Slot_VON Has no Content! +05:21:07.498 SCRIPT (W): Slot_GameVersion Has no Content! +05:21:07.499 SCRIPT (W): Slot_Notifications Has no Content! +05:21:09.523 SCRIPT (W): SCR_ScriptedWidgetComponent.GetComponent: widget not found: SCR_InputButtonComponent Back +05:21:09.524 SCRIPT (W): SCR_ScriptedWidgetComponent.GetComponent: widget not found: SCR_InputButtonComponent ChatButton +05:21:09.527 GUI : WidgetManager: CrateWidgets @"{144919871D65F121}UI/layouts/HUD/GameOver/EndScreen/EndScreen.layout" +05:21:09.527 SCRIPT (W): Slot_Chat Has no Content! +05:21:09.527 SCRIPT (W): Slot_VON Has no Content! +05:21:09.527 SCRIPT (W): Slot_GameVersion Has no Content! +05:21:09.528 SCRIPT (W): Slot_Notifications Has no Content! diff --git a/docs/evidence/native-2026-09-19-051452/headless-launch.log.txt b/docs/evidence/native-2026-09-19-051452/headless-launch.log.txt new file mode 100644 index 0000000..8ca5eb8 --- /dev/null +++ b/docs/evidence/native-2026-09-19-051452/headless-launch.log.txt @@ -0,0 +1,156 @@ +[gamescope] [Info] console: gamescope version 3.16.28 (gcc 16.2.1) +No CAP_SYS_NICE, falling back to regular-priority compute and threads. +Performance will be affected. +[gamescope] [Info] scriptmgr: Loading scripts from: '/usr/share/gamescope/scripts' +[gamescope] [Info] scriptmgr: Loading scripts from: '/usr/share/gamescope/scripts/00-gamescope' +[gamescope] [Info] scriptmgr: Loading scripts from: '/usr/share/gamescope/scripts/00-gamescope/common' +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/common/inspect.lua' (id: 0) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/common/modegen.lua' (id: 1) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/common/util.lua' (id: 2) +[gamescope] [Info] scriptmgr: Loading scripts from: '/usr/share/gamescope/scripts/00-gamescope/displays' +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/asus.rogally.lcd.lua' (id: 3) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/deckhd.steamdeck.deckhd-lcd.lua' (id: 4) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/gpd.win4.lcd.lua' (id: 5) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/lenovo.legiongo.lcd.lua' (id: 6) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/lenovo.legiongos.lcd.lua' (id: 7) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/onexplayer.f1.oled.lua' (id: 8) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/valve.steamdeck.lcd.lua' (id: 9) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/valve.steamdeck.oled.lua' (id: 10) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/zotac.zone.oled.lua' (id: 11) +[gamescope] [Info] scriptmgr: Loading scripts from: '/etc/gamescope/scripts' +[gamescope] [Warn] scriptmgr: Directory '/etc/gamescope/scripts' does not exist +[gamescope] [Info] scriptmgr: Loading scripts from: '/home/jakub/.config/gamescope/scripts' +[gamescope] [Warn] scriptmgr: Directory '/home/jakub/.config/gamescope/scripts' does not exist +[gamescope] [Info] vulkan: selecting physical device 'AMD Radeon RX 6950 XT (RADV NAVI21)': queue family 1 (general queue family 0) +[gamescope] [Info] vulkan: physical device supports DRM format modifiers +[gamescope] [Info] wlserver: [backend/headless/backend.c:60] Creating headless backend +[gamescope] [Info] vulkan: supported DRM formats for sampling usage: +[gamescope] [Info] vulkan: AR24 (0x34325241) +[gamescope] [Info] vulkan: XR24 (0x34325258) +[gamescope] [Info] vulkan: AB24 (0x34324241) +[gamescope] [Info] vulkan: XB24 (0x34324258) +[gamescope] [Info] vulkan: RG16 (0x36314752) +[gamescope] [Info] vulkan: NV12 (0x3231564E) +[gamescope] [Info] vulkan: AB4H (0x48344241) +[gamescope] [Info] vulkan: XB4H (0x48344258) +[gamescope] [Info] vulkan: AB48 (0x38344241) +[gamescope] [Info] vulkan: XB48 (0x38344258) +[gamescope] [Info] vulkan: AB30 (0x30334241) +[gamescope] [Info] vulkan: XB30 (0x30334258) +[gamescope] [Info] vulkan: AR30 (0x30335241) +[gamescope] [Info] vulkan: XR30 (0x30335258) +[gamescope] [Info] wlserver: Using explicit sync when available +[gamescope] [Info] wlserver: Running compositor on wayland display 'gamescope-0' +[gamescope] [Info] wlserver: [backend/headless/backend.c:17] Starting headless backend +[gamescope] [Info] wlserver: Successfully initialized libei for input emulation! +[gamescope] [Error] wlserver: [xwayland/sockets.c:47] Failed to bind socket @/tmp/.X11-unix/X0: Address already in use +[gamescope] [Info] wlserver: [xwayland/server.c:108] Starting Xwayland on :2 +The XKEYBOARD keymap compiler (xkbcomp) reports: +> Warning: Multiple symbols for level 1/group 1 on key +> Using F23, ignoring XF86TouchpadOff +> Warning: Symbol map for key redefined +> Using last definition for conflicting fields +> Warning: Symbol map for key redefined +> Using last definition for conflicting fields +> Warning: Could not resolve keysym XF86ElectronicPrivacyScreenOn +> Warning: Could not resolve keysym XF86ElectronicPrivacyScreenOff +> Warning: Could not resolve keysym XF86ActionOnSelection +> Warning: Could not resolve keysym XF86ContextualInsert +> Warning: Could not resolve keysym XF86ContextualQuery +Errors from xkbcomp are not fatal to the X server +[gamescope] [Info] pipewire: stream state changed: connecting +[gamescope] [Info] pipewire: stream state changed: paused +[gamescope] [Info] pipewire: stream available on node ID: 173 +[gamescope] [Info] vblank: Using timerfd. +fsync: up and running. +[Gamescope WSI] No application info given. +[Gamescope WSI] Executable name: explorer.exe +ATTENTION: default value of option vk_wsi_force_swapchain_to_current_extent overridden by environment. +[Gamescope WSI] Application info: + pApplicationName: xalia.exe + applicationVersion: 0 + pEngineName: DXVK + engineVersion: 12587008 + apiVersion: 4206592 +[Gamescope WSI] Executable name: xalia.exe +ATTENTION: default value of option vk_wsi_force_swapchain_to_current_extent overridden by environment. +[Gamescope WSI] No application info given. +[Gamescope WSI] Application info: + pApplicationName: ArmaReforgerWorkbenchSteamDiag.exe + applicationVersion: 1 + pEngineName: DXVK + engineVersion: 12587008 + apiVersion: 4206592 +[Gamescope WSI] Executable name: ArmaReforgerWorkbenchSteamDiag.exe +ATTENTION: default value of option vk_wsi_force_swapchain_to_current_extent overridden by environment. +[Gamescope WSI] No application info given. +The XKEYBOARD keymap compiler (xkbcomp) reports: +> Warning: Unsupported maximum keycode 709, clipping. +> X11 cannot support keycodes above 255. +> Warning: Virtual modifier Hyper multiply defined +> Using 0, ignoring 0 +> Warning: Virtual modifier ScrollLock multiply defined +> Using 0, ignoring 0 +Errors from xkbcomp are not fatal to the X server +ATTENTION: default value of option vk_wsi_force_swapchain_to_current_extent overridden by environment. +[Gamescope WSI] Application info: + pApplicationName: ArmaReforgerWorkbenchSteamDiag.exe + applicationVersion: 0 + pEngineName: DXVK + engineVersion: 12587008 + apiVersion: 4206592 +ATTENTION: default value of option vk_wsi_force_swapchain_to_current_extent overridden by environment. +[Gamescope WSI] Application info: + pApplicationName: ArmaReforgerWorkbenchSteamDiag.exe + applicationVersion: 0 + pEngineName: vkd3d + engineVersion: 12587008 + apiVersion: 4206592 +[Gamescope WSI] Forcing on VK_EXT_swapchain_maintenance1. +ATTENTION: default value of option vk_wsi_force_swapchain_to_current_extent overridden by environment. +[Gamescope WSI] No application info given. +ATTENTION: default value of option vk_wsi_force_swapchain_to_current_extent overridden by environment. +[Gamescope WSI] Application info: + pApplicationName: ArmaReforgerWorkbenchSteamDiag.exe + applicationVersion: 0 + pEngineName: vkd3d + engineVersion: 12587008 + apiVersion: 4206592 +[Gamescope WSI] Forcing on VK_EXT_swapchain_maintenance1. +[Gamescope WSI] Creating Gamescope surface: xid: 0x1a001a4 +[Gamescope WSI] Atom of T was wrong type. Expected XCB_ATOM_CARDINAL. +[Gamescope WSI] Made gamescope surface for xid: 0x1a001a4 +[Gamescope WSI] Surface state: + steam app id: 1874910 + window xid: 0x1a001a4 + wayland surface res id: 5 + layer client flags: 0x4 + server hdr output enabled: false + hdr formats exposed to client: false +[Gamescope WSI] Creating Gamescope surface: xid: 0x1a003a4 +[Gamescope WSI] Atom of T was wrong type. Expected XCB_ATOM_CARDINAL. +[Gamescope WSI] Made gamescope surface for xid: 0x1a003a4 +[Gamescope WSI] Surface state: + steam app id: 1874910 + window xid: 0x1a003a4 + wayland surface res id: 10 + layer client flags: 0x4 + server hdr output enabled: false + hdr formats exposed to client: false +[Gamescope WSI] Creating swapchain for xid: 0x1a003a4 - oldSwapchain: (nil) - provided minImageCount: 3 - minImageCount: 3 - format: VK_FORMAT_B8G8R8A8_UNORM - colorspace: VK_COLOR_SPACE_SRGB_NONLINEAR_KHR - flip: false +[Gamescope WSI] Created swapchain for xid: 0x1a003a4 swapchain: 0x555571791c40 - imageCount: 4 +[Gamescope WSI] Destroying swapchain: 0x555571791c40 +[Gamescope WSI] Destroyed swapchain: 0x555571791c40 +[Gamescope WSI] Creating swapchain for xid: 0x1a003a4 - oldSwapchain: (nil) - provided minImageCount: 3 - minImageCount: 3 - format: VK_FORMAT_B8G8R8A8_UNORM - colorspace: VK_COLOR_SPACE_SRGB_NONLINEAR_KHR - flip: false +[Gamescope WSI] Created swapchain for xid: 0x1a003a4 swapchain: 0x555571791c40 - imageCount: 4 +[Gamescope WSI] Destroying swapchain: 0x555571791c40 +[Gamescope WSI] Destroyed swapchain: 0x555571791c40 +[Gamescope WSI] Creating swapchain for xid: 0x1a003a4 - oldSwapchain: (nil) - provided minImageCount: 3 - minImageCount: 3 - format: VK_FORMAT_B8G8R8A8_UNORM - colorspace: VK_COLOR_SPACE_SRGB_NONLINEAR_KHR - flip: false +[Gamescope WSI] Created swapchain for xid: 0x1a003a4 swapchain: 0x555571791c40 - imageCount: 4 +[Gamescope WSI] Creating swapchain for xid: 0x1a001a4 - oldSwapchain: (nil) - provided minImageCount: 3 - minImageCount: 3 - format: VK_FORMAT_R8G8B8A8_UNORM - colorspace: VK_COLOR_SPACE_SRGB_NONLINEAR_KHR - flip: true +[Gamescope WSI] Created swapchain for xid: 0x1a001a4 swapchain: 0x555571feabb0 - imageCount: 3 +[Gamescope WSI] Destroying swapchain: 0x555571feabb0 +[Gamescope WSI] Destroyed swapchain: 0x555571feabb0 +[Gamescope WSI] Creating swapchain for xid: 0x1a001a4 - oldSwapchain: (nil) - provided minImageCount: 3 - minImageCount: 3 - format: VK_FORMAT_R8G8B8A8_UNORM - colorspace: VK_COLOR_SPACE_SRGB_NONLINEAR_KHR - flip: true +[Gamescope WSI] Created swapchain for xid: 0x1a001a4 swapchain: 0x555571feabb0 - imageCount: 3 +[gamescope] [Error] xwm: X11 I/O error! This is fatal. Aborting... diff --git a/docs/evidence/native-2026-09-19-051452/launch-source-sha256.json b/docs/evidence/native-2026-09-19-051452/launch-source-sha256.json new file mode 100644 index 0000000..6405f7b --- /dev/null +++ b/docs/evidence/native-2026-09-19-051452/launch-source-sha256.json @@ -0,0 +1,118 @@ +{ + "addons/ai/Prefabs/ERR/MortarCrew.et": "05d3e7353ff9fe5523218a1487b31b7b742b0be8adbcb060c7099978cf008bce", + "addons/ai/Prefabs/ERR/MortarCrew.et.meta": "fdfd4fcd21a67c3d698fa4aadc4e5c76e665cebf4be86013bc389e493fab63cc", + "addons/ai/Scripts/Game/ERR/ERR_HQ.c": "ceafd6740ed277748744ce56ac0f0bb3a8521fcc060dafb2cdb99896aedf405a", + "addons/ai/Scripts/Game/ERR/ERR_HQJournal.c": "b3e402cfe92d415f37f666045afb062e6e11670ba03a0ca6f2d9fd4fc3520ac1", + "addons/ai/Scripts/Game/ERR/ERR_HQNetwork.c": "92ff2caca52e94c2cc9642dfc8509ce6e9349b257012bade8650bace9231128c", + "addons/ai/Scripts/Game/ERR/ERR_HQObservation.c": "36c978ec5f052213ac1236e1398d85063efbfd7ef60fe04f1fc11447fefe1d68", + "addons/ai/Scripts/Game/ERR/ERR_HQReport.c": "c4d16ccb571db4d9444c0a8d2be7318845d25ff90238b6d304e96a9ea19f1a08", + "addons/ai/Scripts/Game/ERR/ERR_HelicopterAvailability.c": "60eaef2f6d4b2fd44861c5a4434ef97e732e40a5ff7401e2da451ed2dd9c2762", + "addons/ai/Scripts/Game/ERR/ERR_MortarBattery.c": "66b8f16b692a0f75fc9d920f5224d9292a0f1dc7dd8b2dde912e676fa80ddc9c", + "addons/ai/Scripts/Game/ERR/ERR_MortarFiring.c": "657e96d1112b68c8ced37793e99f88e6078b38a579190e63d00b1f9a9a032e26", + "addons/ai/Scripts/Game/ERR/ERR_MortarPrediction.c": "470dd196ed64800c697d24c09d1344bacd2502587fac76af4ee0edae2563092d", + "addons/ai/Scripts/Game/ERR/ERR_MortarSalvo.c": "697c01f479df6c505a41d984a29c02002e3052114dafa2ec6252ae55e2979a2b", + "addons/ai/Scripts/Game/ERR/ERR_MortarSystem.c": "12d8fc39d47e03c3838e0642aa9e4a80baf60f250357493bff812d5c75812c86", + "addons/ai/Scripts/Game/ERR/ERR_SettlementSafety.c": "e5c0ebc95521a9a33a3f7d9cca6c551dda862a08b7af20b017877aba9584795b", + "addons/ai/Scripts/Game/ERR/ERR_SupportScenario.c": "71757018ec9716c4dc24f62a292a214919d3fd5daed3c16e03e56abd208e9f03", + "addons/ai/addon.gproj": "5f559db8f526700db11e6ae763f5245f19b7006fc68c56e4c09fb6f940bdf2a1", + "addons/chat/Missions/ERR_Everon.conf": "76f3ac0d21b585654beac7ddd68e3c8cbdd66dbfe909b17b04838fa813a7c29b", + "addons/chat/Missions/ERR_Everon.conf.meta": "0a23c98bf83873536c65fa17d38dea33a1d7b9e4ab210f90633ff688abcc551f", + "addons/chat/Scripts/Game/ERR/ERR_AdminCommands.c": "7ea6d6b240524cf0193c86fcab861fbdef9adca780acff11ee73f9ed0e99ce7b", + "addons/chat/Scripts/Game/ERR/ERR_NativeMortarProbe.c": "ddb892141500c192c0787b011d57dd8c07dd8c9a3ca5fdc407f6c271897bde0a", + "addons/chat/Scripts/Game/ERR/ERR_NativeRadioProbe.c": "84524163c63402755b4f834f74dfe6d8e5c397dc26031f532593c6f79f5a93b1", + "addons/chat/Scripts/Game/ERR/ERR_NativeSmoke.c": "0ab2fed95dcaa0442cf7feb25743308060d58497e347f17dbd25c8e970a9f81f", + "addons/chat/Scripts/WorkbenchGame/ERR/ERR_ValidateWorldPlugin.c": "81c92d408ce88cc9f98d6053f1d0c863427693ba748f00df9f1bf8079015ef94", + "addons/chat/addon.gproj": "ea1587e0174cf795334d306c71d99b06797fc891427cd57b6cab6e21cf0e4e0e", + "addons/core/Configs/ERR/EveronSites.conf": "2edb2c6983eb627800b65d9e244b9b228e0b82282e089c7b12e5a8921a2ea7bf", + "addons/core/Configs/ERR/EveronSites.conf.meta": "d5fe68025ef4e7c1e16082cf5873b7c7172eacbfaef4ab29b7e0e3c98f8dca56", + "addons/core/Configs/ERR/GameOverScreens.conf": "45231061911a1462d45fb6db0fecc2b0793f17b5ae71017174954ff4fbd20236", + "addons/core/Configs/ERR/GameOverScreens.conf.meta": "eb654b745c0b97b41c991694569ef4877a3c2315e0826f9556337cd68690843e", + "addons/core/Configs/ERR/VanillaFactions.conf": "f8b8b9898a16b4a4a55ab3c12d2547bef2dc433732c7643df980cb3aca715212", + "addons/core/Configs/ERR/VanillaFactions.conf.meta": "ac77725c0c21974991ef47a466b88122e939de8b46fd23e68889e7674cbb2bfd", + "addons/core/Missions/ERR_Everon_Base.conf": "1e6a0e9a756d15495201f71121626890f01efe6b00154c561672d4ec157960bd", + "addons/core/Missions/ERR_Everon_Base.conf.meta": "9b16267c644d815bcf98a3a3aaff30b93d7224fb24d3a2bac66730a28011f317", + "addons/core/Prefabs/ERR/Extraction.et": "1aa286ef253c5410f09fa641e4be91a7be8ec834487a7fbb74cfb45cab60ee1e", + "addons/core/Prefabs/ERR/Extraction.et.meta": "c2a838633001e2e3a202d39cb33aa744ebcd996017ad032359069641b5d13853", + "addons/core/Prefabs/ERR/FieldCover.et": "20f8095e69dbfe3db74ff19078e528ea75405362b335e03560ccd61f8df2e7f3", + "addons/core/Prefabs/ERR/FieldCover.et.meta": "83461ffa76244e1d69f20b053a9741ccdf7d127009182bd540a7e5ba6150c3d9", + "addons/core/Prefabs/ERR/GameMode.et": "385c97a5b8067091d92aa60c2d4fcf02002cf606b95523866ead65c96b8c0029", + "addons/core/Prefabs/ERR/GameMode.et.meta": "106769cd34525c9d440057072836cb7401a6752148c40edd7fe61c03bd58328c", + "addons/core/Prefabs/ERR/ObjectiveDocument.et": "2e72270bf186654af12d2c3ff9bf940690b03fb17fca44f873c1fde5d11384c0", + "addons/core/Prefabs/ERR/ObjectiveDocument.et.meta": "eaba9903be147b98a1106e2273e2270773df73b9b22f2cd4e20136a8e281382e", + "addons/core/Prefabs/ERR/Patrol.et": "c5685a8bc311cc5563fb3334beec9408d3d7a1069152fddeeb7df4f1b7f9e6ce", + "addons/core/Prefabs/ERR/Patrol.et.meta": "7c5da568fa2fcf0709ee2959253cb068d7c7ed7c2467af3b247a7e70efd96b69", + "addons/core/Prefabs/ERR/Prison.et": "1503db1441d8cd7a4f0b45c27ba9623b9fa39f0f81016e180bd2aa1379e1f42a", + "addons/core/Prefabs/ERR/Prison.et.meta": "2e426ef3de68f4107907854b51e818bc11d84649a01c538e3f18dd9ebec766bb", + "addons/core/Prefabs/ERR/PrisonDoor.et": "fc66be9d36f1f01084de59f1b0a1e8817f9e46547ead33d4fafaac0107446c40", + "addons/core/Prefabs/ERR/PrisonDoor.et.meta": "b8f3db52bf186426026668fbb9d633c3cbd4d438ab301fba880398f6a0e781c2", + "addons/core/Prefabs/ERR/PrisonWall.et": "8009d19365ae72a4749d7ad4fa04662575b06c65c6bf06507d380d57258b5eed", + "addons/core/Prefabs/ERR/PrisonWall.et.meta": "0294bc5dbb56f90f8153d62459bb0a6ad91d76a479812bbec9c7db182fdb58d6", + "addons/core/Prefabs/ERR/Radio.et": "b4b5cfe125b39019855816c9a1c508ca4d65d435b5546fdaa6c1fa3c8c9b1165", + "addons/core/Prefabs/ERR/Radio.et.meta": "bc91137b68ba550217914fb8892bb44d7e1920e4a1086f3e506623832a44212f", + "addons/core/Prefabs/ERR/SpectatorCamera.et": "b5b87d5b7b707f3745741aebe7c923067c8a74f8fbb2a4711834bab03bb5a812", + "addons/core/Prefabs/ERR/SpectatorCamera.et.meta": "2a16558f93915e31908a674509e9c89976470f78a84a1174a64b94b68b8f77ad", + "addons/core/Prefabs/ERR/SupplyCache.et": "bccf7afbaae97cfcdd78dd6dbbf4be5b2c045d348f50fe4581962e556c0044d7", + "addons/core/Prefabs/ERR/SupplyCache.et.meta": "2f5de3a4aab1e9d0e35521f48dc57b95bd6e449c383dec4f1c258e10295904cb", + "addons/core/Prefabs/ERR/SupplySite.et": "dc5decce5cabf39b6116e8794ec3960cb1e35761854fdbe69740da118787ded4", + "addons/core/Prefabs/ERR/SupplySite.et.meta": "b41944b12eb3528ff7a3ac94258b18c66ef161aa6a38894aee300a1ac4798630", + "addons/core/Scripts/Game/ERR/ERR_Actions.c": "adf93245e6d78c59b9839599d157a0d2b2b93ea93b3d1ae52e2904dd6c288266", + "addons/core/Scripts/Game/ERR/ERR_Actors.c": "b3c5aabb05f7cf35167bc09b5db51a4ffd89a46658805d6eedbfb80eee30273d", + "addons/core/Scripts/Game/ERR/ERR_AdminService.c": "047c14ce60cc0b167e202438f8f2b1063590e69ef88ea55b54598aea5f99c505", + "addons/core/Scripts/Game/ERR/ERR_DiscoveryMap.c": "2f4ea342fea0530061456be9cdce002d5e7a282e4e27eb88f3860e79f93612bf", + "addons/core/Scripts/Game/ERR/ERR_DiscoveryService.c": "6b5679447fe4a6d7d54c0545881ab56284f871556b3159207d421247f419eada", + "addons/core/Scripts/Game/ERR/ERR_DocumentComponent.c": "17bb76b80ebd3357e46d553c44674f602c7bd6901c92aec53ac8214194aa4ff2", + "addons/core/Scripts/Game/ERR/ERR_EscapeGameOverScreenInfo.c": "b1e1afb7795cb77c0bad94c85abf705b26b9dc2a9400905d80eafd56bdd009d3", + "addons/core/Scripts/Game/ERR/ERR_ExtractionService.c": "91357099b4e0401196b67d48963be54be30e56bdba57cdac67dc20b8ebb883e9", + "addons/core/Scripts/Game/ERR/ERR_FactionCatalog.c": "a5a8c53acf21259e14f59cb919535910f30dabff5a9179c664bc6a7a4d744d6e", + "addons/core/Scripts/Game/ERR/ERR_GameMode.c": "d766d1639378070bea64eef38baa4667f8b9f5f1a2a7b170f0fc5e8fd557917d", + "addons/core/Scripts/Game/ERR/ERR_Location.c": "d2035f56ded35743312ec6ca91a67f8623a466c91255e1893c570edf0954ff24", + "addons/core/Scripts/Game/ERR/ERR_MissionRules.c": "f7abc38ad8fdc375ce7fa63a65f0bade027d22b37e09de5e3f94ba8c3c63cc41", + "addons/core/Scripts/Game/ERR/ERR_NativeBaseSmoke.c": "f69ffcef3c3db6ff11b4dc8a6461dfc47f9964cf9e968b2c49aba57835df15d1", + "addons/core/Scripts/Game/ERR/ERR_NativeContractsProbe.c": "d1556df885171cf967e96eef5d8981a2e9ee4e3938b7d32fdd0426f647bbabc0", + "addons/core/Scripts/Game/ERR/ERR_NativeDefinitionProbe.c": "d05ef8368ef5afa68e29f45843cb1878b5a09be768f8abdff2f4115c23759b01", + "addons/core/Scripts/Game/ERR/ERR_NativeExtractionProbe.c": "4b09385f73206de004f4f3c38a6192fd658a0d2012482dc5a84dff1599ceb972", + "addons/core/Scripts/Game/ERR/ERR_NativeLifecycleProbe.c": "89620ec1cc94e260ef72460b32c3291ffcc84cfe51afa907954b10229a711b2b", + "addons/core/Scripts/Game/ERR/ERR_NativeObjectiveProbe.c": "bc63003daacfc47f689dec0fc2cba2b600b7428a87dd329927198da6db877c04", + "addons/core/Scripts/Game/ERR/ERR_NativeRadioDefenceProbe.c": "cad54f0b43cefd72df74697dfc7e93725ff0acac6d311e963ce4f817428c272c", + "addons/core/Scripts/Game/ERR/ERR_NativeResultProbe.c": "b9a117eef2d5f65fbd792041a2b3e59e38e201bda8e0df8c503e1a1242cfc415", + "addons/core/Scripts/Game/ERR/ERR_NativeSiteSurvey.c": "ac0203753ade0cdff6d483132797a80e4520f14546c3f9dea288281cd4cd9c4f", + "addons/core/Scripts/Game/ERR/ERR_NativeStationTeardownDiagnostic.c": "c01cbdbfe25fd38916fa74f2c02333baaacd5228686fd6e40b33c27b3cea8ed8", + "addons/core/Scripts/Game/ERR/ERR_NativeTimeProbe.c": "c93d049785971e51246fcc07cf24804270a752a655505f2c38e48c80df5255ae", + "addons/core/Scripts/Game/ERR/ERR_NativeTransportProbe.c": "63ec0c5ce698114daa6314b2a6e3c3e98e76094117c477f9d0d072260686d193", + "addons/core/Scripts/Game/ERR/ERR_NativeTransportSurvey.c": "3e94493bf54d15be2bceb106ad18873e14e6755af09c05f07db7fb26fb7adff5", + "addons/core/Scripts/Game/ERR/ERR_ObjectiveDetails.c": "d42487e3e3bd8a216d94b2792891d59906f26418d283e6303631a0ea666f135e", + "addons/core/Scripts/Game/ERR/ERR_ObjectiveText.c": "bbb29949194637e6781316836c895e2c0fa7ccdb547d4d944a717da2ad73b0a2", + "addons/core/Scripts/Game/ERR/ERR_Objectives.c": "88d95a52fcba103483ea751571e1afeae0e6fc82115ed50d6fc195424726960f", + "addons/core/Scripts/Game/ERR/ERR_Observer.c": "b719e723369ab4f403950c85226e1336eb48e3c127e84530ac1c695eb86bd0f9", + "addons/core/Scripts/Game/ERR/ERR_PlayerAdminCommands.c": "a084d7dc097dfcde3d6cd9c2e326b9e2f8f2a519f77b30c4f56ab7a1429aa721", + "addons/core/Scripts/Game/ERR/ERR_PlayerEscapeResult.c": "3124ab4d2d6d471409a47aba0af528790734df53243c03fe0cdac3e407047c14", + "addons/core/Scripts/Game/ERR/ERR_PlayerGuide.c": "2c9c365b88651f8b12618443638bf52c04e497221592bd483c33447e30468f36", + "addons/core/Scripts/Game/ERR/ERR_PlayerRoster.c": "a737ba739b3f73a91cd05d808a1d45070e83b5152c003c3164e29842dda51995", + "addons/core/Scripts/Game/ERR/ERR_RadioDefenceService.c": "85eb9c1b65d5987799927b6d8786b7299fcff849bcb15b91f8a4d1aa95823fd1", + "addons/core/Scripts/Game/ERR/ERR_Resources.c": "8a5314944f75b23982c6b99697045e3c0538aa2137b2c947a5b2411e6076ac03", + "addons/core/Scripts/Game/ERR/ERR_ScenarioComponent.c": "abba03af68323d5715ba1e2497fc66f3c706e6a6a983c3a386228abdfddeec89", + "addons/core/Scripts/Game/ERR/ERR_Settings.c": "2aee784e44c732e09f59150896491ab325ef5e62aa6bad725be1fda955a3f614", + "addons/core/Scripts/Game/ERR/ERR_SiteDefinition.c": "75b5121ceab77f0956f0dc34bd077b11af5586350de52321800427f18cc94477", + "addons/core/Scripts/Game/ERR/ERR_SiteService.c": "7ba02712562b3c8cd8de9851b6f26fed85020faacceef0767408b300b935c110", + "addons/core/Scripts/Game/ERR/ERR_SpawnFinalization.c": "2e295b0f225208c5414728ba83333e5e0ab6eef3a708ce39eb1dfce5400c94c9", + "addons/core/Scripts/Game/ERR/ERR_SpawnLogic.c": "64c2cef62d8a435eea396f057255b269d457935bf5d261221700739bf37240b8", + "addons/core/Scripts/Game/ERR/ERR_SpawnPlacement.c": "284db0d4a5ecd38f9c658c91ce943f4c0c30dcf4d31bb3edeea92e4ab0b1436a", + "addons/core/Scripts/Game/ERR/ERR_Supplies.c": "752e8a56b0b8cde33cf532032cb0a203553017b686faac2e19bee06f7a9c0713", + "addons/core/Scripts/Game/ERR/ERR_TimeService.c": "d9f481b7da01e08d2c982a948c18ba6bde76889d7cc9d26d510708f4ba479453", + "addons/core/Scripts/WorkbenchGame/ERR/ERR_ValidateBaseWorldPlugin.c": "7f44aa64ea7b4f8b3640a37a4b781c43bf6adb80e4a3a702d9491131698056f6", + "addons/core/Worlds/ERR_Everon.ent": "22324bc7eb0d80dec8a1f3bd61a9df9201b72f749f4e751766b0c9d0b7d46b87", + "addons/core/Worlds/ERR_Everon.ent.meta": "19d1903ca72baa326b4724a6791d0da1104a1e53f3f31dc1ca41a856efd68e83", + "addons/core/Worlds/ERR_Everon_Layers/default.layer": "f1a058bd315c7d01d464715ac9f4e18ae3d2432551d094a9afbd4c9c5a2a9416", + "addons/core/addon.gproj": "231274e6b62302f32c65f9ff31de2ce8a9e51e1c8d12c87deeec82ae1f40de46", + "addons/intel/Scripts/Game/ERR/ERR_IntelService.c": "482839434b94e7f8c345d5fd96490aeebb765f3dd0c1bb25fceea2f435c0e722", + "addons/intel/addon.gproj": "d0ced242cefb220a5cccd6779d61fda9bc55581701b9f78bcf13c09d92ddbcbe", + "addons/map/Materials/ERRM_MapRenderTarget.emat": "9877c5b175c5f30dd80bea36c711b21ab38219aa7075adf9ae79932e1d4c76bc", + "addons/map/Materials/ERRM_MapRenderTarget.emat.meta": "5ee1a705f8011a44020ca2691f5ccc17d44bf596fef9a36e98d1f267eb58fab0", + "addons/map/Prefabs/Items/Equipment/ERRM_SharedFieldMap.et": "30dee8e9eab459ea32a7d835a9fb89d43df47708057cab829f067b25a24cd581", + "addons/map/Prefabs/Items/Equipment/ERRM_SharedFieldMap.et.meta": "59093e9072c50d99c86da7609c87541016da5bcf92b98d99db4c524e1c8e0e8d", + "addons/map/Scripts/Game/ERR/ERR_ScenarioMap.c": "75fa1d742129ef7f33c005cd48f56db7f49ee7bde3c5428532b0b501b032b0a3", + "addons/map/Scripts/Game/ERRMap/ERRM_SharedMapComponent.c": "fc1a0c7df4fc96da446d7542a45a10fbec1eda1e543ba2f0581cb772277a47c5", + "addons/map/UI/layouts/ERRMap/SharedMapRenderTarget.layout": "49a2da4181b94d42174f58c7f9b6bf2207116c99427d61ff1c212092ac7db4d2", + "addons/map/UI/layouts/ERRMap/SharedMapRenderTarget.layout.meta": "5c846445cc089e2e08899ba703059d4adb805ff30ab5a16409a3cd59718cbd54", + "addons/map/addon.gproj": "1b371e5e01ea9fa46e76570fecb8aaa3a9298e34cba7ccca8a6bdb5ca86eb46a" +} diff --git a/docs/evidence/native-2026-09-19-051452/launch-source.json b/docs/evidence/native-2026-09-19-051452/launch-source.json new file mode 100644 index 0000000..19cbc91 --- /dev/null +++ b/docs/evidence/native-2026-09-19-051452/launch-source.json @@ -0,0 +1,46 @@ +{ + "schema_version": 1, + "launch_id": "04c89258-3382-439b-83cb-b2b325ab9cd8", + "captured_unix": 1789787690.964115, + "source_root": "/home/jakub/devel/escapistsrereintroduced", + "command": [ + "gamescope", + "--backend", + "headless", + "-W", + "1280", + "-H", + "720", + "-w", + "1280", + "-h", + "720", + "-r", + "30", + "--", + "/home/jakub/.local/share/Steam/steamapps/common/Proton - Experimental/proton", + "run", + "/home/jakub/.local/share/Steam/steamapps/common/Arma Reforger Tools/Workbench/ArmaReforgerWorkbenchSteamDiag.exe", + "-gproj", + "Z:/home/jakub/devel/escapistsrereintroduced/addons/core/addon.gproj", + "-addonsDir", + "Z:/home/jakub/devel/escapistsrereintroduced/addons", + "-profile", + "Z:/tmp/erri-workbench-profile", + "-logconsole", + "-wbModule=WorldEditor", + "-load", + "Worlds/ERR_Everon.ent", + "-plugin=ERR_ValidateBaseWorldPlugin", + "-errPlay", + "1", + "-errBaseSmoke", + "1", + "-errSmokeOutcome", + "victory", + "-noThrow", + "-errStationTeardownDiag", + "1" + ], + "manifest_sha256": "49f509071c4c83143364f6ee9482792c790e0d838b0c5f608d2d674bfd7807a4" +} diff --git a/docs/evidence/native-2026-09-19-051452/report.json b/docs/evidence/native-2026-09-19-051452/report.json new file mode 100644 index 0000000..e9ae204 --- /dev/null +++ b/docs/evidence/native-2026-09-19-051452/report.json @@ -0,0 +1,17 @@ +{ + "log": "docs/evidence/native-2026-09-19-051452/console.log.txt", + "smoke_completions": 2, + "assertions_passed": 374, + "script_or_runtime_failures": [], + "engine_errors": [ + "05:15:32.555 WORLD (E): Unknown keyword/data 'SlidingTrackMaterial' at offset 19441(0x4bf1)", + "05:15:32.594 WORLD (E): Unknown keyword/data 'Parent' at offset 35955(0x8c73)", + "05:15:32.594 WORLD (E): Unknown keyword/data 'Parent' at offset 36915(0x9033)", + "05:15:32.595 WORLD (E): Unknown keyword/data 'Parent' at offset 42646(0xa696)", + "05:15:32.595 WORLD (E): Unknown keyword/data 'Parent' at offset 43645(0xaa7d)", + "05:15:32.595 WORLD (E): Unknown keyword/data 'Parent' at offset 44617(0xae49)", + "05:15:32.595 WORLD (E): Unknown keyword/data 'Parent' at offset 45590(0xb216)" + ], + "missing_end_screen": [], + "scope": "scripted local Workbench integration only; no multiplayer, piloting or FPS claim" +} diff --git a/docs/evidence/native-2026-09-19-051452/runner.json.txt b/docs/evidence/native-2026-09-19-051452/runner.json.txt new file mode 100644 index 0000000..9f635f0 --- /dev/null +++ b/docs/evidence/native-2026-09-19-051452/runner.json.txt @@ -0,0 +1,19 @@ +{ + "stopped_unix": 1789788074.6465285, + "console_sha256": "60c079e77ed81bbc0ea4dde0ace2a1d6c302ac4de3df392627309a59fd22c63e", + "end_source_sha256": "49f509071c4c83143364f6ee9482792c790e0d838b0c5f608d2d674bfd7807a4", + "source_unchanged_after_run": true, + "source_provenance": "launch_snapshot", + "launch_id": "04c89258-3382-439b-83cb-b2b325ab9cd8", + "launch_source_manifest": "launch-source-sha256.json", + "launch_source_metadata": "launch-source.json", + "launch_source_sha256": "49f509071c4c83143364f6ee9482792c790e0d838b0c5f608d2d674bfd7807a4", + "started_unix": 1789787690.9641922, + "result": "smoke-completed", + "session": "/tmp/erri-workbench-profile/logs/logs_2026-09-19_05-14-52", + "rounds_required": 2, + "project": "core", + "display": "headless Gamescope 1280x720/30Hz", + "dedicated_server": false, + "audio": "silent sink and per-test-stream mute" +} diff --git a/docs/evidence/native-2026-09-19-051452/script.log.txt b/docs/evidence/native-2026-09-19-051452/script.log.txt new file mode 100644 index 0000000..fe70c4e --- /dev/null +++ b/docs/evidence/native-2026-09-19-051452/script.log.txt @@ -0,0 +1,606 @@ +--------------------------------------------- +Log Z:\tmp\erri-workbench-profile\logs\logs_2026-09-19_05-14-52\script.log started at 2026-09-19 05:14:55 (2026-09-19 03:14:55 UTC) + +05:14:55.439 SCRIPT : SCRIPT : Initializing scripts +05:14:55.439 SCRIPT : SCRIPT : ScriptProjectManager init +05:14:56.367 SCRIPT : SCRIPT : Compiling GameLib scripts +05:14:56.421 SCRIPT : Module: Workbench; loaded 18x files; 36x classes; used 125K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE"; CRC32: 90ce0460 +05:14:56.422 SCRIPT : Module: GameLib; loaded 465x files; 648x classes; used 828K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE"; CRC32: 4507af04 +05:14:56.422 SCRIPT : SCRIPT : Compiling Game scripts +05:14:57.507 SCRIPT : Compiling Game scripts +05:14:57.507 SCRIPT (W): @"Scripts/Game/Editor/Components/EditableEntity/SCR_EditableEntityComponent.c,785": 'GetPlayerPlatformKind' is obsolete +05:14:57.507 SCRIPT (W): @"Scripts/Game/Editor/Components/EditableEntity/SCR_EditableEntityComponent.c,786": 'GetPlayerPlatformId' is obsolete +05:14:57.752 SCRIPT (W): @"Scripts/Game/ERR/ERR_SiteService.c,140": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +05:14:57.762 SCRIPT (W): @"Scripts/Game/Workshop/SCR_AddonManager.c,876": 'GetRefCount' is obsolete: Will be removed +05:14:57.790 SCRIPT (W): @"Scripts/Game/Campaign/SCR_PlayerProfileManagerComponent.c,142": 'PlayerData' is obsolete +05:14:57.887 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,159": 'GetDSSession' is obsolete +05:14:57.887 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,162": 'RoomID' is obsolete +05:14:57.887 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,197": 'GetDSSession' is obsolete +05:14:57.887 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,201": 'RoomID' is obsolete +05:14:57.974 SCRIPT (W): @"Scripts/Game/DataCollection/SCR_DataCollectorComponent.c,481": 'GetStorage' is obsolete +05:14:57.974 SCRIPT (W): @"Scripts/Game/DataCollection/SCR_DataCollectorComponent.c,483": 'GetOnlineWritePrivilege' is obsolete +05:14:57.976 SCRIPT (W): @"Scripts/Game/Utilities/SCR_PlayerIdentityUtils.c,20": 'GetPlayerIdentityId' is obsolete +05:14:58.017 SCRIPT (W): @"Scripts/Game/ERR/ERR_ExtractionService.c,45": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +05:14:58.017 SCRIPT (W): @"Scripts/Game/ERR/ERR_ExtractionService.c,56": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +05:14:58.019 SCRIPT (W): @"Scripts/Game/UI/Menu/MainMenuUI.c,643": 'GetNotifyCount' is obsolete: Will be substitued by Notification Api. +05:14:58.019 SCRIPT (W): @"Scripts/Game/UI/Menu/MainMenuUI.c,645": 'GetNotifyItem' is obsolete: Will be substitued by Notification Api. +05:14:58.043 SCRIPT (W): @"Scripts/Game/ERR/ERR_NativeTransportProbe.c,82": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +05:14:58.075 SCRIPT (W): @"Scripts/Game/DataCollection/PlayerData/SCR_PlayerData.c,210": 'PlayerData' is obsolete +05:14:58.345 SCRIPT : Module: WorkbenchGame; loaded 171x files; 616x classes; used 2478K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE"; CRC32: db6febb9 +05:14:58.351 SCRIPT : Module: Game; loaded 5704x files; 11180x classes; used 32539K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE,ENABLE_BASE_DESTRUCTION,BUDGET_OPTIMIZATION_CHECKS,SHOW_DISCLAIMER,DEBUG,RESPAWN_TIMER_COMPONENT_DEBUG,GAME_MODE_DEBUG,DEBUG_CONFIGURABLE_DIALOGS,DISABLE_WEAPON_SWITCHING,SCRIPTED_AIM_MODIFIER_DEBUG"; CRC32: b027eb70 +05:14:59.294 SCRIPT : Unable to register a script command due keyword duplicity: ban +05:14:59.294 SCRIPT : Unable to register a script command due keyword duplicity: kick +05:15:18.764 SCRIPT : ERR SITE SURVEY: supply=6150/7050 elevationRange=0.625 min=202.875 max=203.5 +05:15:22.011 SCRIPT : Unable to register a script command due keyword duplicity: ban +05:15:22.011 SCRIPT : Unable to register a script command due keyword duplicity: kick +05:15:34.898 SCRIPT (W): SCR_PerceivedFactionManagerComponent trying to set fall back faction 'CIV' but this faction could not be found so it is null instead. +05:15:34.922 SCRIPT : ERR BASE SMOKE: core-only scripted escape; not manual or multiplayer acceptance +05:15:35.409 SCRIPT (W): Notification data in 'SCR_NotificationsLogDisplay' has duplicate notification info key: 'EDITOR_PERCEIVED_FACTION_PUNISHMENT_KILLING_SET'. There should only be one of each key! +05:15:35.410 SCRIPT (W): Notification data in 'SCR_NotificationsLogDisplay' has duplicate notification info key: 'EDITOR_PERCEIVED_FACTION_TYPE_DISABLED'. There should only be one of each key! +05:15:35.411 SCRIPT (W): Can't open config file "" +05:15:35.417 SCRIPT (W): Slot_WeaponInfo Has no Content! +05:15:35.417 SCRIPT (W): Slot_Chat Has no Content! +05:15:35.418 SCRIPT (W): Slot_VON Has no Content! +05:15:35.418 SCRIPT (W): Slot_AvailableActions Has no Content! +05:15:35.418 SCRIPT (W): Slot_Vehicle Has no Content! +05:15:35.418 SCRIPT (W): Slot_GameVersion Has no Content! +05:15:35.418 SCRIPT (W): Slot_Notifications Has no Content! +05:15:35.418 SCRIPT (W): Slot_Hints Has no Content! +05:15:35.431 SCRIPT (W): Ban Settings could not be loaded from BE Storage: Relying on default config +05:15:35.483 SCRIPT : ScenarioFramework: Available tasks are empty, no new tasks will be generated. +05:15:35.499 SCRIPT : SCR_BaseGameMode::OnGameStateChanged = GAME +05:15:35.672 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +05:15:37.208 SCRIPT : Rereintroduced [sites]: cache clearance position=<6086,211.538,7160> clear=1 +05:15:37.226 SCRIPT : Rereintroduced [sites]: authored everon-prison-1 at <6090,211.444,7160> +05:15:37.227 SCRIPT : Rereintroduced [sites]: cache clearance position=<6150,203.288,7050> clear=1 +05:15:37.254 SCRIPT : Rereintroduced [sites]: authored everon-supply-1 at <6150,203.288,7050> +05:15:37.257 SCRIPT : Rereintroduced [sites]: authored everon-radio-1 at <6500,159.756,7200> +05:15:37.304 SCRIPT : Rereintroduced [sites]: authored everon-extraction-1 at <7000,65.2562,7500> +05:15:37.304 SCRIPT : Rereintroduced [sites]: cache clearance position=<5960,220.256,7220> clear=1 +05:15:37.310 SCRIPT : Rereintroduced [sites]: transport parking=<5960,220.256,7212> radius=4 terrainRange=0.8125 obstructed=0 clear=1 +05:15:37.356 SCRIPT : Rereintroduced [sites]: authored everon-supply-2 at <5960,220.256,7220> +05:15:37.356 SCRIPT : Rereintroduced [sites]: cache clearance position=<6340,175.788,7400> clear=1 +05:15:37.358 SCRIPT : Rereintroduced [sites]: authored everon-medical-1 at <6340,175.788,7400> +05:15:37.359 SCRIPT : Rereintroduced [sites]: cache clearance position=<6740,140.6,7300> clear=1 +05:15:37.362 SCRIPT : Rereintroduced [sites]: cache clearance position=<6740,140.913,7296> clear=1 +05:15:37.363 SCRIPT : Rereintroduced [sites]: cache clearance position=<6736,140.975,7300> clear=1 +05:15:37.364 SCRIPT : Rereintroduced [sites]: cache clearance position=<6744,140.288,7300> clear=1 +05:15:37.365 SCRIPT : Rereintroduced [sites]: authored everon-outpost-1 at <6740,140.6,7300> +05:15:37.462 SCRIPT : Rereintroduced [sites]: 7 sites and 117 physical stock items ready +05:15:37.463 SCRIPT : Rereintroduced [time]: started at 14:00 with 1x progression +05:15:37.463 SCRIPT : Rereintroduced [mission]: phase 0 -> 1 +05:15:37.704 SCRIPT : INFO: Faction: player jakub (playerID = 1 | UUID = 00000000-0000-0000-0000-000000000000) has joined faction #AR-Faction_US (US) +05:15:37.786 SCRIPT : Rereintroduced [spawn]: player 1 at <6087,211.538,7157> +05:15:37.894 SCRIPT : ERR SMOKE PASS: objective UI current native task exists +05:15:37.897 SCRIPT : ERR SMOKE PASS: objective UI native list and detail layouts created +05:15:37.897 SCRIPT : ERR SMOKE PASS: objective UI native handlers attached +05:15:37.897 SCRIPT : ERR SMOKE PASS: objective UI open list and details contain current title and instructions +05:15:37.898 SCRIPT : ERR SMOKE PASS: objective UI list-only task cannot expose an undiscovered map position +05:15:37.898 SCRIPT : ERR SMOKE PASS: objective UI actual local player receives the active objective +05:15:37.898 SCRIPT : ERR SMOKE PASS: objective UI extraction instructions follow a nondefault boundary +05:15:37.898 SCRIPT : ERR SMOKE PASS: objective UI rebinding keeps one subscription to each native task event +05:15:37.899 SCRIPT : ERR SMOKE PASS: objective UI closing native widget uses production detach and releases its task +05:15:37.899 SCRIPT : ERR SMOKE PASS: objective UI closed native widget receives no task callbacks +05:15:38.897 SCRIPT : ERR SMOKE PASS: objective UI closed native widget has no delayed overflow callbacks +05:15:38.898 SCRIPT : ERR SMOKE PASS: objective UI current native task exists +05:15:38.900 SCRIPT : ERR SMOKE PASS: objective UI native list and detail layouts created +05:15:38.900 SCRIPT : ERR SMOKE PASS: objective UI native handlers attached +05:15:38.900 SCRIPT : ERR SMOKE PASS: objective UI open list and details contain current title and instructions +05:15:38.900 SCRIPT : ERR SMOKE PASS: objective UI list-only task cannot expose an undiscovered map position +05:15:38.900 SCRIPT : ERR SMOKE PASS: objective UI actual local player receives the active objective +05:15:38.901 SCRIPT : ERR SMOKE PASS: objective UI extraction instructions follow a nondefault boundary +05:15:38.901 SCRIPT : ERR SMOKE PASS: objective UI details reopen through native layout and current objective binding +05:15:39.401 SCRIPT : ERR SMOKE PASS: definition authored configuration resolves +05:15:39.402 SCRIPT : ERR SMOKE PASS: definition duplicate site identity rejected +05:15:39.402 SCRIPT : ERR SMOKE PASS: definition dangling document target rejected +05:15:39.402 SCRIPT : ERR SMOKE PASS: definition non-radio document target rejected +05:15:39.402 SCRIPT : ERR SMOKE PASS: definition insufficient guaranteed radio clues rejected +05:15:39.402 SCRIPT : ERR SMOKE PASS: definition unbounded stock rejected +05:15:39.402 SCRIPT : ERR SMOKE PASS: definition unguaranteed clue route rejected +05:15:39.402 SCRIPT : ERR SMOKE PASS: definition radio sources sharing one footprint rejected +05:15:39.402 SCRIPT : ERR SMOKE PASS: definition unnamed location rejected +05:15:39.403 SCRIPT : ERR SMOKE PASS: definition proximity discovery cannot reveal progression sites +05:15:39.403 SCRIPT : ERR SMOKE PASS: definition escape cannot reveal the radio directly +05:15:39.403 SCRIPT : ERR SMOKE PASS: definition unbounded scenery offset rejected +05:15:39.403 SCRIPT : ERR SMOKE PASS: definition valid configuration restored after isolated mutations +05:15:39.403 SCRIPT : ERR SMOKE PASS: base contracts catalog resolves hostile vanilla factions and successful preparation +05:15:39.403 SCRIPT : ERR SMOKE PASS: base contracts physical prisoner matches injected faction and resource +05:15:39.404 SCRIPT : ERR SMOKE PASS: base contracts physical guard squad comes from injected catalog +05:15:39.404 SCRIPT : ERR SMOKE PASS: base contracts same-side factions rejected +05:15:39.404 SCRIPT : ERR SMOKE PASS: base contracts unknown world faction rejected +05:15:39.404 SCRIPT : ERR SMOKE PASS: base contracts missing prisoner resource rejected +05:15:39.404 SCRIPT : ERR SMOKE PASS: base contracts isolated catalog restored without mutating live configuration +05:15:39.404 SCRIPT : ERR SMOKE PASS: base contracts unauthorized settings request rejected +05:15:39.405 SCRIPT : ERR SMOKE PASS: base contracts partially numeric input rejected without mutation +05:15:39.405 SCRIPT : ERR SMOKE PASS: base contracts out-of-range duration rejected without mutation +05:15:39.408 SCRIPT : ERR SMOKE PASS: base contracts normalized base command saves validated duration +05:15:39.408 SCRIPT : ERR SMOKE PASS: base contracts base command reads saved duration +05:15:39.408 SCRIPT : ERR SMOKE PASS: base contracts base settings listing available +05:15:39.408 SCRIPT : ERR SMOKE PASS: base contracts base mission status available before companions +05:15:39.410 SCRIPT : ERR SMOKE PASS: base contracts test setting restored +05:15:39.411 SCRIPT : ERR SMOKE PASS: base outpost barrier is upright +05:15:39.411 SCRIPT : ERR COVER GEOMETRY: low=<6738.99,140.839,7295.42> high=<6740.98,141.655,7296.62> trace=0.377114 +05:15:39.411 SCRIPT : ERR SMOKE PASS: base outpost barrier has physical collision +05:15:39.411 SCRIPT : ERR SMOKE PASS: base outpost barrier is upright +05:15:39.411 SCRIPT : ERR COVER GEOMETRY: low=<6735.42,140.901,7299.02> high=<6736.62,141.718,7301.01> trace=0.377114 +05:15:39.411 SCRIPT : ERR SMOKE PASS: base outpost barrier has physical collision +05:15:39.411 SCRIPT : ERR SMOKE PASS: base outpost barrier is upright +05:15:39.412 SCRIPT : ERR COVER GEOMETRY: low=<6743.42,140.214,7299.02> high=<6744.62,141.03,7301.01> trace=0.377114 +05:15:39.412 SCRIPT : ERR SMOKE PASS: base outpost barrier has physical collision +05:15:39.412 SCRIPT : ERR SMOKE PASS: base exactly three authored outpost barriers exist +05:15:39.412 SCRIPT : ERR SMOKE PASS: mission time clock parsing includes midnight and final minute +05:15:39.412 SCRIPT : ERR SMOKE PASS: mission time malformed clock commands rejected +05:15:39.412 SCRIPT : ERR SMOKE PASS: mission time isolated fixture paths unused +05:15:39.413 SCRIPT : ERR SMOKE PASS: mission time legacy fixture created +05:15:39.413 SCRIPT : ERR SMOKE PASS: mission time existing six-key settings preserved +05:15:39.413 SCRIPT : ERR SMOKE PASS: mission time only absent time settings receive defaults +05:15:39.414 SCRIPT : ERR SMOKE PASS: mission time loading does not rewrite legacy file +05:15:39.418 SCRIPT : ERR SMOKE PASS: mission time explicit save upgrades valid legacy settings +05:15:39.418 SCRIPT : ERR SMOKE PASS: mission time new keys and old values survive reload +05:15:39.420 SCRIPT : ERR SMOKE PASS: mission time present out-of-range time cannot silently default +05:15:39.420 SCRIPT : ERR SMOKE PASS: mission time fractional clock setting rejected +05:15:39.421 SCRIPT : ERR SMOKE PASS: mission time zero multiplier rejected +05:15:39.421 SCRIPT : ERR SMOKE PASS: mission time missing legacy setting remains invalid +05:15:39.424 SCRIPT : ERR SMOKE PASS: mission time partially upgraded file defaults only missing new field +05:15:39.426 SCRIPT : ERR SMOKE PASS: mission time valid saved backup recovers invalid primary +05:15:39.426 SCRIPT : ERR SMOKE PASS: mission time server starts world clock before prison phase +05:15:39.426 SCRIPT : ERR SMOKE PASS: mission time engine progression matches applied multiplier +05:15:39.426 SCRIPT : ERR SMOKE PASS: mission time unauthorized clock mutation rejected +05:15:39.426 SCRIPT : ERR SMOKE PASS: mission time invalid clock command preserves setting +05:15:39.436 SCRIPT : ERR SMOKE PASS: mission time authorized settings persist and test restores originals +05:15:39.436 SCRIPT : ERR SMOKE PASS: mission time saved changes and repeated start leave current clock and speed intact +05:15:39.436 SCRIPT : ERR SMOKE PASS: mission time admin sees current clock separately from next round settings +05:15:39.437 SCRIPT : ERR SMOKE PASS: base native prison objective exists +05:15:39.437 SCRIPT : ERR SMOKE PASS: objective UI current native task exists +05:15:39.437 SCRIPT : ERR SMOKE PASS: objective UI open list and details contain current title and instructions +05:15:39.437 SCRIPT : ERR SMOKE PASS: objective UI list-only task cannot expose an undiscovered map position +05:15:39.437 SCRIPT : ERR SMOKE PASS: objective UI actual local player receives the active objective +05:15:39.437 SCRIPT : ERR SMOKE PASS: objective UI extraction instructions follow a nondefault boundary +05:15:39.438 SCRIPT : ERR SMOKE PASS: base authored supply cache is a separate scavenging location +05:15:39.438 SCRIPT : ERR BASE STOCK: cache items=54 +05:15:39.438 SCRIPT : ERR SMOKE PASS: base cache holds finite physical equipment and objective documents +05:15:39.438 SCRIPT : ERR SMOKE PASS: base no companion HQ or support controller loaded +05:15:39.438 SCRIPT : ERR SMOKE PASS: base prisoner spawned in authored prison +05:15:39.438 SCRIPT : ERR SMOKE PASS: base gate, clues, radio and helicopter created by core +05:15:39.439 SCRIPT : Rereintroduced [mission]: phase 1 -> 2 +05:15:39.440 SCRIPT : ERR SMOKE PASS: base gate action begins escape +05:15:39.443 SCRIPT : ERR SMOKE PASS: base test defence duration accepted +05:15:39.443 SCRIPT : ERR SMOKE PASS: base previous native objective completes on phase change +05:15:39.443 SCRIPT : ERR SMOKE PASS: base search objective does not expose a hidden site +05:15:39.443 SCRIPT : ERR SMOKE PASS: objective UI current native task exists +05:15:39.446 SCRIPT : ERR SMOKE PASS: objective UI native list and detail layouts created +05:15:39.446 SCRIPT : ERR SMOKE PASS: objective UI native handlers attached +05:15:39.446 SCRIPT : ERR SMOKE PASS: objective UI open list and details contain current title and instructions +05:15:39.447 SCRIPT : ERR SMOKE PASS: objective UI list-only task cannot expose an undiscovered map position +05:15:39.447 SCRIPT : ERR SMOKE PASS: objective UI actual local player receives the active objective +05:15:39.447 SCRIPT : ERR SMOKE PASS: objective UI extraction instructions follow a nondefault boundary +05:15:39.447 SCRIPT : ERR SMOKE PASS: base both named supply routes revealed after escape +05:15:39.447 SCRIPT : ERR SMOKE PASS: base optional sites remain hidden until approached +05:15:45.457 SCRIPT : ERR SMOKE PASS: base unconscious player cannot discover optional sites +05:15:51.530 SCRIPT : ERR SMOKE PASS: base distant player cannot discover optional sites +05:15:51.531 SCRIPT : ERR SMOKE PASS: base isolated visibility obstacle created +05:15:51.531 SCRIPT : ERR VISIBILITY OBSTACLE: low=<6338.5,174.97,7403.87> high=<6341.5,178.737,7404.13> observer=<6340.57,174.699,7466.65> target=<6340,175.788,7400> +05:15:57.598 SCRIPT : ERR SMOKE PASS: base physical wall prevents nearby site discovery +05:16:03.686 SCRIPT : ERR SMOKE PASS: base conscious nearby player visually discovers named medical stash once +05:16:03.686 SCRIPT : ERR SMOKE PASS: base proximity cannot bypass radio documents +05:16:04.192 SCRIPT : ERR SMOKE PASS: base physical clue recovered +05:16:04.848 SCRIPT : Rereintroduced [intel]: player 1 recovered folder; location=everon-radio-1 knowledge=1 +05:16:06.723 SCRIPT : ERR SMOKE PASS: base physical clue recovered +05:16:06.858 SCRIPT : Rereintroduced [intel]: player 1 recovered folder; location=everon-radio-1 knowledge=2 +05:16:09.241 SCRIPT : ERR SMOKE PASS: base objective guidance reacts to discovered radio +05:16:09.241 SCRIPT : ERR SMOKE PASS: objective UI current native task exists +05:16:09.241 SCRIPT : ERR SMOKE PASS: objective UI open list and details contain current title and instructions +05:16:09.242 SCRIPT : ERR SMOKE PASS: objective UI list-only task cannot expose an undiscovered map position +05:16:09.242 SCRIPT : ERR SMOKE PASS: objective UI actual local player receives the active objective +05:16:09.242 SCRIPT : ERR SMOKE PASS: objective UI extraction instructions follow a nondefault boundary +05:16:09.245 SCRIPT : ERR SMOKE PASS: base discovery ticks do not repeat the location event +05:16:09.245 SCRIPT : ERR SMOKE PASS: base documents identify radio without Intel addon +05:16:11.256 SCRIPT : ERR SMOKE PASS: radio service identified radio and real controlled prisoner available +05:16:11.256 SCRIPT : ERR SMOKE PASS: radio service controlled prisoner supports native state restoration +05:16:11.259 SCRIPT : ERR SMOKE PASS: radio service isolated thirty-second duration saved +05:16:11.266 SCRIPT : ERR SMOKE PASS: radio service second physical defender spawned +05:16:12.265 SCRIPT : ERR SMOKE PASS: radio service second physical defender settles with simulated connection membership +05:16:12.265 SCRIPT : ERR SMOKE PASS: radio service ordinary AI cannot tune even while alive and nearby +05:16:12.266 SCRIPT : ERR SMOKE PASS: radio service missing radio rejected +05:16:13.277 SCRIPT : ERR RADIO POSITION: outside tuning range after deferred teleport actor=<6506,159.313,7200> radio=<6500,159.756,7200> distanceXZ=6.00488 +05:16:13.278 SCRIPT : ERR SMOKE PASS: radio service tuning outside five metres rejected +05:16:14.287 SCRIPT : ERR RADIO POSITION: unconscious tuning range after deferred teleport actor=<6502.02,159.671,7200.05> radio=<6500,159.756,7200> distanceXZ=2.01677 +05:16:14.287 SCRIPT : ERR SMOKE PASS: radio service unconscious prisoner cannot tune +05:16:15.289 SCRIPT : ERR RADIO RECOVERY: tuning prisoner waiting step=4 alive=1 canFight=0 unconscious=1 lifeState=0 origin=<6502.02,159.672,7200.05> +05:16:16.300 SCRIPT : ERR RADIO RECOVERY: tuning prisoner waiting step=4 alive=1 canFight=0 unconscious=1 lifeState=0 origin=<6502.02,159.673,7200.05> +05:16:17.311 SCRIPT : ERR RADIO RECOVERY: tuning prisoner waiting step=4 alive=1 canFight=0 unconscious=1 lifeState=0 origin=<6502.02,159.531,7200.05> +05:16:17.821 SCRIPT : ERR RADIO RECOVERY: tuning prisoner ready step=4 alive=1 canFight=1 unconscious=0 lifeState=0 origin=<6502.02,159.531,7200.05> +05:16:17.821 SCRIPT : ERR RADIO AUTH: active=1 phase=2 registered=1 kind=1 knowledge=2 serviceState=0 distance=2.01677 +05:16:17.821 SCRIPT : ERR RADIO AUTH: playerId=1 connected=1 usedLife=1 sameActor=1 friendly=1 canFight=1 canBegin=1 +05:16:17.822 SCRIPT : ERR SMOKE PASS: radio service registered friendly conscious prisoner remains authorized +05:16:17.822 SCRIPT : ERR SMOKE PASS: radio service unregistered defender cannot start the isolated service +05:16:17.822 SCRIPT : ERR SMOKE PASS: radio service physical defender has native faction affiliation +05:16:18.840 SCRIPT : ERR SMOKE PASS: radio service hostile controlled defender cannot tune +05:16:19.854 SCRIPT : ERR SMOKE PASS: radio service start event emitted once and duplicate start rejected +05:16:19.855 SCRIPT : ERR SMOKE PASS: radio service two conscious physical defenders share one timer +05:16:20.864 SCRIPT : ERR SMOKE PASS: radio service hostile actor cannot defend even with simulated connection membership +05:16:21.882 SCRIPT : ERR SMOKE PASS: radio service elapsed countdown does not emit redundant progress events +05:16:22.891 SCRIPT : ERR SMOKE PASS: radio service second defender preserves progress while first is unconscious +05:16:23.905 SCRIPT : ERR SMOKE PASS: radio service all unconscious defenders reset accumulated time +05:16:24.916 SCRIPT : ERR RADIO RECOVERY: first defender waiting step=11 alive=1 canFight=0 unconscious=1 lifeState=0 origin=<6502.05,159.668,7200.1> +05:16:25.930 SCRIPT : ERR RADIO RECOVERY: first defender waiting step=11 alive=1 canFight=0 unconscious=1 lifeState=0 origin=<6502.05,159.529,7200.1> +05:16:26.435 SCRIPT : ERR RADIO RECOVERY: first defender ready step=11 alive=1 canFight=1 unconscious=0 lifeState=0 origin=<6502.05,159.529,7200.1> +05:16:26.436 SCRIPT : ERR SMOKE PASS: radio service conscious recovery starts a fresh continuous interval +05:16:27.440 SCRIPT : ERR RADIO RECOVERY: second defender waiting step=12 alive=1 canFight=0 unconscious=1 lifeState=0 origin=<6497.74,159.872,7199.26> +05:16:28.458 SCRIPT : ERR RADIO RECOVERY: second defender waiting step=12 alive=1 canFight=0 unconscious=1 lifeState=0 origin=<6497.74,159.872,7199.26> +05:16:28.958 SCRIPT : ERR RADIO RECOVERY: second defender ready step=12 alive=1 canFight=1 unconscious=0 lifeState=0 origin=<6497.74,159.872,7199.26> +05:16:28.959 SCRIPT : ERR SMOKE PASS: radio service empty server resets despite remaining character bodies +05:16:29.962 SCRIPT : ERR RADIO POSITION: outside defence radius after deferred teleport actor=<6560.49,155.594,7199.99> radio=<6500,159.756,7200> distanceXZ=60.4946 +05:16:29.962 SCRIPT : ERR SMOKE PASS: radio service outside sixty metres excludes first defender without resetting second +05:16:30.979 SCRIPT : ERR SMOKE PASS: radio service dead defender cannot maintain transmission +05:16:31.992 SCRIPT : ERR RADIO POSITION: returned to radio after deferred teleport actor=<6502.01,159.532,7200.01> radio=<6500,159.756,7200> distanceXZ=2.00538 +05:16:31.992 SCRIPT : ERR SMOKE PASS: radio service survivor returns physically before final transmission samples +05:16:31.994 SCRIPT : ERR SMOKE PASS: radio service live duration increase saved +05:16:31.995 SCRIPT : ERR SMOKE PASS: radio service live duration increase preserves accumulated occupancy +05:16:31.996 SCRIPT : ERR SMOKE PASS: radio service live duration reduction saved +05:16:31.997 SCRIPT : ERR SMOKE PASS: radio service live duration reduction completes at exact continuous boundary +05:16:31.997 SCRIPT : ERR SMOKE PASS: radio service completed service cannot restart or emit duplicate completion after stop +05:16:31.997 SCRIPT : ERR SMOKE PASS: radio service isolated cancellation service begins +05:16:31.997 SCRIPT : ERR SMOKE PASS: radio service stop cancels progress and future starts without completing +05:16:31.997 SCRIPT : ERR SMOKE PASS: radio service isolated terminal-phase service begins +05:16:31.997 SCRIPT : ERR SMOKE PASS: radio service terminal phase event prevents later completion +05:16:31.997 SCRIPT : ERR SMOKE PASS: radio service isolated event tests leave live objective ready for normal tuning +05:16:33.002 SCRIPT : ERR RADIO RECOVERY: restored prisoner ready step=90 alive=1 canFight=1 unconscious=0 lifeState=0 origin=<6501.99,159.532,7199.98> +05:16:33.003 SCRIPT : ERR RADIO RESTORE: actual=<6501.99,159.532,7199.98> original=<6501.99,159.533,7199.98> distance=0.000984162 +05:16:33.003 SCRIPT : ERR SMOKE PASS: radio service isolated test restores live duration and physical player state after a world frame +05:16:33.003 SCRIPT : Rereintroduced [mission]: phase 2 -> 3 +05:16:33.004 SCRIPT : ERR SMOKE PASS: base identified radio accepts transmission +05:16:38.061 SCRIPT : ERR SMOKE PASS: base depleted stock stays empty when preparation is queried again +05:16:38.061 SCRIPT : ERR SMOKE PASS: base native objective reports advancing radio progress +05:16:38.061 SCRIPT : ERR SMOKE PASS: objective UI current native task exists +05:16:38.064 SCRIPT : ERR SMOKE PASS: objective UI native list and detail layouts created +05:16:38.064 SCRIPT : ERR SMOKE PASS: objective UI native handlers attached +05:16:38.064 SCRIPT : ERR SMOKE PASS: objective UI open list and details contain current title and instructions +05:16:38.065 SCRIPT : ERR SMOKE PASS: objective UI list-only task cannot expose an undiscovered map position +05:16:38.065 SCRIPT : ERR SMOKE PASS: objective UI actual local player receives the active objective +05:16:38.065 SCRIPT : ERR SMOKE PASS: objective UI extraction instructions follow a nondefault boundary +05:17:13.397 SCRIPT : ERR SMOKE PASS: base unconscious survivor does not trigger defeat after the full grace period +05:17:13.397 SCRIPT : ERR SMOKE PASS: base unconscious radio defender cannot advance transmission +05:17:13.397 SCRIPT : ERR SMOKE PASS: base unconscious player retains their body and camera +05:17:19.473 SCRIPT : ERR SMOKE PASS: base regaining consciousness resumes transmission from zero +05:17:19.473 SCRIPT : ERR SMOKE PASS: base regaining consciousness does not grant another life +05:17:22.011 SCRIPT : ERR SMOKE PASS: base lost supply cache is not replaced +05:17:22.011 SCRIPT : ERR SMOKE PASS: base objective reports interruption and reset +05:17:22.011 SCRIPT : ERR SMOKE PASS: objective UI current native task exists +05:17:22.011 SCRIPT : ERR SMOKE PASS: objective UI open list and details contain current title and instructions +05:17:22.012 SCRIPT : ERR SMOKE PASS: objective UI list-only task cannot expose an undiscovered map position +05:17:22.012 SCRIPT : ERR SMOKE PASS: objective UI actual local player receives the active objective +05:17:22.012 SCRIPT : ERR SMOKE PASS: objective UI extraction instructions follow a nondefault boundary +05:17:52.426 SCRIPT : Rereintroduced [mission]: phase 3 -> 4 +05:17:55.395 SCRIPT : ERR SMOKE PASS: base radio defence reveals extraction +05:17:55.396 SCRIPT : ERR SMOKE PASS: mission time clock advancement remains enabled +05:17:55.396 SCRIPT : ERR SMOKE PASS: mission time progression sampled across at least ten engine seconds +05:17:55.396 SCRIPT : ERR SMOKE PASS: mission time native clock advances at configured rate without periodic resets +05:17:55.396 SCRIPT : ERR SMOKE PASS: objective UI current native task exists +05:17:55.399 SCRIPT : ERR SMOKE PASS: objective UI native list and detail layouts created +05:17:55.399 SCRIPT : ERR SMOKE PASS: objective UI native handlers attached +05:17:55.399 SCRIPT : ERR SMOKE PASS: objective UI open list and details contain current title and instructions +05:17:55.399 SCRIPT : ERR SMOKE PASS: objective UI list-only task cannot expose an undiscovered map position +05:17:55.399 SCRIPT : ERR SMOKE PASS: objective UI actual local player receives the active objective +05:17:55.399 SCRIPT : ERR SMOKE PASS: objective UI extraction instructions follow a nondefault boundary +05:17:55.400 SCRIPT : ERR SMOKE PASS: base player physically boards extraction helicopter +05:17:58.427 SCRIPT : ERR SMOKE PASS: base extraction requires real occupancy +05:17:58.447 SCRIPT : Rereintroduced [mission]: phase 4 -> 5 +05:17:58.447 SCRIPT : ERR SMOKE PASS: base escape and restart reached without companion services +05:17:58.447 SCRIPT : ERR SMOKE COMPLETE: core-only escape +05:17:58.545 SCRIPT : SCR_BaseGameMode::OnGameStateChanged = POSTGAME +05:17:58.548 SCRIPT (W): Slot_Chat Has no Content! +05:17:58.548 SCRIPT (W): Slot_VON Has no Content! +05:17:58.548 SCRIPT (W): Slot_GameVersion Has no Content! +05:17:58.548 SCRIPT (W): Slot_Notifications Has no Content! +05:18:00.582 SCRIPT : ERR RESULT UI: player=1 title=You escaped Everon +05:18:00.583 SCRIPT (W): SCR_ScriptedWidgetComponent.GetComponent: widget not found: SCR_InputButtonComponent Back +05:18:00.583 SCRIPT : -- Stack trace -- +05:18:00.583 SCRIPT : GetComponent() Scripts/Game/UI/Components/WidgetLibrary/SCR_ScriptedWidgetComponent.c : 43 +05:18:00.583 SCRIPT : GetInputButtonComponent() Scripts/Game/UI/Components/WidgetLibrary/SCR_InputButton/SCR_InputButtonComponent.c : 1214 +05:18:00.583 SCRIPT : OnMenuOpen() Scripts/Game/UI/GameOverScreen/SCR_GameOverScreenInput.c : 15 +05:18:00.583 SCRIPT : OpenGameOverScreen() Scripts/Game/GameOverScreen/SCR_GameOverScreenManagerComponent.c : 447 +05:18:00.584 SCRIPT : ShowGameOverScreen() Scripts/Game/GameOverScreen/SCR_GameOverScreenManagerComponent.c : 177 +05:18:00.584 SCRIPT : OnUpdate() Scripts/Game/game.c : 885 +05:18:00.584 SCRIPT : ----------------- +05:18:00.584 SCRIPT (W): SCR_ScriptedWidgetComponent.GetComponent: widget not found: SCR_InputButtonComponent ChatButton +05:18:00.584 SCRIPT : -- Stack trace -- +05:18:00.584 SCRIPT : GetComponent() Scripts/Game/UI/Components/WidgetLibrary/SCR_ScriptedWidgetComponent.c : 43 +05:18:00.584 SCRIPT : GetInputButtonComponent() Scripts/Game/UI/Components/WidgetLibrary/SCR_InputButton/SCR_InputButtonComponent.c : 1214 +05:18:00.585 SCRIPT : OnMenuOpen() Scripts/Game/UI/GameOverScreen/SCR_GameOverScreenInput.c : 21 +05:18:00.585 SCRIPT : OpenGameOverScreen() Scripts/Game/GameOverScreen/SCR_GameOverScreenManagerComponent.c : 447 +05:18:00.585 SCRIPT : ShowGameOverScreen() Scripts/Game/GameOverScreen/SCR_GameOverScreenManagerComponent.c : 177 +05:18:00.585 SCRIPT : OnUpdate() Scripts/Game/game.c : 885 +05:18:00.585 SCRIPT : ----------------- +05:18:00.587 SCRIPT (W): Slot_Chat Has no Content! +05:18:00.587 SCRIPT (W): Slot_VON Has no Content! +05:18:00.588 SCRIPT (W): Slot_GameVersion Has no Content! +05:18:00.588 SCRIPT (W): Slot_Notifications Has no Content! +05:18:00.590 SCRIPT : ERR RESULT UI: player=1 title=You escaped Everon +05:18:28.462 SCRIPT (W): Maybe a problem: DataProgression is not ready but the analytics event was requested +05:18:28.463 SCRIPT (W): SCR_PlayerData:CalculateStatsChange: Specialization stats, experience or rank stats were modified prematurely. The career data for this session might be compromised +05:18:32.107 SCRIPT : string detail = 'ERR STATION TEARDOWN DIAG: n=1 owner= prefab={AE578EEA4244D41F}Prefabs/Items/Equipment/Kits/MedicalKit_01/MedicalKit_01_US.et cachedCatalog=1 globalCatalog=1 modePresent=0 gameState=-1 errPhase=-1 endData=0 call=OnDelete/InitValidSetup' +05:18:32.111 SCRIPT : string detail = 'ERR STATION TEARDOWN DIAG: n=2 owner= prefab={21EF98BFC1EB3793}Prefabs/Items/Equipment/Kits/MedicalKit_01/MedicalKit_01_USSR.et cachedCatalog=1 globalCatalog=1 modePresent=0 gameState=-1 errPhase=-1 endData=0 call=OnDelete/InitValidSetup' +05:18:45.045 SCRIPT (W): SCR_PerceivedFactionManagerComponent trying to set fall back faction 'CIV' but this faction could not be found so it is null instead. +05:18:45.046 SCRIPT : ERR BASE SMOKE: core-only scripted escape; not manual or multiplayer acceptance +05:18:45.665 SCRIPT (W): Notification data in 'SCR_NotificationsLogDisplay' has duplicate notification info key: 'EDITOR_PERCEIVED_FACTION_PUNISHMENT_KILLING_SET'. There should only be one of each key! +05:18:45.665 SCRIPT (W): Notification data in 'SCR_NotificationsLogDisplay' has duplicate notification info key: 'EDITOR_PERCEIVED_FACTION_TYPE_DISABLED'. There should only be one of each key! +05:18:45.667 SCRIPT (W): Can't open config file "" +05:18:45.667 SCRIPT (W): Cannot update game blocklist. Another request in progress. +05:18:45.668 SCRIPT (W): Slot_WeaponInfo Has no Content! +05:18:45.668 SCRIPT (W): Slot_Chat Has no Content! +05:18:45.668 SCRIPT (W): Slot_VON Has no Content! +05:18:45.668 SCRIPT (W): Slot_AvailableActions Has no Content! +05:18:45.669 SCRIPT (W): Slot_Vehicle Has no Content! +05:18:45.669 SCRIPT (W): Slot_GameVersion Has no Content! +05:18:45.669 SCRIPT (W): Slot_Notifications Has no Content! +05:18:45.669 SCRIPT (W): Slot_Hints Has no Content! +05:18:45.694 SCRIPT : ScenarioFramework: Available tasks are empty, no new tasks will be generated. +05:18:45.706 SCRIPT : SCR_BaseGameMode::OnGameStateChanged = GAME +05:18:45.816 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +05:18:47.198 SCRIPT : Rereintroduced [sites]: cache clearance position=<6086,211.538,7160> clear=1 +05:18:47.203 SCRIPT : Rereintroduced [sites]: authored everon-prison-1 at <6090,211.444,7160> +05:18:47.204 SCRIPT : Rereintroduced [sites]: cache clearance position=<6150,203.288,7050> clear=1 +05:18:47.212 SCRIPT : Rereintroduced [sites]: authored everon-supply-1 at <6150,203.288,7050> +05:18:47.214 SCRIPT : Rereintroduced [sites]: authored everon-radio-1 at <6500,159.756,7200> +05:18:47.224 SCRIPT : Rereintroduced [sites]: authored everon-extraction-1 at <7000,65.2562,7500> +05:18:47.224 SCRIPT : Rereintroduced [sites]: cache clearance position=<5960,220.256,7220> clear=1 +05:18:47.229 SCRIPT : Rereintroduced [sites]: transport parking=<5960,220.256,7212> radius=4 terrainRange=0.8125 obstructed=0 clear=1 +05:18:47.240 SCRIPT : Rereintroduced [sites]: authored everon-supply-2 at <5960,220.256,7220> +05:18:47.240 SCRIPT : Rereintroduced [sites]: cache clearance position=<6340,175.788,7400> clear=1 +05:18:47.242 SCRIPT : Rereintroduced [sites]: authored everon-medical-1 at <6340,175.788,7400> +05:18:47.242 SCRIPT : Rereintroduced [sites]: cache clearance position=<6740,140.6,7300> clear=1 +05:18:47.245 SCRIPT : Rereintroduced [sites]: cache clearance position=<6740,140.913,7296> clear=1 +05:18:47.245 SCRIPT : Rereintroduced [sites]: cache clearance position=<6736,140.975,7300> clear=1 +05:18:47.245 SCRIPT : Rereintroduced [sites]: cache clearance position=<6744,140.288,7300> clear=1 +05:18:47.247 SCRIPT : Rereintroduced [sites]: authored everon-outpost-1 at <6740,140.6,7300> +05:18:47.449 SCRIPT : Rereintroduced [sites]: 7 sites and 117 physical stock items ready +05:18:47.450 SCRIPT : Rereintroduced [time]: started at 14:00 with 1x progression +05:18:47.450 SCRIPT : Rereintroduced [mission]: phase 0 -> 1 +05:18:47.708 SCRIPT : INFO: Faction: player jakub (playerID = 1 | UUID = 00000000-0000-0000-0000-000000000000) has joined faction #AR-Faction_US (US) +05:18:47.736 SCRIPT : Rereintroduced [spawn]: player 1 at <6087,211.438,7157> +05:18:47.762 SCRIPT : ERR SMOKE PASS: objective UI current native task exists +05:18:47.765 SCRIPT : ERR SMOKE PASS: objective UI native list and detail layouts created +05:18:47.765 SCRIPT : ERR SMOKE PASS: objective UI native handlers attached +05:18:47.765 SCRIPT : ERR SMOKE PASS: objective UI open list and details contain current title and instructions +05:18:47.765 SCRIPT : ERR SMOKE PASS: objective UI list-only task cannot expose an undiscovered map position +05:18:47.766 SCRIPT : ERR SMOKE PASS: objective UI actual local player receives the active objective +05:18:47.766 SCRIPT : ERR SMOKE PASS: objective UI extraction instructions follow a nondefault boundary +05:18:47.766 SCRIPT : ERR SMOKE PASS: objective UI rebinding keeps one subscription to each native task event +05:18:47.767 SCRIPT : ERR SMOKE PASS: objective UI closing native widget uses production detach and releases its task +05:18:47.767 SCRIPT : ERR SMOKE PASS: objective UI closed native widget receives no task callbacks +05:18:48.271 SCRIPT : ERR SMOKE PASS: objective UI closed native widget has no delayed overflow callbacks +05:18:48.271 SCRIPT : ERR SMOKE PASS: objective UI current native task exists +05:18:48.273 SCRIPT : ERR SMOKE PASS: objective UI native list and detail layouts created +05:18:48.273 SCRIPT : ERR SMOKE PASS: objective UI native handlers attached +05:18:48.274 SCRIPT : ERR SMOKE PASS: objective UI open list and details contain current title and instructions +05:18:48.274 SCRIPT : ERR SMOKE PASS: objective UI list-only task cannot expose an undiscovered map position +05:18:48.274 SCRIPT : ERR SMOKE PASS: objective UI actual local player receives the active objective +05:18:48.275 SCRIPT : ERR SMOKE PASS: objective UI extraction instructions follow a nondefault boundary +05:18:48.275 SCRIPT : ERR SMOKE PASS: objective UI details reopen through native layout and current objective binding +05:18:48.771 SCRIPT : ERR SMOKE PASS: definition authored configuration resolves +05:18:48.772 SCRIPT : ERR SMOKE PASS: definition duplicate site identity rejected +05:18:48.772 SCRIPT : ERR SMOKE PASS: definition dangling document target rejected +05:18:48.772 SCRIPT : ERR SMOKE PASS: definition non-radio document target rejected +05:18:48.772 SCRIPT : ERR SMOKE PASS: definition insufficient guaranteed radio clues rejected +05:18:48.772 SCRIPT : ERR SMOKE PASS: definition unbounded stock rejected +05:18:48.773 SCRIPT : ERR SMOKE PASS: definition unguaranteed clue route rejected +05:18:48.773 SCRIPT : ERR SMOKE PASS: definition radio sources sharing one footprint rejected +05:18:48.773 SCRIPT : ERR SMOKE PASS: definition unnamed location rejected +05:18:48.773 SCRIPT : ERR SMOKE PASS: definition proximity discovery cannot reveal progression sites +05:18:48.774 SCRIPT : ERR SMOKE PASS: definition escape cannot reveal the radio directly +05:18:48.774 SCRIPT : ERR SMOKE PASS: definition unbounded scenery offset rejected +05:18:48.774 SCRIPT : ERR SMOKE PASS: definition valid configuration restored after isolated mutations +05:18:48.774 SCRIPT : ERR SMOKE PASS: base contracts catalog resolves hostile vanilla factions and successful preparation +05:18:48.774 SCRIPT : ERR SMOKE PASS: base contracts physical prisoner matches injected faction and resource +05:18:48.775 SCRIPT : ERR SMOKE PASS: base contracts physical guard squad comes from injected catalog +05:18:48.775 SCRIPT : ERR SMOKE PASS: base contracts same-side factions rejected +05:18:48.775 SCRIPT : ERR SMOKE PASS: base contracts unknown world faction rejected +05:18:48.775 SCRIPT : ERR SMOKE PASS: base contracts missing prisoner resource rejected +05:18:48.775 SCRIPT : ERR SMOKE PASS: base contracts isolated catalog restored without mutating live configuration +05:18:48.775 SCRIPT : ERR SMOKE PASS: base contracts unauthorized settings request rejected +05:18:48.775 SCRIPT : ERR SMOKE PASS: base contracts partially numeric input rejected without mutation +05:18:48.776 SCRIPT : ERR SMOKE PASS: base contracts out-of-range duration rejected without mutation +05:18:48.778 SCRIPT : ERR SMOKE PASS: base contracts normalized base command saves validated duration +05:18:48.778 SCRIPT : ERR SMOKE PASS: base contracts base command reads saved duration +05:18:48.778 SCRIPT : ERR SMOKE PASS: base contracts base settings listing available +05:18:48.779 SCRIPT : ERR SMOKE PASS: base contracts base mission status available before companions +05:18:48.781 SCRIPT : ERR SMOKE PASS: base contracts test setting restored +05:18:48.781 SCRIPT : ERR SMOKE PASS: base outpost barrier is upright +05:18:48.781 SCRIPT : ERR COVER GEOMETRY: low=<6738.99,140.839,7295.42> high=<6740.98,141.655,7296.62> trace=0.377114 +05:18:48.781 SCRIPT : ERR SMOKE PASS: base outpost barrier has physical collision +05:18:48.782 SCRIPT : ERR SMOKE PASS: base outpost barrier is upright +05:18:48.782 SCRIPT : ERR COVER GEOMETRY: low=<6735.42,140.901,7299.02> high=<6736.62,141.718,7301.01> trace=0.377114 +05:18:48.782 SCRIPT : ERR SMOKE PASS: base outpost barrier has physical collision +05:18:48.782 SCRIPT : ERR SMOKE PASS: base outpost barrier is upright +05:18:48.782 SCRIPT : ERR COVER GEOMETRY: low=<6743.42,140.214,7299.02> high=<6744.62,141.03,7301.01> trace=0.377114 +05:18:48.782 SCRIPT : ERR SMOKE PASS: base outpost barrier has physical collision +05:18:48.782 SCRIPT : ERR SMOKE PASS: base exactly three authored outpost barriers exist +05:18:48.783 SCRIPT : ERR SMOKE PASS: mission time clock parsing includes midnight and final minute +05:18:48.783 SCRIPT : ERR SMOKE PASS: mission time malformed clock commands rejected +05:18:48.783 SCRIPT : ERR SMOKE PASS: mission time isolated fixture paths unused +05:18:48.784 SCRIPT : ERR SMOKE PASS: mission time legacy fixture created +05:18:48.784 SCRIPT : ERR SMOKE PASS: mission time existing six-key settings preserved +05:18:48.784 SCRIPT : ERR SMOKE PASS: mission time only absent time settings receive defaults +05:18:48.785 SCRIPT : ERR SMOKE PASS: mission time loading does not rewrite legacy file +05:18:48.790 SCRIPT : ERR SMOKE PASS: mission time explicit save upgrades valid legacy settings +05:18:48.790 SCRIPT : ERR SMOKE PASS: mission time new keys and old values survive reload +05:18:48.791 SCRIPT : ERR SMOKE PASS: mission time present out-of-range time cannot silently default +05:18:48.792 SCRIPT : ERR SMOKE PASS: mission time fractional clock setting rejected +05:18:48.792 SCRIPT : ERR SMOKE PASS: mission time zero multiplier rejected +05:18:48.794 SCRIPT : ERR SMOKE PASS: mission time missing legacy setting remains invalid +05:18:48.794 SCRIPT : ERR SMOKE PASS: mission time partially upgraded file defaults only missing new field +05:18:48.795 SCRIPT : ERR SMOKE PASS: mission time valid saved backup recovers invalid primary +05:18:48.796 SCRIPT : ERR SMOKE PASS: mission time server starts world clock before prison phase +05:18:48.796 SCRIPT : ERR SMOKE PASS: mission time engine progression matches applied multiplier +05:18:48.796 SCRIPT : ERR SMOKE PASS: mission time unauthorized clock mutation rejected +05:18:48.796 SCRIPT : ERR SMOKE PASS: mission time invalid clock command preserves setting +05:18:48.805 SCRIPT : ERR SMOKE PASS: mission time authorized settings persist and test restores originals +05:18:48.805 SCRIPT : ERR SMOKE PASS: mission time saved changes and repeated start leave current clock and speed intact +05:18:48.805 SCRIPT : ERR SMOKE PASS: mission time admin sees current clock separately from next round settings +05:18:48.806 SCRIPT : ERR SMOKE PASS: base native prison objective exists +05:18:48.806 SCRIPT : ERR SMOKE PASS: objective UI current native task exists +05:18:48.806 SCRIPT : ERR SMOKE PASS: objective UI open list and details contain current title and instructions +05:18:48.806 SCRIPT : ERR SMOKE PASS: objective UI list-only task cannot expose an undiscovered map position +05:18:48.806 SCRIPT : ERR SMOKE PASS: objective UI actual local player receives the active objective +05:18:48.806 SCRIPT : ERR SMOKE PASS: objective UI extraction instructions follow a nondefault boundary +05:18:48.806 SCRIPT : ERR SMOKE PASS: base authored supply cache is a separate scavenging location +05:18:48.807 SCRIPT : ERR BASE STOCK: cache items=54 +05:18:48.807 SCRIPT : ERR SMOKE PASS: base cache holds finite physical equipment and objective documents +05:18:48.807 SCRIPT : ERR SMOKE PASS: base no companion HQ or support controller loaded +05:18:48.807 SCRIPT : ERR SMOKE PASS: base prisoner spawned in authored prison +05:18:48.807 SCRIPT : ERR SMOKE PASS: base gate, clues, radio and helicopter created by core +05:18:48.807 SCRIPT : Rereintroduced [mission]: phase 1 -> 2 +05:18:48.808 SCRIPT : ERR SMOKE PASS: base gate action begins escape +05:18:48.811 SCRIPT : ERR SMOKE PASS: base test defence duration accepted +05:18:48.811 SCRIPT : ERR SMOKE PASS: base previous native objective completes on phase change +05:18:48.811 SCRIPT : ERR SMOKE PASS: base search objective does not expose a hidden site +05:18:48.811 SCRIPT : ERR SMOKE PASS: objective UI current native task exists +05:18:48.814 SCRIPT : ERR SMOKE PASS: objective UI native list and detail layouts created +05:18:48.814 SCRIPT : ERR SMOKE PASS: objective UI native handlers attached +05:18:48.814 SCRIPT : ERR SMOKE PASS: objective UI open list and details contain current title and instructions +05:18:48.814 SCRIPT : ERR SMOKE PASS: objective UI list-only task cannot expose an undiscovered map position +05:18:48.815 SCRIPT : ERR SMOKE PASS: objective UI actual local player receives the active objective +05:18:48.815 SCRIPT : ERR SMOKE PASS: objective UI extraction instructions follow a nondefault boundary +05:18:48.815 SCRIPT : ERR SMOKE PASS: base both named supply routes revealed after escape +05:18:48.815 SCRIPT : ERR SMOKE PASS: base optional sites remain hidden until approached +05:18:54.821 SCRIPT : ERR SMOKE PASS: base unconscious player cannot discover optional sites +05:19:00.885 SCRIPT : ERR SMOKE PASS: base distant player cannot discover optional sites +05:19:00.885 SCRIPT : ERR SMOKE PASS: base isolated visibility obstacle created +05:19:00.885 SCRIPT : ERR VISIBILITY OBSTACLE: low=<6338.5,174.97,7403.87> high=<6341.5,178.737,7404.13> observer=<6340.36,174.683,7466.41> target=<6340,175.788,7400> +05:19:06.962 SCRIPT : ERR SMOKE PASS: base physical wall prevents nearby site discovery +05:19:13.035 SCRIPT : ERR SMOKE PASS: base conscious nearby player visually discovers named medical stash once +05:19:13.035 SCRIPT : ERR SMOKE PASS: base proximity cannot bypass radio documents +05:19:13.537 SCRIPT : ERR SMOKE PASS: base physical clue recovered +05:19:13.846 SCRIPT : Rereintroduced [intel]: player 1 recovered folder; location=everon-radio-1 knowledge=2 +05:19:16.066 SCRIPT : ERR SMOKE PASS: base physical clue recovered +05:19:18.591 SCRIPT : ERR SMOKE PASS: base objective guidance reacts to discovered radio +05:19:18.591 SCRIPT : ERR SMOKE PASS: objective UI current native task exists +05:19:18.591 SCRIPT : ERR SMOKE PASS: objective UI open list and details contain current title and instructions +05:19:18.591 SCRIPT : ERR SMOKE PASS: objective UI list-only task cannot expose an undiscovered map position +05:19:18.591 SCRIPT : ERR SMOKE PASS: objective UI actual local player receives the active objective +05:19:18.592 SCRIPT : ERR SMOKE PASS: objective UI extraction instructions follow a nondefault boundary +05:19:18.594 SCRIPT : ERR SMOKE PASS: base discovery ticks do not repeat the location event +05:19:18.594 SCRIPT : ERR SMOKE PASS: base documents identify radio without Intel addon +05:19:20.119 SCRIPT : ERR SMOKE PASS: radio service identified radio and real controlled prisoner available +05:19:20.120 SCRIPT : ERR SMOKE PASS: radio service controlled prisoner supports native state restoration +05:19:20.122 SCRIPT : ERR SMOKE PASS: radio service isolated thirty-second duration saved +05:19:20.130 SCRIPT : ERR SMOKE PASS: radio service second physical defender spawned +05:19:21.125 SCRIPT : ERR SMOKE PASS: radio service second physical defender settles with simulated connection membership +05:19:21.126 SCRIPT : ERR SMOKE PASS: radio service ordinary AI cannot tune even while alive and nearby +05:19:21.126 SCRIPT : ERR SMOKE PASS: radio service missing radio rejected +05:19:22.136 SCRIPT : ERR RADIO POSITION: outside tuning range after deferred teleport actor=<6506.01,159.313,7200.01> radio=<6500,159.756,7200> distanceXZ=6.00635 +05:19:22.136 SCRIPT : ERR SMOKE PASS: radio service tuning outside five metres rejected +05:19:23.153 SCRIPT : ERR RADIO POSITION: unconscious tuning range after deferred teleport actor=<6502.05,159.67,7200.04> radio=<6500,159.756,7200> distanceXZ=2.0467 +05:19:23.154 SCRIPT : ERR SMOKE PASS: radio service unconscious prisoner cannot tune +05:19:24.166 SCRIPT : ERR RADIO RECOVERY: tuning prisoner waiting step=4 alive=1 canFight=0 unconscious=1 lifeState=0 origin=<6502.05,159.67,7200.04> +05:19:25.178 SCRIPT : ERR RADIO RECOVERY: tuning prisoner waiting step=4 alive=1 canFight=0 unconscious=1 lifeState=0 origin=<6502.05,159.67,7200.04> +05:19:26.198 SCRIPT : ERR RADIO RECOVERY: tuning prisoner waiting step=4 alive=1 canFight=0 unconscious=1 lifeState=0 origin=<6502.05,159.529,7200.04> +05:19:26.701 SCRIPT : ERR RADIO RECOVERY: tuning prisoner ready step=4 alive=1 canFight=1 unconscious=0 lifeState=0 origin=<6502.05,159.529,7200.04> +05:19:26.701 SCRIPT : ERR RADIO AUTH: active=1 phase=2 registered=1 kind=1 knowledge=2 serviceState=0 distance=2.0467 +05:19:26.701 SCRIPT : ERR RADIO AUTH: playerId=1 connected=1 usedLife=1 sameActor=1 friendly=1 canFight=1 canBegin=1 +05:19:26.701 SCRIPT : ERR SMOKE PASS: radio service registered friendly conscious prisoner remains authorized +05:19:26.702 SCRIPT : ERR SMOKE PASS: radio service unregistered defender cannot start the isolated service +05:19:26.702 SCRIPT : ERR SMOKE PASS: radio service physical defender has native faction affiliation +05:19:27.713 SCRIPT : ERR SMOKE PASS: radio service hostile controlled defender cannot tune +05:19:28.725 SCRIPT : ERR SMOKE PASS: radio service start event emitted once and duplicate start rejected +05:19:28.726 SCRIPT : ERR SMOKE PASS: radio service two conscious physical defenders share one timer +05:19:29.731 SCRIPT : ERR SMOKE PASS: radio service hostile actor cannot defend even with simulated connection membership +05:19:30.734 SCRIPT : ERR SMOKE PASS: radio service elapsed countdown does not emit redundant progress events +05:19:31.741 SCRIPT : ERR SMOKE PASS: radio service second defender preserves progress while first is unconscious +05:19:32.756 SCRIPT : ERR SMOKE PASS: radio service all unconscious defenders reset accumulated time +05:19:33.769 SCRIPT : ERR RADIO RECOVERY: first defender waiting step=11 alive=1 canFight=0 unconscious=1 lifeState=0 origin=<6502.09,159.667,7200.08> +05:19:34.786 SCRIPT : ERR RADIO RECOVERY: first defender waiting step=11 alive=1 canFight=0 unconscious=1 lifeState=0 origin=<6502.09,159.527,7200.08> +05:19:35.291 SCRIPT : ERR RADIO RECOVERY: first defender ready step=11 alive=1 canFight=1 unconscious=0 lifeState=0 origin=<6502.09,159.527,7200.08> +05:19:35.291 SCRIPT : ERR SMOKE PASS: radio service conscious recovery starts a fresh continuous interval +05:19:36.308 SCRIPT : ERR RADIO RECOVERY: second defender waiting step=12 alive=1 canFight=0 unconscious=1 lifeState=0 origin=<6497.79,159.87,7199.22> +05:19:37.317 SCRIPT : ERR RADIO RECOVERY: second defender waiting step=12 alive=1 canFight=0 unconscious=1 lifeState=0 origin=<6497.79,159.87,7199.22> +05:19:37.819 SCRIPT : ERR RADIO RECOVERY: second defender ready step=12 alive=1 canFight=1 unconscious=0 lifeState=0 origin=<6497.79,159.869,7199.22> +05:19:37.819 SCRIPT : ERR SMOKE PASS: radio service empty server resets despite remaining character bodies +05:19:38.832 SCRIPT : ERR RADIO POSITION: outside defence radius after deferred teleport actor=<6560.49,155.594,7199.99> radio=<6500,159.756,7200> distanceXZ=60.4941 +05:19:38.832 SCRIPT : ERR SMOKE PASS: radio service outside sixty metres excludes first defender without resetting second +05:19:39.835 SCRIPT : ERR SMOKE PASS: radio service dead defender cannot maintain transmission +05:19:40.849 SCRIPT : ERR RADIO POSITION: returned to radio after deferred teleport actor=<6502.01,159.532,7200.01> radio=<6500,159.756,7200> distanceXZ=2.00538 +05:19:40.849 SCRIPT : ERR SMOKE PASS: radio service survivor returns physically before final transmission samples +05:19:40.852 SCRIPT : ERR SMOKE PASS: radio service live duration increase saved +05:19:40.852 SCRIPT : ERR SMOKE PASS: radio service live duration increase preserves accumulated occupancy +05:19:40.854 SCRIPT : ERR SMOKE PASS: radio service live duration reduction saved +05:19:40.854 SCRIPT : ERR SMOKE PASS: radio service live duration reduction completes at exact continuous boundary +05:19:40.855 SCRIPT : ERR SMOKE PASS: radio service completed service cannot restart or emit duplicate completion after stop +05:19:40.855 SCRIPT : ERR SMOKE PASS: radio service isolated cancellation service begins +05:19:40.855 SCRIPT : ERR SMOKE PASS: radio service stop cancels progress and future starts without completing +05:19:40.855 SCRIPT : ERR SMOKE PASS: radio service isolated terminal-phase service begins +05:19:40.855 SCRIPT : ERR SMOKE PASS: radio service terminal phase event prevents later completion +05:19:40.855 SCRIPT : ERR SMOKE PASS: radio service isolated event tests leave live objective ready for normal tuning +05:19:41.859 SCRIPT : ERR RADIO RECOVERY: restored prisoner ready step=90 alive=1 canFight=1 unconscious=0 lifeState=0 origin=<6501.99,159.532,7199.98> +05:19:41.860 SCRIPT : ERR RADIO RESTORE: actual=<6501.99,159.532,7199.98> original=<6501.99,159.533,7199.98> distance=0.0023286 +05:19:41.860 SCRIPT : ERR SMOKE PASS: radio service isolated test restores live duration and physical player state after a world frame +05:19:41.860 SCRIPT : Rereintroduced [mission]: phase 2 -> 3 +05:19:41.861 SCRIPT : ERR SMOKE PASS: base identified radio accepts transmission +05:19:46.901 SCRIPT : ERR SMOKE PASS: base depleted stock stays empty when preparation is queried again +05:19:46.901 SCRIPT : ERR SMOKE PASS: base native objective reports advancing radio progress +05:19:46.902 SCRIPT : ERR SMOKE PASS: objective UI current native task exists +05:19:46.904 SCRIPT : ERR SMOKE PASS: objective UI native list and detail layouts created +05:19:46.904 SCRIPT : ERR SMOKE PASS: objective UI native handlers attached +05:19:46.905 SCRIPT : ERR SMOKE PASS: objective UI open list and details contain current title and instructions +05:19:46.905 SCRIPT : ERR SMOKE PASS: objective UI list-only task cannot expose an undiscovered map position +05:19:46.905 SCRIPT : ERR SMOKE PASS: objective UI actual local player receives the active objective +05:19:46.905 SCRIPT : ERR SMOKE PASS: objective UI extraction instructions follow a nondefault boundary +05:20:22.238 SCRIPT : ERR SMOKE PASS: base unconscious survivor does not trigger defeat after the full grace period +05:20:22.238 SCRIPT : ERR SMOKE PASS: base unconscious radio defender cannot advance transmission +05:20:22.238 SCRIPT : ERR SMOKE PASS: base unconscious player retains their body and camera +05:20:28.311 SCRIPT : ERR SMOKE PASS: base regaining consciousness resumes transmission from zero +05:20:28.311 SCRIPT : ERR SMOKE PASS: base regaining consciousness does not grant another life +05:20:30.845 SCRIPT : ERR SMOKE PASS: base lost supply cache is not replaced +05:20:30.845 SCRIPT : ERR SMOKE PASS: base objective reports interruption and reset +05:20:30.845 SCRIPT : ERR SMOKE PASS: objective UI current native task exists +05:20:30.845 SCRIPT : ERR SMOKE PASS: objective UI open list and details contain current title and instructions +05:20:30.846 SCRIPT : ERR SMOKE PASS: objective UI list-only task cannot expose an undiscovered map position +05:20:30.846 SCRIPT : ERR SMOKE PASS: objective UI actual local player receives the active objective +05:20:30.846 SCRIPT : ERR SMOKE PASS: objective UI extraction instructions follow a nondefault boundary +05:21:01.371 SCRIPT : Rereintroduced [mission]: phase 3 -> 4 +05:21:04.284 SCRIPT : ERR SMOKE PASS: base radio defence reveals extraction +05:21:04.284 SCRIPT : ERR SMOKE PASS: mission time clock advancement remains enabled +05:21:04.284 SCRIPT : ERR SMOKE PASS: mission time progression sampled across at least ten engine seconds +05:21:04.284 SCRIPT : ERR SMOKE PASS: mission time native clock advances at configured rate without periodic resets +05:21:04.284 SCRIPT : ERR SMOKE PASS: objective UI current native task exists +05:21:04.287 SCRIPT : ERR SMOKE PASS: objective UI native list and detail layouts created +05:21:04.287 SCRIPT : ERR SMOKE PASS: objective UI native handlers attached +05:21:04.287 SCRIPT : ERR SMOKE PASS: objective UI open list and details contain current title and instructions +05:21:04.288 SCRIPT : ERR SMOKE PASS: objective UI list-only task cannot expose an undiscovered map position +05:21:04.288 SCRIPT : ERR SMOKE PASS: objective UI actual local player receives the active objective +05:21:04.288 SCRIPT : ERR SMOKE PASS: objective UI extraction instructions follow a nondefault boundary +05:21:04.288 SCRIPT : ERR SMOKE PASS: base player physically boards extraction helicopter +05:21:07.307 SCRIPT : ERR SMOKE PASS: base extraction requires real occupancy +05:21:07.402 SCRIPT : Rereintroduced [mission]: phase 4 -> 5 +05:21:07.403 SCRIPT : ERR SMOKE PASS: base escape and restart reached without companion services +05:21:07.403 SCRIPT : ERR SMOKE COMPLETE: core-only escape +05:21:07.496 SCRIPT : SCR_BaseGameMode::OnGameStateChanged = POSTGAME +05:21:07.498 SCRIPT (W): Slot_Chat Has no Content! +05:21:07.498 SCRIPT (W): Slot_VON Has no Content! +05:21:07.498 SCRIPT (W): Slot_GameVersion Has no Content! +05:21:07.499 SCRIPT (W): Slot_Notifications Has no Content! +05:21:09.523 SCRIPT : ERR RESULT UI: player=1 title=You escaped Everon +05:21:09.523 SCRIPT (W): SCR_ScriptedWidgetComponent.GetComponent: widget not found: SCR_InputButtonComponent Back +05:21:09.523 SCRIPT : -- Stack trace -- +05:21:09.523 SCRIPT : GetComponent() Scripts/Game/UI/Components/WidgetLibrary/SCR_ScriptedWidgetComponent.c : 43 +05:21:09.523 SCRIPT : GetInputButtonComponent() Scripts/Game/UI/Components/WidgetLibrary/SCR_InputButton/SCR_InputButtonComponent.c : 1214 +05:21:09.523 SCRIPT : OnMenuOpen() Scripts/Game/UI/GameOverScreen/SCR_GameOverScreenInput.c : 15 +05:21:09.524 SCRIPT : OpenGameOverScreen() Scripts/Game/GameOverScreen/SCR_GameOverScreenManagerComponent.c : 447 +05:21:09.524 SCRIPT : ShowGameOverScreen() Scripts/Game/GameOverScreen/SCR_GameOverScreenManagerComponent.c : 177 +05:21:09.524 SCRIPT : OnUpdate() Scripts/Game/game.c : 885 +05:21:09.524 SCRIPT : ----------------- +05:21:09.524 SCRIPT (W): SCR_ScriptedWidgetComponent.GetComponent: widget not found: SCR_InputButtonComponent ChatButton +05:21:09.524 SCRIPT : -- Stack trace -- +05:21:09.524 SCRIPT : GetComponent() Scripts/Game/UI/Components/WidgetLibrary/SCR_ScriptedWidgetComponent.c : 43 +05:21:09.524 SCRIPT : GetInputButtonComponent() Scripts/Game/UI/Components/WidgetLibrary/SCR_InputButton/SCR_InputButtonComponent.c : 1214 +05:21:09.525 SCRIPT : OnMenuOpen() Scripts/Game/UI/GameOverScreen/SCR_GameOverScreenInput.c : 21 +05:21:09.525 SCRIPT : OpenGameOverScreen() Scripts/Game/GameOverScreen/SCR_GameOverScreenManagerComponent.c : 447 +05:21:09.525 SCRIPT : ShowGameOverScreen() Scripts/Game/GameOverScreen/SCR_GameOverScreenManagerComponent.c : 177 +05:21:09.525 SCRIPT : OnUpdate() Scripts/Game/game.c : 885 +05:21:09.525 SCRIPT : ----------------- +05:21:09.527 SCRIPT (W): Slot_Chat Has no Content! +05:21:09.527 SCRIPT (W): Slot_VON Has no Content! +05:21:09.527 SCRIPT (W): Slot_GameVersion Has no Content! +05:21:09.528 SCRIPT (W): Slot_Notifications Has no Content! +05:21:09.528 SCRIPT : ERR RESULT UI: player=1 title=You escaped Everon diff --git a/docs/evidence/native-2026-09-19-051452/source-provenance.json b/docs/evidence/native-2026-09-19-051452/source-provenance.json new file mode 100644 index 0000000..5fa4cc7 --- /dev/null +++ b/docs/evidence/native-2026-09-19-051452/source-provenance.json @@ -0,0 +1,4 @@ +{ + "schema_version": 1, + "kind": "launch_snapshot" +} diff --git a/docs/evidence/native-2026-09-19-051452/source-sha256.json b/docs/evidence/native-2026-09-19-051452/source-sha256.json new file mode 100644 index 0000000..6405f7b --- /dev/null +++ b/docs/evidence/native-2026-09-19-051452/source-sha256.json @@ -0,0 +1,118 @@ +{ + "addons/ai/Prefabs/ERR/MortarCrew.et": "05d3e7353ff9fe5523218a1487b31b7b742b0be8adbcb060c7099978cf008bce", + "addons/ai/Prefabs/ERR/MortarCrew.et.meta": "fdfd4fcd21a67c3d698fa4aadc4e5c76e665cebf4be86013bc389e493fab63cc", + "addons/ai/Scripts/Game/ERR/ERR_HQ.c": "ceafd6740ed277748744ce56ac0f0bb3a8521fcc060dafb2cdb99896aedf405a", + "addons/ai/Scripts/Game/ERR/ERR_HQJournal.c": "b3e402cfe92d415f37f666045afb062e6e11670ba03a0ca6f2d9fd4fc3520ac1", + "addons/ai/Scripts/Game/ERR/ERR_HQNetwork.c": "92ff2caca52e94c2cc9642dfc8509ce6e9349b257012bade8650bace9231128c", + "addons/ai/Scripts/Game/ERR/ERR_HQObservation.c": "36c978ec5f052213ac1236e1398d85063efbfd7ef60fe04f1fc11447fefe1d68", + "addons/ai/Scripts/Game/ERR/ERR_HQReport.c": "c4d16ccb571db4d9444c0a8d2be7318845d25ff90238b6d304e96a9ea19f1a08", + "addons/ai/Scripts/Game/ERR/ERR_HelicopterAvailability.c": "60eaef2f6d4b2fd44861c5a4434ef97e732e40a5ff7401e2da451ed2dd9c2762", + "addons/ai/Scripts/Game/ERR/ERR_MortarBattery.c": "66b8f16b692a0f75fc9d920f5224d9292a0f1dc7dd8b2dde912e676fa80ddc9c", + "addons/ai/Scripts/Game/ERR/ERR_MortarFiring.c": "657e96d1112b68c8ced37793e99f88e6078b38a579190e63d00b1f9a9a032e26", + "addons/ai/Scripts/Game/ERR/ERR_MortarPrediction.c": "470dd196ed64800c697d24c09d1344bacd2502587fac76af4ee0edae2563092d", + "addons/ai/Scripts/Game/ERR/ERR_MortarSalvo.c": "697c01f479df6c505a41d984a29c02002e3052114dafa2ec6252ae55e2979a2b", + "addons/ai/Scripts/Game/ERR/ERR_MortarSystem.c": "12d8fc39d47e03c3838e0642aa9e4a80baf60f250357493bff812d5c75812c86", + "addons/ai/Scripts/Game/ERR/ERR_SettlementSafety.c": "e5c0ebc95521a9a33a3f7d9cca6c551dda862a08b7af20b017877aba9584795b", + "addons/ai/Scripts/Game/ERR/ERR_SupportScenario.c": "71757018ec9716c4dc24f62a292a214919d3fd5daed3c16e03e56abd208e9f03", + "addons/ai/addon.gproj": "5f559db8f526700db11e6ae763f5245f19b7006fc68c56e4c09fb6f940bdf2a1", + "addons/chat/Missions/ERR_Everon.conf": "76f3ac0d21b585654beac7ddd68e3c8cbdd66dbfe909b17b04838fa813a7c29b", + "addons/chat/Missions/ERR_Everon.conf.meta": "0a23c98bf83873536c65fa17d38dea33a1d7b9e4ab210f90633ff688abcc551f", + "addons/chat/Scripts/Game/ERR/ERR_AdminCommands.c": "7ea6d6b240524cf0193c86fcab861fbdef9adca780acff11ee73f9ed0e99ce7b", + "addons/chat/Scripts/Game/ERR/ERR_NativeMortarProbe.c": "ddb892141500c192c0787b011d57dd8c07dd8c9a3ca5fdc407f6c271897bde0a", + "addons/chat/Scripts/Game/ERR/ERR_NativeRadioProbe.c": "84524163c63402755b4f834f74dfe6d8e5c397dc26031f532593c6f79f5a93b1", + "addons/chat/Scripts/Game/ERR/ERR_NativeSmoke.c": "0ab2fed95dcaa0442cf7feb25743308060d58497e347f17dbd25c8e970a9f81f", + "addons/chat/Scripts/WorkbenchGame/ERR/ERR_ValidateWorldPlugin.c": "81c92d408ce88cc9f98d6053f1d0c863427693ba748f00df9f1bf8079015ef94", + "addons/chat/addon.gproj": "ea1587e0174cf795334d306c71d99b06797fc891427cd57b6cab6e21cf0e4e0e", + "addons/core/Configs/ERR/EveronSites.conf": "2edb2c6983eb627800b65d9e244b9b228e0b82282e089c7b12e5a8921a2ea7bf", + "addons/core/Configs/ERR/EveronSites.conf.meta": "d5fe68025ef4e7c1e16082cf5873b7c7172eacbfaef4ab29b7e0e3c98f8dca56", + "addons/core/Configs/ERR/GameOverScreens.conf": "45231061911a1462d45fb6db0fecc2b0793f17b5ae71017174954ff4fbd20236", + "addons/core/Configs/ERR/GameOverScreens.conf.meta": "eb654b745c0b97b41c991694569ef4877a3c2315e0826f9556337cd68690843e", + "addons/core/Configs/ERR/VanillaFactions.conf": "f8b8b9898a16b4a4a55ab3c12d2547bef2dc433732c7643df980cb3aca715212", + "addons/core/Configs/ERR/VanillaFactions.conf.meta": "ac77725c0c21974991ef47a466b88122e939de8b46fd23e68889e7674cbb2bfd", + "addons/core/Missions/ERR_Everon_Base.conf": "1e6a0e9a756d15495201f71121626890f01efe6b00154c561672d4ec157960bd", + "addons/core/Missions/ERR_Everon_Base.conf.meta": "9b16267c644d815bcf98a3a3aaff30b93d7224fb24d3a2bac66730a28011f317", + "addons/core/Prefabs/ERR/Extraction.et": "1aa286ef253c5410f09fa641e4be91a7be8ec834487a7fbb74cfb45cab60ee1e", + "addons/core/Prefabs/ERR/Extraction.et.meta": "c2a838633001e2e3a202d39cb33aa744ebcd996017ad032359069641b5d13853", + "addons/core/Prefabs/ERR/FieldCover.et": "20f8095e69dbfe3db74ff19078e528ea75405362b335e03560ccd61f8df2e7f3", + "addons/core/Prefabs/ERR/FieldCover.et.meta": "83461ffa76244e1d69f20b053a9741ccdf7d127009182bd540a7e5ba6150c3d9", + "addons/core/Prefabs/ERR/GameMode.et": "385c97a5b8067091d92aa60c2d4fcf02002cf606b95523866ead65c96b8c0029", + "addons/core/Prefabs/ERR/GameMode.et.meta": "106769cd34525c9d440057072836cb7401a6752148c40edd7fe61c03bd58328c", + "addons/core/Prefabs/ERR/ObjectiveDocument.et": "2e72270bf186654af12d2c3ff9bf940690b03fb17fca44f873c1fde5d11384c0", + "addons/core/Prefabs/ERR/ObjectiveDocument.et.meta": "eaba9903be147b98a1106e2273e2270773df73b9b22f2cd4e20136a8e281382e", + "addons/core/Prefabs/ERR/Patrol.et": "c5685a8bc311cc5563fb3334beec9408d3d7a1069152fddeeb7df4f1b7f9e6ce", + "addons/core/Prefabs/ERR/Patrol.et.meta": "7c5da568fa2fcf0709ee2959253cb068d7c7ed7c2467af3b247a7e70efd96b69", + "addons/core/Prefabs/ERR/Prison.et": "1503db1441d8cd7a4f0b45c27ba9623b9fa39f0f81016e180bd2aa1379e1f42a", + "addons/core/Prefabs/ERR/Prison.et.meta": "2e426ef3de68f4107907854b51e818bc11d84649a01c538e3f18dd9ebec766bb", + "addons/core/Prefabs/ERR/PrisonDoor.et": "fc66be9d36f1f01084de59f1b0a1e8817f9e46547ead33d4fafaac0107446c40", + "addons/core/Prefabs/ERR/PrisonDoor.et.meta": "b8f3db52bf186426026668fbb9d633c3cbd4d438ab301fba880398f6a0e781c2", + "addons/core/Prefabs/ERR/PrisonWall.et": "8009d19365ae72a4749d7ad4fa04662575b06c65c6bf06507d380d57258b5eed", + "addons/core/Prefabs/ERR/PrisonWall.et.meta": "0294bc5dbb56f90f8153d62459bb0a6ad91d76a479812bbec9c7db182fdb58d6", + "addons/core/Prefabs/ERR/Radio.et": "b4b5cfe125b39019855816c9a1c508ca4d65d435b5546fdaa6c1fa3c8c9b1165", + "addons/core/Prefabs/ERR/Radio.et.meta": "bc91137b68ba550217914fb8892bb44d7e1920e4a1086f3e506623832a44212f", + "addons/core/Prefabs/ERR/SpectatorCamera.et": "b5b87d5b7b707f3745741aebe7c923067c8a74f8fbb2a4711834bab03bb5a812", + "addons/core/Prefabs/ERR/SpectatorCamera.et.meta": "2a16558f93915e31908a674509e9c89976470f78a84a1174a64b94b68b8f77ad", + "addons/core/Prefabs/ERR/SupplyCache.et": "bccf7afbaae97cfcdd78dd6dbbf4be5b2c045d348f50fe4581962e556c0044d7", + "addons/core/Prefabs/ERR/SupplyCache.et.meta": "2f5de3a4aab1e9d0e35521f48dc57b95bd6e449c383dec4f1c258e10295904cb", + "addons/core/Prefabs/ERR/SupplySite.et": "dc5decce5cabf39b6116e8794ec3960cb1e35761854fdbe69740da118787ded4", + "addons/core/Prefabs/ERR/SupplySite.et.meta": "b41944b12eb3528ff7a3ac94258b18c66ef161aa6a38894aee300a1ac4798630", + "addons/core/Scripts/Game/ERR/ERR_Actions.c": "adf93245e6d78c59b9839599d157a0d2b2b93ea93b3d1ae52e2904dd6c288266", + "addons/core/Scripts/Game/ERR/ERR_Actors.c": "b3c5aabb05f7cf35167bc09b5db51a4ffd89a46658805d6eedbfb80eee30273d", + "addons/core/Scripts/Game/ERR/ERR_AdminService.c": "047c14ce60cc0b167e202438f8f2b1063590e69ef88ea55b54598aea5f99c505", + "addons/core/Scripts/Game/ERR/ERR_DiscoveryMap.c": "2f4ea342fea0530061456be9cdce002d5e7a282e4e27eb88f3860e79f93612bf", + "addons/core/Scripts/Game/ERR/ERR_DiscoveryService.c": "6b5679447fe4a6d7d54c0545881ab56284f871556b3159207d421247f419eada", + "addons/core/Scripts/Game/ERR/ERR_DocumentComponent.c": "17bb76b80ebd3357e46d553c44674f602c7bd6901c92aec53ac8214194aa4ff2", + "addons/core/Scripts/Game/ERR/ERR_EscapeGameOverScreenInfo.c": "b1e1afb7795cb77c0bad94c85abf705b26b9dc2a9400905d80eafd56bdd009d3", + "addons/core/Scripts/Game/ERR/ERR_ExtractionService.c": "91357099b4e0401196b67d48963be54be30e56bdba57cdac67dc20b8ebb883e9", + "addons/core/Scripts/Game/ERR/ERR_FactionCatalog.c": "a5a8c53acf21259e14f59cb919535910f30dabff5a9179c664bc6a7a4d744d6e", + "addons/core/Scripts/Game/ERR/ERR_GameMode.c": "d766d1639378070bea64eef38baa4667f8b9f5f1a2a7b170f0fc5e8fd557917d", + "addons/core/Scripts/Game/ERR/ERR_Location.c": "d2035f56ded35743312ec6ca91a67f8623a466c91255e1893c570edf0954ff24", + "addons/core/Scripts/Game/ERR/ERR_MissionRules.c": "f7abc38ad8fdc375ce7fa63a65f0bade027d22b37e09de5e3f94ba8c3c63cc41", + "addons/core/Scripts/Game/ERR/ERR_NativeBaseSmoke.c": "f69ffcef3c3db6ff11b4dc8a6461dfc47f9964cf9e968b2c49aba57835df15d1", + "addons/core/Scripts/Game/ERR/ERR_NativeContractsProbe.c": "d1556df885171cf967e96eef5d8981a2e9ee4e3938b7d32fdd0426f647bbabc0", + "addons/core/Scripts/Game/ERR/ERR_NativeDefinitionProbe.c": "d05ef8368ef5afa68e29f45843cb1878b5a09be768f8abdff2f4115c23759b01", + "addons/core/Scripts/Game/ERR/ERR_NativeExtractionProbe.c": "4b09385f73206de004f4f3c38a6192fd658a0d2012482dc5a84dff1599ceb972", + "addons/core/Scripts/Game/ERR/ERR_NativeLifecycleProbe.c": "89620ec1cc94e260ef72460b32c3291ffcc84cfe51afa907954b10229a711b2b", + "addons/core/Scripts/Game/ERR/ERR_NativeObjectiveProbe.c": "bc63003daacfc47f689dec0fc2cba2b600b7428a87dd329927198da6db877c04", + "addons/core/Scripts/Game/ERR/ERR_NativeRadioDefenceProbe.c": "cad54f0b43cefd72df74697dfc7e93725ff0acac6d311e963ce4f817428c272c", + "addons/core/Scripts/Game/ERR/ERR_NativeResultProbe.c": "b9a117eef2d5f65fbd792041a2b3e59e38e201bda8e0df8c503e1a1242cfc415", + "addons/core/Scripts/Game/ERR/ERR_NativeSiteSurvey.c": "ac0203753ade0cdff6d483132797a80e4520f14546c3f9dea288281cd4cd9c4f", + "addons/core/Scripts/Game/ERR/ERR_NativeStationTeardownDiagnostic.c": "c01cbdbfe25fd38916fa74f2c02333baaacd5228686fd6e40b33c27b3cea8ed8", + "addons/core/Scripts/Game/ERR/ERR_NativeTimeProbe.c": "c93d049785971e51246fcc07cf24804270a752a655505f2c38e48c80df5255ae", + "addons/core/Scripts/Game/ERR/ERR_NativeTransportProbe.c": "63ec0c5ce698114daa6314b2a6e3c3e98e76094117c477f9d0d072260686d193", + "addons/core/Scripts/Game/ERR/ERR_NativeTransportSurvey.c": "3e94493bf54d15be2bceb106ad18873e14e6755af09c05f07db7fb26fb7adff5", + "addons/core/Scripts/Game/ERR/ERR_ObjectiveDetails.c": "d42487e3e3bd8a216d94b2792891d59906f26418d283e6303631a0ea666f135e", + "addons/core/Scripts/Game/ERR/ERR_ObjectiveText.c": "bbb29949194637e6781316836c895e2c0fa7ccdb547d4d944a717da2ad73b0a2", + "addons/core/Scripts/Game/ERR/ERR_Objectives.c": "88d95a52fcba103483ea751571e1afeae0e6fc82115ed50d6fc195424726960f", + "addons/core/Scripts/Game/ERR/ERR_Observer.c": "b719e723369ab4f403950c85226e1336eb48e3c127e84530ac1c695eb86bd0f9", + "addons/core/Scripts/Game/ERR/ERR_PlayerAdminCommands.c": "a084d7dc097dfcde3d6cd9c2e326b9e2f8f2a519f77b30c4f56ab7a1429aa721", + "addons/core/Scripts/Game/ERR/ERR_PlayerEscapeResult.c": "3124ab4d2d6d471409a47aba0af528790734df53243c03fe0cdac3e407047c14", + "addons/core/Scripts/Game/ERR/ERR_PlayerGuide.c": "2c9c365b88651f8b12618443638bf52c04e497221592bd483c33447e30468f36", + "addons/core/Scripts/Game/ERR/ERR_PlayerRoster.c": "a737ba739b3f73a91cd05d808a1d45070e83b5152c003c3164e29842dda51995", + "addons/core/Scripts/Game/ERR/ERR_RadioDefenceService.c": "85eb9c1b65d5987799927b6d8786b7299fcff849bcb15b91f8a4d1aa95823fd1", + "addons/core/Scripts/Game/ERR/ERR_Resources.c": "8a5314944f75b23982c6b99697045e3c0538aa2137b2c947a5b2411e6076ac03", + "addons/core/Scripts/Game/ERR/ERR_ScenarioComponent.c": "abba03af68323d5715ba1e2497fc66f3c706e6a6a983c3a386228abdfddeec89", + "addons/core/Scripts/Game/ERR/ERR_Settings.c": "2aee784e44c732e09f59150896491ab325ef5e62aa6bad725be1fda955a3f614", + "addons/core/Scripts/Game/ERR/ERR_SiteDefinition.c": "75b5121ceab77f0956f0dc34bd077b11af5586350de52321800427f18cc94477", + "addons/core/Scripts/Game/ERR/ERR_SiteService.c": "7ba02712562b3c8cd8de9851b6f26fed85020faacceef0767408b300b935c110", + "addons/core/Scripts/Game/ERR/ERR_SpawnFinalization.c": "2e295b0f225208c5414728ba83333e5e0ab6eef3a708ce39eb1dfce5400c94c9", + "addons/core/Scripts/Game/ERR/ERR_SpawnLogic.c": "64c2cef62d8a435eea396f057255b269d457935bf5d261221700739bf37240b8", + "addons/core/Scripts/Game/ERR/ERR_SpawnPlacement.c": "284db0d4a5ecd38f9c658c91ce943f4c0c30dcf4d31bb3edeea92e4ab0b1436a", + "addons/core/Scripts/Game/ERR/ERR_Supplies.c": "752e8a56b0b8cde33cf532032cb0a203553017b686faac2e19bee06f7a9c0713", + "addons/core/Scripts/Game/ERR/ERR_TimeService.c": "d9f481b7da01e08d2c982a948c18ba6bde76889d7cc9d26d510708f4ba479453", + "addons/core/Scripts/WorkbenchGame/ERR/ERR_ValidateBaseWorldPlugin.c": "7f44aa64ea7b4f8b3640a37a4b781c43bf6adb80e4a3a702d9491131698056f6", + "addons/core/Worlds/ERR_Everon.ent": "22324bc7eb0d80dec8a1f3bd61a9df9201b72f749f4e751766b0c9d0b7d46b87", + "addons/core/Worlds/ERR_Everon.ent.meta": "19d1903ca72baa326b4724a6791d0da1104a1e53f3f31dc1ca41a856efd68e83", + "addons/core/Worlds/ERR_Everon_Layers/default.layer": "f1a058bd315c7d01d464715ac9f4e18ae3d2432551d094a9afbd4c9c5a2a9416", + "addons/core/addon.gproj": "231274e6b62302f32c65f9ff31de2ce8a9e51e1c8d12c87deeec82ae1f40de46", + "addons/intel/Scripts/Game/ERR/ERR_IntelService.c": "482839434b94e7f8c345d5fd96490aeebb765f3dd0c1bb25fceea2f435c0e722", + "addons/intel/addon.gproj": "d0ced242cefb220a5cccd6779d61fda9bc55581701b9f78bcf13c09d92ddbcbe", + "addons/map/Materials/ERRM_MapRenderTarget.emat": "9877c5b175c5f30dd80bea36c711b21ab38219aa7075adf9ae79932e1d4c76bc", + "addons/map/Materials/ERRM_MapRenderTarget.emat.meta": "5ee1a705f8011a44020ca2691f5ccc17d44bf596fef9a36e98d1f267eb58fab0", + "addons/map/Prefabs/Items/Equipment/ERRM_SharedFieldMap.et": "30dee8e9eab459ea32a7d835a9fb89d43df47708057cab829f067b25a24cd581", + "addons/map/Prefabs/Items/Equipment/ERRM_SharedFieldMap.et.meta": "59093e9072c50d99c86da7609c87541016da5bcf92b98d99db4c524e1c8e0e8d", + "addons/map/Scripts/Game/ERR/ERR_ScenarioMap.c": "75fa1d742129ef7f33c005cd48f56db7f49ee7bde3c5428532b0b501b032b0a3", + "addons/map/Scripts/Game/ERRMap/ERRM_SharedMapComponent.c": "fc1a0c7df4fc96da446d7542a45a10fbec1eda1e543ba2f0581cb772277a47c5", + "addons/map/UI/layouts/ERRMap/SharedMapRenderTarget.layout": "49a2da4181b94d42174f58c7f9b6bf2207116c99427d61ff1c212092ac7db4d2", + "addons/map/UI/layouts/ERRMap/SharedMapRenderTarget.layout.meta": "5c846445cc089e2e08899ba703059d4adb805ff30ab5a16409a3cd59718cbd54", + "addons/map/addon.gproj": "1b371e5e01ea9fa46e76570fecb8aaa3a9298e34cba7ccca8a6bdb5ca86eb46a" +} diff --git a/docs/evidence/native-2026-09-19-052140-deleted-task-callback-failure/console.log.txt b/docs/evidence/native-2026-09-19-052140-deleted-task-callback-failure/console.log.txt new file mode 100644 index 0000000..bc6e037 --- /dev/null +++ b/docs/evidence/native-2026-09-19-052140-deleted-task-callback-failure/console.log.txt @@ -0,0 +1,410 @@ +--------------------------------------------- +Log Z:\tmp\erri-workbench-profile\logs\logs_2026-09-19_05-21-40\console.log started at 2026-09-19 05:21:40 (2026-09-19 03:21:40 UTC) + +05:21:40.812 ENGINE : FileSystem: Adding relative directory 'Z:\tmp\erri-workbench-profile\logs\logs_2026-09-19_05-21-40' to filesystem under name logs +05:21:40.812 ENGINE : FileSystem: Adding relative directory 'Z:\tmp\erri-workbench-profile\profile' to filesystem under name profile +05:21:40.812 ENGINE : FileSystem: Current working directory: 'Z:\home\jakub\.local\share\Steam\steamapps\common\Arma Reforger Tools\Workbench\' +05:21:40.814 PROFILING : Workbench Create Engine took: 10.790300 ms +05:21:41.851 INIT : INIT : Workbench Init Engine +05:21:41.851 ENGINE : Initializing engine, version 192142 +05:21:41.851 ENGINE : CLI Params: -gproj Z:/home/jakub/devel/escapistsrereintroduced/addons/core/addon.gproj -addonsDir Z:/home/jakub/devel/escapistsrereintroduced/addons -profile Z:/tmp/erri-workbench-profile -logconsole -wbModule WorldEditor -load Worlds/ERR_Everon.ent -plugin ERR_ValidateBaseWorldPlugin -errPlay 1 -errBaseSmoke 1 -errSmokeOutcome objective-ui -noThrow +05:21:41.860 ENGINE : Addon dirs: +05:21:41.860 ENGINE : dir: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/core/' +05:21:41.860 ENGINE : dir: 'Z:/home/jakub/devel/escapistsrereintroduced/addons' +05:21:41.860 ENGINE : dir: './addons' +05:21:41.860 ENGINE : dir: 'Z:/tmp/erri-workbench-profile/addons' +05:21:41.860 ENGINE : Available addons: +05:21:41.860 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/core/addon.gproj' guid: '2528466DE220D91C' +05:21:41.860 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/ai/addon.gproj' guid: '5192138CB9D5B911' +05:21:41.860 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/chat/addon.gproj' guid: 'FA804F411BDDF2C6' +05:21:41.860 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/intel/addon.gproj' guid: 'D31039C7C53E348A' +05:21:41.860 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/map/addon.gproj' guid: '9AAEE9041D79809E' +05:21:41.860 ENGINE : gproj: './addons/core/core.gproj' guid: '5614BBCCBB55ED1C' (packed) +05:21:41.860 ENGINE : gproj: 'Z:/tmp/erri-workbench-profile/addons/ArmaReforger/ArmaReforger.gproj' guid: '58D0FB3206B6F859' (packed) +05:21:41.860 ENGINE : FileSystem: Adding relative directory 'Z:\home\jakub\devel\escapistsrereintroduced\addons\core' to filesystem under name ERR_Core +05:21:41.980 ENGINE : FileSystem: Adding package 'Z:/tmp/erri-workbench-profile/addons/ArmaReforger/' (pak count: 14) to filesystem under name ArmaReforger +05:21:41.984 ENGINE : FileSystem: Adding package './addons/core/' (pak count: 2) to filesystem under name core +05:21:41.985 ENGINE : CPU vendor : AuthenticAMD +05:21:41.985 ENGINE : CPU type : 2 +05:21:41.985 ENGINE : CPU name : AMD Ryzen 7 3800XT 8-Core Processor +05:21:41.985 ENGINE : CPU cache info : L1 [Inst 32KB, Data 32KB], L2 [Unif 512KB], L3 [Unif 16384KB] +05:21:41.985 ENGINE : CPU count logical : 16 +05:21:41.985 ENGINE : CPU count physical : 8 +05:21:41.985 ENGINE : CPU features : mmx sse sse2 sse3 ssse3 sse4_1 sse4_2 popcnt aesni pclmulqdq osxsave avx sha avx2 +05:21:41.985 RESOURCES : ResourceDB: loading cache (id=0 name=ERR_Core path=Z:\home\jakub\devel\escapistsrereintroduced\addons\core/resourceDatabase.rdb) +05:21:41.985 RESOURCES : ResourceDB: loading cache (id=1 name=ArmaReforger path=Z:/tmp/erri-workbench-profile/addons/ArmaReforger/resourceDatabase.rdb) +05:21:42.122 RESOURCES : ResourceDB: loading cache (id=2 name=core path=./addons/core/resourceDatabase.rdb) +05:21:42.124 RESOURCES : ResourceDB: loading cache (id=3 name=profile path=Z:\tmp\erri-workbench-profile\profile/resourceDatabase.rdb) +05:21:42.124 RESOURCES : ResourceDB: loading cache (id=4 name=logs path=Z:\tmp\erri-workbench-profile\logs\logs_2026-09-19_05-21-40/resourceDatabase.rdb) +05:21:42.276 RESOURCES : RESOURCES : ResourceDB: full scan +05:21:42.281 RESOURCES : RESOURCES : scanning... +05:21:42.281 RESOURCES : RESOURCES : scanning @"ERR_Core" +05:21:42.283 RESOURCES : RESOURCES : scanning @"ArmaReforger" +05:21:42.416 RESOURCES : RESOURCES : scanning @"core" +05:21:42.420 RESOURCES : RESOURCES : scanning @"profile" +05:21:42.420 RESOURCES : RESOURCES : scanning @"logs" +05:21:42.420 RESOURCES : RESOURCES : processing meta-files... +05:21:42.481 RESOURCES : RESOURCES : processing files... +05:21:42.493 INIT : Workbench startup +05:21:42.493 INIT : Workbench Init Engine +05:21:42.493 RESOURCES : ResourceDB: full scan +05:21:42.493 RESOURCES : processing files... +05:21:42.493 RESOURCES (W): resource not registered: @"$profile:rereintroduced.json". Setting null GUID +05:21:42.493 RESOURCES (W): resource not registered: @"$logs:launch-source-sha256.json". Setting null GUID +05:21:42.493 RESOURCES (W): resource not registered: @"$logs:launch-source.json". Setting null GUID +05:21:42.493 RESOURCES : RESOURCES : processing folders... +05:21:42.499 RESOURCES : RESOURCES : creating GUID-item mapping... +05:21:42.515 RESOURCES : RESOURCES : building tree... +05:21:42.567 PROFILING : ResourceDB: full scan took: 291.504400 ms +05:21:42.568 RESOURCES : ResourceDB: saving cache (id=0 name=ERR_Core path=Z:\home\jakub\devel\escapistsrereintroduced\addons\core/resourceDatabase.rdb) +05:21:42.570 RESOURCES : ResourceDB: written 4000/4000 bytes +05:21:42.570 RESOURCES : ResourceDB: cache successfully saved +05:21:42.570 RESOURCES : ResourceDB: saving cache (id=3 name=profile path=Z:\tmp\erri-workbench-profile\profile/resourceDatabase.rdb) +05:21:42.571 RESOURCES : ResourceDB: written 206/206 bytes +05:21:42.571 RESOURCES : ResourceDB: cache successfully saved +05:21:42.571 RESOURCES : ResourceDB: saving cache (id=4 name=logs path=Z:\tmp\erri-workbench-profile\logs\logs_2026-09-19_05-21-40/resourceDatabase.rdb) +05:21:42.573 RESOURCES : ResourceDB: written 162/162 bytes +05:21:42.573 RESOURCES : ResourceDB: cache successfully saved +05:21:42.573 ENGINE : GameProject load +05:21:42.573 ENGINE : Loaded addons: +05:21:42.573 ENGINE : gproj: './addons/core/core.gproj' guid: '5614BBCCBB55ED1C' +05:21:42.573 ENGINE : gproj: 'Z:/tmp/erri-workbench-profile/addons/ArmaReforger/ArmaReforger.gproj' guid: '58D0FB3206B6F859' +05:21:42.573 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/core/addon.gproj' guid: '2528466DE220D91C' +05:21:42.574 ENGINE : Loading custom engine user config '$profile:.save/app1874910_user76561198020202999/settings/ReforgerEngineSettings.conf' +05:21:42.575 INIT : GameProject engine user settings load @"$profile:.save/app1874910_user76561198020202999/settings/ReforgerEngineSettings.conf" +05:21:42.575 ENGINE : Engine user settings config loaded +05:21:42.575 PROFILING : Settings changed took: 0.002000 ms +05:21:42.678 RENDER : (OK) Adapter 'AMD Radeon RX 6950 XT (RADV NAVI21)' supports feature level 12_0 +05:21:42.679 RENDER : Basic screen setup: +05:21:42.679 RENDER : Back buffer format : TEXFMT_R8G8B8A8_SRGB (29) +05:21:42.679 RENDER : MSAA : none +05:21:42.691 RENDER : AMD AGS library initialized, version 6.1.0 x DLL 6.1.0 +05:21:42.691 RENDER : Extendeded AMD info for AMD Radeon RX 6950 XT (RADV NAVI21) (primary device) +05:21:42.691 RENDER : * architecture RDNA2, 80 CUs, 40 WGPs (for RDNA), 64 ROPs +05:21:42.691 RENDER : * core clocks 2720 MHz, memory 1124 MHz +05:21:42.691 RENDER : * TFlops 27.9, memory bandwidth (562.0 GB/s) +05:21:42.691 RENDER : AMD AGS correctly initialized +05:21:42.692 RENDER : GPU_ATI (0x1002) (AMD Radeon RX 6950 XT (RADV NAVI21)) with 1 GPU detected, VRAM 16128MB (fast 0MB), shared 64362MB, driver version 99.19.02-230831a-396538C-AMD-Software-Adrenalin-Edition +05:21:42.692 RENDER : Detected output devices: +05:21:42.692 RENDER : * 1 device/s connected to AMD Radeon RX 6950 XT (RADV NAVI21): +05:21:42.692 RENDER : Generic Non-PnP Monitor (\\.\DISPLAY1), 1280x720 (offset 0x0), 30Hz +05:21:42.692 RENDER : Concurrent frames limit 2 +05:21:42.767 RENDER : DX12 device successfully created by AMD AGS library +05:21:42.767 RENDER : * user markers not supported in this version AMD SW +05:21:42.767 RENDER : Graphics device features +05:21:42.767 RENDER : Needed: +05:21:42.767 RENDER : * Highest supported shader model: 6.8 (6.0 needed) +05:21:42.767 RENDER : Optional: +05:21:42.767 RENDER : * Allow tearing (VSYNC) : 1 +05:21:42.767 RENDER : * 16 bits : 1 +05:21:42.767 RENDER : * Resource heap tier : 3 +05:21:42.767 RENDER : * Persistent heaps (DRED) : 1 +05:21:42.767 RENDER : * DRED 1.2 is supported by compiler +05:21:42.786 RENDER : Main RT format setup. +05:21:42.786 RENDER : Main RT format for quality 0 : TEXFMT_R11G11B10_FLOAT (26) +05:21:42.786 RENDER : Main RT format for quality 1 : TEXFMT_R16G16B16A16_FLOAT (10) +05:21:42.788 ENGINE : Job system settings: coreCount=16, shortJobContextCount=16, shortJobThreadCount=15, longJobThreadCount=16 +05:21:42.821 PROFILING : Settings changed took: 0.016800 ms +05:21:43.258 AUDIO : Endpoint: Speakers (PulseAudio Output) +05:21:43.258 AUDIO : Format: Channels: 2, Sample rate: 48kHz, Avg. bytes: 384kB, Sample bits: 32, Block align: 8B +05:21:43.258 AUDIO : Audio client: +05:21:43.258 AUDIO : Format: Channels: 2, Sample rate: 48kHz, Buffer size: 1536B, Frame: 512 +05:21:43.261 RENDER : RENDER : Reload shaders +05:21:43.261 RENDER : Enfusion shader version 13 +05:21:43.261 INIT : INIT : ShaderListReload +05:21:43.261 PROFILING : ShaderListReload took: 0.000400 ms +05:21:43.406 AUDIO : Endpoint: Speakers (PulseAudio Output) +05:21:43.406 AUDIO : Format: Channels: 2, Sample rate: 48kHz, Avg. bytes: 384kB, Sample bits: 32, Block align: 8B +05:21:43.406 AUDIO : Audio client: +05:21:43.406 AUDIO : Format: Channels: 2, Sample rate: 48kHz, Buffer size: 1536B, Frame: 512 +05:21:43.502 RENDER : Loaded 3752 newer shader binaries +05:21:43.502 PROFILING : Reload shaders took: 240.532800 ms +05:21:43.502 ENGINE : Initializing inputs. +05:21:43.515 NETWORK : Initializing networking. +05:21:43.515 NETWORK : Using new GameRplScheduler. +05:21:43.515 SCRIPT : SCRIPT : Initializing scripts +05:21:43.516 SCRIPT : SCRIPT : ScriptProjectManager init +05:21:44.364 PROFILING : ScriptProjectManager init took: 848.508200 ms +05:21:44.398 PROFILING : Initializing scripts took: 882.822700 ms +05:21:44.416 ENGINE : Enfusion engine successfully created. +05:21:44.417 PROFILING : Workbench Init Engine took: 2565.745300 ms +05:21:44.417 INIT : INIT : Workbench Create Game +05:21:44.430 GUI : Using default language (en_us) +05:21:44.430 GUI : Loading 'en_us' localization file. +05:21:44.430 INIT : INIT : Loading StringTable +05:21:44.458 PROFILING : Loading StringTable took: 28.598200 ms +05:21:44.458 SCRIPT : SCRIPT : Compiling GameLib scripts +05:21:44.513 SCRIPT : Module: Workbench; loaded 18x files; 36x classes; used 125K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE"; CRC32: 90ce0460 +05:21:44.514 SCRIPT : Module: GameLib; loaded 465x files; 648x classes; used 828K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE"; CRC32: 4507af04 +05:21:44.515 PROFILING : Compiling GameLib scripts took: 56.331900 ms +05:21:44.515 SCRIPT : SCRIPT : Compiling Game scripts +05:21:45.600 INIT : Workbench Create Game +05:21:45.600 SCRIPT : Compiling Game scripts +05:21:45.600 SCRIPT (W): @"Scripts/Game/Editor/Components/EditableEntity/SCR_EditableEntityComponent.c,785": 'GetPlayerPlatformKind' is obsolete +05:21:45.600 SCRIPT (W): @"Scripts/Game/Editor/Components/EditableEntity/SCR_EditableEntityComponent.c,786": 'GetPlayerPlatformId' is obsolete +05:21:45.868 SCRIPT (W): @"Scripts/Game/ERR/ERR_SiteService.c,140": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +05:21:45.877 SCRIPT (W): @"Scripts/Game/Workshop/SCR_AddonManager.c,876": 'GetRefCount' is obsolete: Will be removed +05:21:45.910 SCRIPT (W): @"Scripts/Game/Campaign/SCR_PlayerProfileManagerComponent.c,142": 'PlayerData' is obsolete +05:21:46.013 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,159": 'GetDSSession' is obsolete +05:21:46.013 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,162": 'RoomID' is obsolete +05:21:46.013 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,197": 'GetDSSession' is obsolete +05:21:46.013 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,201": 'RoomID' is obsolete +05:21:46.111 SCRIPT (W): @"Scripts/Game/DataCollection/SCR_DataCollectorComponent.c,481": 'GetStorage' is obsolete +05:21:46.111 SCRIPT (W): @"Scripts/Game/DataCollection/SCR_DataCollectorComponent.c,483": 'GetOnlineWritePrivilege' is obsolete +05:21:46.112 SCRIPT (W): @"Scripts/Game/Utilities/SCR_PlayerIdentityUtils.c,20": 'GetPlayerIdentityId' is obsolete +05:21:46.156 SCRIPT (W): @"Scripts/Game/ERR/ERR_ExtractionService.c,45": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +05:21:46.156 SCRIPT (W): @"Scripts/Game/ERR/ERR_ExtractionService.c,56": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +05:21:46.157 SCRIPT (W): @"Scripts/Game/UI/Menu/MainMenuUI.c,643": 'GetNotifyCount' is obsolete: Will be substitued by Notification Api. +05:21:46.157 SCRIPT (W): @"Scripts/Game/UI/Menu/MainMenuUI.c,645": 'GetNotifyItem' is obsolete: Will be substitued by Notification Api. +05:21:46.183 SCRIPT (W): @"Scripts/Game/ERR/ERR_NativeTransportProbe.c,82": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +05:21:46.218 SCRIPT (W): @"Scripts/Game/DataCollection/PlayerData/SCR_PlayerData.c,210": 'PlayerData' is obsolete +05:21:46.504 SCRIPT : Module: WorkbenchGame; loaded 171x files; 616x classes; used 2478K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE"; CRC32: db6febb9 +05:21:46.512 SCRIPT : Module: Game; loaded 5704x files; 11180x classes; used 32544K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE,ENABLE_BASE_DESTRUCTION,BUDGET_OPTIMIZATION_CHECKS,SHOW_DISCLAIMER,DEBUG,RESPAWN_TIMER_COMPONENT_DEBUG,GAME_MODE_DEBUG,DEBUG_CONFIGURABLE_DIALOGS,DISABLE_WEAPON_SWITCHING,SCRIPTED_AIM_MODIFIER_DEBUG"; CRC32: 8eb08cf6 +05:21:46.549 PROFILING : Compiling Game scripts took: 2034.326600 ms +05:21:46.555 INIT : Creating game instance(ArmaReforgerScripted), version 1.8.0.13 built 2026-08-21 14:30:18 UTC. +05:21:46.600 ENGINE : Game successfully created. +05:21:46.601 PROFILING : Workbench Create Game took: 2184.311400 ms +05:21:46.610 DEFAULT : Using thumbnail cache directory: C:/users/steamuser/AppData/Local/Temp/Arma Reforger Workbench/Projects/ERR_Core/thumbnails +05:21:47.458 INIT : INIT : Workbench Reload Game +05:21:47.460 ENGINE : Game destroyed. +05:21:47.466 GUI : Using default language (en_us) +05:21:47.466 GUI : Loading 'en_us' localization file. +05:21:47.466 INIT : INIT : Loading StringTable +05:21:47.476 PROFILING : Loading StringTable took: 9.579000 ms +05:21:47.476 INIT : Creating game instance(ArmaReforgerScripted), version 1.8.0.13 built 2026-08-21 14:30:18 UTC. +05:21:47.484 SCRIPT : Unable to register a script command due keyword duplicity: ban +05:21:47.484 SCRIPT : Unable to register a script command due keyword duplicity: kick +05:21:47.484 ENGINE : Game successfully created. +05:21:47.484 ENGINE : Game successfully initialized. +05:21:47.484 PROFILING : Workbench Reload Game took: 25.807100 ms +05:21:48.162 WORLD : WORLD : Entities load '$ERR_Core:Worlds/ERR_Everon.ent' +05:21:49.153 PROFILING : Entities load took: 991.116400 ms +05:21:49.165 WORLD : WORLD : CreateEntities +05:21:49.170 WORLD : WORLD : NotifyBeforeEntitiesCreated +05:21:49.170 PROFILING : NotifyBeforeEntitiesCreated took: 0.003000 ms +05:21:49.170 WORLD : WORLD : Wait for preloading data +05:21:49.170 PROFILING : Wait for preloading data took: 0.002200 ms +05:21:49.279 ENTITY : Create entity @"ENTITY:2" ('Eden', GenericTerrainEntity) at <0.000000 0.000000 0.000000> @"{5AD924374E8C7AF6}Prefabs/World/Game/Eden/GenericTerrain_Eden.et" +05:21:49.280 PROFILING : PROFILING : Terrain load +05:21:50.870 PROFILING : Terrain load took: 1589.940500 ms +05:21:54.875 WORLD : CreateEntities +05:21:54.875 ENTITY : Create entity @"ENTITY:610406" ('StaticModelEntity','Assets/Structures/Infrastructure/Towers/TransmitterTower_01/TransmitterTower_01_small.xob') at <1931.796021 81.777000 5138.725098> @"{6A004A8F0571D456}Prefabs/Structures/Infrastructure/Towers/TransmitterTower_01/TransmitterTower_01_small.et" +05:21:54.875 ENTITY : CreateComponent 'ScriptedRadioComponent' +05:21:54.876 DEFAULT (W): World doesn't contain RadioManagerEntity to support any BaseRadioComponent. +05:22:04.619 WORLD : WORLD : NotifyBeforeEntitiesInitialized +05:22:04.619 PROFILING : NotifyBeforeEntitiesInitialized took: 0.004800 ms +05:22:05.067 WORLD : WORLD : NotifyEntitiesInitialized +05:22:05.067 TERRAIN : TERRAIN : Initializing road networks... +05:22:05.069 PROFILING : Initializing road networks... took: 2.186500 ms +05:22:05.070 PROFILING : NotifyEntitiesInitialized took: 2.455300 ms +05:22:05.070 PROFILING : CreateEntities took: 15903.956900 ms +05:22:05.253 PROFILING : * WorldEditor: LoadWorld: 17096.728300 ms +05:22:06.734 TERRAIN : Loading tile map config (worlds/Eden/Eden/tileMap.conf) +05:22:06.734 TERRAIN : Loading minimap config (worlds/Eden/Eden/miniMap.conf) +05:22:06.735 TERRAIN : The default minimap texture ('worlds/Eden/EdenRasterized.edds') not found. Trying 'worlds/Eden/Eden.edds'... +05:22:06.735 TERRAIN : The default minimap texture ('worlds/Eden/Eden.edds') not found. Skipping... +05:22:06.825 SCRIPT : ERR SITE SURVEY: supply=6150/7050 elevationRange=0.625 min=202.875 max=203.5 +05:22:06.849 BACKEND : Attempting online Game Config instead. +05:22:10.040 INIT : INIT : Workbench Reload Game +05:22:10.043 ENGINE : Game destroyed. +05:22:10.050 GUI : Using default language (en_us) +05:22:10.050 GUI : Loading 'en_us' localization file. +05:22:10.050 INIT : INIT : Loading StringTable +05:22:10.071 PROFILING : Loading StringTable took: 20.444800 ms +05:22:10.071 INIT : Creating game instance(ArmaReforgerScripted), version 1.8.0.13 built 2026-08-21 14:30:18 UTC. +05:22:10.079 SCRIPT : Unable to register a script command due keyword duplicity: ban +05:22:10.079 SCRIPT : Unable to register a script command due keyword duplicity: kick +05:22:10.079 ENGINE : Game successfully created. +05:22:10.079 ENGINE : Game successfully initialized. +05:22:10.080 PROFILING : Workbench Reload Game took: 39.135100 ms +05:22:10.082 DEFAULT (W): LogiLED: Cannot initialize! (service not running or no compatible device detected) +05:22:10.129 PLATFORM : Save data from container 'settings' have been loaded +05:22:10.219 PLATFORM : Save data from container 'sessions' have been loaded +05:22:10.220 PLATFORM : GameProject user settings load from profile @"ReforgerGameSettings.conf" +05:22:10.220 ENGINE : Game user settings config loaded +05:22:10.318 DEFAULT : [SaveGameManager] Starting new playthrough nr.0 '' for mission '{B6C516F86302C679}Worlds/ERR_Everon.ent'. +05:22:10.324 WORLD : WORLD : Game::LoadEntities +05:22:10.324 WORLD : WORLD : Initializing world systems @"{1C60D2EDA2B468B8}Configs/Systems/BaseGameModeSystems.conf" +05:22:10.325 NETWORK : Enabled lag compensation, 29 frames with 100 FPS and 280 ms rewind limits. +05:22:10.325 WORLD : WORLD : CreateEntities +05:22:10.325 WORLD : WORLD : CreateEntities +05:22:10.325 WORLD : WORLD : NotifyBeforeEntitiesCreated +05:22:10.330 RESOURCES : Loaded mission headers from 7 addon(s)! +05:22:10.330 PROFILING : NotifyBeforeEntitiesCreated took: 4.978400 ms +05:22:10.330 WORLD : WORLD : Wait for preloading data +05:22:10.330 PROFILING : Wait for preloading data took: 0.000800 ms +05:22:14.809 WORLD : Game::LoadEntities +05:22:14.809 WORLD : CreateEntities +05:22:14.809 WORLD : CreateEntities +05:22:14.809 ENTITY : Create entity @"ENTITY:610406" ('StaticModelEntity','Assets/Structures/Infrastructure/Towers/TransmitterTower_01/TransmitterTower_01_small.xob') at <1931.796021 81.777000 5138.725098> @"{6A004A8F0571D456}Prefabs/Structures/Infrastructure/Towers/TransmitterTower_01/TransmitterTower_01_small.et" +05:22:14.809 ENTITY : CreateComponent 'ScriptedRadioComponent' +05:22:14.809 DEFAULT (W): World doesn't contain RadioManagerEntity to support any BaseRadioComponent. +05:22:16.189 ENTITY : Create entity @"ENTITY:842066" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1080.213013 10.776751 6018.347168> +05:22:16.189 ENTITY : CreateComponent 'Hierarchy' +05:22:16.189 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842066" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1080.213013 10.776751 6018.347168>') +05:22:16.189 ENTITY : Create entity @"ENTITY:842068" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1082.185913 10.778749 6018.331055> +05:22:16.189 ENTITY : CreateComponent 'Hierarchy' +05:22:16.189 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842068" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1082.185913 10.778749 6018.331055>') +05:22:16.189 ENTITY : Create entity @"ENTITY:842070" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1084.190918 10.790751 6018.334961> +05:22:16.189 ENTITY : CreateComponent 'Hierarchy' +05:22:16.189 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842070" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1084.190918 10.790751 6018.334961>') +05:22:16.194 ENTITY : Create entity @"ENTITY:842333" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4425.594727 9.981750 11029.402344> +05:22:16.194 ENTITY : CreateComponent 'Hierarchy' +05:22:16.194 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842333" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4425.594727 9.981750 11029.402344>') +05:22:16.194 ENTITY : Create entity @"ENTITY:842335" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4426.584473 9.983749 11031.109375> +05:22:16.194 ENTITY : CreateComponent 'Hierarchy' +05:22:16.194 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842335" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4426.584473 9.983749 11031.109375>') +05:22:16.194 ENTITY : Create entity @"ENTITY:842337" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4427.572266 9.995750 11032.853516> +05:22:16.194 ENTITY : CreateComponent 'Hierarchy' +05:22:16.194 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842337" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4427.572266 9.995750 11032.853516>') +05:22:16.199 ENTITY : Create entity @"ENTITY:842591" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.946289 10.470250 1551.986084> +05:22:16.199 ENTITY : CreateComponent 'Hierarchy' +05:22:16.199 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842591" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.946289 10.470250 1551.986084>') +05:22:16.199 ENTITY : Create entity @"ENTITY:842593" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.430664 10.472250 1550.081421> +05:22:16.199 ENTITY : CreateComponent 'Hierarchy' +05:22:16.199 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842593" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.430664 10.472250 1550.081421>') +05:22:16.199 ENTITY : Create entity @"ENTITY:842595" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10008.926758 10.484250 1548.140869> +05:22:16.199 ENTITY : CreateComponent 'Hierarchy' +05:22:16.199 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842595" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10008.926758 10.484250 1548.140869>') +05:22:20.705 ENTITY : Create entity @"ENTITY:2305843009213693956" ('Factions', SCR_FactionManager) at <0.000000 0.000000 0.000000> @"{589540B35EBA8CDC}Prefabs/MP/Managers/Factions/FactionManager_USxUSSR.et" +05:22:20.705 RESOURCES : GetResourceObject @"{5168FEA3054D6D15}Prefabs/Vehicles/Wheeled/M151A2/M151A2_M2HB_MERDC.et" +05:22:20.705 WORLD : Entity prefab load @"{5168FEA3054D6D15}Prefabs/Vehicles/Wheeled/M151A2/M151A2_M2HB_MERDC.et" +05:22:20.705 RESOURCES : GetResourceObject @"{F6B23D17D5067C11}Prefabs/Vehicles/Wheeled/M151A2/M151A2_M2HB.et" +05:22:20.705 WORLD : Entity prefab load @"{F6B23D17D5067C11}Prefabs/Vehicles/Wheeled/M151A2/M151A2_M2HB.et" +05:22:20.705 RESOURCES : GetResourceObject @"{F649585ABB3706C4}Prefabs/Vehicles/Wheeled/M151A2/M151A2.et" +05:22:20.705 WORLD : Entity prefab load @"{F649585ABB3706C4}Prefabs/Vehicles/Wheeled/M151A2/M151A2.et" +05:22:20.705 WORLD (E): Unknown keyword/data 'SlidingTrackMaterial' at offset 19441(0x4bf1) +05:22:20.742 RESOURCES : GetResourceObject @"{F7B9B434FCFF00B3}Prefabs/Vehicles/Wheeled/Conflict_Variants/BRDM2_Conflict.et" +05:22:20.742 WORLD : Entity prefab load @"{F7B9B434FCFF00B3}Prefabs/Vehicles/Wheeled/Conflict_Variants/BRDM2_Conflict.et" +05:22:20.742 RESOURCES : GetResourceObject @"{254289B9C09904AB}Prefabs/Vehicles/Wheeled/BRDM2/BRDM2.et" +05:22:20.742 WORLD : Entity prefab load @"{254289B9C09904AB}Prefabs/Vehicles/Wheeled/BRDM2/BRDM2.et" +05:22:20.742 RESOURCES : GetResourceObject @"{532B5F3CF8496E59}Prefabs/Vehicles/Wheeled/BRDM2/BRDM2_base.et" +05:22:20.742 WORLD : Entity prefab load @"{532B5F3CF8496E59}Prefabs/Vehicles/Wheeled/BRDM2/BRDM2_base.et" +05:22:20.742 WORLD (E): Unknown keyword/data 'Parent' at offset 35955(0x8c73) +05:22:20.742 WORLD (E): Unknown keyword/data 'Parent' at offset 36915(0x9033) +05:22:20.743 RESOURCES : GetResourceObject @"{BD75A18920BD1278}Prefabs/Vehicles/Wheeled/Conflict_Variants/BTR70_Conflict.et" +05:22:20.743 WORLD : Entity prefab load @"{BD75A18920BD1278}Prefabs/Vehicles/Wheeled/Conflict_Variants/BTR70_Conflict.et" +05:22:20.743 RESOURCES : GetResourceObject @"{C012BB3488BEA0C2}Prefabs/Vehicles/Wheeled/BTR70/BTR70.et" +05:22:20.743 WORLD : Entity prefab load @"{C012BB3488BEA0C2}Prefabs/Vehicles/Wheeled/BTR70/BTR70.et" +05:22:20.744 RESOURCES : GetResourceObject @"{1C5FE7B7FF49BB8D}Prefabs/Vehicles/Wheeled/BTR70/BTR70_Base.et" +05:22:20.744 WORLD : Entity prefab load @"{1C5FE7B7FF49BB8D}Prefabs/Vehicles/Wheeled/BTR70/BTR70_Base.et" +05:22:20.744 WORLD (E): Unknown keyword/data 'Parent' at offset 42646(0xa696) +05:22:20.744 WORLD (E): Unknown keyword/data 'Parent' at offset 43645(0xaa7d) +05:22:20.744 WORLD (E): Unknown keyword/data 'Parent' at offset 44617(0xae49) +05:22:20.744 WORLD (E): Unknown keyword/data 'Parent' at offset 45590(0xb216) +05:22:21.070 WORLD : WORLD : NotifyBeforeEntitiesInitialized +05:22:21.070 PROFILING : NotifyBeforeEntitiesInitialized took: 0.048200 ms +05:22:23.061 WORLD : InitEntities 'world' +05:22:23.061 ENTITY : Init entity @"ENTITY:2305843009213693953" ('Rereintroduced', ERR_GameMode) at <1076.468018 51.000999 1325.246948> @"{978E045E53EF36C8}Prefabs/ERR/GameMode.et" +05:22:23.061 SCRIPT (W): SCR_PerceivedFactionManagerComponent trying to set fall back faction 'CIV' but this faction could not be found so it is null instead. +05:22:23.086 WORLD : InitEntities 'world' +05:22:23.086 ENTITY : Init entity @"ENTITY:2305843009213693953" ('Rereintroduced', ERR_GameMode) at <1076.468018 51.000999 1325.246948> @"{978E045E53EF36C8}Prefabs/ERR/GameMode.et" +05:22:23.086 SCRIPT : ERR BASE SMOKE: core-only scripted escape; not manual or multiplayer acceptance +05:22:23.086 WORLD : WORLD : NotifyEntitiesInitialized +05:22:23.086 TERRAIN : TERRAIN : Initializing road networks... +05:22:23.089 PROFILING : Initializing road networks... took: 2.840000 ms +05:22:23.089 DEFAULT : DEFAULT : WorldVolumesCollection +05:22:23.151 PROFILING : WorldVolumesCollection took: 61.317800 ms +05:22:23.151 INIT : INIT : SoundWorldInit +05:22:23.165 PROFILING : SoundWorldInit took: 14.322700 ms +05:22:23.165 PROFILING : NotifyEntitiesInitialized took: 78.764300 ms +05:22:23.165 PROFILING : CreateEntities took: 12839.523000 ms +05:22:23.165 PROFILING : CreateEntities took: 12839.686500 ms +05:22:23.166 WORLD : WORLD : Wait for preloading data around camera +05:22:23.166 PROFILING : Wait for preloading data around camera took: 0.001100 ms +05:22:23.166 WORLD : WORLD : EOnActivate +05:22:23.200 PROFILING : EOnActivate took: 34.187300 ms +05:22:23.200 PROFILING : Game::LoadEntities took: 12875.911100 ms +05:22:23.492 DEFAULT : Entered offline game state. +05:22:23.595 NETWORK : Player connected: connectionID=2147483646 +05:22:23.595 NETWORK : ### Connecting player: connectionID=2147483646, Name= +05:22:23.596 NETWORK : ### Creating player: PlayerId=1, Name=jakub +05:22:23.602 ENTITY : SpawnEntityPrefab @"{225E51284CC95CFA}Prefabs/Characters/Core/DefaultPlayerControllerMP.et" +05:22:23.602 ENTITY : Create entity @"ENTITY:4611686018427388381" ('SCR_PlayerController') at <0.000000 0.000000 0.000000> +05:22:23.602 ENTITY : EntityPrefabUse @"{225E51284CC95CFA}Prefabs/Characters/Core/DefaultPlayerControllerMP.et" +05:22:23.602 SCRIPT (W): Notification data in 'SCR_NotificationsLogDisplay' has duplicate notification info key: 'EDITOR_PERCEIVED_FACTION_PUNISHMENT_KILLING_SET'. There should only be one of each key! +05:22:23.603 SCRIPT (W): Notification data in 'SCR_NotificationsLogDisplay' has duplicate notification info key: 'EDITOR_PERCEIVED_FACTION_TYPE_DISABLED'. There should only be one of each key! +05:22:23.604 SCRIPT (W): Can't open config file "" +05:22:23.611 WORLD : InitEntities 'world' +05:22:23.612 ENTITY : Init entity @"ENTITY:4611686018427388381" ('SCR_PlayerController') at <0.000000 0.000000 0.000000> @"{225E51284CC95CFA}Prefabs/Characters/Core/DefaultPlayerControllerMP.et" +05:22:23.612 GUI : WidgetManager: CrateWidgets @"{3C9DCDD76AB83157}UI/layouts/HUD/HUDLayouts/HUDManager_Root.layout" +05:22:23.612 SCRIPT (W): Slot_WeaponInfo Has no Content! +05:22:23.613 SCRIPT (W): Slot_Chat Has no Content! +05:22:23.613 SCRIPT (W): Slot_VON Has no Content! +05:22:23.613 SCRIPT (W): Slot_AvailableActions Has no Content! +05:22:23.613 SCRIPT (W): Slot_Vehicle Has no Content! +05:22:23.613 SCRIPT (W): Slot_GameVersion Has no Content! +05:22:23.614 SCRIPT (W): Slot_Notifications Has no Content! +05:22:23.614 SCRIPT (W): Slot_Hints Has no Content! +05:22:23.629 NETWORK : ### Updating player: PlayerId=1, Name=jakub, rplIdentity=0xFFFFFFFE, IdentityId=00000000-0000-0000-0000-000000000000 +05:22:23.630 SCRIPT (W): Ban Settings could not be loaded from BE Storage: Relying on default config +05:22:23.630 NETWORK : Players connecting: 0 +05:22:23.630 NETWORK : Players connected: 1 / 1 +05:22:23.660 DEFAULT : Using autosave directory: C:/users/steamuser/AppData/Local/Temp/Arma Reforger Workbench/Projects/ERR_Core/autosaves +05:22:23.662 PROFILING : Workbench startup took: 42917.561100 ms +05:22:23.687 WORLD : Frame start +05:22:23.688 SCRIPT : ScenarioFramework: Available tasks are empty, no new tasks will be generated. +05:22:23.701 WORLD : UpdateEntities +05:22:23.702 WORLD : Frame +05:22:23.702 SCRIPT : SCR_BaseGameMode::OnGameStateChanged = GAME +05:22:23.883 WORLD : UpdateEntities +05:22:23.883 WORLD : PostFrame +05:22:23.883 GUI : WidgetManager: CrateWidgets @"{D89BBA18F99053D6}UI/layouts/HUD/Chat/ChatHud.layout" +05:22:23.883 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +05:22:23.929 RESOURCES : GetResourceObject @"{20A6917D2114E29A}UI/layouts/HUD/Hint/HintInfoDisplay.layout" +05:22:23.929 GUI : Layout load @"{20A6917D2114E29A}UI/layouts/HUD/Hint/HintInfoDisplay.layout" +05:22:23.929 GUI : Widget prefab @"{EA1CC57D868E94F9}UI/layouts/HUD/Hint/Hint.layout" +05:22:23.929 GUI (W): Overridden prefab member (GUID: '{661AB14E0F471C66}' type: ButtonWidgetClass) no longer exists in prefab +05:22:24.078 RENDER : RENDER : ObjectsHeightMap::Build +05:22:24.079 RENDER : RENDER : MeshOccupancyGridManager::GenerateAllForWorld +05:22:24.247 PROFILING : MeshOccupancyGridManager::GenerateAllForWorld took: 168.146000 ms +05:22:24.254 PROFILING : ObjectsHeightMap::Build took: 175.356800 ms +05:22:25.414 SCRIPT : Rereintroduced [sites]: cache clearance position=<6086,211.538,7160> clear=1 +05:22:25.431 SCRIPT : Rereintroduced [sites]: authored everon-prison-1 at <6090,211.444,7160> +05:22:25.432 SCRIPT : Rereintroduced [sites]: cache clearance position=<6150,203.288,7050> clear=1 +05:22:25.458 SCRIPT : Rereintroduced [sites]: authored everon-supply-1 at <6150,203.288,7050> +05:22:25.460 SCRIPT : Rereintroduced [sites]: authored everon-radio-1 at <6500,159.756,7200> +05:22:25.509 SCRIPT : Rereintroduced [sites]: authored everon-extraction-1 at <7000,65.2562,7500> +05:22:25.509 SCRIPT : Rereintroduced [sites]: cache clearance position=<5960,220.256,7220> clear=1 +05:22:25.514 SCRIPT : Rereintroduced [sites]: transport parking=<5960,220.256,7212> radius=4 terrainRange=0.8125 obstructed=0 clear=1 +05:22:25.560 SCRIPT : Rereintroduced [sites]: authored everon-supply-2 at <5960,220.256,7220> +05:22:25.560 SCRIPT : Rereintroduced [sites]: cache clearance position=<6340,175.788,7400> clear=1 +05:22:25.562 SCRIPT : Rereintroduced [sites]: authored everon-medical-1 at <6340,175.788,7400> +05:22:25.562 SCRIPT : Rereintroduced [sites]: cache clearance position=<6740,140.6,7300> clear=1 +05:22:25.566 SCRIPT : Rereintroduced [sites]: cache clearance position=<6740,140.913,7296> clear=1 +05:22:25.567 SCRIPT : Rereintroduced [sites]: cache clearance position=<6736,140.975,7300> clear=1 +05:22:25.567 SCRIPT : Rereintroduced [sites]: cache clearance position=<6744,140.288,7300> clear=1 +05:22:25.568 SCRIPT : Rereintroduced [sites]: authored everon-outpost-1 at <6740,140.6,7300> +05:22:25.661 SCRIPT : Rereintroduced [sites]: 7 sites and 117 physical stock items ready +05:22:25.663 SCRIPT : Rereintroduced [time]: started at 14:00 with 1x progression +05:22:25.663 SCRIPT : Rereintroduced [mission]: phase 0 -> 1 +05:22:25.917 SCRIPT : INFO: Faction: player jakub (playerID = 1 | UUID = 00000000-0000-0000-0000-000000000000) has joined faction #AR-Faction_US (US) +05:22:25.996 SCRIPT : Rereintroduced [spawn]: player 1 at <6087,211.538,7157> +05:22:26.102 SCRIPT : ERR SMOKE PASS: objective UI current native task exists +05:22:26.106 SCRIPT : ERR SMOKE PASS: objective UI native list and detail layouts created +05:22:26.106 SCRIPT : ERR SMOKE PASS: objective UI native handlers attached +05:22:26.106 SCRIPT : ERR SMOKE PASS: objective UI open list and details contain current title and instructions +05:22:26.107 SCRIPT : ERR SMOKE PASS: objective UI list-only task cannot expose an undiscovered map position +05:22:26.107 SCRIPT : ERR SMOKE PASS: objective UI actual local player receives the active objective +05:22:26.107 SCRIPT : ERR SMOKE PASS: objective UI extraction instructions follow a nondefault boundary +05:22:26.107 SCRIPT : ERR SMOKE PASS: objective UI rebinding keeps one subscription to each native task event +05:22:26.108 SCRIPT : ERR SMOKE PASS: objective UI closing native widget uses production detach and releases its task +05:22:26.108 SCRIPT : ERR SMOKE PASS: objective UI closed native widget receives no task callbacks +05:22:27.114 SCRIPT : ERR SMOKE PASS: objective UI closed native widget has no delayed overflow callbacks +05:22:27.114 SCRIPT : ERR SMOKE PASS: objective UI current native task exists +05:22:27.117 SCRIPT : ERR SMOKE PASS: objective UI native list and detail layouts created +05:22:27.117 SCRIPT : ERR SMOKE PASS: objective UI native handlers attached +05:22:27.118 SCRIPT : ERR SMOKE PASS: objective UI open list and details contain current title and instructions +05:22:27.118 SCRIPT : ERR SMOKE PASS: objective UI list-only task cannot expose an undiscovered map position +05:22:27.118 SCRIPT : ERR SMOKE PASS: objective UI actual local player receives the active objective +05:22:27.118 SCRIPT : ERR SMOKE PASS: objective UI extraction instructions follow a nondefault boundary +05:22:27.118 SCRIPT : ERR SMOKE PASS: objective UI details reopen through native layout and current objective binding +05:22:27.118 SCRIPT : ERR SMOKE PASS: objective UI isolated deletion has a native task system, mission task and local executor +05:22:27.119 SCRIPT : ERR SMOKE PASS: objective UI deletion fixture owns a separate native task +05:22:27.120 SCRIPT : ERR SMOKE PASS: objective UI isolated task has an actual local assignee +05:22:27.122 SCRIPT : ERR SMOKE PASS: objective UI isolated native details layout created +05:22:27.122 SCRIPT : ERR SMOKE PASS: objective UI isolated native details handler attached +05:22:27.122 SCRIPT : ERR SMOKE PASS: objective UI native task deletion clears both task and bound-widget weak references +05:22:27.123 SCRIPT : ERR SMOKE PASS: objective UI deleted-task panel closes through production detach +05:22:27.123 SCRIPT : ERR SMOKE PASS: objective UI real mission objective survives isolated deletion and assignment is restored +05:22:27.618 SCRIPT (E): ERR SMOKE FAIL: objective UI deleted-task panel has no delayed callbacks after weak references clear diff --git a/docs/evidence/native-2026-09-19-052140-deleted-task-callback-failure/error.log.txt b/docs/evidence/native-2026-09-19-052140-deleted-task-callback-failure/error.log.txt new file mode 100644 index 0000000..0234642 --- /dev/null +++ b/docs/evidence/native-2026-09-19-052140-deleted-task-callback-failure/error.log.txt @@ -0,0 +1,124 @@ +--------------------------------------------- +Log Z:\tmp\erri-workbench-profile\logs\logs_2026-09-19_05-21-40\error.log started at 2026-09-19 05:21:42 (2026-09-19 03:21:42 UTC) + +05:21:42.493 INIT : Workbench startup +05:21:42.493 INIT : Workbench Init Engine +05:21:42.493 RESOURCES : ResourceDB: full scan +05:21:42.493 RESOURCES : processing files... +05:21:42.493 RESOURCES (W): resource not registered: @"$profile:rereintroduced.json". Setting null GUID +05:21:42.493 RESOURCES (W): resource not registered: @"$logs:launch-source-sha256.json". Setting null GUID +05:21:42.493 RESOURCES (W): resource not registered: @"$logs:launch-source.json". Setting null GUID +05:21:45.600 INIT : Workbench Create Game +05:21:45.600 SCRIPT : Compiling Game scripts +05:21:45.600 SCRIPT (W): @"Scripts/Game/Editor/Components/EditableEntity/SCR_EditableEntityComponent.c,785": 'GetPlayerPlatformKind' is obsolete +05:21:45.600 SCRIPT (W): @"Scripts/Game/Editor/Components/EditableEntity/SCR_EditableEntityComponent.c,786": 'GetPlayerPlatformId' is obsolete +05:21:45.868 SCRIPT (W): @"Scripts/Game/ERR/ERR_SiteService.c,140": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +05:21:45.877 SCRIPT (W): @"Scripts/Game/Workshop/SCR_AddonManager.c,876": 'GetRefCount' is obsolete: Will be removed +05:21:45.910 SCRIPT (W): @"Scripts/Game/Campaign/SCR_PlayerProfileManagerComponent.c,142": 'PlayerData' is obsolete +05:21:46.013 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,159": 'GetDSSession' is obsolete +05:21:46.013 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,162": 'RoomID' is obsolete +05:21:46.013 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,197": 'GetDSSession' is obsolete +05:21:46.013 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,201": 'RoomID' is obsolete +05:21:46.111 SCRIPT (W): @"Scripts/Game/DataCollection/SCR_DataCollectorComponent.c,481": 'GetStorage' is obsolete +05:21:46.111 SCRIPT (W): @"Scripts/Game/DataCollection/SCR_DataCollectorComponent.c,483": 'GetOnlineWritePrivilege' is obsolete +05:21:46.112 SCRIPT (W): @"Scripts/Game/Utilities/SCR_PlayerIdentityUtils.c,20": 'GetPlayerIdentityId' is obsolete +05:21:46.156 SCRIPT (W): @"Scripts/Game/ERR/ERR_ExtractionService.c,45": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +05:21:46.156 SCRIPT (W): @"Scripts/Game/ERR/ERR_ExtractionService.c,56": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +05:21:46.157 SCRIPT (W): @"Scripts/Game/UI/Menu/MainMenuUI.c,643": 'GetNotifyCount' is obsolete: Will be substitued by Notification Api. +05:21:46.157 SCRIPT (W): @"Scripts/Game/UI/Menu/MainMenuUI.c,645": 'GetNotifyItem' is obsolete: Will be substitued by Notification Api. +05:21:46.183 SCRIPT (W): @"Scripts/Game/ERR/ERR_NativeTransportProbe.c,82": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +05:21:46.218 SCRIPT (W): @"Scripts/Game/DataCollection/PlayerData/SCR_PlayerData.c,210": 'PlayerData' is obsolete +05:21:54.875 WORLD : CreateEntities +05:21:54.875 ENTITY : Create entity @"ENTITY:610406" ('StaticModelEntity','Assets/Structures/Infrastructure/Towers/TransmitterTower_01/TransmitterTower_01_small.xob') at <1931.796021 81.777000 5138.725098> @"{6A004A8F0571D456}Prefabs/Structures/Infrastructure/Towers/TransmitterTower_01/TransmitterTower_01_small.et" +05:21:54.875 ENTITY : CreateComponent 'ScriptedRadioComponent' +05:21:54.876 DEFAULT (W): World doesn't contain RadioManagerEntity to support any BaseRadioComponent. +05:22:10.082 DEFAULT (W): LogiLED: Cannot initialize! (service not running or no compatible device detected) +05:22:14.809 WORLD : Game::LoadEntities +05:22:14.809 WORLD : CreateEntities +05:22:14.809 WORLD : CreateEntities +05:22:14.809 ENTITY : Create entity @"ENTITY:610406" ('StaticModelEntity','Assets/Structures/Infrastructure/Towers/TransmitterTower_01/TransmitterTower_01_small.xob') at <1931.796021 81.777000 5138.725098> @"{6A004A8F0571D456}Prefabs/Structures/Infrastructure/Towers/TransmitterTower_01/TransmitterTower_01_small.et" +05:22:14.809 ENTITY : CreateComponent 'ScriptedRadioComponent' +05:22:14.809 DEFAULT (W): World doesn't contain RadioManagerEntity to support any BaseRadioComponent. +05:22:16.189 ENTITY : Create entity @"ENTITY:842066" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1080.213013 10.776751 6018.347168> +05:22:16.189 ENTITY : CreateComponent 'Hierarchy' +05:22:16.189 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842066" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1080.213013 10.776751 6018.347168>') +05:22:16.189 ENTITY : Create entity @"ENTITY:842068" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1082.185913 10.778749 6018.331055> +05:22:16.189 ENTITY : CreateComponent 'Hierarchy' +05:22:16.189 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842068" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1082.185913 10.778749 6018.331055>') +05:22:16.189 ENTITY : Create entity @"ENTITY:842070" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1084.190918 10.790751 6018.334961> +05:22:16.189 ENTITY : CreateComponent 'Hierarchy' +05:22:16.189 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842070" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1084.190918 10.790751 6018.334961>') +05:22:16.194 ENTITY : Create entity @"ENTITY:842333" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4425.594727 9.981750 11029.402344> +05:22:16.194 ENTITY : CreateComponent 'Hierarchy' +05:22:16.194 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842333" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4425.594727 9.981750 11029.402344>') +05:22:16.194 ENTITY : Create entity @"ENTITY:842335" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4426.584473 9.983749 11031.109375> +05:22:16.194 ENTITY : CreateComponent 'Hierarchy' +05:22:16.194 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842335" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4426.584473 9.983749 11031.109375>') +05:22:16.194 ENTITY : Create entity @"ENTITY:842337" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4427.572266 9.995750 11032.853516> +05:22:16.194 ENTITY : CreateComponent 'Hierarchy' +05:22:16.194 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842337" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4427.572266 9.995750 11032.853516>') +05:22:16.199 ENTITY : Create entity @"ENTITY:842591" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.946289 10.470250 1551.986084> +05:22:16.199 ENTITY : CreateComponent 'Hierarchy' +05:22:16.199 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842591" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.946289 10.470250 1551.986084>') +05:22:16.199 ENTITY : Create entity @"ENTITY:842593" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.430664 10.472250 1550.081421> +05:22:16.199 ENTITY : CreateComponent 'Hierarchy' +05:22:16.199 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842593" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.430664 10.472250 1550.081421>') +05:22:16.199 ENTITY : Create entity @"ENTITY:842595" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10008.926758 10.484250 1548.140869> +05:22:16.199 ENTITY : CreateComponent 'Hierarchy' +05:22:16.199 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842595" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10008.926758 10.484250 1548.140869>') +05:22:20.705 ENTITY : Create entity @"ENTITY:2305843009213693956" ('Factions', SCR_FactionManager) at <0.000000 0.000000 0.000000> @"{589540B35EBA8CDC}Prefabs/MP/Managers/Factions/FactionManager_USxUSSR.et" +05:22:20.705 RESOURCES : GetResourceObject @"{5168FEA3054D6D15}Prefabs/Vehicles/Wheeled/M151A2/M151A2_M2HB_MERDC.et" +05:22:20.705 WORLD : Entity prefab load @"{5168FEA3054D6D15}Prefabs/Vehicles/Wheeled/M151A2/M151A2_M2HB_MERDC.et" +05:22:20.705 RESOURCES : GetResourceObject @"{F6B23D17D5067C11}Prefabs/Vehicles/Wheeled/M151A2/M151A2_M2HB.et" +05:22:20.705 WORLD : Entity prefab load @"{F6B23D17D5067C11}Prefabs/Vehicles/Wheeled/M151A2/M151A2_M2HB.et" +05:22:20.705 RESOURCES : GetResourceObject @"{F649585ABB3706C4}Prefabs/Vehicles/Wheeled/M151A2/M151A2.et" +05:22:20.705 WORLD : Entity prefab load @"{F649585ABB3706C4}Prefabs/Vehicles/Wheeled/M151A2/M151A2.et" +05:22:20.705 WORLD (E): Unknown keyword/data 'SlidingTrackMaterial' at offset 19441(0x4bf1) +05:22:20.742 RESOURCES : GetResourceObject @"{F7B9B434FCFF00B3}Prefabs/Vehicles/Wheeled/Conflict_Variants/BRDM2_Conflict.et" +05:22:20.742 WORLD : Entity prefab load @"{F7B9B434FCFF00B3}Prefabs/Vehicles/Wheeled/Conflict_Variants/BRDM2_Conflict.et" +05:22:20.742 RESOURCES : GetResourceObject @"{254289B9C09904AB}Prefabs/Vehicles/Wheeled/BRDM2/BRDM2.et" +05:22:20.742 WORLD : Entity prefab load @"{254289B9C09904AB}Prefabs/Vehicles/Wheeled/BRDM2/BRDM2.et" +05:22:20.742 RESOURCES : GetResourceObject @"{532B5F3CF8496E59}Prefabs/Vehicles/Wheeled/BRDM2/BRDM2_base.et" +05:22:20.742 WORLD : Entity prefab load @"{532B5F3CF8496E59}Prefabs/Vehicles/Wheeled/BRDM2/BRDM2_base.et" +05:22:20.742 WORLD (E): Unknown keyword/data 'Parent' at offset 35955(0x8c73) +05:22:20.742 WORLD (E): Unknown keyword/data 'Parent' at offset 36915(0x9033) +05:22:20.743 RESOURCES : GetResourceObject @"{BD75A18920BD1278}Prefabs/Vehicles/Wheeled/Conflict_Variants/BTR70_Conflict.et" +05:22:20.743 WORLD : Entity prefab load @"{BD75A18920BD1278}Prefabs/Vehicles/Wheeled/Conflict_Variants/BTR70_Conflict.et" +05:22:20.743 RESOURCES : GetResourceObject @"{C012BB3488BEA0C2}Prefabs/Vehicles/Wheeled/BTR70/BTR70.et" +05:22:20.743 WORLD : Entity prefab load @"{C012BB3488BEA0C2}Prefabs/Vehicles/Wheeled/BTR70/BTR70.et" +05:22:20.744 RESOURCES : GetResourceObject @"{1C5FE7B7FF49BB8D}Prefabs/Vehicles/Wheeled/BTR70/BTR70_Base.et" +05:22:20.744 WORLD : Entity prefab load @"{1C5FE7B7FF49BB8D}Prefabs/Vehicles/Wheeled/BTR70/BTR70_Base.et" +05:22:20.744 WORLD (E): Unknown keyword/data 'Parent' at offset 42646(0xa696) +05:22:20.744 WORLD (E): Unknown keyword/data 'Parent' at offset 43645(0xaa7d) +05:22:20.744 WORLD (E): Unknown keyword/data 'Parent' at offset 44617(0xae49) +05:22:20.744 WORLD (E): Unknown keyword/data 'Parent' at offset 45590(0xb216) +05:22:23.061 WORLD : InitEntities 'world' +05:22:23.061 ENTITY : Init entity @"ENTITY:2305843009213693953" ('Rereintroduced', ERR_GameMode) at <1076.468018 51.000999 1325.246948> @"{978E045E53EF36C8}Prefabs/ERR/GameMode.et" +05:22:23.061 SCRIPT (W): SCR_PerceivedFactionManagerComponent trying to set fall back faction 'CIV' but this faction could not be found so it is null instead. +05:22:23.602 ENTITY : SpawnEntityPrefab @"{225E51284CC95CFA}Prefabs/Characters/Core/DefaultPlayerControllerMP.et" +05:22:23.602 ENTITY : Create entity @"ENTITY:4611686018427388381" ('SCR_PlayerController') at <0.000000 0.000000 0.000000> +05:22:23.602 ENTITY : EntityPrefabUse @"{225E51284CC95CFA}Prefabs/Characters/Core/DefaultPlayerControllerMP.et" +05:22:23.602 SCRIPT (W): Notification data in 'SCR_NotificationsLogDisplay' has duplicate notification info key: 'EDITOR_PERCEIVED_FACTION_PUNISHMENT_KILLING_SET'. There should only be one of each key! +05:22:23.603 SCRIPT (W): Notification data in 'SCR_NotificationsLogDisplay' has duplicate notification info key: 'EDITOR_PERCEIVED_FACTION_TYPE_DISABLED'. There should only be one of each key! +05:22:23.604 SCRIPT (W): Can't open config file "" +05:22:23.611 WORLD : InitEntities 'world' +05:22:23.612 ENTITY : Init entity @"ENTITY:4611686018427388381" ('SCR_PlayerController') at <0.000000 0.000000 0.000000> @"{225E51284CC95CFA}Prefabs/Characters/Core/DefaultPlayerControllerMP.et" +05:22:23.612 GUI : WidgetManager: CrateWidgets @"{3C9DCDD76AB83157}UI/layouts/HUD/HUDLayouts/HUDManager_Root.layout" +05:22:23.612 SCRIPT (W): Slot_WeaponInfo Has no Content! +05:22:23.613 SCRIPT (W): Slot_Chat Has no Content! +05:22:23.613 SCRIPT (W): Slot_VON Has no Content! +05:22:23.613 SCRIPT (W): Slot_AvailableActions Has no Content! +05:22:23.613 SCRIPT (W): Slot_Vehicle Has no Content! +05:22:23.613 SCRIPT (W): Slot_GameVersion Has no Content! +05:22:23.614 SCRIPT (W): Slot_Notifications Has no Content! +05:22:23.614 SCRIPT (W): Slot_Hints Has no Content! +05:22:23.630 SCRIPT (W): Ban Settings could not be loaded from BE Storage: Relying on default config +05:22:23.883 WORLD : UpdateEntities +05:22:23.883 WORLD : PostFrame +05:22:23.883 GUI : WidgetManager: CrateWidgets @"{D89BBA18F99053D6}UI/layouts/HUD/Chat/ChatHud.layout" +05:22:23.883 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +05:22:23.929 RESOURCES : GetResourceObject @"{20A6917D2114E29A}UI/layouts/HUD/Hint/HintInfoDisplay.layout" +05:22:23.929 GUI : Layout load @"{20A6917D2114E29A}UI/layouts/HUD/Hint/HintInfoDisplay.layout" +05:22:23.929 GUI : Widget prefab @"{EA1CC57D868E94F9}UI/layouts/HUD/Hint/Hint.layout" +05:22:23.929 GUI (W): Overridden prefab member (GUID: '{661AB14E0F471C66}' type: ButtonWidgetClass) no longer exists in prefab +05:22:27.618 SCRIPT (E): ERR SMOKE FAIL: objective UI deleted-task panel has no delayed callbacks after weak references clear diff --git a/docs/evidence/native-2026-09-19-052140-deleted-task-callback-failure/headless-launch.log.txt b/docs/evidence/native-2026-09-19-052140-deleted-task-callback-failure/headless-launch.log.txt new file mode 100644 index 0000000..9e02e28 --- /dev/null +++ b/docs/evidence/native-2026-09-19-052140-deleted-task-callback-failure/headless-launch.log.txt @@ -0,0 +1,150 @@ +[gamescope] [Info] console: gamescope version 3.16.28 (gcc 16.2.1) +No CAP_SYS_NICE, falling back to regular-priority compute and threads. +Performance will be affected. +[gamescope] [Info] scriptmgr: Loading scripts from: '/usr/share/gamescope/scripts' +[gamescope] [Info] scriptmgr: Loading scripts from: '/usr/share/gamescope/scripts/00-gamescope' +[gamescope] [Info] scriptmgr: Loading scripts from: '/usr/share/gamescope/scripts/00-gamescope/common' +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/common/inspect.lua' (id: 0) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/common/modegen.lua' (id: 1) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/common/util.lua' (id: 2) +[gamescope] [Info] scriptmgr: Loading scripts from: '/usr/share/gamescope/scripts/00-gamescope/displays' +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/asus.rogally.lcd.lua' (id: 3) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/deckhd.steamdeck.deckhd-lcd.lua' (id: 4) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/gpd.win4.lcd.lua' (id: 5) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/lenovo.legiongo.lcd.lua' (id: 6) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/lenovo.legiongos.lcd.lua' (id: 7) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/onexplayer.f1.oled.lua' (id: 8) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/valve.steamdeck.lcd.lua' (id: 9) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/valve.steamdeck.oled.lua' (id: 10) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/zotac.zone.oled.lua' (id: 11) +[gamescope] [Info] scriptmgr: Loading scripts from: '/etc/gamescope/scripts' +[gamescope] [Warn] scriptmgr: Directory '/etc/gamescope/scripts' does not exist +[gamescope] [Info] scriptmgr: Loading scripts from: '/home/jakub/.config/gamescope/scripts' +[gamescope] [Warn] scriptmgr: Directory '/home/jakub/.config/gamescope/scripts' does not exist +[gamescope] [Info] vulkan: selecting physical device 'AMD Radeon RX 6950 XT (RADV NAVI21)': queue family 1 (general queue family 0) +[gamescope] [Info] vulkan: physical device supports DRM format modifiers +[gamescope] [Info] wlserver: [backend/headless/backend.c:60] Creating headless backend +[gamescope] [Info] vulkan: supported DRM formats for sampling usage: +[gamescope] [Info] vulkan: AR24 (0x34325241) +[gamescope] [Info] vulkan: XR24 (0x34325258) +[gamescope] [Info] vulkan: AB24 (0x34324241) +[gamescope] [Info] vulkan: XB24 (0x34324258) +[gamescope] [Info] vulkan: RG16 (0x36314752) +[gamescope] [Info] vulkan: NV12 (0x3231564E) +[gamescope] [Info] vulkan: AB4H (0x48344241) +[gamescope] [Info] vulkan: XB4H (0x48344258) +[gamescope] [Info] vulkan: AB48 (0x38344241) +[gamescope] [Info] vulkan: XB48 (0x38344258) +[gamescope] [Info] vulkan: AB30 (0x30334241) +[gamescope] [Info] vulkan: XB30 (0x30334258) +[gamescope] [Info] vulkan: AR30 (0x30335241) +[gamescope] [Info] vulkan: XR30 (0x30335258) +[gamescope] [Info] wlserver: Using explicit sync when available +[gamescope] [Info] wlserver: Running compositor on wayland display 'gamescope-0' +[gamescope] [Info] wlserver: [backend/headless/backend.c:17] Starting headless backend +[gamescope] [Info] wlserver: Successfully initialized libei for input emulation! +[gamescope] [Error] wlserver: [xwayland/sockets.c:47] Failed to bind socket @/tmp/.X11-unix/X0: Address already in use +[gamescope] [Info] wlserver: [xwayland/server.c:108] Starting Xwayland on :2 +The XKEYBOARD keymap compiler (xkbcomp) reports: +> Warning: Multiple symbols for level 1/group 1 on key +> Using F23, ignoring XF86TouchpadOff +> Warning: Symbol map for key redefined +> Using last definition for conflicting fields +> Warning: Symbol map for key redefined +> Using last definition for conflicting fields +> Warning: Could not resolve keysym XF86ElectronicPrivacyScreenOn +> Warning: Could not resolve keysym XF86ElectronicPrivacyScreenOff +> Warning: Could not resolve keysym XF86ActionOnSelection +> Warning: Could not resolve keysym XF86ContextualInsert +> Warning: Could not resolve keysym XF86ContextualQuery +Errors from xkbcomp are not fatal to the X server +[gamescope] [Info] pipewire: stream state changed: connecting +[gamescope] [Info] pipewire: stream state changed: paused +[gamescope] [Info] pipewire: stream available on node ID: 173 +[gamescope] [Info] vblank: Using timerfd. +fsync: up and running. +[Gamescope WSI] No application info given. +[Gamescope WSI] Executable name: explorer.exe +ATTENTION: default value of option vk_wsi_force_swapchain_to_current_extent overridden by environment. +[Gamescope WSI] Application info: + pApplicationName: xalia.exe + applicationVersion: 0 + pEngineName: DXVK + engineVersion: 12587008 + apiVersion: 4206592 +[Gamescope WSI] Executable name: xalia.exe +ATTENTION: default value of option vk_wsi_force_swapchain_to_current_extent overridden by environment. +[Gamescope WSI] No application info given. +[Gamescope WSI] Application info: + pApplicationName: ArmaReforgerWorkbenchSteamDiag.exe + applicationVersion: 1 + pEngineName: DXVK + engineVersion: 12587008 + apiVersion: 4206592 +[Gamescope WSI] Executable name: ArmaReforgerWorkbenchSteamDiag.exe +ATTENTION: default value of option vk_wsi_force_swapchain_to_current_extent overridden by environment. +[Gamescope WSI] No application info given. +The XKEYBOARD keymap compiler (xkbcomp) reports: +> Warning: Unsupported maximum keycode 709, clipping. +> X11 cannot support keycodes above 255. +> Warning: Virtual modifier Hyper multiply defined +> Using 0, ignoring 0 +> Warning: Virtual modifier ScrollLock multiply defined +> Using 0, ignoring 0 +Errors from xkbcomp are not fatal to the X server +ATTENTION: default value of option vk_wsi_force_swapchain_to_current_extent overridden by environment. +[Gamescope WSI] Application info: + pApplicationName: ArmaReforgerWorkbenchSteamDiag.exe + applicationVersion: 0 + pEngineName: DXVK + engineVersion: 12587008 + apiVersion: 4206592 +ATTENTION: default value of option vk_wsi_force_swapchain_to_current_extent overridden by environment. +[Gamescope WSI] Application info: + pApplicationName: ArmaReforgerWorkbenchSteamDiag.exe + applicationVersion: 0 + pEngineName: vkd3d + engineVersion: 12587008 + apiVersion: 4206592 +[Gamescope WSI] Forcing on VK_EXT_swapchain_maintenance1. +ATTENTION: default value of option vk_wsi_force_swapchain_to_current_extent overridden by environment. +[Gamescope WSI] No application info given. +ATTENTION: default value of option vk_wsi_force_swapchain_to_current_extent overridden by environment. +[Gamescope WSI] Application info: + pApplicationName: ArmaReforgerWorkbenchSteamDiag.exe + applicationVersion: 0 + pEngineName: vkd3d + engineVersion: 12587008 + apiVersion: 4206592 +[Gamescope WSI] Forcing on VK_EXT_swapchain_maintenance1. +[Gamescope WSI] Creating Gamescope surface: xid: 0x1a001a4 +[Gamescope WSI] Atom of T was wrong type. Expected XCB_ATOM_CARDINAL. +[Gamescope WSI] Made gamescope surface for xid: 0x1a001a4 +[Gamescope WSI] Surface state: + steam app id: 1874910 + window xid: 0x1a001a4 + wayland surface res id: 5 + layer client flags: 0x4 + server hdr output enabled: false + hdr formats exposed to client: false +[Gamescope WSI] Creating Gamescope surface: xid: 0x1a003a4 +[Gamescope WSI] Atom of T was wrong type. Expected XCB_ATOM_CARDINAL. +[Gamescope WSI] Made gamescope surface for xid: 0x1a003a4 +[Gamescope WSI] Surface state: + steam app id: 1874910 + window xid: 0x1a003a4 + wayland surface res id: 10 + layer client flags: 0x4 + server hdr output enabled: false + hdr formats exposed to client: false +[Gamescope WSI] Creating swapchain for xid: 0x1a003a4 - oldSwapchain: (nil) - provided minImageCount: 3 - minImageCount: 3 - format: VK_FORMAT_B8G8R8A8_UNORM - colorspace: VK_COLOR_SPACE_SRGB_NONLINEAR_KHR - flip: false +[Gamescope WSI] Created swapchain for xid: 0x1a003a4 swapchain: 0x55556890a2a0 - imageCount: 4 +[Gamescope WSI] Destroying swapchain: 0x55556890a2a0 +[Gamescope WSI] Destroyed swapchain: 0x55556890a2a0 +[Gamescope WSI] Creating swapchain for xid: 0x1a003a4 - oldSwapchain: (nil) - provided minImageCount: 3 - minImageCount: 3 - format: VK_FORMAT_B8G8R8A8_UNORM - colorspace: VK_COLOR_SPACE_SRGB_NONLINEAR_KHR - flip: false +[Gamescope WSI] Created swapchain for xid: 0x1a003a4 swapchain: 0x55556890a2a0 - imageCount: 4 +[Gamescope WSI] Destroying swapchain: 0x55556890a2a0 +[Gamescope WSI] Destroyed swapchain: 0x55556890a2a0 +[Gamescope WSI] Creating swapchain for xid: 0x1a003a4 - oldSwapchain: (nil) - provided minImageCount: 3 - minImageCount: 3 - format: VK_FORMAT_B8G8R8A8_UNORM - colorspace: VK_COLOR_SPACE_SRGB_NONLINEAR_KHR - flip: false +[Gamescope WSI] Created swapchain for xid: 0x1a003a4 swapchain: 0x555568896870 - imageCount: 4 +[gamescope] [Info] launch: Primary child shut down! diff --git a/docs/evidence/native-2026-09-19-052140-deleted-task-callback-failure/launch-source-sha256.json b/docs/evidence/native-2026-09-19-052140-deleted-task-callback-failure/launch-source-sha256.json new file mode 100644 index 0000000..1a5ef01 --- /dev/null +++ b/docs/evidence/native-2026-09-19-052140-deleted-task-callback-failure/launch-source-sha256.json @@ -0,0 +1,118 @@ +{ + "addons/ai/Prefabs/ERR/MortarCrew.et": "05d3e7353ff9fe5523218a1487b31b7b742b0be8adbcb060c7099978cf008bce", + "addons/ai/Prefabs/ERR/MortarCrew.et.meta": "fdfd4fcd21a67c3d698fa4aadc4e5c76e665cebf4be86013bc389e493fab63cc", + "addons/ai/Scripts/Game/ERR/ERR_HQ.c": "ceafd6740ed277748744ce56ac0f0bb3a8521fcc060dafb2cdb99896aedf405a", + "addons/ai/Scripts/Game/ERR/ERR_HQJournal.c": "b3e402cfe92d415f37f666045afb062e6e11670ba03a0ca6f2d9fd4fc3520ac1", + "addons/ai/Scripts/Game/ERR/ERR_HQNetwork.c": "92ff2caca52e94c2cc9642dfc8509ce6e9349b257012bade8650bace9231128c", + "addons/ai/Scripts/Game/ERR/ERR_HQObservation.c": "36c978ec5f052213ac1236e1398d85063efbfd7ef60fe04f1fc11447fefe1d68", + "addons/ai/Scripts/Game/ERR/ERR_HQReport.c": "c4d16ccb571db4d9444c0a8d2be7318845d25ff90238b6d304e96a9ea19f1a08", + "addons/ai/Scripts/Game/ERR/ERR_HelicopterAvailability.c": "60eaef2f6d4b2fd44861c5a4434ef97e732e40a5ff7401e2da451ed2dd9c2762", + "addons/ai/Scripts/Game/ERR/ERR_MortarBattery.c": "66b8f16b692a0f75fc9d920f5224d9292a0f1dc7dd8b2dde912e676fa80ddc9c", + "addons/ai/Scripts/Game/ERR/ERR_MortarFiring.c": "657e96d1112b68c8ced37793e99f88e6078b38a579190e63d00b1f9a9a032e26", + "addons/ai/Scripts/Game/ERR/ERR_MortarPrediction.c": "470dd196ed64800c697d24c09d1344bacd2502587fac76af4ee0edae2563092d", + "addons/ai/Scripts/Game/ERR/ERR_MortarSalvo.c": "697c01f479df6c505a41d984a29c02002e3052114dafa2ec6252ae55e2979a2b", + "addons/ai/Scripts/Game/ERR/ERR_MortarSystem.c": "12d8fc39d47e03c3838e0642aa9e4a80baf60f250357493bff812d5c75812c86", + "addons/ai/Scripts/Game/ERR/ERR_SettlementSafety.c": "e5c0ebc95521a9a33a3f7d9cca6c551dda862a08b7af20b017877aba9584795b", + "addons/ai/Scripts/Game/ERR/ERR_SupportScenario.c": "71757018ec9716c4dc24f62a292a214919d3fd5daed3c16e03e56abd208e9f03", + "addons/ai/addon.gproj": "5f559db8f526700db11e6ae763f5245f19b7006fc68c56e4c09fb6f940bdf2a1", + "addons/chat/Missions/ERR_Everon.conf": "76f3ac0d21b585654beac7ddd68e3c8cbdd66dbfe909b17b04838fa813a7c29b", + "addons/chat/Missions/ERR_Everon.conf.meta": "0a23c98bf83873536c65fa17d38dea33a1d7b9e4ab210f90633ff688abcc551f", + "addons/chat/Scripts/Game/ERR/ERR_AdminCommands.c": "7ea6d6b240524cf0193c86fcab861fbdef9adca780acff11ee73f9ed0e99ce7b", + "addons/chat/Scripts/Game/ERR/ERR_NativeMortarProbe.c": "ddb892141500c192c0787b011d57dd8c07dd8c9a3ca5fdc407f6c271897bde0a", + "addons/chat/Scripts/Game/ERR/ERR_NativeRadioProbe.c": "84524163c63402755b4f834f74dfe6d8e5c397dc26031f532593c6f79f5a93b1", + "addons/chat/Scripts/Game/ERR/ERR_NativeSmoke.c": "0ab2fed95dcaa0442cf7feb25743308060d58497e347f17dbd25c8e970a9f81f", + "addons/chat/Scripts/WorkbenchGame/ERR/ERR_ValidateWorldPlugin.c": "81c92d408ce88cc9f98d6053f1d0c863427693ba748f00df9f1bf8079015ef94", + "addons/chat/addon.gproj": "ea1587e0174cf795334d306c71d99b06797fc891427cd57b6cab6e21cf0e4e0e", + "addons/core/Configs/ERR/EveronSites.conf": "2edb2c6983eb627800b65d9e244b9b228e0b82282e089c7b12e5a8921a2ea7bf", + "addons/core/Configs/ERR/EveronSites.conf.meta": "d5fe68025ef4e7c1e16082cf5873b7c7172eacbfaef4ab29b7e0e3c98f8dca56", + "addons/core/Configs/ERR/GameOverScreens.conf": "45231061911a1462d45fb6db0fecc2b0793f17b5ae71017174954ff4fbd20236", + "addons/core/Configs/ERR/GameOverScreens.conf.meta": "eb654b745c0b97b41c991694569ef4877a3c2315e0826f9556337cd68690843e", + "addons/core/Configs/ERR/VanillaFactions.conf": "f8b8b9898a16b4a4a55ab3c12d2547bef2dc433732c7643df980cb3aca715212", + "addons/core/Configs/ERR/VanillaFactions.conf.meta": "ac77725c0c21974991ef47a466b88122e939de8b46fd23e68889e7674cbb2bfd", + "addons/core/Missions/ERR_Everon_Base.conf": "1e6a0e9a756d15495201f71121626890f01efe6b00154c561672d4ec157960bd", + "addons/core/Missions/ERR_Everon_Base.conf.meta": "9b16267c644d815bcf98a3a3aaff30b93d7224fb24d3a2bac66730a28011f317", + "addons/core/Prefabs/ERR/Extraction.et": "1aa286ef253c5410f09fa641e4be91a7be8ec834487a7fbb74cfb45cab60ee1e", + "addons/core/Prefabs/ERR/Extraction.et.meta": "c2a838633001e2e3a202d39cb33aa744ebcd996017ad032359069641b5d13853", + "addons/core/Prefabs/ERR/FieldCover.et": "20f8095e69dbfe3db74ff19078e528ea75405362b335e03560ccd61f8df2e7f3", + "addons/core/Prefabs/ERR/FieldCover.et.meta": "83461ffa76244e1d69f20b053a9741ccdf7d127009182bd540a7e5ba6150c3d9", + "addons/core/Prefabs/ERR/GameMode.et": "385c97a5b8067091d92aa60c2d4fcf02002cf606b95523866ead65c96b8c0029", + "addons/core/Prefabs/ERR/GameMode.et.meta": "106769cd34525c9d440057072836cb7401a6752148c40edd7fe61c03bd58328c", + "addons/core/Prefabs/ERR/ObjectiveDocument.et": "2e72270bf186654af12d2c3ff9bf940690b03fb17fca44f873c1fde5d11384c0", + "addons/core/Prefabs/ERR/ObjectiveDocument.et.meta": "eaba9903be147b98a1106e2273e2270773df73b9b22f2cd4e20136a8e281382e", + "addons/core/Prefabs/ERR/Patrol.et": "c5685a8bc311cc5563fb3334beec9408d3d7a1069152fddeeb7df4f1b7f9e6ce", + "addons/core/Prefabs/ERR/Patrol.et.meta": "7c5da568fa2fcf0709ee2959253cb068d7c7ed7c2467af3b247a7e70efd96b69", + "addons/core/Prefabs/ERR/Prison.et": "1503db1441d8cd7a4f0b45c27ba9623b9fa39f0f81016e180bd2aa1379e1f42a", + "addons/core/Prefabs/ERR/Prison.et.meta": "2e426ef3de68f4107907854b51e818bc11d84649a01c538e3f18dd9ebec766bb", + "addons/core/Prefabs/ERR/PrisonDoor.et": "fc66be9d36f1f01084de59f1b0a1e8817f9e46547ead33d4fafaac0107446c40", + "addons/core/Prefabs/ERR/PrisonDoor.et.meta": "b8f3db52bf186426026668fbb9d633c3cbd4d438ab301fba880398f6a0e781c2", + "addons/core/Prefabs/ERR/PrisonWall.et": "8009d19365ae72a4749d7ad4fa04662575b06c65c6bf06507d380d57258b5eed", + "addons/core/Prefabs/ERR/PrisonWall.et.meta": "0294bc5dbb56f90f8153d62459bb0a6ad91d76a479812bbec9c7db182fdb58d6", + "addons/core/Prefabs/ERR/Radio.et": "b4b5cfe125b39019855816c9a1c508ca4d65d435b5546fdaa6c1fa3c8c9b1165", + "addons/core/Prefabs/ERR/Radio.et.meta": "bc91137b68ba550217914fb8892bb44d7e1920e4a1086f3e506623832a44212f", + "addons/core/Prefabs/ERR/SpectatorCamera.et": "b5b87d5b7b707f3745741aebe7c923067c8a74f8fbb2a4711834bab03bb5a812", + "addons/core/Prefabs/ERR/SpectatorCamera.et.meta": "2a16558f93915e31908a674509e9c89976470f78a84a1174a64b94b68b8f77ad", + "addons/core/Prefabs/ERR/SupplyCache.et": "bccf7afbaae97cfcdd78dd6dbbf4be5b2c045d348f50fe4581962e556c0044d7", + "addons/core/Prefabs/ERR/SupplyCache.et.meta": "2f5de3a4aab1e9d0e35521f48dc57b95bd6e449c383dec4f1c258e10295904cb", + "addons/core/Prefabs/ERR/SupplySite.et": "dc5decce5cabf39b6116e8794ec3960cb1e35761854fdbe69740da118787ded4", + "addons/core/Prefabs/ERR/SupplySite.et.meta": "b41944b12eb3528ff7a3ac94258b18c66ef161aa6a38894aee300a1ac4798630", + "addons/core/Scripts/Game/ERR/ERR_Actions.c": "adf93245e6d78c59b9839599d157a0d2b2b93ea93b3d1ae52e2904dd6c288266", + "addons/core/Scripts/Game/ERR/ERR_Actors.c": "b3c5aabb05f7cf35167bc09b5db51a4ffd89a46658805d6eedbfb80eee30273d", + "addons/core/Scripts/Game/ERR/ERR_AdminService.c": "047c14ce60cc0b167e202438f8f2b1063590e69ef88ea55b54598aea5f99c505", + "addons/core/Scripts/Game/ERR/ERR_DiscoveryMap.c": "2f4ea342fea0530061456be9cdce002d5e7a282e4e27eb88f3860e79f93612bf", + "addons/core/Scripts/Game/ERR/ERR_DiscoveryService.c": "6b5679447fe4a6d7d54c0545881ab56284f871556b3159207d421247f419eada", + "addons/core/Scripts/Game/ERR/ERR_DocumentComponent.c": "17bb76b80ebd3357e46d553c44674f602c7bd6901c92aec53ac8214194aa4ff2", + "addons/core/Scripts/Game/ERR/ERR_EscapeGameOverScreenInfo.c": "b1e1afb7795cb77c0bad94c85abf705b26b9dc2a9400905d80eafd56bdd009d3", + "addons/core/Scripts/Game/ERR/ERR_ExtractionService.c": "91357099b4e0401196b67d48963be54be30e56bdba57cdac67dc20b8ebb883e9", + "addons/core/Scripts/Game/ERR/ERR_FactionCatalog.c": "a5a8c53acf21259e14f59cb919535910f30dabff5a9179c664bc6a7a4d744d6e", + "addons/core/Scripts/Game/ERR/ERR_GameMode.c": "d766d1639378070bea64eef38baa4667f8b9f5f1a2a7b170f0fc5e8fd557917d", + "addons/core/Scripts/Game/ERR/ERR_Location.c": "d2035f56ded35743312ec6ca91a67f8623a466c91255e1893c570edf0954ff24", + "addons/core/Scripts/Game/ERR/ERR_MissionRules.c": "f7abc38ad8fdc375ce7fa63a65f0bade027d22b37e09de5e3f94ba8c3c63cc41", + "addons/core/Scripts/Game/ERR/ERR_NativeBaseSmoke.c": "e1790bca83feb52dc1093eced0624fc5bf0b3050b831a0fb8b3731759e84710f", + "addons/core/Scripts/Game/ERR/ERR_NativeContractsProbe.c": "d1556df885171cf967e96eef5d8981a2e9ee4e3938b7d32fdd0426f647bbabc0", + "addons/core/Scripts/Game/ERR/ERR_NativeDefinitionProbe.c": "d05ef8368ef5afa68e29f45843cb1878b5a09be768f8abdff2f4115c23759b01", + "addons/core/Scripts/Game/ERR/ERR_NativeExtractionProbe.c": "4b09385f73206de004f4f3c38a6192fd658a0d2012482dc5a84dff1599ceb972", + "addons/core/Scripts/Game/ERR/ERR_NativeLifecycleProbe.c": "89620ec1cc94e260ef72460b32c3291ffcc84cfe51afa907954b10229a711b2b", + "addons/core/Scripts/Game/ERR/ERR_NativeObjectiveProbe.c": "949e642c5e1b92bfbfc7f5b416b699dd5e67eceba298a25764332b1bb65635a8", + "addons/core/Scripts/Game/ERR/ERR_NativeRadioDefenceProbe.c": "cad54f0b43cefd72df74697dfc7e93725ff0acac6d311e963ce4f817428c272c", + "addons/core/Scripts/Game/ERR/ERR_NativeResultProbe.c": "b9a117eef2d5f65fbd792041a2b3e59e38e201bda8e0df8c503e1a1242cfc415", + "addons/core/Scripts/Game/ERR/ERR_NativeSiteSurvey.c": "ac0203753ade0cdff6d483132797a80e4520f14546c3f9dea288281cd4cd9c4f", + "addons/core/Scripts/Game/ERR/ERR_NativeStationTeardownDiagnostic.c": "c01cbdbfe25fd38916fa74f2c02333baaacd5228686fd6e40b33c27b3cea8ed8", + "addons/core/Scripts/Game/ERR/ERR_NativeTimeProbe.c": "c93d049785971e51246fcc07cf24804270a752a655505f2c38e48c80df5255ae", + "addons/core/Scripts/Game/ERR/ERR_NativeTransportProbe.c": "63ec0c5ce698114daa6314b2a6e3c3e98e76094117c477f9d0d072260686d193", + "addons/core/Scripts/Game/ERR/ERR_NativeTransportSurvey.c": "3e94493bf54d15be2bceb106ad18873e14e6755af09c05f07db7fb26fb7adff5", + "addons/core/Scripts/Game/ERR/ERR_ObjectiveDetails.c": "eff9935b8b7790eaedf1e46d7f67d172d7962183ea264cde75bbc1681a489dea", + "addons/core/Scripts/Game/ERR/ERR_ObjectiveText.c": "bbb29949194637e6781316836c895e2c0fa7ccdb547d4d944a717da2ad73b0a2", + "addons/core/Scripts/Game/ERR/ERR_Objectives.c": "88d95a52fcba103483ea751571e1afeae0e6fc82115ed50d6fc195424726960f", + "addons/core/Scripts/Game/ERR/ERR_Observer.c": "b719e723369ab4f403950c85226e1336eb48e3c127e84530ac1c695eb86bd0f9", + "addons/core/Scripts/Game/ERR/ERR_PlayerAdminCommands.c": "a084d7dc097dfcde3d6cd9c2e326b9e2f8f2a519f77b30c4f56ab7a1429aa721", + "addons/core/Scripts/Game/ERR/ERR_PlayerEscapeResult.c": "3124ab4d2d6d471409a47aba0af528790734df53243c03fe0cdac3e407047c14", + "addons/core/Scripts/Game/ERR/ERR_PlayerGuide.c": "2c9c365b88651f8b12618443638bf52c04e497221592bd483c33447e30468f36", + "addons/core/Scripts/Game/ERR/ERR_PlayerRoster.c": "a737ba739b3f73a91cd05d808a1d45070e83b5152c003c3164e29842dda51995", + "addons/core/Scripts/Game/ERR/ERR_RadioDefenceService.c": "85eb9c1b65d5987799927b6d8786b7299fcff849bcb15b91f8a4d1aa95823fd1", + "addons/core/Scripts/Game/ERR/ERR_Resources.c": "8a5314944f75b23982c6b99697045e3c0538aa2137b2c947a5b2411e6076ac03", + "addons/core/Scripts/Game/ERR/ERR_ScenarioComponent.c": "abba03af68323d5715ba1e2497fc66f3c706e6a6a983c3a386228abdfddeec89", + "addons/core/Scripts/Game/ERR/ERR_Settings.c": "2aee784e44c732e09f59150896491ab325ef5e62aa6bad725be1fda955a3f614", + "addons/core/Scripts/Game/ERR/ERR_SiteDefinition.c": "75b5121ceab77f0956f0dc34bd077b11af5586350de52321800427f18cc94477", + "addons/core/Scripts/Game/ERR/ERR_SiteService.c": "7ba02712562b3c8cd8de9851b6f26fed85020faacceef0767408b300b935c110", + "addons/core/Scripts/Game/ERR/ERR_SpawnFinalization.c": "2e295b0f225208c5414728ba83333e5e0ab6eef3a708ce39eb1dfce5400c94c9", + "addons/core/Scripts/Game/ERR/ERR_SpawnLogic.c": "64c2cef62d8a435eea396f057255b269d457935bf5d261221700739bf37240b8", + "addons/core/Scripts/Game/ERR/ERR_SpawnPlacement.c": "284db0d4a5ecd38f9c658c91ce943f4c0c30dcf4d31bb3edeea92e4ab0b1436a", + "addons/core/Scripts/Game/ERR/ERR_Supplies.c": "752e8a56b0b8cde33cf532032cb0a203553017b686faac2e19bee06f7a9c0713", + "addons/core/Scripts/Game/ERR/ERR_TimeService.c": "d9f481b7da01e08d2c982a948c18ba6bde76889d7cc9d26d510708f4ba479453", + "addons/core/Scripts/WorkbenchGame/ERR/ERR_ValidateBaseWorldPlugin.c": "7f44aa64ea7b4f8b3640a37a4b781c43bf6adb80e4a3a702d9491131698056f6", + "addons/core/Worlds/ERR_Everon.ent": "22324bc7eb0d80dec8a1f3bd61a9df9201b72f749f4e751766b0c9d0b7d46b87", + "addons/core/Worlds/ERR_Everon.ent.meta": "19d1903ca72baa326b4724a6791d0da1104a1e53f3f31dc1ca41a856efd68e83", + "addons/core/Worlds/ERR_Everon_Layers/default.layer": "f1a058bd315c7d01d464715ac9f4e18ae3d2432551d094a9afbd4c9c5a2a9416", + "addons/core/addon.gproj": "231274e6b62302f32c65f9ff31de2ce8a9e51e1c8d12c87deeec82ae1f40de46", + "addons/intel/Scripts/Game/ERR/ERR_IntelService.c": "482839434b94e7f8c345d5fd96490aeebb765f3dd0c1bb25fceea2f435c0e722", + "addons/intel/addon.gproj": "d0ced242cefb220a5cccd6779d61fda9bc55581701b9f78bcf13c09d92ddbcbe", + "addons/map/Materials/ERRM_MapRenderTarget.emat": "9877c5b175c5f30dd80bea36c711b21ab38219aa7075adf9ae79932e1d4c76bc", + "addons/map/Materials/ERRM_MapRenderTarget.emat.meta": "5ee1a705f8011a44020ca2691f5ccc17d44bf596fef9a36e98d1f267eb58fab0", + "addons/map/Prefabs/Items/Equipment/ERRM_SharedFieldMap.et": "30dee8e9eab459ea32a7d835a9fb89d43df47708057cab829f067b25a24cd581", + "addons/map/Prefabs/Items/Equipment/ERRM_SharedFieldMap.et.meta": "59093e9072c50d99c86da7609c87541016da5bcf92b98d99db4c524e1c8e0e8d", + "addons/map/Scripts/Game/ERR/ERR_ScenarioMap.c": "75fa1d742129ef7f33c005cd48f56db7f49ee7bde3c5428532b0b501b032b0a3", + "addons/map/Scripts/Game/ERRMap/ERRM_SharedMapComponent.c": "fc1a0c7df4fc96da446d7542a45a10fbec1eda1e543ba2f0581cb772277a47c5", + "addons/map/UI/layouts/ERRMap/SharedMapRenderTarget.layout": "49a2da4181b94d42174f58c7f9b6bf2207116c99427d61ff1c212092ac7db4d2", + "addons/map/UI/layouts/ERRMap/SharedMapRenderTarget.layout.meta": "5c846445cc089e2e08899ba703059d4adb805ff30ab5a16409a3cd59718cbd54", + "addons/map/addon.gproj": "1b371e5e01ea9fa46e76570fecb8aaa3a9298e34cba7ccca8a6bdb5ca86eb46a" +} diff --git a/docs/evidence/native-2026-09-19-052140-deleted-task-callback-failure/launch-source.json b/docs/evidence/native-2026-09-19-052140-deleted-task-callback-failure/launch-source.json new file mode 100644 index 0000000..b482b74 --- /dev/null +++ b/docs/evidence/native-2026-09-19-052140-deleted-task-callback-failure/launch-source.json @@ -0,0 +1,44 @@ +{ + "schema_version": 1, + "launch_id": "79e7488d-e41b-4d5b-a4ef-1b03f4388f56", + "captured_unix": 1789788099.1223853, + "source_root": "/home/jakub/devel/escapistsrereintroduced", + "command": [ + "gamescope", + "--backend", + "headless", + "-W", + "1280", + "-H", + "720", + "-w", + "1280", + "-h", + "720", + "-r", + "30", + "--", + "/home/jakub/.local/share/Steam/steamapps/common/Proton - Experimental/proton", + "run", + "/home/jakub/.local/share/Steam/steamapps/common/Arma Reforger Tools/Workbench/ArmaReforgerWorkbenchSteamDiag.exe", + "-gproj", + "Z:/home/jakub/devel/escapistsrereintroduced/addons/core/addon.gproj", + "-addonsDir", + "Z:/home/jakub/devel/escapistsrereintroduced/addons", + "-profile", + "Z:/tmp/erri-workbench-profile", + "-logconsole", + "-wbModule=WorldEditor", + "-load", + "Worlds/ERR_Everon.ent", + "-plugin=ERR_ValidateBaseWorldPlugin", + "-errPlay", + "1", + "-errBaseSmoke", + "1", + "-errSmokeOutcome", + "objective-ui", + "-noThrow" + ], + "manifest_sha256": "50d2f43c55d806d96d4db669b2ddf1afb9dec35dbcdd86e250a1ca9ad91a32e7" +} diff --git a/docs/evidence/native-2026-09-19-052140-deleted-task-callback-failure/report.json b/docs/evidence/native-2026-09-19-052140-deleted-task-callback-failure/report.json new file mode 100644 index 0000000..6b97a80 --- /dev/null +++ b/docs/evidence/native-2026-09-19-052140-deleted-task-callback-failure/report.json @@ -0,0 +1,20 @@ +{ + "log": "docs/evidence/native-2026-09-19-052140-deleted-task-callback-failure/console.log.txt", + "smoke_completions": 0, + "assertions_passed": 27, + "script_or_runtime_failures": [ + "05:22:27.618 SCRIPT (E): ERR SMOKE FAIL: objective UI deleted-task panel has no delayed callbacks after weak references clear" + ], + "engine_errors": [ + "05:22:20.705 WORLD (E): Unknown keyword/data 'SlidingTrackMaterial' at offset 19441(0x4bf1)", + "05:22:20.742 WORLD (E): Unknown keyword/data 'Parent' at offset 35955(0x8c73)", + "05:22:20.742 WORLD (E): Unknown keyword/data 'Parent' at offset 36915(0x9033)", + "05:22:20.744 WORLD (E): Unknown keyword/data 'Parent' at offset 42646(0xa696)", + "05:22:20.744 WORLD (E): Unknown keyword/data 'Parent' at offset 43645(0xaa7d)", + "05:22:20.744 WORLD (E): Unknown keyword/data 'Parent' at offset 44617(0xae49)", + "05:22:20.744 WORLD (E): Unknown keyword/data 'Parent' at offset 45590(0xb216)", + "05:22:27.618 SCRIPT (E): ERR SMOKE FAIL: objective UI deleted-task panel has no delayed callbacks after weak references clear" + ], + "missing_end_screen": [], + "scope": "scripted local Workbench integration only; no multiplayer, piloting or FPS claim" +} diff --git a/docs/evidence/native-2026-09-19-052140-deleted-task-callback-failure/runner.json.txt b/docs/evidence/native-2026-09-19-052140-deleted-task-callback-failure/runner.json.txt new file mode 100644 index 0000000..02787a1 --- /dev/null +++ b/docs/evidence/native-2026-09-19-052140-deleted-task-callback-failure/runner.json.txt @@ -0,0 +1,19 @@ +{ + "stopped_unix": 1789788148.2766495, + "console_sha256": "12b7371fbf43fcbbdcccdd22316050065adae5bf4396774e4f48464cd314a43f", + "end_source_sha256": "50d2f43c55d806d96d4db669b2ddf1afb9dec35dbcdd86e250a1ca9ad91a32e7", + "source_unchanged_after_run": true, + "source_provenance": "launch_snapshot", + "launch_id": "79e7488d-e41b-4d5b-a4ef-1b03f4388f56", + "launch_source_manifest": "launch-source-sha256.json", + "launch_source_metadata": "launch-source.json", + "launch_source_sha256": "50d2f43c55d806d96d4db669b2ddf1afb9dec35dbcdd86e250a1ca9ad91a32e7", + "started_unix": 1789788099.1224456, + "result": "test-failed", + "session": "/tmp/erri-workbench-profile/logs/logs_2026-09-19_05-21-40", + "rounds_required": 1, + "project": "core", + "display": "headless Gamescope 1280x720/30Hz", + "dedicated_server": false, + "audio": "silent sink and per-test-stream mute" +} diff --git a/docs/evidence/native-2026-09-19-052140-deleted-task-callback-failure/script.log.txt b/docs/evidence/native-2026-09-19-052140-deleted-task-callback-failure/script.log.txt new file mode 100644 index 0000000..a2c51b7 --- /dev/null +++ b/docs/evidence/native-2026-09-19-052140-deleted-task-callback-failure/script.log.txt @@ -0,0 +1,101 @@ +--------------------------------------------- +Log Z:\tmp\erri-workbench-profile\logs\logs_2026-09-19_05-21-40\script.log started at 2026-09-19 05:21:43 (2026-09-19 03:21:43 UTC) + +05:21:43.515 SCRIPT : SCRIPT : Initializing scripts +05:21:43.516 SCRIPT : SCRIPT : ScriptProjectManager init +05:21:44.458 SCRIPT : SCRIPT : Compiling GameLib scripts +05:21:44.513 SCRIPT : Module: Workbench; loaded 18x files; 36x classes; used 125K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE"; CRC32: 90ce0460 +05:21:44.514 SCRIPT : Module: GameLib; loaded 465x files; 648x classes; used 828K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE"; CRC32: 4507af04 +05:21:44.515 SCRIPT : SCRIPT : Compiling Game scripts +05:21:45.600 SCRIPT : Compiling Game scripts +05:21:45.600 SCRIPT (W): @"Scripts/Game/Editor/Components/EditableEntity/SCR_EditableEntityComponent.c,785": 'GetPlayerPlatformKind' is obsolete +05:21:45.600 SCRIPT (W): @"Scripts/Game/Editor/Components/EditableEntity/SCR_EditableEntityComponent.c,786": 'GetPlayerPlatformId' is obsolete +05:21:45.868 SCRIPT (W): @"Scripts/Game/ERR/ERR_SiteService.c,140": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +05:21:45.877 SCRIPT (W): @"Scripts/Game/Workshop/SCR_AddonManager.c,876": 'GetRefCount' is obsolete: Will be removed +05:21:45.910 SCRIPT (W): @"Scripts/Game/Campaign/SCR_PlayerProfileManagerComponent.c,142": 'PlayerData' is obsolete +05:21:46.013 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,159": 'GetDSSession' is obsolete +05:21:46.013 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,162": 'RoomID' is obsolete +05:21:46.013 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,197": 'GetDSSession' is obsolete +05:21:46.013 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,201": 'RoomID' is obsolete +05:21:46.111 SCRIPT (W): @"Scripts/Game/DataCollection/SCR_DataCollectorComponent.c,481": 'GetStorage' is obsolete +05:21:46.111 SCRIPT (W): @"Scripts/Game/DataCollection/SCR_DataCollectorComponent.c,483": 'GetOnlineWritePrivilege' is obsolete +05:21:46.112 SCRIPT (W): @"Scripts/Game/Utilities/SCR_PlayerIdentityUtils.c,20": 'GetPlayerIdentityId' is obsolete +05:21:46.156 SCRIPT (W): @"Scripts/Game/ERR/ERR_ExtractionService.c,45": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +05:21:46.156 SCRIPT (W): @"Scripts/Game/ERR/ERR_ExtractionService.c,56": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +05:21:46.157 SCRIPT (W): @"Scripts/Game/UI/Menu/MainMenuUI.c,643": 'GetNotifyCount' is obsolete: Will be substitued by Notification Api. +05:21:46.157 SCRIPT (W): @"Scripts/Game/UI/Menu/MainMenuUI.c,645": 'GetNotifyItem' is obsolete: Will be substitued by Notification Api. +05:21:46.183 SCRIPT (W): @"Scripts/Game/ERR/ERR_NativeTransportProbe.c,82": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +05:21:46.218 SCRIPT (W): @"Scripts/Game/DataCollection/PlayerData/SCR_PlayerData.c,210": 'PlayerData' is obsolete +05:21:46.504 SCRIPT : Module: WorkbenchGame; loaded 171x files; 616x classes; used 2478K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE"; CRC32: db6febb9 +05:21:46.512 SCRIPT : Module: Game; loaded 5704x files; 11180x classes; used 32544K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE,ENABLE_BASE_DESTRUCTION,BUDGET_OPTIMIZATION_CHECKS,SHOW_DISCLAIMER,DEBUG,RESPAWN_TIMER_COMPONENT_DEBUG,GAME_MODE_DEBUG,DEBUG_CONFIGURABLE_DIALOGS,DISABLE_WEAPON_SWITCHING,SCRIPTED_AIM_MODIFIER_DEBUG"; CRC32: 8eb08cf6 +05:21:47.484 SCRIPT : Unable to register a script command due keyword duplicity: ban +05:21:47.484 SCRIPT : Unable to register a script command due keyword duplicity: kick +05:22:06.825 SCRIPT : ERR SITE SURVEY: supply=6150/7050 elevationRange=0.625 min=202.875 max=203.5 +05:22:10.079 SCRIPT : Unable to register a script command due keyword duplicity: ban +05:22:10.079 SCRIPT : Unable to register a script command due keyword duplicity: kick +05:22:23.061 SCRIPT (W): SCR_PerceivedFactionManagerComponent trying to set fall back faction 'CIV' but this faction could not be found so it is null instead. +05:22:23.086 SCRIPT : ERR BASE SMOKE: core-only scripted escape; not manual or multiplayer acceptance +05:22:23.602 SCRIPT (W): Notification data in 'SCR_NotificationsLogDisplay' has duplicate notification info key: 'EDITOR_PERCEIVED_FACTION_PUNISHMENT_KILLING_SET'. There should only be one of each key! +05:22:23.603 SCRIPT (W): Notification data in 'SCR_NotificationsLogDisplay' has duplicate notification info key: 'EDITOR_PERCEIVED_FACTION_TYPE_DISABLED'. There should only be one of each key! +05:22:23.605 SCRIPT (W): Can't open config file "" +05:22:23.612 SCRIPT (W): Slot_WeaponInfo Has no Content! +05:22:23.613 SCRIPT (W): Slot_Chat Has no Content! +05:22:23.613 SCRIPT (W): Slot_VON Has no Content! +05:22:23.613 SCRIPT (W): Slot_AvailableActions Has no Content! +05:22:23.613 SCRIPT (W): Slot_Vehicle Has no Content! +05:22:23.613 SCRIPT (W): Slot_GameVersion Has no Content! +05:22:23.614 SCRIPT (W): Slot_Notifications Has no Content! +05:22:23.614 SCRIPT (W): Slot_Hints Has no Content! +05:22:23.630 SCRIPT (W): Ban Settings could not be loaded from BE Storage: Relying on default config +05:22:23.688 SCRIPT : ScenarioFramework: Available tasks are empty, no new tasks will be generated. +05:22:23.702 SCRIPT : SCR_BaseGameMode::OnGameStateChanged = GAME +05:22:23.883 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +05:22:25.414 SCRIPT : Rereintroduced [sites]: cache clearance position=<6086,211.538,7160> clear=1 +05:22:25.431 SCRIPT : Rereintroduced [sites]: authored everon-prison-1 at <6090,211.444,7160> +05:22:25.432 SCRIPT : Rereintroduced [sites]: cache clearance position=<6150,203.288,7050> clear=1 +05:22:25.458 SCRIPT : Rereintroduced [sites]: authored everon-supply-1 at <6150,203.288,7050> +05:22:25.460 SCRIPT : Rereintroduced [sites]: authored everon-radio-1 at <6500,159.756,7200> +05:22:25.509 SCRIPT : Rereintroduced [sites]: authored everon-extraction-1 at <7000,65.2562,7500> +05:22:25.509 SCRIPT : Rereintroduced [sites]: cache clearance position=<5960,220.256,7220> clear=1 +05:22:25.514 SCRIPT : Rereintroduced [sites]: transport parking=<5960,220.256,7212> radius=4 terrainRange=0.8125 obstructed=0 clear=1 +05:22:25.560 SCRIPT : Rereintroduced [sites]: authored everon-supply-2 at <5960,220.256,7220> +05:22:25.560 SCRIPT : Rereintroduced [sites]: cache clearance position=<6340,175.788,7400> clear=1 +05:22:25.562 SCRIPT : Rereintroduced [sites]: authored everon-medical-1 at <6340,175.788,7400> +05:22:25.563 SCRIPT : Rereintroduced [sites]: cache clearance position=<6740,140.6,7300> clear=1 +05:22:25.566 SCRIPT : Rereintroduced [sites]: cache clearance position=<6740,140.913,7296> clear=1 +05:22:25.567 SCRIPT : Rereintroduced [sites]: cache clearance position=<6736,140.975,7300> clear=1 +05:22:25.567 SCRIPT : Rereintroduced [sites]: cache clearance position=<6744,140.288,7300> clear=1 +05:22:25.568 SCRIPT : Rereintroduced [sites]: authored everon-outpost-1 at <6740,140.6,7300> +05:22:25.661 SCRIPT : Rereintroduced [sites]: 7 sites and 117 physical stock items ready +05:22:25.663 SCRIPT : Rereintroduced [time]: started at 14:00 with 1x progression +05:22:25.663 SCRIPT : Rereintroduced [mission]: phase 0 -> 1 +05:22:25.917 SCRIPT : INFO: Faction: player jakub (playerID = 1 | UUID = 00000000-0000-0000-0000-000000000000) has joined faction #AR-Faction_US (US) +05:22:25.996 SCRIPT : Rereintroduced [spawn]: player 1 at <6087,211.538,7157> +05:22:26.103 SCRIPT : ERR SMOKE PASS: objective UI current native task exists +05:22:26.106 SCRIPT : ERR SMOKE PASS: objective UI native list and detail layouts created +05:22:26.106 SCRIPT : ERR SMOKE PASS: objective UI native handlers attached +05:22:26.106 SCRIPT : ERR SMOKE PASS: objective UI open list and details contain current title and instructions +05:22:26.107 SCRIPT : ERR SMOKE PASS: objective UI list-only task cannot expose an undiscovered map position +05:22:26.107 SCRIPT : ERR SMOKE PASS: objective UI actual local player receives the active objective +05:22:26.107 SCRIPT : ERR SMOKE PASS: objective UI extraction instructions follow a nondefault boundary +05:22:26.107 SCRIPT : ERR SMOKE PASS: objective UI rebinding keeps one subscription to each native task event +05:22:26.108 SCRIPT : ERR SMOKE PASS: objective UI closing native widget uses production detach and releases its task +05:22:26.108 SCRIPT : ERR SMOKE PASS: objective UI closed native widget receives no task callbacks +05:22:27.114 SCRIPT : ERR SMOKE PASS: objective UI closed native widget has no delayed overflow callbacks +05:22:27.114 SCRIPT : ERR SMOKE PASS: objective UI current native task exists +05:22:27.117 SCRIPT : ERR SMOKE PASS: objective UI native list and detail layouts created +05:22:27.117 SCRIPT : ERR SMOKE PASS: objective UI native handlers attached +05:22:27.118 SCRIPT : ERR SMOKE PASS: objective UI open list and details contain current title and instructions +05:22:27.118 SCRIPT : ERR SMOKE PASS: objective UI list-only task cannot expose an undiscovered map position +05:22:27.118 SCRIPT : ERR SMOKE PASS: objective UI actual local player receives the active objective +05:22:27.118 SCRIPT : ERR SMOKE PASS: objective UI extraction instructions follow a nondefault boundary +05:22:27.118 SCRIPT : ERR SMOKE PASS: objective UI details reopen through native layout and current objective binding +05:22:27.118 SCRIPT : ERR SMOKE PASS: objective UI isolated deletion has a native task system, mission task and local executor +05:22:27.119 SCRIPT : ERR SMOKE PASS: objective UI deletion fixture owns a separate native task +05:22:27.120 SCRIPT : ERR SMOKE PASS: objective UI isolated task has an actual local assignee +05:22:27.122 SCRIPT : ERR SMOKE PASS: objective UI isolated native details layout created +05:22:27.122 SCRIPT : ERR SMOKE PASS: objective UI isolated native details handler attached +05:22:27.122 SCRIPT : ERR SMOKE PASS: objective UI native task deletion clears both task and bound-widget weak references +05:22:27.123 SCRIPT : ERR SMOKE PASS: objective UI deleted-task panel closes through production detach +05:22:27.123 SCRIPT : ERR SMOKE PASS: objective UI real mission objective survives isolated deletion and assignment is restored +05:22:27.618 SCRIPT (E): ERR SMOKE FAIL: objective UI deleted-task panel has no delayed callbacks after weak references clear diff --git a/docs/evidence/native-2026-09-19-052140-deleted-task-callback-failure/source-provenance.json b/docs/evidence/native-2026-09-19-052140-deleted-task-callback-failure/source-provenance.json new file mode 100644 index 0000000..5fa4cc7 --- /dev/null +++ b/docs/evidence/native-2026-09-19-052140-deleted-task-callback-failure/source-provenance.json @@ -0,0 +1,4 @@ +{ + "schema_version": 1, + "kind": "launch_snapshot" +} diff --git a/docs/evidence/native-2026-09-19-052140-deleted-task-callback-failure/source-sha256.json b/docs/evidence/native-2026-09-19-052140-deleted-task-callback-failure/source-sha256.json new file mode 100644 index 0000000..1a5ef01 --- /dev/null +++ b/docs/evidence/native-2026-09-19-052140-deleted-task-callback-failure/source-sha256.json @@ -0,0 +1,118 @@ +{ + "addons/ai/Prefabs/ERR/MortarCrew.et": "05d3e7353ff9fe5523218a1487b31b7b742b0be8adbcb060c7099978cf008bce", + "addons/ai/Prefabs/ERR/MortarCrew.et.meta": "fdfd4fcd21a67c3d698fa4aadc4e5c76e665cebf4be86013bc389e493fab63cc", + "addons/ai/Scripts/Game/ERR/ERR_HQ.c": "ceafd6740ed277748744ce56ac0f0bb3a8521fcc060dafb2cdb99896aedf405a", + "addons/ai/Scripts/Game/ERR/ERR_HQJournal.c": "b3e402cfe92d415f37f666045afb062e6e11670ba03a0ca6f2d9fd4fc3520ac1", + "addons/ai/Scripts/Game/ERR/ERR_HQNetwork.c": "92ff2caca52e94c2cc9642dfc8509ce6e9349b257012bade8650bace9231128c", + "addons/ai/Scripts/Game/ERR/ERR_HQObservation.c": "36c978ec5f052213ac1236e1398d85063efbfd7ef60fe04f1fc11447fefe1d68", + "addons/ai/Scripts/Game/ERR/ERR_HQReport.c": "c4d16ccb571db4d9444c0a8d2be7318845d25ff90238b6d304e96a9ea19f1a08", + "addons/ai/Scripts/Game/ERR/ERR_HelicopterAvailability.c": "60eaef2f6d4b2fd44861c5a4434ef97e732e40a5ff7401e2da451ed2dd9c2762", + "addons/ai/Scripts/Game/ERR/ERR_MortarBattery.c": "66b8f16b692a0f75fc9d920f5224d9292a0f1dc7dd8b2dde912e676fa80ddc9c", + "addons/ai/Scripts/Game/ERR/ERR_MortarFiring.c": "657e96d1112b68c8ced37793e99f88e6078b38a579190e63d00b1f9a9a032e26", + "addons/ai/Scripts/Game/ERR/ERR_MortarPrediction.c": "470dd196ed64800c697d24c09d1344bacd2502587fac76af4ee0edae2563092d", + "addons/ai/Scripts/Game/ERR/ERR_MortarSalvo.c": "697c01f479df6c505a41d984a29c02002e3052114dafa2ec6252ae55e2979a2b", + "addons/ai/Scripts/Game/ERR/ERR_MortarSystem.c": "12d8fc39d47e03c3838e0642aa9e4a80baf60f250357493bff812d5c75812c86", + "addons/ai/Scripts/Game/ERR/ERR_SettlementSafety.c": "e5c0ebc95521a9a33a3f7d9cca6c551dda862a08b7af20b017877aba9584795b", + "addons/ai/Scripts/Game/ERR/ERR_SupportScenario.c": "71757018ec9716c4dc24f62a292a214919d3fd5daed3c16e03e56abd208e9f03", + "addons/ai/addon.gproj": "5f559db8f526700db11e6ae763f5245f19b7006fc68c56e4c09fb6f940bdf2a1", + "addons/chat/Missions/ERR_Everon.conf": "76f3ac0d21b585654beac7ddd68e3c8cbdd66dbfe909b17b04838fa813a7c29b", + "addons/chat/Missions/ERR_Everon.conf.meta": "0a23c98bf83873536c65fa17d38dea33a1d7b9e4ab210f90633ff688abcc551f", + "addons/chat/Scripts/Game/ERR/ERR_AdminCommands.c": "7ea6d6b240524cf0193c86fcab861fbdef9adca780acff11ee73f9ed0e99ce7b", + "addons/chat/Scripts/Game/ERR/ERR_NativeMortarProbe.c": "ddb892141500c192c0787b011d57dd8c07dd8c9a3ca5fdc407f6c271897bde0a", + "addons/chat/Scripts/Game/ERR/ERR_NativeRadioProbe.c": "84524163c63402755b4f834f74dfe6d8e5c397dc26031f532593c6f79f5a93b1", + "addons/chat/Scripts/Game/ERR/ERR_NativeSmoke.c": "0ab2fed95dcaa0442cf7feb25743308060d58497e347f17dbd25c8e970a9f81f", + "addons/chat/Scripts/WorkbenchGame/ERR/ERR_ValidateWorldPlugin.c": "81c92d408ce88cc9f98d6053f1d0c863427693ba748f00df9f1bf8079015ef94", + "addons/chat/addon.gproj": "ea1587e0174cf795334d306c71d99b06797fc891427cd57b6cab6e21cf0e4e0e", + "addons/core/Configs/ERR/EveronSites.conf": "2edb2c6983eb627800b65d9e244b9b228e0b82282e089c7b12e5a8921a2ea7bf", + "addons/core/Configs/ERR/EveronSites.conf.meta": "d5fe68025ef4e7c1e16082cf5873b7c7172eacbfaef4ab29b7e0e3c98f8dca56", + "addons/core/Configs/ERR/GameOverScreens.conf": "45231061911a1462d45fb6db0fecc2b0793f17b5ae71017174954ff4fbd20236", + "addons/core/Configs/ERR/GameOverScreens.conf.meta": "eb654b745c0b97b41c991694569ef4877a3c2315e0826f9556337cd68690843e", + "addons/core/Configs/ERR/VanillaFactions.conf": "f8b8b9898a16b4a4a55ab3c12d2547bef2dc433732c7643df980cb3aca715212", + "addons/core/Configs/ERR/VanillaFactions.conf.meta": "ac77725c0c21974991ef47a466b88122e939de8b46fd23e68889e7674cbb2bfd", + "addons/core/Missions/ERR_Everon_Base.conf": "1e6a0e9a756d15495201f71121626890f01efe6b00154c561672d4ec157960bd", + "addons/core/Missions/ERR_Everon_Base.conf.meta": "9b16267c644d815bcf98a3a3aaff30b93d7224fb24d3a2bac66730a28011f317", + "addons/core/Prefabs/ERR/Extraction.et": "1aa286ef253c5410f09fa641e4be91a7be8ec834487a7fbb74cfb45cab60ee1e", + "addons/core/Prefabs/ERR/Extraction.et.meta": "c2a838633001e2e3a202d39cb33aa744ebcd996017ad032359069641b5d13853", + "addons/core/Prefabs/ERR/FieldCover.et": "20f8095e69dbfe3db74ff19078e528ea75405362b335e03560ccd61f8df2e7f3", + "addons/core/Prefabs/ERR/FieldCover.et.meta": "83461ffa76244e1d69f20b053a9741ccdf7d127009182bd540a7e5ba6150c3d9", + "addons/core/Prefabs/ERR/GameMode.et": "385c97a5b8067091d92aa60c2d4fcf02002cf606b95523866ead65c96b8c0029", + "addons/core/Prefabs/ERR/GameMode.et.meta": "106769cd34525c9d440057072836cb7401a6752148c40edd7fe61c03bd58328c", + "addons/core/Prefabs/ERR/ObjectiveDocument.et": "2e72270bf186654af12d2c3ff9bf940690b03fb17fca44f873c1fde5d11384c0", + "addons/core/Prefabs/ERR/ObjectiveDocument.et.meta": "eaba9903be147b98a1106e2273e2270773df73b9b22f2cd4e20136a8e281382e", + "addons/core/Prefabs/ERR/Patrol.et": "c5685a8bc311cc5563fb3334beec9408d3d7a1069152fddeeb7df4f1b7f9e6ce", + "addons/core/Prefabs/ERR/Patrol.et.meta": "7c5da568fa2fcf0709ee2959253cb068d7c7ed7c2467af3b247a7e70efd96b69", + "addons/core/Prefabs/ERR/Prison.et": "1503db1441d8cd7a4f0b45c27ba9623b9fa39f0f81016e180bd2aa1379e1f42a", + "addons/core/Prefabs/ERR/Prison.et.meta": "2e426ef3de68f4107907854b51e818bc11d84649a01c538e3f18dd9ebec766bb", + "addons/core/Prefabs/ERR/PrisonDoor.et": "fc66be9d36f1f01084de59f1b0a1e8817f9e46547ead33d4fafaac0107446c40", + "addons/core/Prefabs/ERR/PrisonDoor.et.meta": "b8f3db52bf186426026668fbb9d633c3cbd4d438ab301fba880398f6a0e781c2", + "addons/core/Prefabs/ERR/PrisonWall.et": "8009d19365ae72a4749d7ad4fa04662575b06c65c6bf06507d380d57258b5eed", + "addons/core/Prefabs/ERR/PrisonWall.et.meta": "0294bc5dbb56f90f8153d62459bb0a6ad91d76a479812bbec9c7db182fdb58d6", + "addons/core/Prefabs/ERR/Radio.et": "b4b5cfe125b39019855816c9a1c508ca4d65d435b5546fdaa6c1fa3c8c9b1165", + "addons/core/Prefabs/ERR/Radio.et.meta": "bc91137b68ba550217914fb8892bb44d7e1920e4a1086f3e506623832a44212f", + "addons/core/Prefabs/ERR/SpectatorCamera.et": "b5b87d5b7b707f3745741aebe7c923067c8a74f8fbb2a4711834bab03bb5a812", + "addons/core/Prefabs/ERR/SpectatorCamera.et.meta": "2a16558f93915e31908a674509e9c89976470f78a84a1174a64b94b68b8f77ad", + "addons/core/Prefabs/ERR/SupplyCache.et": "bccf7afbaae97cfcdd78dd6dbbf4be5b2c045d348f50fe4581962e556c0044d7", + "addons/core/Prefabs/ERR/SupplyCache.et.meta": "2f5de3a4aab1e9d0e35521f48dc57b95bd6e449c383dec4f1c258e10295904cb", + "addons/core/Prefabs/ERR/SupplySite.et": "dc5decce5cabf39b6116e8794ec3960cb1e35761854fdbe69740da118787ded4", + "addons/core/Prefabs/ERR/SupplySite.et.meta": "b41944b12eb3528ff7a3ac94258b18c66ef161aa6a38894aee300a1ac4798630", + "addons/core/Scripts/Game/ERR/ERR_Actions.c": "adf93245e6d78c59b9839599d157a0d2b2b93ea93b3d1ae52e2904dd6c288266", + "addons/core/Scripts/Game/ERR/ERR_Actors.c": "b3c5aabb05f7cf35167bc09b5db51a4ffd89a46658805d6eedbfb80eee30273d", + "addons/core/Scripts/Game/ERR/ERR_AdminService.c": "047c14ce60cc0b167e202438f8f2b1063590e69ef88ea55b54598aea5f99c505", + "addons/core/Scripts/Game/ERR/ERR_DiscoveryMap.c": "2f4ea342fea0530061456be9cdce002d5e7a282e4e27eb88f3860e79f93612bf", + "addons/core/Scripts/Game/ERR/ERR_DiscoveryService.c": "6b5679447fe4a6d7d54c0545881ab56284f871556b3159207d421247f419eada", + "addons/core/Scripts/Game/ERR/ERR_DocumentComponent.c": "17bb76b80ebd3357e46d553c44674f602c7bd6901c92aec53ac8214194aa4ff2", + "addons/core/Scripts/Game/ERR/ERR_EscapeGameOverScreenInfo.c": "b1e1afb7795cb77c0bad94c85abf705b26b9dc2a9400905d80eafd56bdd009d3", + "addons/core/Scripts/Game/ERR/ERR_ExtractionService.c": "91357099b4e0401196b67d48963be54be30e56bdba57cdac67dc20b8ebb883e9", + "addons/core/Scripts/Game/ERR/ERR_FactionCatalog.c": "a5a8c53acf21259e14f59cb919535910f30dabff5a9179c664bc6a7a4d744d6e", + "addons/core/Scripts/Game/ERR/ERR_GameMode.c": "d766d1639378070bea64eef38baa4667f8b9f5f1a2a7b170f0fc5e8fd557917d", + "addons/core/Scripts/Game/ERR/ERR_Location.c": "d2035f56ded35743312ec6ca91a67f8623a466c91255e1893c570edf0954ff24", + "addons/core/Scripts/Game/ERR/ERR_MissionRules.c": "f7abc38ad8fdc375ce7fa63a65f0bade027d22b37e09de5e3f94ba8c3c63cc41", + "addons/core/Scripts/Game/ERR/ERR_NativeBaseSmoke.c": "e1790bca83feb52dc1093eced0624fc5bf0b3050b831a0fb8b3731759e84710f", + "addons/core/Scripts/Game/ERR/ERR_NativeContractsProbe.c": "d1556df885171cf967e96eef5d8981a2e9ee4e3938b7d32fdd0426f647bbabc0", + "addons/core/Scripts/Game/ERR/ERR_NativeDefinitionProbe.c": "d05ef8368ef5afa68e29f45843cb1878b5a09be768f8abdff2f4115c23759b01", + "addons/core/Scripts/Game/ERR/ERR_NativeExtractionProbe.c": "4b09385f73206de004f4f3c38a6192fd658a0d2012482dc5a84dff1599ceb972", + "addons/core/Scripts/Game/ERR/ERR_NativeLifecycleProbe.c": "89620ec1cc94e260ef72460b32c3291ffcc84cfe51afa907954b10229a711b2b", + "addons/core/Scripts/Game/ERR/ERR_NativeObjectiveProbe.c": "949e642c5e1b92bfbfc7f5b416b699dd5e67eceba298a25764332b1bb65635a8", + "addons/core/Scripts/Game/ERR/ERR_NativeRadioDefenceProbe.c": "cad54f0b43cefd72df74697dfc7e93725ff0acac6d311e963ce4f817428c272c", + "addons/core/Scripts/Game/ERR/ERR_NativeResultProbe.c": "b9a117eef2d5f65fbd792041a2b3e59e38e201bda8e0df8c503e1a1242cfc415", + "addons/core/Scripts/Game/ERR/ERR_NativeSiteSurvey.c": "ac0203753ade0cdff6d483132797a80e4520f14546c3f9dea288281cd4cd9c4f", + "addons/core/Scripts/Game/ERR/ERR_NativeStationTeardownDiagnostic.c": "c01cbdbfe25fd38916fa74f2c02333baaacd5228686fd6e40b33c27b3cea8ed8", + "addons/core/Scripts/Game/ERR/ERR_NativeTimeProbe.c": "c93d049785971e51246fcc07cf24804270a752a655505f2c38e48c80df5255ae", + "addons/core/Scripts/Game/ERR/ERR_NativeTransportProbe.c": "63ec0c5ce698114daa6314b2a6e3c3e98e76094117c477f9d0d072260686d193", + "addons/core/Scripts/Game/ERR/ERR_NativeTransportSurvey.c": "3e94493bf54d15be2bceb106ad18873e14e6755af09c05f07db7fb26fb7adff5", + "addons/core/Scripts/Game/ERR/ERR_ObjectiveDetails.c": "eff9935b8b7790eaedf1e46d7f67d172d7962183ea264cde75bbc1681a489dea", + "addons/core/Scripts/Game/ERR/ERR_ObjectiveText.c": "bbb29949194637e6781316836c895e2c0fa7ccdb547d4d944a717da2ad73b0a2", + "addons/core/Scripts/Game/ERR/ERR_Objectives.c": "88d95a52fcba103483ea751571e1afeae0e6fc82115ed50d6fc195424726960f", + "addons/core/Scripts/Game/ERR/ERR_Observer.c": "b719e723369ab4f403950c85226e1336eb48e3c127e84530ac1c695eb86bd0f9", + "addons/core/Scripts/Game/ERR/ERR_PlayerAdminCommands.c": "a084d7dc097dfcde3d6cd9c2e326b9e2f8f2a519f77b30c4f56ab7a1429aa721", + "addons/core/Scripts/Game/ERR/ERR_PlayerEscapeResult.c": "3124ab4d2d6d471409a47aba0af528790734df53243c03fe0cdac3e407047c14", + "addons/core/Scripts/Game/ERR/ERR_PlayerGuide.c": "2c9c365b88651f8b12618443638bf52c04e497221592bd483c33447e30468f36", + "addons/core/Scripts/Game/ERR/ERR_PlayerRoster.c": "a737ba739b3f73a91cd05d808a1d45070e83b5152c003c3164e29842dda51995", + "addons/core/Scripts/Game/ERR/ERR_RadioDefenceService.c": "85eb9c1b65d5987799927b6d8786b7299fcff849bcb15b91f8a4d1aa95823fd1", + "addons/core/Scripts/Game/ERR/ERR_Resources.c": "8a5314944f75b23982c6b99697045e3c0538aa2137b2c947a5b2411e6076ac03", + "addons/core/Scripts/Game/ERR/ERR_ScenarioComponent.c": "abba03af68323d5715ba1e2497fc66f3c706e6a6a983c3a386228abdfddeec89", + "addons/core/Scripts/Game/ERR/ERR_Settings.c": "2aee784e44c732e09f59150896491ab325ef5e62aa6bad725be1fda955a3f614", + "addons/core/Scripts/Game/ERR/ERR_SiteDefinition.c": "75b5121ceab77f0956f0dc34bd077b11af5586350de52321800427f18cc94477", + "addons/core/Scripts/Game/ERR/ERR_SiteService.c": "7ba02712562b3c8cd8de9851b6f26fed85020faacceef0767408b300b935c110", + "addons/core/Scripts/Game/ERR/ERR_SpawnFinalization.c": "2e295b0f225208c5414728ba83333e5e0ab6eef3a708ce39eb1dfce5400c94c9", + "addons/core/Scripts/Game/ERR/ERR_SpawnLogic.c": "64c2cef62d8a435eea396f057255b269d457935bf5d261221700739bf37240b8", + "addons/core/Scripts/Game/ERR/ERR_SpawnPlacement.c": "284db0d4a5ecd38f9c658c91ce943f4c0c30dcf4d31bb3edeea92e4ab0b1436a", + "addons/core/Scripts/Game/ERR/ERR_Supplies.c": "752e8a56b0b8cde33cf532032cb0a203553017b686faac2e19bee06f7a9c0713", + "addons/core/Scripts/Game/ERR/ERR_TimeService.c": "d9f481b7da01e08d2c982a948c18ba6bde76889d7cc9d26d510708f4ba479453", + "addons/core/Scripts/WorkbenchGame/ERR/ERR_ValidateBaseWorldPlugin.c": "7f44aa64ea7b4f8b3640a37a4b781c43bf6adb80e4a3a702d9491131698056f6", + "addons/core/Worlds/ERR_Everon.ent": "22324bc7eb0d80dec8a1f3bd61a9df9201b72f749f4e751766b0c9d0b7d46b87", + "addons/core/Worlds/ERR_Everon.ent.meta": "19d1903ca72baa326b4724a6791d0da1104a1e53f3f31dc1ca41a856efd68e83", + "addons/core/Worlds/ERR_Everon_Layers/default.layer": "f1a058bd315c7d01d464715ac9f4e18ae3d2432551d094a9afbd4c9c5a2a9416", + "addons/core/addon.gproj": "231274e6b62302f32c65f9ff31de2ce8a9e51e1c8d12c87deeec82ae1f40de46", + "addons/intel/Scripts/Game/ERR/ERR_IntelService.c": "482839434b94e7f8c345d5fd96490aeebb765f3dd0c1bb25fceea2f435c0e722", + "addons/intel/addon.gproj": "d0ced242cefb220a5cccd6779d61fda9bc55581701b9f78bcf13c09d92ddbcbe", + "addons/map/Materials/ERRM_MapRenderTarget.emat": "9877c5b175c5f30dd80bea36c711b21ab38219aa7075adf9ae79932e1d4c76bc", + "addons/map/Materials/ERRM_MapRenderTarget.emat.meta": "5ee1a705f8011a44020ca2691f5ccc17d44bf596fef9a36e98d1f267eb58fab0", + "addons/map/Prefabs/Items/Equipment/ERRM_SharedFieldMap.et": "30dee8e9eab459ea32a7d835a9fb89d43df47708057cab829f067b25a24cd581", + "addons/map/Prefabs/Items/Equipment/ERRM_SharedFieldMap.et.meta": "59093e9072c50d99c86da7609c87541016da5bcf92b98d99db4c524e1c8e0e8d", + "addons/map/Scripts/Game/ERR/ERR_ScenarioMap.c": "75fa1d742129ef7f33c005cd48f56db7f49ee7bde3c5428532b0b501b032b0a3", + "addons/map/Scripts/Game/ERRMap/ERRM_SharedMapComponent.c": "fc1a0c7df4fc96da446d7542a45a10fbec1eda1e543ba2f0581cb772277a47c5", + "addons/map/UI/layouts/ERRMap/SharedMapRenderTarget.layout": "49a2da4181b94d42174f58c7f9b6bf2207116c99427d61ff1c212092ac7db4d2", + "addons/map/UI/layouts/ERRMap/SharedMapRenderTarget.layout.meta": "5c846445cc089e2e08899ba703059d4adb805ff30ab5a16409a3cd59718cbd54", + "addons/map/addon.gproj": "1b371e5e01ea9fa46e76570fecb8aaa3a9298e34cba7ccca8a6bdb5ca86eb46a" +} diff --git a/docs/evidence/native-2026-09-19-052352/console.log.txt b/docs/evidence/native-2026-09-19-052352/console.log.txt new file mode 100644 index 0000000..5b9d970 --- /dev/null +++ b/docs/evidence/native-2026-09-19-052352/console.log.txt @@ -0,0 +1,542 @@ +--------------------------------------------- +Log Z:\tmp\erri-workbench-profile\logs\logs_2026-09-19_05-23-52\console.log started at 2026-09-19 05:23:52 (2026-09-19 03:23:52 UTC) + +05:23:52.620 ENGINE : FileSystem: Adding relative directory 'Z:\tmp\erri-workbench-profile\logs\logs_2026-09-19_05-23-52' to filesystem under name logs +05:23:52.620 ENGINE : FileSystem: Adding relative directory 'Z:\tmp\erri-workbench-profile\profile' to filesystem under name profile +05:23:52.620 ENGINE : FileSystem: Current working directory: 'Z:\home\jakub\.local\share\Steam\steamapps\common\Arma Reforger Tools\Workbench\' +05:23:52.621 PROFILING : Workbench Create Engine took: 9.065500 ms +05:23:53.657 INIT : INIT : Workbench Init Engine +05:23:53.657 ENGINE : Initializing engine, version 192142 +05:23:53.657 ENGINE : CLI Params: -gproj Z:/home/jakub/devel/escapistsrereintroduced/addons/chat/addon.gproj -addonsDir Z:/home/jakub/devel/escapistsrereintroduced/addons -profile Z:/tmp/erri-workbench-profile -logconsole -wbModule WorldEditor -load Worlds/ERR_Everon.ent -plugin ERR_ValidateWorldPlugin -errPlay 1 -errSmoke 1 -errSmokeOutcome victory -noThrow +05:23:53.666 ENGINE : Addon dirs: +05:23:53.666 ENGINE : dir: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/chat/' +05:23:53.666 ENGINE : dir: 'Z:/home/jakub/devel/escapistsrereintroduced/addons' +05:23:53.666 ENGINE : dir: './addons' +05:23:53.666 ENGINE : dir: 'Z:/tmp/erri-workbench-profile/addons' +05:23:53.666 ENGINE : Available addons: +05:23:53.666 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/chat/addon.gproj' guid: 'FA804F411BDDF2C6' +05:23:53.666 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/ai/addon.gproj' guid: '5192138CB9D5B911' +05:23:53.666 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/core/addon.gproj' guid: '2528466DE220D91C' +05:23:53.666 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/intel/addon.gproj' guid: 'D31039C7C53E348A' +05:23:53.666 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/map/addon.gproj' guid: '9AAEE9041D79809E' +05:23:53.666 ENGINE : gproj: './addons/core/core.gproj' guid: '5614BBCCBB55ED1C' (packed) +05:23:53.666 ENGINE : gproj: 'Z:/tmp/erri-workbench-profile/addons/ArmaReforger/ArmaReforger.gproj' guid: '58D0FB3206B6F859' (packed) +05:23:53.666 ENGINE : FileSystem: Adding relative directory 'Z:\home\jakub\devel\escapistsrereintroduced\addons\chat' to filesystem under name ERR_Chat +05:23:53.666 ENGINE : FileSystem: Adding relative directory 'Z:\home\jakub\devel\escapistsrereintroduced\addons\map' to filesystem under name ERR_Map +05:23:53.666 ENGINE : FileSystem: Adding relative directory 'Z:\home\jakub\devel\escapistsrereintroduced\addons\intel' to filesystem under name ERR_Intel +05:23:53.668 ENGINE : FileSystem: Adding relative directory 'Z:\home\jakub\devel\escapistsrereintroduced\addons\ai' to filesystem under name ERR_Ai +05:23:53.668 ENGINE : FileSystem: Adding relative directory 'Z:\home\jakub\devel\escapistsrereintroduced\addons\core' to filesystem under name ERR_Core +05:23:53.802 ENGINE : FileSystem: Adding package 'Z:/tmp/erri-workbench-profile/addons/ArmaReforger/' (pak count: 14) to filesystem under name ArmaReforger +05:23:53.806 ENGINE : FileSystem: Adding package './addons/core/' (pak count: 2) to filesystem under name core +05:23:53.806 ENGINE : CPU vendor : AuthenticAMD +05:23:53.806 ENGINE : CPU type : 2 +05:23:53.806 ENGINE : CPU name : AMD Ryzen 7 3800XT 8-Core Processor +05:23:53.806 ENGINE : CPU cache info : L1 [Inst 32KB, Data 32KB], L2 [Unif 512KB], L3 [Unif 16384KB] +05:23:53.806 ENGINE : CPU count logical : 16 +05:23:53.806 ENGINE : CPU count physical : 8 +05:23:53.806 ENGINE : CPU features : mmx sse sse2 sse3 ssse3 sse4_1 sse4_2 popcnt aesni pclmulqdq osxsave avx sha avx2 +05:23:53.806 RESOURCES : ResourceDB: loading cache (id=0 name=ERR_Chat path=Z:\home\jakub\devel\escapistsrereintroduced\addons\chat/resourceDatabase.rdb) +05:23:53.807 RESOURCES : ResourceDB: loading cache (id=1 name=ERR_Map path=Z:\home\jakub\devel\escapistsrereintroduced\addons\map/resourceDatabase.rdb) +05:23:53.808 RESOURCES : ResourceDB: loading cache (id=2 name=ERR_Intel path=Z:\home\jakub\devel\escapistsrereintroduced\addons\intel/resourceDatabase.rdb) +05:23:53.808 RESOURCES : ResourceDB: loading cache (id=3 name=ERR_Ai path=Z:\home\jakub\devel\escapistsrereintroduced\addons\ai/resourceDatabase.rdb) +05:23:53.808 RESOURCES : ResourceDB: loading cache (id=4 name=ERR_Core path=Z:\home\jakub\devel\escapistsrereintroduced\addons\core/resourceDatabase.rdb) +05:23:53.809 RESOURCES : ResourceDB: loading cache (id=5 name=ArmaReforger path=Z:/tmp/erri-workbench-profile/addons/ArmaReforger/resourceDatabase.rdb) +05:23:53.953 RESOURCES : ResourceDB: loading cache (id=6 name=core path=./addons/core/resourceDatabase.rdb) +05:23:53.954 RESOURCES : ResourceDB: loading cache (id=7 name=profile path=Z:\tmp\erri-workbench-profile\profile/resourceDatabase.rdb) +05:23:53.955 RESOURCES : ResourceDB: loading cache (id=8 name=logs path=Z:\tmp\erri-workbench-profile\logs\logs_2026-09-19_05-23-52/resourceDatabase.rdb) +05:23:54.099 RESOURCES : RESOURCES : ResourceDB: full scan +05:23:54.104 RESOURCES : RESOURCES : scanning... +05:23:54.104 RESOURCES : RESOURCES : scanning @"ERR_Chat" +05:23:54.105 RESOURCES : RESOURCES : scanning @"ERR_Map" +05:23:54.107 RESOURCES : RESOURCES : scanning @"ERR_Intel" +05:23:54.107 RESOURCES : RESOURCES : scanning @"ERR_Ai" +05:23:54.108 RESOURCES : RESOURCES : scanning @"ERR_Core" +05:23:54.111 RESOURCES : RESOURCES : scanning @"ArmaReforger" +05:23:54.247 RESOURCES : RESOURCES : scanning @"core" +05:23:54.251 RESOURCES : RESOURCES : scanning @"profile" +05:23:54.252 RESOURCES : RESOURCES : scanning @"logs" +05:23:54.252 RESOURCES : RESOURCES : processing meta-files... +05:23:54.321 RESOURCES : RESOURCES : processing files... +05:23:54.332 INIT : Workbench startup +05:23:54.332 INIT : Workbench Init Engine +05:23:54.332 RESOURCES : ResourceDB: full scan +05:23:54.332 RESOURCES : processing files... +05:23:54.332 RESOURCES (W): resource not registered: @"$profile:rereintroduced.json". Setting null GUID +05:23:54.332 RESOURCES (W): resource not registered: @"$logs:launch-source-sha256.json". Setting null GUID +05:23:54.332 RESOURCES (W): resource not registered: @"$logs:launch-source.json". Setting null GUID +05:23:54.332 RESOURCES : RESOURCES : processing folders... +05:23:54.340 RESOURCES : RESOURCES : creating GUID-item mapping... +05:23:54.358 RESOURCES : RESOURCES : building tree... +05:23:54.421 PROFILING : ResourceDB: full scan took: 322.172100 ms +05:23:54.422 RESOURCES : ResourceDB: saving cache (id=0 name=ERR_Chat path=Z:\home\jakub\devel\escapistsrereintroduced\addons\chat/resourceDatabase.rdb) +05:23:54.424 RESOURCES : ResourceDB: written 630/630 bytes +05:23:54.424 RESOURCES : ResourceDB: cache successfully saved +05:23:54.424 RESOURCES : ResourceDB: saving cache (id=1 name=ERR_Map path=Z:\home\jakub\devel\escapistsrereintroduced\addons\map/resourceDatabase.rdb) +05:23:54.426 RESOURCES : ResourceDB: written 750/750 bytes +05:23:54.426 RESOURCES : ResourceDB: cache successfully saved +05:23:54.426 RESOURCES : ResourceDB: saving cache (id=2 name=ERR_Intel path=Z:\home\jakub\devel\escapistsrereintroduced\addons\intel/resourceDatabase.rdb) +05:23:54.427 RESOURCES : ResourceDB: written 227/227 bytes +05:23:54.427 RESOURCES : ResourceDB: cache successfully saved +05:23:54.427 RESOURCES : ResourceDB: saving cache (id=3 name=ERR_Ai path=Z:\home\jakub\devel\escapistsrereintroduced\addons\ai/resourceDatabase.rdb) +05:23:54.429 RESOURCES : ResourceDB: written 985/985 bytes +05:23:54.429 RESOURCES : ResourceDB: cache successfully saved +05:23:54.429 RESOURCES : ResourceDB: saving cache (id=4 name=ERR_Core path=Z:\home\jakub\devel\escapistsrereintroduced\addons\core/resourceDatabase.rdb) +05:23:54.431 RESOURCES : ResourceDB: written 4000/4000 bytes +05:23:54.431 RESOURCES : ResourceDB: cache successfully saved +05:23:54.431 RESOURCES : ResourceDB: saving cache (id=7 name=profile path=Z:\tmp\erri-workbench-profile\profile/resourceDatabase.rdb) +05:23:54.433 RESOURCES : ResourceDB: written 206/206 bytes +05:23:54.433 RESOURCES : ResourceDB: cache successfully saved +05:23:54.433 RESOURCES : ResourceDB: saving cache (id=8 name=logs path=Z:\tmp\erri-workbench-profile\logs\logs_2026-09-19_05-23-52/resourceDatabase.rdb) +05:23:54.434 RESOURCES : ResourceDB: written 162/162 bytes +05:23:54.434 RESOURCES : ResourceDB: cache successfully saved +05:23:54.434 ENGINE : GameProject load +05:23:54.434 ENGINE : Loaded addons: +05:23:54.434 ENGINE : gproj: './addons/core/core.gproj' guid: '5614BBCCBB55ED1C' +05:23:54.434 ENGINE : gproj: 'Z:/tmp/erri-workbench-profile/addons/ArmaReforger/ArmaReforger.gproj' guid: '58D0FB3206B6F859' +05:23:54.434 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/core/addon.gproj' guid: '2528466DE220D91C' +05:23:54.434 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/ai/addon.gproj' guid: '5192138CB9D5B911' +05:23:54.434 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/intel/addon.gproj' guid: 'D31039C7C53E348A' +05:23:54.434 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/map/addon.gproj' guid: '9AAEE9041D79809E' +05:23:54.434 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/chat/addon.gproj' guid: 'FA804F411BDDF2C6' +05:23:54.437 ENGINE : Loading custom engine user config '$profile:.save/app1874910_user76561198020202999/settings/ReforgerEngineSettings.conf' +05:23:54.437 INIT : GameProject engine user settings load @"$profile:.save/app1874910_user76561198020202999/settings/ReforgerEngineSettings.conf" +05:23:54.437 ENGINE : Engine user settings config loaded +05:23:54.437 PROFILING : Settings changed took: 0.001800 ms +05:23:54.544 RENDER : (OK) Adapter 'AMD Radeon RX 6950 XT (RADV NAVI21)' supports feature level 12_0 +05:23:54.546 RENDER : Basic screen setup: +05:23:54.546 RENDER : Back buffer format : TEXFMT_R8G8B8A8_SRGB (29) +05:23:54.546 RENDER : MSAA : none +05:23:54.561 RENDER : AMD AGS library initialized, version 6.1.0 x DLL 6.1.0 +05:23:54.561 RENDER : Extendeded AMD info for AMD Radeon RX 6950 XT (RADV NAVI21) (primary device) +05:23:54.561 RENDER : * architecture RDNA2, 80 CUs, 40 WGPs (for RDNA), 64 ROPs +05:23:54.561 RENDER : * core clocks 2720 MHz, memory 1124 MHz +05:23:54.561 RENDER : * TFlops 27.9, memory bandwidth (562.0 GB/s) +05:23:54.561 RENDER : AMD AGS correctly initialized +05:23:54.562 RENDER : GPU_ATI (0x1002) (AMD Radeon RX 6950 XT (RADV NAVI21)) with 1 GPU detected, VRAM 16128MB (fast 0MB), shared 64362MB, driver version 99.19.02-230831a-396538C-AMD-Software-Adrenalin-Edition +05:23:54.562 RENDER : Detected output devices: +05:23:54.562 RENDER : * 1 device/s connected to AMD Radeon RX 6950 XT (RADV NAVI21): +05:23:54.562 RENDER : Generic Non-PnP Monitor (\\.\DISPLAY1), 1280x720 (offset 0x0), 30Hz +05:23:54.562 RENDER : Concurrent frames limit 2 +05:23:54.635 RENDER : DX12 device successfully created by AMD AGS library +05:23:54.635 RENDER : * user markers not supported in this version AMD SW +05:23:54.635 RENDER : Graphics device features +05:23:54.635 RENDER : Needed: +05:23:54.635 RENDER : * Highest supported shader model: 6.8 (6.0 needed) +05:23:54.635 RENDER : Optional: +05:23:54.635 RENDER : * Allow tearing (VSYNC) : 1 +05:23:54.635 RENDER : * 16 bits : 1 +05:23:54.635 RENDER : * Resource heap tier : 3 +05:23:54.635 RENDER : * Persistent heaps (DRED) : 1 +05:23:54.635 RENDER : * DRED 1.2 is supported by compiler +05:23:54.656 RENDER : Main RT format setup. +05:23:54.656 RENDER : Main RT format for quality 0 : TEXFMT_R11G11B10_FLOAT (26) +05:23:54.656 RENDER : Main RT format for quality 1 : TEXFMT_R16G16B16A16_FLOAT (10) +05:23:54.658 ENGINE : Job system settings: coreCount=16, shortJobContextCount=16, shortJobThreadCount=15, longJobThreadCount=16 +05:23:54.684 PROFILING : Settings changed took: 0.019400 ms +05:23:55.127 AUDIO : Endpoint: Speakers (PulseAudio Output) +05:23:55.127 AUDIO : Format: Channels: 2, Sample rate: 48kHz, Avg. bytes: 384kB, Sample bits: 32, Block align: 8B +05:23:55.127 AUDIO : Audio client: +05:23:55.128 AUDIO : Format: Channels: 2, Sample rate: 48kHz, Buffer size: 1536B, Frame: 512 +05:23:55.131 RENDER : RENDER : Reload shaders +05:23:55.131 RENDER : Enfusion shader version 13 +05:23:55.131 INIT : INIT : ShaderListReload +05:23:55.131 PROFILING : ShaderListReload took: 0.000400 ms +05:23:55.277 AUDIO : Endpoint: Speakers (PulseAudio Output) +05:23:55.277 AUDIO : Format: Channels: 2, Sample rate: 48kHz, Avg. bytes: 384kB, Sample bits: 32, Block align: 8B +05:23:55.277 AUDIO : Audio client: +05:23:55.277 AUDIO : Format: Channels: 2, Sample rate: 48kHz, Buffer size: 1536B, Frame: 512 +05:23:55.505 RENDER : Loaded 3752 newer shader binaries +05:23:55.505 PROFILING : Reload shaders took: 374.335500 ms +05:23:55.505 ENGINE : Initializing inputs. +05:23:55.518 NETWORK : Initializing networking. +05:23:55.518 NETWORK : Using new GameRplScheduler. +05:23:55.519 SCRIPT : SCRIPT : Initializing scripts +05:23:55.519 SCRIPT : SCRIPT : ScriptProjectManager init +05:23:57.726 PROFILING : ScriptProjectManager init took: 2207.045900 ms +05:23:57.814 PROFILING : Initializing scripts took: 2295.434100 ms +05:23:57.831 ENGINE : Enfusion engine successfully created. +05:23:57.831 PROFILING : Workbench Init Engine took: 4173.044400 ms +05:23:57.831 INIT : INIT : Workbench Create Game +05:23:57.844 GUI : Using default language (en_us) +05:23:57.844 GUI : Loading 'en_us' localization file. +05:23:57.844 INIT : INIT : Loading StringTable +05:23:57.869 PROFILING : Loading StringTable took: 25.295900 ms +05:23:57.870 SCRIPT : SCRIPT : Compiling GameLib scripts +05:23:57.937 SCRIPT : Module: Workbench; loaded 18x files; 36x classes; used 125K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE"; CRC32: 90ce0460 +05:23:57.937 SCRIPT : Module: GameLib; loaded 465x files; 648x classes; used 828K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE"; CRC32: 4507af04 +05:23:57.938 PROFILING : Compiling GameLib scripts took: 68.017900 ms +05:23:57.938 SCRIPT : SCRIPT : Compiling Game scripts +05:23:59.223 INIT : Workbench Create Game +05:23:59.223 SCRIPT : Compiling Game scripts +05:23:59.223 SCRIPT (W): @"Scripts/Game/Editor/Components/EditableEntity/SCR_EditableEntityComponent.c,785": 'GetPlayerPlatformKind' is obsolete +05:23:59.223 SCRIPT (W): @"Scripts/Game/Editor/Components/EditableEntity/SCR_EditableEntityComponent.c,786": 'GetPlayerPlatformId' is obsolete +05:23:59.496 SCRIPT (W): @"Scripts/Game/ERR/ERR_SiteService.c,140": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +05:23:59.508 SCRIPT (W): @"Scripts/Game/Workshop/SCR_AddonManager.c,876": 'GetRefCount' is obsolete: Will be removed +05:23:59.544 SCRIPT (W): @"Scripts/Game/Campaign/SCR_PlayerProfileManagerComponent.c,142": 'PlayerData' is obsolete +05:23:59.650 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,159": 'GetDSSession' is obsolete +05:23:59.650 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,162": 'RoomID' is obsolete +05:23:59.650 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,197": 'GetDSSession' is obsolete +05:23:59.650 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,201": 'RoomID' is obsolete +05:23:59.749 SCRIPT (W): @"Scripts/Game/DataCollection/SCR_DataCollectorComponent.c,481": 'GetStorage' is obsolete +05:23:59.749 SCRIPT (W): @"Scripts/Game/DataCollection/SCR_DataCollectorComponent.c,483": 'GetOnlineWritePrivilege' is obsolete +05:23:59.750 SCRIPT (W): @"Scripts/Game/Utilities/SCR_PlayerIdentityUtils.c,20": 'GetPlayerIdentityId' is obsolete +05:23:59.795 SCRIPT (W): @"Scripts/Game/ERR/ERR_ExtractionService.c,45": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +05:23:59.795 SCRIPT (W): @"Scripts/Game/ERR/ERR_ExtractionService.c,56": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +05:23:59.797 SCRIPT (W): @"Scripts/Game/UI/Menu/MainMenuUI.c,643": 'GetNotifyCount' is obsolete: Will be substitued by Notification Api. +05:23:59.797 SCRIPT (W): @"Scripts/Game/UI/Menu/MainMenuUI.c,645": 'GetNotifyItem' is obsolete: Will be substitued by Notification Api. +05:23:59.820 SCRIPT (W): @"Scripts/Game/ERR/ERR_NativeTransportProbe.c,82": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +05:23:59.854 SCRIPT (W): @"Scripts/Game/DataCollection/PlayerData/SCR_PlayerData.c,210": 'PlayerData' is obsolete +05:24:00.134 SCRIPT : Module: WorkbenchGame; loaded 172x files; 617x classes; used 2483K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE"; CRC32: e963af0e +05:24:00.142 SCRIPT : Module: Game; loaded 5724x files; 11232x classes; used 32749K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE,ENABLE_BASE_DESTRUCTION,BUDGET_OPTIMIZATION_CHECKS,SHOW_DISCLAIMER,DEBUG,RESPAWN_TIMER_COMPONENT_DEBUG,GAME_MODE_DEBUG,DEBUG_CONFIGURABLE_DIALOGS,DISABLE_WEAPON_SWITCHING,SCRIPTED_AIM_MODIFIER_DEBUG"; CRC32: bec880c9 +05:24:00.179 PROFILING : Compiling Game scripts took: 2241.604400 ms +05:24:00.186 INIT : Creating game instance(ArmaReforgerScripted), version 1.8.0.13 built 2026-08-21 14:30:18 UTC. +05:24:00.228 ENGINE : Game successfully created. +05:24:00.229 PROFILING : Workbench Create Game took: 2397.854500 ms +05:24:00.238 DEFAULT : Using thumbnail cache directory: C:/users/steamuser/AppData/Local/Temp/Arma Reforger Workbench/Projects/ERR_Chat/thumbnails +05:24:01.079 INIT : INIT : Workbench Reload Game +05:24:01.080 ENGINE : Game destroyed. +05:24:01.087 GUI : Using default language (en_us) +05:24:01.087 GUI : Loading 'en_us' localization file. +05:24:01.087 INIT : INIT : Loading StringTable +05:24:01.096 PROFILING : Loading StringTable took: 9.238300 ms +05:24:01.096 INIT : Creating game instance(ArmaReforgerScripted), version 1.8.0.13 built 2026-08-21 14:30:18 UTC. +05:24:01.103 SCRIPT : Unable to register a script command due keyword duplicity: ban +05:24:01.103 SCRIPT : Unable to register a script command due keyword duplicity: kick +05:24:01.103 ENGINE : Game successfully created. +05:24:01.103 ENGINE : Game successfully initialized. +05:24:01.104 PROFILING : Workbench Reload Game took: 24.292900 ms +05:24:01.795 WORLD : WORLD : Entities load '$ERR_Core:Worlds/ERR_Everon.ent' +05:24:02.817 PROFILING : Entities load took: 1021.403600 ms +05:24:02.830 WORLD : WORLD : CreateEntities +05:24:02.835 WORLD : WORLD : NotifyBeforeEntitiesCreated +05:24:02.835 PROFILING : NotifyBeforeEntitiesCreated took: 0.005400 ms +05:24:02.835 WORLD : WORLD : Wait for preloading data +05:24:02.835 PROFILING : Wait for preloading data took: 0.003800 ms +05:24:02.955 ENTITY : Create entity @"ENTITY:2" ('Eden', GenericTerrainEntity) at <0.000000 0.000000 0.000000> @"{5AD924374E8C7AF6}Prefabs/World/Game/Eden/GenericTerrain_Eden.et" +05:24:02.955 PROFILING : PROFILING : Terrain load +05:24:04.945 PROFILING : Terrain load took: 1989.562100 ms +05:24:08.956 WORLD : CreateEntities +05:24:08.956 ENTITY : Create entity @"ENTITY:610406" ('StaticModelEntity','Assets/Structures/Infrastructure/Towers/TransmitterTower_01/TransmitterTower_01_small.xob') at <1931.796021 81.777000 5138.725098> @"{6A004A8F0571D456}Prefabs/Structures/Infrastructure/Towers/TransmitterTower_01/TransmitterTower_01_small.et" +05:24:08.956 ENTITY : CreateComponent 'ScriptedRadioComponent' +05:24:08.956 DEFAULT (W): World doesn't contain RadioManagerEntity to support any BaseRadioComponent. +05:24:19.627 WORLD : WORLD : NotifyBeforeEntitiesInitialized +05:24:19.628 PROFILING : NotifyBeforeEntitiesInitialized took: 0.006700 ms +05:24:20.103 WORLD : WORLD : NotifyEntitiesInitialized +05:24:20.103 TERRAIN : TERRAIN : Initializing road networks... +05:24:20.106 PROFILING : Initializing road networks... took: 2.786300 ms +05:24:20.106 PROFILING : NotifyEntitiesInitialized took: 3.208100 ms +05:24:20.107 PROFILING : CreateEntities took: 17276.263100 ms +05:24:20.291 PROFILING : * WorldEditor: LoadWorld: 18501.845000 ms +05:24:21.758 TERRAIN : Loading tile map config (worlds/Eden/Eden/tileMap.conf) +05:24:21.759 TERRAIN : Loading minimap config (worlds/Eden/Eden/miniMap.conf) +05:24:21.760 TERRAIN : The default minimap texture ('worlds/Eden/EdenRasterized.edds') not found. Trying 'worlds/Eden/Eden.edds'... +05:24:21.760 TERRAIN : The default minimap texture ('worlds/Eden/Eden.edds') not found. Skipping... +05:24:21.852 SCRIPT : ERR VALIDATION: prison terrain=211.344, radio terrain=159.656, extraction terrain=65.1562 +05:24:21.853 SCRIPT : ERR TERRAIN: x=6084 z=7154 y=211.531 +05:24:21.853 SCRIPT : ERR TERRAIN: x=6084 z=7157 y=211.516 +05:24:21.853 SCRIPT : ERR TERRAIN: x=6084 z=7160 y=211.5 +05:24:21.853 SCRIPT : ERR TERRAIN: x=6084 z=7163 y=211.453 +05:24:21.853 SCRIPT : ERR TERRAIN: x=6084 z=7166 y=211.406 +05:24:21.853 SCRIPT : ERR TERRAIN: x=6087 z=7154 y=211.438 +05:24:21.853 SCRIPT : ERR TERRAIN: x=6087 z=7157 y=211.438 +05:24:21.854 SCRIPT : ERR TERRAIN: x=6087 z=7160 y=211.422 +05:24:21.854 SCRIPT : ERR TERRAIN: x=6087 z=7163 y=211.391 +05:24:21.854 SCRIPT : ERR TERRAIN: x=6087 z=7166 y=211.344 +05:24:21.854 SCRIPT : ERR TERRAIN: x=6090 z=7154 y=211.344 +05:24:21.854 SCRIPT : ERR TERRAIN: x=6090 z=7157 y=211.344 +05:24:21.854 SCRIPT : ERR TERRAIN: x=6090 z=7160 y=211.344 +05:24:21.854 SCRIPT : ERR TERRAIN: x=6090 z=7163 y=211.328 +05:24:21.855 SCRIPT : ERR TERRAIN: x=6090 z=7166 y=211.281 +05:24:21.855 SCRIPT : ERR TERRAIN: x=6093 z=7154 y=211.25 +05:24:21.855 SCRIPT : ERR TERRAIN: x=6093 z=7157 y=211.281 +05:24:21.855 SCRIPT : ERR TERRAIN: x=6093 z=7160 y=211.25 +05:24:21.855 SCRIPT : ERR TERRAIN: x=6093 z=7163 y=211.234 +05:24:21.855 SCRIPT : ERR TERRAIN: x=6093 z=7166 y=211.188 +05:24:21.855 SCRIPT : ERR TERRAIN: x=6096 z=7154 y=211.156 +05:24:21.856 SCRIPT : ERR TERRAIN: x=6096 z=7157 y=211.172 +05:24:21.856 SCRIPT : ERR TERRAIN: x=6096 z=7160 y=211.156 +05:24:21.856 SCRIPT : ERR TERRAIN: x=6096 z=7163 y=211.141 +05:24:21.856 SCRIPT : ERR TERRAIN: x=6096 z=7166 y=211.094 +05:24:21.882 SCRIPT : ERR SITE CANDIDATE: position=<6090,211.344,7160> elevationRange=0.640625 +05:24:21.905 BACKEND : Attempting online Game Config instead. +05:24:25.129 INIT : INIT : Workbench Reload Game +05:24:25.131 ENGINE : Game destroyed. +05:24:25.139 GUI : Using default language (en_us) +05:24:25.139 GUI : Loading 'en_us' localization file. +05:24:25.139 INIT : INIT : Loading StringTable +05:24:25.158 PROFILING : Loading StringTable took: 19.101300 ms +05:24:25.159 INIT : Creating game instance(ArmaReforgerScripted), version 1.8.0.13 built 2026-08-21 14:30:18 UTC. +05:24:25.166 SCRIPT : Unable to register a script command due keyword duplicity: ban +05:24:25.166 SCRIPT : Unable to register a script command due keyword duplicity: kick +05:24:25.166 ENGINE : Game successfully created. +05:24:25.167 ENGINE : Game successfully initialized. +05:24:25.167 PROFILING : Workbench Reload Game took: 37.779200 ms +05:24:25.169 DEFAULT (W): LogiLED: Cannot initialize! (service not running or no compatible device detected) +05:24:25.221 PLATFORM : Save data from container 'settings' have been loaded +05:24:25.310 PLATFORM : Save data from container 'sessions' have been loaded +05:24:25.311 PLATFORM : GameProject user settings load from profile @"ReforgerGameSettings.conf" +05:24:25.311 ENGINE : Game user settings config loaded +05:24:25.409 DEFAULT : [SaveGameManager] Starting new playthrough nr.0 '' for mission '{B6C516F86302C679}Worlds/ERR_Everon.ent'. +05:24:25.417 WORLD : WORLD : Game::LoadEntities +05:24:25.417 WORLD : WORLD : Initializing world systems @"{1C60D2EDA2B468B8}Configs/Systems/BaseGameModeSystems.conf" +05:24:25.419 NETWORK : Enabled lag compensation, 29 frames with 100 FPS and 280 ms rewind limits. +05:24:25.419 WORLD : WORLD : CreateEntities +05:24:25.419 WORLD : WORLD : CreateEntities +05:24:25.419 WORLD : WORLD : NotifyBeforeEntitiesCreated +05:24:25.431 RESOURCES : Loaded mission headers from 7 addon(s)! +05:24:25.431 PROFILING : NotifyBeforeEntitiesCreated took: 12.325500 ms +05:24:25.431 WORLD : WORLD : Wait for preloading data +05:24:25.431 PROFILING : Wait for preloading data took: 0.000800 ms +05:24:29.923 WORLD : Game::LoadEntities +05:24:29.923 WORLD : CreateEntities +05:24:29.923 WORLD : CreateEntities +05:24:29.923 ENTITY : Create entity @"ENTITY:610406" ('StaticModelEntity','Assets/Structures/Infrastructure/Towers/TransmitterTower_01/TransmitterTower_01_small.xob') at <1931.796021 81.777000 5138.725098> @"{6A004A8F0571D456}Prefabs/Structures/Infrastructure/Towers/TransmitterTower_01/TransmitterTower_01_small.et" +05:24:29.923 ENTITY : CreateComponent 'ScriptedRadioComponent' +05:24:29.923 DEFAULT (W): World doesn't contain RadioManagerEntity to support any BaseRadioComponent. +05:24:31.408 ENTITY : Create entity @"ENTITY:842066" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1080.213013 10.776751 6018.347168> +05:24:31.408 ENTITY : CreateComponent 'Hierarchy' +05:24:31.408 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842066" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1080.213013 10.776751 6018.347168>') +05:24:31.408 ENTITY : Create entity @"ENTITY:842068" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1082.185913 10.778749 6018.331055> +05:24:31.408 ENTITY : CreateComponent 'Hierarchy' +05:24:31.408 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842068" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1082.185913 10.778749 6018.331055>') +05:24:31.408 ENTITY : Create entity @"ENTITY:842070" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1084.190918 10.790751 6018.334961> +05:24:31.408 ENTITY : CreateComponent 'Hierarchy' +05:24:31.408 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842070" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1084.190918 10.790751 6018.334961>') +05:24:31.413 ENTITY : Create entity @"ENTITY:842333" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4425.594727 9.981750 11029.402344> +05:24:31.413 ENTITY : CreateComponent 'Hierarchy' +05:24:31.413 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842333" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4425.594727 9.981750 11029.402344>') +05:24:31.413 ENTITY : Create entity @"ENTITY:842335" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4426.584473 9.983749 11031.109375> +05:24:31.413 ENTITY : CreateComponent 'Hierarchy' +05:24:31.413 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842335" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4426.584473 9.983749 11031.109375>') +05:24:31.413 ENTITY : Create entity @"ENTITY:842337" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4427.572266 9.995750 11032.853516> +05:24:31.413 ENTITY : CreateComponent 'Hierarchy' +05:24:31.413 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842337" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4427.572266 9.995750 11032.853516>') +05:24:31.417 ENTITY : Create entity @"ENTITY:842591" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.946289 10.470250 1551.986084> +05:24:31.417 ENTITY : CreateComponent 'Hierarchy' +05:24:31.417 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842591" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.946289 10.470250 1551.986084>') +05:24:31.417 ENTITY : Create entity @"ENTITY:842593" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.430664 10.472250 1550.081421> +05:24:31.417 ENTITY : CreateComponent 'Hierarchy' +05:24:31.417 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842593" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.430664 10.472250 1550.081421>') +05:24:31.418 ENTITY : Create entity @"ENTITY:842595" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10008.926758 10.484250 1548.140869> +05:24:31.418 ENTITY : CreateComponent 'Hierarchy' +05:24:31.418 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842595" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10008.926758 10.484250 1548.140869>') +05:24:36.406 ENTITY : Create entity @"ENTITY:2305843009213693956" ('Factions', SCR_FactionManager) at <0.000000 0.000000 0.000000> @"{589540B35EBA8CDC}Prefabs/MP/Managers/Factions/FactionManager_USxUSSR.et" +05:24:36.406 RESOURCES : GetResourceObject @"{5168FEA3054D6D15}Prefabs/Vehicles/Wheeled/M151A2/M151A2_M2HB_MERDC.et" +05:24:36.406 WORLD : Entity prefab load @"{5168FEA3054D6D15}Prefabs/Vehicles/Wheeled/M151A2/M151A2_M2HB_MERDC.et" +05:24:36.406 RESOURCES : GetResourceObject @"{F6B23D17D5067C11}Prefabs/Vehicles/Wheeled/M151A2/M151A2_M2HB.et" +05:24:36.406 WORLD : Entity prefab load @"{F6B23D17D5067C11}Prefabs/Vehicles/Wheeled/M151A2/M151A2_M2HB.et" +05:24:36.406 RESOURCES : GetResourceObject @"{F649585ABB3706C4}Prefabs/Vehicles/Wheeled/M151A2/M151A2.et" +05:24:36.406 WORLD : Entity prefab load @"{F649585ABB3706C4}Prefabs/Vehicles/Wheeled/M151A2/M151A2.et" +05:24:36.406 WORLD (E): Unknown keyword/data 'SlidingTrackMaterial' at offset 19441(0x4bf1) +05:24:36.447 RESOURCES : GetResourceObject @"{F7B9B434FCFF00B3}Prefabs/Vehicles/Wheeled/Conflict_Variants/BRDM2_Conflict.et" +05:24:36.447 WORLD : Entity prefab load @"{F7B9B434FCFF00B3}Prefabs/Vehicles/Wheeled/Conflict_Variants/BRDM2_Conflict.et" +05:24:36.447 RESOURCES : GetResourceObject @"{254289B9C09904AB}Prefabs/Vehicles/Wheeled/BRDM2/BRDM2.et" +05:24:36.447 WORLD : Entity prefab load @"{254289B9C09904AB}Prefabs/Vehicles/Wheeled/BRDM2/BRDM2.et" +05:24:36.447 RESOURCES : GetResourceObject @"{532B5F3CF8496E59}Prefabs/Vehicles/Wheeled/BRDM2/BRDM2_base.et" +05:24:36.447 WORLD : Entity prefab load @"{532B5F3CF8496E59}Prefabs/Vehicles/Wheeled/BRDM2/BRDM2_base.et" +05:24:36.447 WORLD (E): Unknown keyword/data 'Parent' at offset 35955(0x8c73) +05:24:36.447 WORLD (E): Unknown keyword/data 'Parent' at offset 36915(0x9033) +05:24:36.448 RESOURCES : GetResourceObject @"{BD75A18920BD1278}Prefabs/Vehicles/Wheeled/Conflict_Variants/BTR70_Conflict.et" +05:24:36.448 WORLD : Entity prefab load @"{BD75A18920BD1278}Prefabs/Vehicles/Wheeled/Conflict_Variants/BTR70_Conflict.et" +05:24:36.448 RESOURCES : GetResourceObject @"{C012BB3488BEA0C2}Prefabs/Vehicles/Wheeled/BTR70/BTR70.et" +05:24:36.448 WORLD : Entity prefab load @"{C012BB3488BEA0C2}Prefabs/Vehicles/Wheeled/BTR70/BTR70.et" +05:24:36.448 RESOURCES : GetResourceObject @"{1C5FE7B7FF49BB8D}Prefabs/Vehicles/Wheeled/BTR70/BTR70_Base.et" +05:24:36.448 WORLD : Entity prefab load @"{1C5FE7B7FF49BB8D}Prefabs/Vehicles/Wheeled/BTR70/BTR70_Base.et" +05:24:36.448 WORLD (E): Unknown keyword/data 'Parent' at offset 42646(0xa696) +05:24:36.448 WORLD (E): Unknown keyword/data 'Parent' at offset 43645(0xaa7d) +05:24:36.448 WORLD (E): Unknown keyword/data 'Parent' at offset 44617(0xae49) +05:24:36.448 WORLD (E): Unknown keyword/data 'Parent' at offset 45590(0xb216) +05:24:36.774 WORLD : WORLD : NotifyBeforeEntitiesInitialized +05:24:36.774 PROFILING : NotifyBeforeEntitiesInitialized took: 0.043200 ms +05:24:38.733 WORLD : InitEntities 'world' +05:24:38.733 ENTITY : Init entity @"ENTITY:2305843009213693953" ('Rereintroduced', ERR_GameMode) at <1076.468018 51.000999 1325.246948> @"{978E045E53EF36C8}Prefabs/ERR/GameMode.et" +05:24:38.733 SCRIPT (W): SCR_PerceivedFactionManagerComponent trying to set fall back faction 'CIV' but this faction could not be found so it is null instead. +05:24:38.761 WORLD : InitEntities 'world' +05:24:38.761 ENTITY : Init entity @"ENTITY:2305843009213693953" ('Rereintroduced', ERR_GameMode) at <1076.468018 51.000999 1325.246948> @"{978E045E53EF36C8}Prefabs/ERR/GameMode.et" +05:24:38.761 SCRIPT : ERR SMOKE: scripted integration test enabled; gameplay acceptance remains separate +05:24:38.762 WORLD : WORLD : NotifyEntitiesInitialized +05:24:38.762 TERRAIN : TERRAIN : Initializing road networks... +05:24:38.765 PROFILING : Initializing road networks... took: 2.795700 ms +05:24:38.765 DEFAULT : DEFAULT : WorldVolumesCollection +05:24:38.826 PROFILING : WorldVolumesCollection took: 61.189800 ms +05:24:38.826 INIT : INIT : SoundWorldInit +05:24:38.841 PROFILING : SoundWorldInit took: 14.606300 ms +05:24:38.841 PROFILING : NotifyEntitiesInitialized took: 78.858200 ms +05:24:38.841 PROFILING : CreateEntities took: 13421.885300 ms +05:24:38.841 PROFILING : CreateEntities took: 13422.045300 ms +05:24:38.842 WORLD : WORLD : Wait for preloading data around camera +05:24:38.842 PROFILING : Wait for preloading data around camera took: 0.001100 ms +05:24:38.842 WORLD : WORLD : EOnActivate +05:24:38.875 PROFILING : EOnActivate took: 33.252400 ms +05:24:38.875 PROFILING : Game::LoadEntities took: 13457.283800 ms +05:24:39.124 DEFAULT : Entered offline game state. +05:24:39.227 NETWORK : Player connected: connectionID=2147483646 +05:24:39.227 NETWORK : ### Connecting player: connectionID=2147483646, Name= +05:24:39.228 NETWORK : ### Creating player: PlayerId=1, Name=jakub +05:24:39.232 ENTITY : SpawnEntityPrefab @"{225E51284CC95CFA}Prefabs/Characters/Core/DefaultPlayerControllerMP.et" +05:24:39.232 ENTITY : Create entity @"ENTITY:4611686018427388381" ('SCR_PlayerController') at <0.000000 0.000000 0.000000> +05:24:39.233 ENTITY : EntityPrefabUse @"{225E51284CC95CFA}Prefabs/Characters/Core/DefaultPlayerControllerMP.et" +05:24:39.233 SCRIPT (W): Notification data in 'SCR_NotificationsLogDisplay' has duplicate notification info key: 'EDITOR_PERCEIVED_FACTION_PUNISHMENT_KILLING_SET'. There should only be one of each key! +05:24:39.233 SCRIPT (W): Notification data in 'SCR_NotificationsLogDisplay' has duplicate notification info key: 'EDITOR_PERCEIVED_FACTION_TYPE_DISABLED'. There should only be one of each key! +05:24:39.235 SCRIPT (W): Can't open config file "" +05:24:39.242 WORLD : InitEntities 'world' +05:24:39.242 ENTITY : Init entity @"ENTITY:4611686018427388381" ('SCR_PlayerController') at <0.000000 0.000000 0.000000> @"{225E51284CC95CFA}Prefabs/Characters/Core/DefaultPlayerControllerMP.et" +05:24:39.242 GUI : WidgetManager: CrateWidgets @"{3C9DCDD76AB83157}UI/layouts/HUD/HUDLayouts/HUDManager_Root.layout" +05:24:39.243 SCRIPT (W): Slot_WeaponInfo Has no Content! +05:24:39.243 SCRIPT (W): Slot_Chat Has no Content! +05:24:39.243 SCRIPT (W): Slot_VON Has no Content! +05:24:39.243 SCRIPT (W): Slot_AvailableActions Has no Content! +05:24:39.243 SCRIPT (W): Slot_Vehicle Has no Content! +05:24:39.243 SCRIPT (W): Slot_GameVersion Has no Content! +05:24:39.243 SCRIPT (W): Slot_Notifications Has no Content! +05:24:39.243 SCRIPT (W): Slot_Hints Has no Content! +05:24:39.259 NETWORK : ### Updating player: PlayerId=1, Name=jakub, rplIdentity=0xFFFFFFFE, IdentityId=00000000-0000-0000-0000-000000000000 +05:24:39.259 SCRIPT (W): Ban Settings could not be loaded from BE Storage: Relying on default config +05:24:39.259 NETWORK : Players connecting: 0 +05:24:39.259 NETWORK : Players connected: 1 / 1 +05:24:39.289 DEFAULT : Using autosave directory: C:/users/steamuser/AppData/Local/Temp/Arma Reforger Workbench/Projects/ERR_Chat/autosaves +05:24:39.290 PROFILING : Workbench startup took: 46731.077600 ms +05:24:39.315 WORLD : Frame start +05:24:39.315 SCRIPT : ScenarioFramework: Available tasks are empty, no new tasks will be generated. +05:24:39.330 WORLD : UpdateEntities +05:24:39.330 WORLD : Frame +05:24:39.330 SCRIPT : SCR_BaseGameMode::OnGameStateChanged = GAME +05:24:39.504 WORLD : UpdateEntities +05:24:39.504 WORLD : PostFrame +05:24:39.504 GUI : WidgetManager: CrateWidgets @"{D89BBA18F99053D6}UI/layouts/HUD/Chat/ChatHud.layout" +05:24:39.504 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +05:24:39.544 RESOURCES : GetResourceObject @"{20A6917D2114E29A}UI/layouts/HUD/Hint/HintInfoDisplay.layout" +05:24:39.545 GUI : Layout load @"{20A6917D2114E29A}UI/layouts/HUD/Hint/HintInfoDisplay.layout" +05:24:39.545 GUI : Widget prefab @"{EA1CC57D868E94F9}UI/layouts/HUD/Hint/Hint.layout" +05:24:39.545 GUI (W): Overridden prefab member (GUID: '{661AB14E0F471C66}' type: ButtonWidgetClass) no longer exists in prefab +05:24:39.682 RENDER : RENDER : ObjectsHeightMap::Build +05:24:39.682 RENDER : RENDER : MeshOccupancyGridManager::GenerateAllForWorld +05:24:39.876 PROFILING : MeshOccupancyGridManager::GenerateAllForWorld took: 193.981200 ms +05:24:39.883 PROFILING : ObjectsHeightMap::Build took: 201.285600 ms +05:24:41.050 SCRIPT : Rereintroduced [sites]: cache clearance position=<6086,211.538,7160> clear=1 +05:24:41.070 SCRIPT : Rereintroduced [sites]: authored everon-prison-1 at <6090,211.444,7160> +05:24:41.071 SCRIPT : Rereintroduced [sites]: cache clearance position=<6150,203.288,7050> clear=1 +05:24:41.113 SCRIPT : Rereintroduced [sites]: authored everon-supply-1 at <6150,203.288,7050> +05:24:41.116 SCRIPT : Rereintroduced [sites]: authored everon-radio-1 at <6500,159.756,7200> +05:24:41.179 SCRIPT : Rereintroduced [sites]: authored everon-extraction-1 at <7000,65.2562,7500> +05:24:41.179 SCRIPT : Rereintroduced [sites]: cache clearance position=<5960,220.256,7220> clear=1 +05:24:41.185 SCRIPT : Rereintroduced [sites]: transport parking=<5960,220.256,7212> radius=4 terrainRange=0.8125 obstructed=0 clear=1 +05:24:41.236 SCRIPT : Rereintroduced [sites]: authored everon-supply-2 at <5960,220.256,7220> +05:24:41.236 SCRIPT : Rereintroduced [sites]: cache clearance position=<6340,175.788,7400> clear=1 +05:24:41.238 SCRIPT : Rereintroduced [sites]: authored everon-medical-1 at <6340,175.788,7400> +05:24:41.239 SCRIPT : Rereintroduced [sites]: cache clearance position=<6740,140.6,7300> clear=1 +05:24:41.242 SCRIPT : Rereintroduced [sites]: cache clearance position=<6740,140.913,7296> clear=1 +05:24:41.243 SCRIPT : Rereintroduced [sites]: cache clearance position=<6736,140.975,7300> clear=1 +05:24:41.243 SCRIPT : Rereintroduced [sites]: cache clearance position=<6744,140.288,7300> clear=1 +05:24:41.244 SCRIPT : Rereintroduced [sites]: authored everon-outpost-1 at <6740,140.6,7300> +05:24:41.326 SCRIPT : Rereintroduced [sites]: 7 sites and 117 physical stock items ready +05:24:41.338 SCRIPT : Rereintroduced [time]: started at 14:00 with 1x progression +05:24:41.338 SCRIPT : Rereintroduced [mission]: phase 0 -> 1 +05:24:41.583 SCRIPT : INFO: Faction: player jakub (playerID = 1 | UUID = 00000000-0000-0000-0000-000000000000) has joined faction #AR-Faction_US (US) +05:24:41.664 SCRIPT : Rereintroduced [spawn]: player 1 at <6087,211.438,7157> +05:24:41.781 SCRIPT : ERR SMOKE PASS: new identity may enter prison +05:24:41.781 SCRIPT : ERR SMOKE PASS: spawn consumes identity life +05:24:41.781 SCRIPT : ERR SMOKE PASS: disconnect retains living actor and clears connection +05:24:41.782 SCRIPT : ERR SMOKE PASS: reconnected identity retains spent life +05:24:41.782 SCRIPT : ERR SMOKE PASS: duplicate active identity rejected +05:24:41.782 SCRIPT : ERR SMOKE PASS: recycled connection receives independent life and extraction admission policy +05:24:41.782 SCRIPT : ERR SMOKE PASS: base contracts catalog resolves hostile vanilla factions and successful preparation +05:24:41.782 SCRIPT : ERR SMOKE PASS: base contracts physical prisoner matches injected faction and resource +05:24:41.783 SCRIPT : ERR SMOKE PASS: base contracts physical guard squad comes from injected catalog +05:24:41.783 SCRIPT : ERR SMOKE PASS: base contracts same-side factions rejected +05:24:41.783 SCRIPT : ERR SMOKE PASS: base contracts unknown world faction rejected +05:24:41.783 SCRIPT : ERR SMOKE PASS: base contracts missing prisoner resource rejected +05:24:41.783 SCRIPT : ERR SMOKE PASS: base contracts isolated catalog restored without mutating live configuration +05:24:41.783 SCRIPT : ERR SMOKE PASS: base contracts unauthorized settings request rejected +05:24:41.783 SCRIPT : ERR SMOKE PASS: base contracts partially numeric input rejected without mutation +05:24:41.784 SCRIPT : ERR SMOKE PASS: base contracts out-of-range duration rejected without mutation +05:24:41.787 SCRIPT : ERR SMOKE PASS: base contracts normalized base command saves validated duration +05:24:41.787 SCRIPT : ERR SMOKE PASS: base contracts base command reads saved duration +05:24:41.787 SCRIPT : ERR SMOKE PASS: base contracts base settings listing available +05:24:41.787 SCRIPT : ERR SMOKE PASS: base contracts base mission status available before companions +05:24:41.791 SCRIPT : ERR SMOKE PASS: base contracts test setting restored +05:24:41.791 SCRIPT : ERR SMOKE PASS: companion command retained: hq interval show +05:24:41.791 SCRIPT : ERR SMOKE PASS: companion command retained: hq squads show +05:24:41.791 SCRIPT : ERR SMOKE PASS: companion command retained: hq radius show +05:24:41.791 SCRIPT : ERR SMOKE PASS: companion command retained: intel carrying show +05:24:41.791 SCRIPT : ERR SMOKE PASS: companion command retained: intel reveal show +05:24:41.791 SCRIPT : ERR SMOKE PASS: companion journal is behind Core admin authorization +05:24:41.792 SCRIPT : ERR SMOKE PASS: companion HQ status uses the shared command service +05:24:41.792 SCRIPT : ERR SMOKE PASS: initial prisoner position +05:24:41.792 SCRIPT : ERR SMOKE PASS: radio and extraction vehicle exist +05:24:41.792 SCRIPT : ERR SMOKE PASS: authored gate exposes lock action +05:24:41.792 SCRIPT : ERR GEOMETRY: gate low=<6089.98,211.436,7153.9> high=<6093.06,214.647,7154.1> +05:24:41.792 SCRIPT : ERR GEOMETRY: child origin=<6090,211.344,7154> low=<6089.98,211.436,7153.9> high=<6093.06,214.647,7154.1> +05:24:41.793 SCRIPT : ERR GEOMETRY: child origin=<6093,211.444,7154> low=<6093,210.641,7153.87> high=<6096,214.409,7154.13> +05:24:41.793 SCRIPT : ERR GEOMETRY: child origin=<6087,211.444,7154> low=<6087,210.641,7153.87> high=<6090,214.409,7154.13> +05:24:41.793 SCRIPT : ERR GEOMETRY: child origin=<6084,211.444,7154> low=<6084,210.641,7153.87> high=<6087,214.409,7154.13> +05:24:41.793 SCRIPT : ERR GEOMETRY: child origin=<6096,211.444,7163> low=<6095.87,210.641,7163> high=<6096.13,214.409,7166> +05:24:41.793 SCRIPT : ERR GEOMETRY: child origin=<6084,211.444,7163> low=<6083.87,210.641,7163> high=<6084.13,214.409,7166> +05:24:41.793 SCRIPT : ERR GEOMETRY: child origin=<6096,211.444,7160> low=<6095.87,210.641,7160> high=<6096.13,214.409,7163> +05:24:41.794 SCRIPT : ERR GEOMETRY: child origin=<6084,211.444,7160> low=<6083.87,210.641,7160> high=<6084.13,214.409,7163> +05:24:41.794 SCRIPT : ERR GEOMETRY: child origin=<6096,211.444,7157> low=<6095.87,210.641,7157> high=<6096.13,214.409,7160> +05:24:41.794 SCRIPT : ERR GEOMETRY: child origin=<6084,211.444,7157> low=<6083.87,210.641,7157> high=<6084.13,214.409,7160> +05:24:41.794 SCRIPT : ERR GEOMETRY: child origin=<6096,211.444,7154> low=<6095.87,210.641,7154> high=<6096.13,214.409,7157> +05:24:41.794 SCRIPT : ERR GEOMETRY: child origin=<6084,211.444,7154> low=<6083.87,210.641,7154> high=<6084.13,214.409,7157> +05:24:41.794 SCRIPT : ERR GEOMETRY: child origin=<6093,211.444,7166> low=<6093,210.641,7165.87> high=<6096,214.409,7166.13> +05:24:41.794 SCRIPT : ERR GEOMETRY: child origin=<6090,211.444,7166> low=<6090,210.641,7165.87> high=<6093,214.409,7166.13> +05:24:41.795 SCRIPT : ERR GEOMETRY: child origin=<6087,211.444,7166> low=<6087,210.641,7165.87> high=<6090,214.409,7166.13> +05:24:41.795 SCRIPT : ERR GEOMETRY: child origin=<6084,211.444,7166> low=<6084,210.641,7165.87> high=<6087,214.409,7166.13> +05:24:41.795 SCRIPT : ERR SMOKE PASS: lock permits prisoner +05:24:41.795 SCRIPT : Rereintroduced [mission]: phase 1 -> 2 +05:24:41.796 SCRIPT : ERR SMOKE PASS: lock action advances mission +05:24:41.797 SCRIPT : ERR SMOKE PASS: two guaranteed physical cache documents +05:24:41.799 SCRIPT : ERR SMOKE PASS: test does not rely on random intel +05:24:41.801 SCRIPT : ERR SMOKE PASS: isolated test profile defence duration +05:24:42.288 SCRIPT : ERR SMOKE PASS: authored cache document recovered into inventory +05:24:42.589 SCRIPT : Rereintroduced [intel]: player 1 recovered folder; location=everon-radio-1 knowledge=1 +05:24:43.815 RESOURCES : Screenshot saved to $logs:err-prison.png +05:24:44.807 SCRIPT : ERR SMOKE PASS: unlocked gate physically permits passage +05:24:44.807 SCRIPT : ERR SMOKE PASS: authored cache document recovered into inventory +05:24:45.615 SCRIPT : Rereintroduced [intel]: player 1 recovered folder; location=everon-radio-1 knowledge=2 +05:24:47.349 SCRIPT : ERR SMOKE PASS: carried intel identifies radio through intel service +05:24:47.349 SCRIPT : ERR SMOKE PASS: radio rejects distant player +05:24:48.364 SCRIPT : ERR SMOKE: radio=<6500,159.756,7200> player=<6502,159.53,7200> +05:24:48.364 SCRIPT : Rereintroduced [mission]: phase 2 -> 3 +05:24:48.365 SCRIPT : ERR SMOKE PASS: identified radio starts defence +05:24:51.402 SCRIPT : ERR SMOKE PASS: occupied defence timer running +05:24:53.926 SCRIPT : ERR SMOKE PASS: leaving area resets defence +05:25:24.849 SCRIPT : Rereintroduced [mission]: phase 3 -> 4 +05:25:27.262 SCRIPT : ERR SMOKE PASS: continuous occupied defence completes +05:25:27.262 SCRIPT : ERR SMOKE PASS: boarding extraction vehicle +05:25:30.314 SCRIPT : ERR SMOKE PASS: physical extraction occupancy +05:25:30.885 SCRIPT : Rereintroduced [mission]: phase 4 -> 5 +05:25:30.886 SCRIPT : ERR SMOKE PASS: scripted escape reaches victory after physical vehicle occupancy +05:25:30.886 SCRIPT : ERR SMOKE COMPLETE: terminal=5 lostHelicopterCase=0 playerDeathCase=0 +05:25:31.001 SCRIPT : SCR_BaseGameMode::OnGameStateChanged = POSTGAME +05:25:31.004 GUI : WidgetManager: CrateWidgets @"{144919871D65F121}UI/layouts/HUD/GameOver/EndScreen/EndScreen.layout" +05:25:31.005 SCRIPT (W): Slot_Chat Has no Content! +05:25:31.005 SCRIPT (W): Slot_VON Has no Content! +05:25:31.005 SCRIPT (W): Slot_GameVersion Has no Content! +05:25:31.005 SCRIPT (W): Slot_Notifications Has no Content! +05:25:33.074 SCRIPT : ERR RESULT UI: player=1 title=You escaped Everon +05:25:33.075 SCRIPT (W): SCR_ScriptedWidgetComponent.GetComponent: widget not found: SCR_InputButtonComponent Back +05:25:33.075 SCRIPT : -- Stack trace -- +05:25:33.075 SCRIPT : GetComponent() Scripts/Game/UI/Components/WidgetLibrary/SCR_ScriptedWidgetComponent.c : 43 +05:25:33.075 SCRIPT : GetInputButtonComponent() Scripts/Game/UI/Components/WidgetLibrary/SCR_InputButton/SCR_InputButtonComponent.c : 1214 +05:25:33.075 SCRIPT : OnMenuOpen() Scripts/Game/UI/GameOverScreen/SCR_GameOverScreenInput.c : 15 +05:25:33.075 SCRIPT : OpenGameOverScreen() Scripts/Game/GameOverScreen/SCR_GameOverScreenManagerComponent.c : 447 +05:25:33.075 SCRIPT : ShowGameOverScreen() Scripts/Game/GameOverScreen/SCR_GameOverScreenManagerComponent.c : 177 +05:25:33.075 SCRIPT : OnUpdate() Scripts/Game/game.c : 885 +05:25:33.076 SCRIPT : ----------------- +05:25:33.076 SCRIPT (W): SCR_ScriptedWidgetComponent.GetComponent: widget not found: SCR_InputButtonComponent ChatButton +05:25:33.076 SCRIPT : -- Stack trace -- +05:25:33.076 SCRIPT : GetComponent() Scripts/Game/UI/Components/WidgetLibrary/SCR_ScriptedWidgetComponent.c : 43 +05:25:33.076 SCRIPT : GetInputButtonComponent() Scripts/Game/UI/Components/WidgetLibrary/SCR_InputButton/SCR_InputButtonComponent.c : 1214 +05:25:33.076 SCRIPT : OnMenuOpen() Scripts/Game/UI/GameOverScreen/SCR_GameOverScreenInput.c : 21 +05:25:33.076 SCRIPT : OpenGameOverScreen() Scripts/Game/GameOverScreen/SCR_GameOverScreenManagerComponent.c : 447 +05:25:33.077 SCRIPT : ShowGameOverScreen() Scripts/Game/GameOverScreen/SCR_GameOverScreenManagerComponent.c : 177 +05:25:33.077 SCRIPT : OnUpdate() Scripts/Game/game.c : 885 +05:25:33.077 SCRIPT : ----------------- +05:25:33.079 GUI : WidgetManager: CrateWidgets @"{144919871D65F121}UI/layouts/HUD/GameOver/EndScreen/EndScreen.layout" +05:25:33.079 SCRIPT (W): Slot_Chat Has no Content! +05:25:33.079 SCRIPT (W): Slot_VON Has no Content! +05:25:33.079 SCRIPT (W): Slot_GameVersion Has no Content! +05:25:33.079 SCRIPT (W): Slot_Notifications Has no Content! +05:25:33.081 SCRIPT : ERR RESULT UI: player=1 title=You escaped Everon +05:25:34.958 RESOURCES : Screenshot saved to $logs:err-result.png diff --git a/docs/evidence/native-2026-09-19-052352/err-prison.png b/docs/evidence/native-2026-09-19-052352/err-prison.png new file mode 100644 index 0000000000000000000000000000000000000000..a7b68932b6c19c39d340f7218bc754fc9de6d599 GIT binary patch literal 153563 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�wUhIG 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

2bN?=9e4jvN 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 z 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

+j`VxG11DW; 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 literal 0 HcmV?d00001 diff --git a/docs/evidence/native-2026-09-19-052352/error.log.txt b/docs/evidence/native-2026-09-19-052352/error.log.txt new file mode 100644 index 0000000..1d2024e --- /dev/null +++ b/docs/evidence/native-2026-09-19-052352/error.log.txt @@ -0,0 +1,135 @@ +--------------------------------------------- +Log Z:\tmp\erri-workbench-profile\logs\logs_2026-09-19_05-23-52\error.log started at 2026-09-19 05:23:54 (2026-09-19 03:23:54 UTC) + +05:23:54.332 INIT : Workbench startup +05:23:54.332 INIT : Workbench Init Engine +05:23:54.332 RESOURCES : ResourceDB: full scan +05:23:54.332 RESOURCES : processing files... +05:23:54.332 RESOURCES (W): resource not registered: @"$profile:rereintroduced.json". Setting null GUID +05:23:54.332 RESOURCES (W): resource not registered: @"$logs:launch-source-sha256.json". Setting null GUID +05:23:54.332 RESOURCES (W): resource not registered: @"$logs:launch-source.json". Setting null GUID +05:23:59.223 INIT : Workbench Create Game +05:23:59.223 SCRIPT : Compiling Game scripts +05:23:59.223 SCRIPT (W): @"Scripts/Game/Editor/Components/EditableEntity/SCR_EditableEntityComponent.c,785": 'GetPlayerPlatformKind' is obsolete +05:23:59.223 SCRIPT (W): @"Scripts/Game/Editor/Components/EditableEntity/SCR_EditableEntityComponent.c,786": 'GetPlayerPlatformId' is obsolete +05:23:59.496 SCRIPT (W): @"Scripts/Game/ERR/ERR_SiteService.c,140": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +05:23:59.508 SCRIPT (W): @"Scripts/Game/Workshop/SCR_AddonManager.c,876": 'GetRefCount' is obsolete: Will be removed +05:23:59.544 SCRIPT (W): @"Scripts/Game/Campaign/SCR_PlayerProfileManagerComponent.c,142": 'PlayerData' is obsolete +05:23:59.650 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,159": 'GetDSSession' is obsolete +05:23:59.650 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,162": 'RoomID' is obsolete +05:23:59.650 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,197": 'GetDSSession' is obsolete +05:23:59.650 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,201": 'RoomID' is obsolete +05:23:59.749 SCRIPT (W): @"Scripts/Game/DataCollection/SCR_DataCollectorComponent.c,481": 'GetStorage' is obsolete +05:23:59.749 SCRIPT (W): @"Scripts/Game/DataCollection/SCR_DataCollectorComponent.c,483": 'GetOnlineWritePrivilege' is obsolete +05:23:59.750 SCRIPT (W): @"Scripts/Game/Utilities/SCR_PlayerIdentityUtils.c,20": 'GetPlayerIdentityId' is obsolete +05:23:59.795 SCRIPT (W): @"Scripts/Game/ERR/ERR_ExtractionService.c,45": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +05:23:59.795 SCRIPT (W): @"Scripts/Game/ERR/ERR_ExtractionService.c,56": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +05:23:59.797 SCRIPT (W): @"Scripts/Game/UI/Menu/MainMenuUI.c,643": 'GetNotifyCount' is obsolete: Will be substitued by Notification Api. +05:23:59.797 SCRIPT (W): @"Scripts/Game/UI/Menu/MainMenuUI.c,645": 'GetNotifyItem' is obsolete: Will be substitued by Notification Api. +05:23:59.820 SCRIPT (W): @"Scripts/Game/ERR/ERR_NativeTransportProbe.c,82": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +05:23:59.854 SCRIPT (W): @"Scripts/Game/DataCollection/PlayerData/SCR_PlayerData.c,210": 'PlayerData' is obsolete +05:24:08.956 WORLD : CreateEntities +05:24:08.956 ENTITY : Create entity @"ENTITY:610406" ('StaticModelEntity','Assets/Structures/Infrastructure/Towers/TransmitterTower_01/TransmitterTower_01_small.xob') at <1931.796021 81.777000 5138.725098> @"{6A004A8F0571D456}Prefabs/Structures/Infrastructure/Towers/TransmitterTower_01/TransmitterTower_01_small.et" +05:24:08.956 ENTITY : CreateComponent 'ScriptedRadioComponent' +05:24:08.956 DEFAULT (W): World doesn't contain RadioManagerEntity to support any BaseRadioComponent. +05:24:25.169 DEFAULT (W): LogiLED: Cannot initialize! (service not running or no compatible device detected) +05:24:29.923 WORLD : Game::LoadEntities +05:24:29.923 WORLD : CreateEntities +05:24:29.923 WORLD : CreateEntities +05:24:29.923 ENTITY : Create entity @"ENTITY:610406" ('StaticModelEntity','Assets/Structures/Infrastructure/Towers/TransmitterTower_01/TransmitterTower_01_small.xob') at <1931.796021 81.777000 5138.725098> @"{6A004A8F0571D456}Prefabs/Structures/Infrastructure/Towers/TransmitterTower_01/TransmitterTower_01_small.et" +05:24:29.923 ENTITY : CreateComponent 'ScriptedRadioComponent' +05:24:29.923 DEFAULT (W): World doesn't contain RadioManagerEntity to support any BaseRadioComponent. +05:24:31.408 ENTITY : Create entity @"ENTITY:842066" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1080.213013 10.776751 6018.347168> +05:24:31.408 ENTITY : CreateComponent 'Hierarchy' +05:24:31.408 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842066" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1080.213013 10.776751 6018.347168>') +05:24:31.408 ENTITY : Create entity @"ENTITY:842068" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1082.185913 10.778749 6018.331055> +05:24:31.408 ENTITY : CreateComponent 'Hierarchy' +05:24:31.408 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842068" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1082.185913 10.778749 6018.331055>') +05:24:31.408 ENTITY : Create entity @"ENTITY:842070" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1084.190918 10.790751 6018.334961> +05:24:31.408 ENTITY : CreateComponent 'Hierarchy' +05:24:31.408 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842070" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1084.190918 10.790751 6018.334961>') +05:24:31.413 ENTITY : Create entity @"ENTITY:842333" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4425.594727 9.981750 11029.402344> +05:24:31.413 ENTITY : CreateComponent 'Hierarchy' +05:24:31.413 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842333" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4425.594727 9.981750 11029.402344>') +05:24:31.413 ENTITY : Create entity @"ENTITY:842335" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4426.584473 9.983749 11031.109375> +05:24:31.413 ENTITY : CreateComponent 'Hierarchy' +05:24:31.413 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842335" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4426.584473 9.983749 11031.109375>') +05:24:31.413 ENTITY : Create entity @"ENTITY:842337" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4427.572266 9.995750 11032.853516> +05:24:31.413 ENTITY : CreateComponent 'Hierarchy' +05:24:31.413 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842337" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4427.572266 9.995750 11032.853516>') +05:24:31.417 ENTITY : Create entity @"ENTITY:842591" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.946289 10.470250 1551.986084> +05:24:31.417 ENTITY : CreateComponent 'Hierarchy' +05:24:31.417 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842591" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.946289 10.470250 1551.986084>') +05:24:31.417 ENTITY : Create entity @"ENTITY:842593" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.430664 10.472250 1550.081421> +05:24:31.417 ENTITY : CreateComponent 'Hierarchy' +05:24:31.417 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842593" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.430664 10.472250 1550.081421>') +05:24:31.418 ENTITY : Create entity @"ENTITY:842595" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10008.926758 10.484250 1548.140869> +05:24:31.418 ENTITY : CreateComponent 'Hierarchy' +05:24:31.418 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842595" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10008.926758 10.484250 1548.140869>') +05:24:36.406 ENTITY : Create entity @"ENTITY:2305843009213693956" ('Factions', SCR_FactionManager) at <0.000000 0.000000 0.000000> @"{589540B35EBA8CDC}Prefabs/MP/Managers/Factions/FactionManager_USxUSSR.et" +05:24:36.406 RESOURCES : GetResourceObject @"{5168FEA3054D6D15}Prefabs/Vehicles/Wheeled/M151A2/M151A2_M2HB_MERDC.et" +05:24:36.406 WORLD : Entity prefab load @"{5168FEA3054D6D15}Prefabs/Vehicles/Wheeled/M151A2/M151A2_M2HB_MERDC.et" +05:24:36.406 RESOURCES : GetResourceObject @"{F6B23D17D5067C11}Prefabs/Vehicles/Wheeled/M151A2/M151A2_M2HB.et" +05:24:36.406 WORLD : Entity prefab load @"{F6B23D17D5067C11}Prefabs/Vehicles/Wheeled/M151A2/M151A2_M2HB.et" +05:24:36.406 RESOURCES : GetResourceObject @"{F649585ABB3706C4}Prefabs/Vehicles/Wheeled/M151A2/M151A2.et" +05:24:36.406 WORLD : Entity prefab load @"{F649585ABB3706C4}Prefabs/Vehicles/Wheeled/M151A2/M151A2.et" +05:24:36.406 WORLD (E): Unknown keyword/data 'SlidingTrackMaterial' at offset 19441(0x4bf1) +05:24:36.447 RESOURCES : GetResourceObject @"{F7B9B434FCFF00B3}Prefabs/Vehicles/Wheeled/Conflict_Variants/BRDM2_Conflict.et" +05:24:36.447 WORLD : Entity prefab load @"{F7B9B434FCFF00B3}Prefabs/Vehicles/Wheeled/Conflict_Variants/BRDM2_Conflict.et" +05:24:36.447 RESOURCES : GetResourceObject @"{254289B9C09904AB}Prefabs/Vehicles/Wheeled/BRDM2/BRDM2.et" +05:24:36.447 WORLD : Entity prefab load @"{254289B9C09904AB}Prefabs/Vehicles/Wheeled/BRDM2/BRDM2.et" +05:24:36.447 RESOURCES : GetResourceObject @"{532B5F3CF8496E59}Prefabs/Vehicles/Wheeled/BRDM2/BRDM2_base.et" +05:24:36.447 WORLD : Entity prefab load @"{532B5F3CF8496E59}Prefabs/Vehicles/Wheeled/BRDM2/BRDM2_base.et" +05:24:36.447 WORLD (E): Unknown keyword/data 'Parent' at offset 35955(0x8c73) +05:24:36.447 WORLD (E): Unknown keyword/data 'Parent' at offset 36915(0x9033) +05:24:36.448 RESOURCES : GetResourceObject @"{BD75A18920BD1278}Prefabs/Vehicles/Wheeled/Conflict_Variants/BTR70_Conflict.et" +05:24:36.448 WORLD : Entity prefab load @"{BD75A18920BD1278}Prefabs/Vehicles/Wheeled/Conflict_Variants/BTR70_Conflict.et" +05:24:36.448 RESOURCES : GetResourceObject @"{C012BB3488BEA0C2}Prefabs/Vehicles/Wheeled/BTR70/BTR70.et" +05:24:36.448 WORLD : Entity prefab load @"{C012BB3488BEA0C2}Prefabs/Vehicles/Wheeled/BTR70/BTR70.et" +05:24:36.448 RESOURCES : GetResourceObject @"{1C5FE7B7FF49BB8D}Prefabs/Vehicles/Wheeled/BTR70/BTR70_Base.et" +05:24:36.448 WORLD : Entity prefab load @"{1C5FE7B7FF49BB8D}Prefabs/Vehicles/Wheeled/BTR70/BTR70_Base.et" +05:24:36.448 WORLD (E): Unknown keyword/data 'Parent' at offset 42646(0xa696) +05:24:36.448 WORLD (E): Unknown keyword/data 'Parent' at offset 43645(0xaa7d) +05:24:36.448 WORLD (E): Unknown keyword/data 'Parent' at offset 44617(0xae49) +05:24:36.448 WORLD (E): Unknown keyword/data 'Parent' at offset 45590(0xb216) +05:24:38.733 WORLD : InitEntities 'world' +05:24:38.733 ENTITY : Init entity @"ENTITY:2305843009213693953" ('Rereintroduced', ERR_GameMode) at <1076.468018 51.000999 1325.246948> @"{978E045E53EF36C8}Prefabs/ERR/GameMode.et" +05:24:38.733 SCRIPT (W): SCR_PerceivedFactionManagerComponent trying to set fall back faction 'CIV' but this faction could not be found so it is null instead. +05:24:39.232 ENTITY : SpawnEntityPrefab @"{225E51284CC95CFA}Prefabs/Characters/Core/DefaultPlayerControllerMP.et" +05:24:39.232 ENTITY : Create entity @"ENTITY:4611686018427388381" ('SCR_PlayerController') at <0.000000 0.000000 0.000000> +05:24:39.233 ENTITY : EntityPrefabUse @"{225E51284CC95CFA}Prefabs/Characters/Core/DefaultPlayerControllerMP.et" +05:24:39.233 SCRIPT (W): Notification data in 'SCR_NotificationsLogDisplay' has duplicate notification info key: 'EDITOR_PERCEIVED_FACTION_PUNISHMENT_KILLING_SET'. There should only be one of each key! +05:24:39.233 SCRIPT (W): Notification data in 'SCR_NotificationsLogDisplay' has duplicate notification info key: 'EDITOR_PERCEIVED_FACTION_TYPE_DISABLED'. There should only be one of each key! +05:24:39.235 SCRIPT (W): Can't open config file "" +05:24:39.242 WORLD : InitEntities 'world' +05:24:39.242 ENTITY : Init entity @"ENTITY:4611686018427388381" ('SCR_PlayerController') at <0.000000 0.000000 0.000000> @"{225E51284CC95CFA}Prefabs/Characters/Core/DefaultPlayerControllerMP.et" +05:24:39.242 GUI : WidgetManager: CrateWidgets @"{3C9DCDD76AB83157}UI/layouts/HUD/HUDLayouts/HUDManager_Root.layout" +05:24:39.243 SCRIPT (W): Slot_WeaponInfo Has no Content! +05:24:39.243 SCRIPT (W): Slot_Chat Has no Content! +05:24:39.243 SCRIPT (W): Slot_VON Has no Content! +05:24:39.243 SCRIPT (W): Slot_AvailableActions Has no Content! +05:24:39.243 SCRIPT (W): Slot_Vehicle Has no Content! +05:24:39.243 SCRIPT (W): Slot_GameVersion Has no Content! +05:24:39.243 SCRIPT (W): Slot_Notifications Has no Content! +05:24:39.243 SCRIPT (W): Slot_Hints Has no Content! +05:24:39.259 SCRIPT (W): Ban Settings could not be loaded from BE Storage: Relying on default config +05:24:39.504 WORLD : UpdateEntities +05:24:39.504 WORLD : PostFrame +05:24:39.504 GUI : WidgetManager: CrateWidgets @"{D89BBA18F99053D6}UI/layouts/HUD/Chat/ChatHud.layout" +05:24:39.504 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +05:24:39.544 RESOURCES : GetResourceObject @"{20A6917D2114E29A}UI/layouts/HUD/Hint/HintInfoDisplay.layout" +05:24:39.545 GUI : Layout load @"{20A6917D2114E29A}UI/layouts/HUD/Hint/HintInfoDisplay.layout" +05:24:39.545 GUI : Widget prefab @"{EA1CC57D868E94F9}UI/layouts/HUD/Hint/Hint.layout" +05:24:39.545 GUI (W): Overridden prefab member (GUID: '{661AB14E0F471C66}' type: ButtonWidgetClass) no longer exists in prefab +05:25:31.004 GUI : WidgetManager: CrateWidgets @"{144919871D65F121}UI/layouts/HUD/GameOver/EndScreen/EndScreen.layout" +05:25:31.005 SCRIPT (W): Slot_Chat Has no Content! +05:25:31.005 SCRIPT (W): Slot_VON Has no Content! +05:25:31.005 SCRIPT (W): Slot_GameVersion Has no Content! +05:25:31.005 SCRIPT (W): Slot_Notifications Has no Content! +05:25:33.075 SCRIPT (W): SCR_ScriptedWidgetComponent.GetComponent: widget not found: SCR_InputButtonComponent Back +05:25:33.076 SCRIPT (W): SCR_ScriptedWidgetComponent.GetComponent: widget not found: SCR_InputButtonComponent ChatButton +05:25:33.078 GUI : WidgetManager: CrateWidgets @"{144919871D65F121}UI/layouts/HUD/GameOver/EndScreen/EndScreen.layout" +05:25:33.079 SCRIPT (W): Slot_Chat Has no Content! +05:25:33.079 SCRIPT (W): Slot_VON Has no Content! +05:25:33.079 SCRIPT (W): Slot_GameVersion Has no Content! +05:25:33.079 SCRIPT (W): Slot_Notifications Has no Content! diff --git a/docs/evidence/native-2026-09-19-052352/headless-launch.log.txt b/docs/evidence/native-2026-09-19-052352/headless-launch.log.txt new file mode 100644 index 0000000..75ae1a8 --- /dev/null +++ b/docs/evidence/native-2026-09-19-052352/headless-launch.log.txt @@ -0,0 +1,150 @@ +[gamescope] [Info] console: gamescope version 3.16.28 (gcc 16.2.1) +No CAP_SYS_NICE, falling back to regular-priority compute and threads. +Performance will be affected. +[gamescope] [Info] scriptmgr: Loading scripts from: '/usr/share/gamescope/scripts' +[gamescope] [Info] scriptmgr: Loading scripts from: '/usr/share/gamescope/scripts/00-gamescope' +[gamescope] [Info] scriptmgr: Loading scripts from: '/usr/share/gamescope/scripts/00-gamescope/common' +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/common/inspect.lua' (id: 0) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/common/modegen.lua' (id: 1) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/common/util.lua' (id: 2) +[gamescope] [Info] scriptmgr: Loading scripts from: '/usr/share/gamescope/scripts/00-gamescope/displays' +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/asus.rogally.lcd.lua' (id: 3) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/deckhd.steamdeck.deckhd-lcd.lua' (id: 4) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/gpd.win4.lcd.lua' (id: 5) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/lenovo.legiongo.lcd.lua' (id: 6) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/lenovo.legiongos.lcd.lua' (id: 7) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/onexplayer.f1.oled.lua' (id: 8) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/valve.steamdeck.lcd.lua' (id: 9) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/valve.steamdeck.oled.lua' (id: 10) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/zotac.zone.oled.lua' (id: 11) +[gamescope] [Info] scriptmgr: Loading scripts from: '/etc/gamescope/scripts' +[gamescope] [Warn] scriptmgr: Directory '/etc/gamescope/scripts' does not exist +[gamescope] [Info] scriptmgr: Loading scripts from: '/home/jakub/.config/gamescope/scripts' +[gamescope] [Warn] scriptmgr: Directory '/home/jakub/.config/gamescope/scripts' does not exist +[gamescope] [Info] vulkan: selecting physical device 'AMD Radeon RX 6950 XT (RADV NAVI21)': queue family 1 (general queue family 0) +[gamescope] [Info] vulkan: physical device supports DRM format modifiers +[gamescope] [Info] wlserver: [backend/headless/backend.c:60] Creating headless backend +[gamescope] [Info] vulkan: supported DRM formats for sampling usage: +[gamescope] [Info] vulkan: AR24 (0x34325241) +[gamescope] [Info] vulkan: XR24 (0x34325258) +[gamescope] [Info] vulkan: AB24 (0x34324241) +[gamescope] [Info] vulkan: XB24 (0x34324258) +[gamescope] [Info] vulkan: RG16 (0x36314752) +[gamescope] [Info] vulkan: NV12 (0x3231564E) +[gamescope] [Info] vulkan: AB4H (0x48344241) +[gamescope] [Info] vulkan: XB4H (0x48344258) +[gamescope] [Info] vulkan: AB48 (0x38344241) +[gamescope] [Info] vulkan: XB48 (0x38344258) +[gamescope] [Info] vulkan: AB30 (0x30334241) +[gamescope] [Info] vulkan: XB30 (0x30334258) +[gamescope] [Info] vulkan: AR30 (0x30335241) +[gamescope] [Info] vulkan: XR30 (0x30335258) +[gamescope] [Info] wlserver: Using explicit sync when available +[gamescope] [Info] wlserver: Running compositor on wayland display 'gamescope-0' +[gamescope] [Info] wlserver: [backend/headless/backend.c:17] Starting headless backend +[gamescope] [Info] wlserver: Successfully initialized libei for input emulation! +[gamescope] [Error] wlserver: [xwayland/sockets.c:47] Failed to bind socket @/tmp/.X11-unix/X0: Address already in use +[gamescope] [Info] wlserver: [xwayland/server.c:108] Starting Xwayland on :2 +The XKEYBOARD keymap compiler (xkbcomp) reports: +> Warning: Multiple symbols for level 1/group 1 on key +> Using F23, ignoring XF86TouchpadOff +> Warning: Symbol map for key redefined +> Using last definition for conflicting fields +> Warning: Symbol map for key redefined +> Using last definition for conflicting fields +> Warning: Could not resolve keysym XF86ElectronicPrivacyScreenOn +> Warning: Could not resolve keysym XF86ElectronicPrivacyScreenOff +> Warning: Could not resolve keysym XF86ActionOnSelection +> Warning: Could not resolve keysym XF86ContextualInsert +> Warning: Could not resolve keysym XF86ContextualQuery +Errors from xkbcomp are not fatal to the X server +[gamescope] [Info] pipewire: stream state changed: connecting +[gamescope] [Info] pipewire: stream state changed: paused +[gamescope] [Info] pipewire: stream available on node ID: 173 +[gamescope] [Info] vblank: Using timerfd. +fsync: up and running. +[Gamescope WSI] No application info given. +[Gamescope WSI] Executable name: explorer.exe +ATTENTION: default value of option vk_wsi_force_swapchain_to_current_extent overridden by environment. +[Gamescope WSI] Application info: + pApplicationName: xalia.exe + applicationVersion: 0 + pEngineName: DXVK + engineVersion: 12587008 + apiVersion: 4206592 +[Gamescope WSI] Executable name: xalia.exe +ATTENTION: default value of option vk_wsi_force_swapchain_to_current_extent overridden by environment. +[Gamescope WSI] No application info given. +[Gamescope WSI] Application info: + pApplicationName: ArmaReforgerWorkbenchSteamDiag.exe + applicationVersion: 1 + pEngineName: DXVK + engineVersion: 12587008 + apiVersion: 4206592 +[Gamescope WSI] Executable name: ArmaReforgerWorkbenchSteamDiag.exe +ATTENTION: default value of option vk_wsi_force_swapchain_to_current_extent overridden by environment. +[Gamescope WSI] No application info given. +The XKEYBOARD keymap compiler (xkbcomp) reports: +> Warning: Unsupported maximum keycode 709, clipping. +> X11 cannot support keycodes above 255. +> Warning: Virtual modifier Hyper multiply defined +> Using 0, ignoring 0 +> Warning: Virtual modifier ScrollLock multiply defined +> Using 0, ignoring 0 +Errors from xkbcomp are not fatal to the X server +ATTENTION: default value of option vk_wsi_force_swapchain_to_current_extent overridden by environment. +[Gamescope WSI] Application info: + pApplicationName: ArmaReforgerWorkbenchSteamDiag.exe + applicationVersion: 0 + pEngineName: DXVK + engineVersion: 12587008 + apiVersion: 4206592 +ATTENTION: default value of option vk_wsi_force_swapchain_to_current_extent overridden by environment. +[Gamescope WSI] Application info: + pApplicationName: ArmaReforgerWorkbenchSteamDiag.exe + applicationVersion: 0 + pEngineName: vkd3d + engineVersion: 12587008 + apiVersion: 4206592 +[Gamescope WSI] Forcing on VK_EXT_swapchain_maintenance1. +ATTENTION: default value of option vk_wsi_force_swapchain_to_current_extent overridden by environment. +[Gamescope WSI] No application info given. +ATTENTION: default value of option vk_wsi_force_swapchain_to_current_extent overridden by environment. +[Gamescope WSI] Application info: + pApplicationName: ArmaReforgerWorkbenchSteamDiag.exe + applicationVersion: 0 + pEngineName: vkd3d + engineVersion: 12587008 + apiVersion: 4206592 +[Gamescope WSI] Forcing on VK_EXT_swapchain_maintenance1. +[Gamescope WSI] Creating Gamescope surface: xid: 0x1a001a4 +[Gamescope WSI] Atom of T was wrong type. Expected XCB_ATOM_CARDINAL. +[Gamescope WSI] Made gamescope surface for xid: 0x1a001a4 +[Gamescope WSI] Surface state: + steam app id: 1874910 + window xid: 0x1a001a4 + wayland surface res id: 5 + layer client flags: 0x4 + server hdr output enabled: false + hdr formats exposed to client: false +[Gamescope WSI] Creating Gamescope surface: xid: 0x1a003a4 +[Gamescope WSI] Atom of T was wrong type. Expected XCB_ATOM_CARDINAL. +[Gamescope WSI] Made gamescope surface for xid: 0x1a003a4 +[Gamescope WSI] Surface state: + steam app id: 1874910 + window xid: 0x1a003a4 + wayland surface res id: 10 + layer client flags: 0x4 + server hdr output enabled: false + hdr formats exposed to client: false +[Gamescope WSI] Creating swapchain for xid: 0x1a003a4 - oldSwapchain: (nil) - provided minImageCount: 3 - minImageCount: 3 - format: VK_FORMAT_B8G8R8A8_UNORM - colorspace: VK_COLOR_SPACE_SRGB_NONLINEAR_KHR - flip: false +[Gamescope WSI] Created swapchain for xid: 0x1a003a4 swapchain: 0x55558deaef60 - imageCount: 4 +[Gamescope WSI] Destroying swapchain: 0x55558deaef60 +[Gamescope WSI] Destroyed swapchain: 0x55558deaef60 +[Gamescope WSI] Creating swapchain for xid: 0x1a003a4 - oldSwapchain: (nil) - provided minImageCount: 3 - minImageCount: 3 - format: VK_FORMAT_B8G8R8A8_UNORM - colorspace: VK_COLOR_SPACE_SRGB_NONLINEAR_KHR - flip: false +[Gamescope WSI] Created swapchain for xid: 0x1a003a4 swapchain: 0x55558deaef60 - imageCount: 4 +[Gamescope WSI] Destroying swapchain: 0x55558deaef60 +[Gamescope WSI] Destroyed swapchain: 0x55558deaef60 +[Gamescope WSI] Creating swapchain for xid: 0x1a003a4 - oldSwapchain: (nil) - provided minImageCount: 3 - minImageCount: 3 - format: VK_FORMAT_B8G8R8A8_UNORM - colorspace: VK_COLOR_SPACE_SRGB_NONLINEAR_KHR - flip: false +[Gamescope WSI] Created swapchain for xid: 0x1a003a4 swapchain: 0x55558dee1c50 - imageCount: 4 +[gamescope] [Info] launch: Primary child shut down! diff --git a/docs/evidence/native-2026-09-19-052352/launch-source-sha256.json b/docs/evidence/native-2026-09-19-052352/launch-source-sha256.json new file mode 100644 index 0000000..1a5ef01 --- /dev/null +++ b/docs/evidence/native-2026-09-19-052352/launch-source-sha256.json @@ -0,0 +1,118 @@ +{ + "addons/ai/Prefabs/ERR/MortarCrew.et": "05d3e7353ff9fe5523218a1487b31b7b742b0be8adbcb060c7099978cf008bce", + "addons/ai/Prefabs/ERR/MortarCrew.et.meta": "fdfd4fcd21a67c3d698fa4aadc4e5c76e665cebf4be86013bc389e493fab63cc", + "addons/ai/Scripts/Game/ERR/ERR_HQ.c": "ceafd6740ed277748744ce56ac0f0bb3a8521fcc060dafb2cdb99896aedf405a", + "addons/ai/Scripts/Game/ERR/ERR_HQJournal.c": "b3e402cfe92d415f37f666045afb062e6e11670ba03a0ca6f2d9fd4fc3520ac1", + "addons/ai/Scripts/Game/ERR/ERR_HQNetwork.c": "92ff2caca52e94c2cc9642dfc8509ce6e9349b257012bade8650bace9231128c", + "addons/ai/Scripts/Game/ERR/ERR_HQObservation.c": "36c978ec5f052213ac1236e1398d85063efbfd7ef60fe04f1fc11447fefe1d68", + "addons/ai/Scripts/Game/ERR/ERR_HQReport.c": "c4d16ccb571db4d9444c0a8d2be7318845d25ff90238b6d304e96a9ea19f1a08", + "addons/ai/Scripts/Game/ERR/ERR_HelicopterAvailability.c": "60eaef2f6d4b2fd44861c5a4434ef97e732e40a5ff7401e2da451ed2dd9c2762", + "addons/ai/Scripts/Game/ERR/ERR_MortarBattery.c": "66b8f16b692a0f75fc9d920f5224d9292a0f1dc7dd8b2dde912e676fa80ddc9c", + "addons/ai/Scripts/Game/ERR/ERR_MortarFiring.c": "657e96d1112b68c8ced37793e99f88e6078b38a579190e63d00b1f9a9a032e26", + "addons/ai/Scripts/Game/ERR/ERR_MortarPrediction.c": "470dd196ed64800c697d24c09d1344bacd2502587fac76af4ee0edae2563092d", + "addons/ai/Scripts/Game/ERR/ERR_MortarSalvo.c": "697c01f479df6c505a41d984a29c02002e3052114dafa2ec6252ae55e2979a2b", + "addons/ai/Scripts/Game/ERR/ERR_MortarSystem.c": "12d8fc39d47e03c3838e0642aa9e4a80baf60f250357493bff812d5c75812c86", + "addons/ai/Scripts/Game/ERR/ERR_SettlementSafety.c": "e5c0ebc95521a9a33a3f7d9cca6c551dda862a08b7af20b017877aba9584795b", + "addons/ai/Scripts/Game/ERR/ERR_SupportScenario.c": "71757018ec9716c4dc24f62a292a214919d3fd5daed3c16e03e56abd208e9f03", + "addons/ai/addon.gproj": "5f559db8f526700db11e6ae763f5245f19b7006fc68c56e4c09fb6f940bdf2a1", + "addons/chat/Missions/ERR_Everon.conf": "76f3ac0d21b585654beac7ddd68e3c8cbdd66dbfe909b17b04838fa813a7c29b", + "addons/chat/Missions/ERR_Everon.conf.meta": "0a23c98bf83873536c65fa17d38dea33a1d7b9e4ab210f90633ff688abcc551f", + "addons/chat/Scripts/Game/ERR/ERR_AdminCommands.c": "7ea6d6b240524cf0193c86fcab861fbdef9adca780acff11ee73f9ed0e99ce7b", + "addons/chat/Scripts/Game/ERR/ERR_NativeMortarProbe.c": "ddb892141500c192c0787b011d57dd8c07dd8c9a3ca5fdc407f6c271897bde0a", + "addons/chat/Scripts/Game/ERR/ERR_NativeRadioProbe.c": "84524163c63402755b4f834f74dfe6d8e5c397dc26031f532593c6f79f5a93b1", + "addons/chat/Scripts/Game/ERR/ERR_NativeSmoke.c": "0ab2fed95dcaa0442cf7feb25743308060d58497e347f17dbd25c8e970a9f81f", + "addons/chat/Scripts/WorkbenchGame/ERR/ERR_ValidateWorldPlugin.c": "81c92d408ce88cc9f98d6053f1d0c863427693ba748f00df9f1bf8079015ef94", + "addons/chat/addon.gproj": "ea1587e0174cf795334d306c71d99b06797fc891427cd57b6cab6e21cf0e4e0e", + "addons/core/Configs/ERR/EveronSites.conf": "2edb2c6983eb627800b65d9e244b9b228e0b82282e089c7b12e5a8921a2ea7bf", + "addons/core/Configs/ERR/EveronSites.conf.meta": "d5fe68025ef4e7c1e16082cf5873b7c7172eacbfaef4ab29b7e0e3c98f8dca56", + "addons/core/Configs/ERR/GameOverScreens.conf": "45231061911a1462d45fb6db0fecc2b0793f17b5ae71017174954ff4fbd20236", + "addons/core/Configs/ERR/GameOverScreens.conf.meta": "eb654b745c0b97b41c991694569ef4877a3c2315e0826f9556337cd68690843e", + "addons/core/Configs/ERR/VanillaFactions.conf": "f8b8b9898a16b4a4a55ab3c12d2547bef2dc433732c7643df980cb3aca715212", + "addons/core/Configs/ERR/VanillaFactions.conf.meta": "ac77725c0c21974991ef47a466b88122e939de8b46fd23e68889e7674cbb2bfd", + "addons/core/Missions/ERR_Everon_Base.conf": "1e6a0e9a756d15495201f71121626890f01efe6b00154c561672d4ec157960bd", + "addons/core/Missions/ERR_Everon_Base.conf.meta": "9b16267c644d815bcf98a3a3aaff30b93d7224fb24d3a2bac66730a28011f317", + "addons/core/Prefabs/ERR/Extraction.et": "1aa286ef253c5410f09fa641e4be91a7be8ec834487a7fbb74cfb45cab60ee1e", + "addons/core/Prefabs/ERR/Extraction.et.meta": "c2a838633001e2e3a202d39cb33aa744ebcd996017ad032359069641b5d13853", + "addons/core/Prefabs/ERR/FieldCover.et": "20f8095e69dbfe3db74ff19078e528ea75405362b335e03560ccd61f8df2e7f3", + "addons/core/Prefabs/ERR/FieldCover.et.meta": "83461ffa76244e1d69f20b053a9741ccdf7d127009182bd540a7e5ba6150c3d9", + "addons/core/Prefabs/ERR/GameMode.et": "385c97a5b8067091d92aa60c2d4fcf02002cf606b95523866ead65c96b8c0029", + "addons/core/Prefabs/ERR/GameMode.et.meta": "106769cd34525c9d440057072836cb7401a6752148c40edd7fe61c03bd58328c", + "addons/core/Prefabs/ERR/ObjectiveDocument.et": "2e72270bf186654af12d2c3ff9bf940690b03fb17fca44f873c1fde5d11384c0", + "addons/core/Prefabs/ERR/ObjectiveDocument.et.meta": "eaba9903be147b98a1106e2273e2270773df73b9b22f2cd4e20136a8e281382e", + "addons/core/Prefabs/ERR/Patrol.et": "c5685a8bc311cc5563fb3334beec9408d3d7a1069152fddeeb7df4f1b7f9e6ce", + "addons/core/Prefabs/ERR/Patrol.et.meta": "7c5da568fa2fcf0709ee2959253cb068d7c7ed7c2467af3b247a7e70efd96b69", + "addons/core/Prefabs/ERR/Prison.et": "1503db1441d8cd7a4f0b45c27ba9623b9fa39f0f81016e180bd2aa1379e1f42a", + "addons/core/Prefabs/ERR/Prison.et.meta": "2e426ef3de68f4107907854b51e818bc11d84649a01c538e3f18dd9ebec766bb", + "addons/core/Prefabs/ERR/PrisonDoor.et": "fc66be9d36f1f01084de59f1b0a1e8817f9e46547ead33d4fafaac0107446c40", + "addons/core/Prefabs/ERR/PrisonDoor.et.meta": "b8f3db52bf186426026668fbb9d633c3cbd4d438ab301fba880398f6a0e781c2", + "addons/core/Prefabs/ERR/PrisonWall.et": "8009d19365ae72a4749d7ad4fa04662575b06c65c6bf06507d380d57258b5eed", + "addons/core/Prefabs/ERR/PrisonWall.et.meta": "0294bc5dbb56f90f8153d62459bb0a6ad91d76a479812bbec9c7db182fdb58d6", + "addons/core/Prefabs/ERR/Radio.et": "b4b5cfe125b39019855816c9a1c508ca4d65d435b5546fdaa6c1fa3c8c9b1165", + "addons/core/Prefabs/ERR/Radio.et.meta": "bc91137b68ba550217914fb8892bb44d7e1920e4a1086f3e506623832a44212f", + "addons/core/Prefabs/ERR/SpectatorCamera.et": "b5b87d5b7b707f3745741aebe7c923067c8a74f8fbb2a4711834bab03bb5a812", + "addons/core/Prefabs/ERR/SpectatorCamera.et.meta": "2a16558f93915e31908a674509e9c89976470f78a84a1174a64b94b68b8f77ad", + "addons/core/Prefabs/ERR/SupplyCache.et": "bccf7afbaae97cfcdd78dd6dbbf4be5b2c045d348f50fe4581962e556c0044d7", + "addons/core/Prefabs/ERR/SupplyCache.et.meta": "2f5de3a4aab1e9d0e35521f48dc57b95bd6e449c383dec4f1c258e10295904cb", + "addons/core/Prefabs/ERR/SupplySite.et": "dc5decce5cabf39b6116e8794ec3960cb1e35761854fdbe69740da118787ded4", + "addons/core/Prefabs/ERR/SupplySite.et.meta": "b41944b12eb3528ff7a3ac94258b18c66ef161aa6a38894aee300a1ac4798630", + "addons/core/Scripts/Game/ERR/ERR_Actions.c": "adf93245e6d78c59b9839599d157a0d2b2b93ea93b3d1ae52e2904dd6c288266", + "addons/core/Scripts/Game/ERR/ERR_Actors.c": "b3c5aabb05f7cf35167bc09b5db51a4ffd89a46658805d6eedbfb80eee30273d", + "addons/core/Scripts/Game/ERR/ERR_AdminService.c": "047c14ce60cc0b167e202438f8f2b1063590e69ef88ea55b54598aea5f99c505", + "addons/core/Scripts/Game/ERR/ERR_DiscoveryMap.c": "2f4ea342fea0530061456be9cdce002d5e7a282e4e27eb88f3860e79f93612bf", + "addons/core/Scripts/Game/ERR/ERR_DiscoveryService.c": "6b5679447fe4a6d7d54c0545881ab56284f871556b3159207d421247f419eada", + "addons/core/Scripts/Game/ERR/ERR_DocumentComponent.c": "17bb76b80ebd3357e46d553c44674f602c7bd6901c92aec53ac8214194aa4ff2", + "addons/core/Scripts/Game/ERR/ERR_EscapeGameOverScreenInfo.c": "b1e1afb7795cb77c0bad94c85abf705b26b9dc2a9400905d80eafd56bdd009d3", + "addons/core/Scripts/Game/ERR/ERR_ExtractionService.c": "91357099b4e0401196b67d48963be54be30e56bdba57cdac67dc20b8ebb883e9", + "addons/core/Scripts/Game/ERR/ERR_FactionCatalog.c": "a5a8c53acf21259e14f59cb919535910f30dabff5a9179c664bc6a7a4d744d6e", + "addons/core/Scripts/Game/ERR/ERR_GameMode.c": "d766d1639378070bea64eef38baa4667f8b9f5f1a2a7b170f0fc5e8fd557917d", + "addons/core/Scripts/Game/ERR/ERR_Location.c": "d2035f56ded35743312ec6ca91a67f8623a466c91255e1893c570edf0954ff24", + "addons/core/Scripts/Game/ERR/ERR_MissionRules.c": "f7abc38ad8fdc375ce7fa63a65f0bade027d22b37e09de5e3f94ba8c3c63cc41", + "addons/core/Scripts/Game/ERR/ERR_NativeBaseSmoke.c": "e1790bca83feb52dc1093eced0624fc5bf0b3050b831a0fb8b3731759e84710f", + "addons/core/Scripts/Game/ERR/ERR_NativeContractsProbe.c": "d1556df885171cf967e96eef5d8981a2e9ee4e3938b7d32fdd0426f647bbabc0", + "addons/core/Scripts/Game/ERR/ERR_NativeDefinitionProbe.c": "d05ef8368ef5afa68e29f45843cb1878b5a09be768f8abdff2f4115c23759b01", + "addons/core/Scripts/Game/ERR/ERR_NativeExtractionProbe.c": "4b09385f73206de004f4f3c38a6192fd658a0d2012482dc5a84dff1599ceb972", + "addons/core/Scripts/Game/ERR/ERR_NativeLifecycleProbe.c": "89620ec1cc94e260ef72460b32c3291ffcc84cfe51afa907954b10229a711b2b", + "addons/core/Scripts/Game/ERR/ERR_NativeObjectiveProbe.c": "949e642c5e1b92bfbfc7f5b416b699dd5e67eceba298a25764332b1bb65635a8", + "addons/core/Scripts/Game/ERR/ERR_NativeRadioDefenceProbe.c": "cad54f0b43cefd72df74697dfc7e93725ff0acac6d311e963ce4f817428c272c", + "addons/core/Scripts/Game/ERR/ERR_NativeResultProbe.c": "b9a117eef2d5f65fbd792041a2b3e59e38e201bda8e0df8c503e1a1242cfc415", + "addons/core/Scripts/Game/ERR/ERR_NativeSiteSurvey.c": "ac0203753ade0cdff6d483132797a80e4520f14546c3f9dea288281cd4cd9c4f", + "addons/core/Scripts/Game/ERR/ERR_NativeStationTeardownDiagnostic.c": "c01cbdbfe25fd38916fa74f2c02333baaacd5228686fd6e40b33c27b3cea8ed8", + "addons/core/Scripts/Game/ERR/ERR_NativeTimeProbe.c": "c93d049785971e51246fcc07cf24804270a752a655505f2c38e48c80df5255ae", + "addons/core/Scripts/Game/ERR/ERR_NativeTransportProbe.c": "63ec0c5ce698114daa6314b2a6e3c3e98e76094117c477f9d0d072260686d193", + "addons/core/Scripts/Game/ERR/ERR_NativeTransportSurvey.c": "3e94493bf54d15be2bceb106ad18873e14e6755af09c05f07db7fb26fb7adff5", + "addons/core/Scripts/Game/ERR/ERR_ObjectiveDetails.c": "eff9935b8b7790eaedf1e46d7f67d172d7962183ea264cde75bbc1681a489dea", + "addons/core/Scripts/Game/ERR/ERR_ObjectiveText.c": "bbb29949194637e6781316836c895e2c0fa7ccdb547d4d944a717da2ad73b0a2", + "addons/core/Scripts/Game/ERR/ERR_Objectives.c": "88d95a52fcba103483ea751571e1afeae0e6fc82115ed50d6fc195424726960f", + "addons/core/Scripts/Game/ERR/ERR_Observer.c": "b719e723369ab4f403950c85226e1336eb48e3c127e84530ac1c695eb86bd0f9", + "addons/core/Scripts/Game/ERR/ERR_PlayerAdminCommands.c": "a084d7dc097dfcde3d6cd9c2e326b9e2f8f2a519f77b30c4f56ab7a1429aa721", + "addons/core/Scripts/Game/ERR/ERR_PlayerEscapeResult.c": "3124ab4d2d6d471409a47aba0af528790734df53243c03fe0cdac3e407047c14", + "addons/core/Scripts/Game/ERR/ERR_PlayerGuide.c": "2c9c365b88651f8b12618443638bf52c04e497221592bd483c33447e30468f36", + "addons/core/Scripts/Game/ERR/ERR_PlayerRoster.c": "a737ba739b3f73a91cd05d808a1d45070e83b5152c003c3164e29842dda51995", + "addons/core/Scripts/Game/ERR/ERR_RadioDefenceService.c": "85eb9c1b65d5987799927b6d8786b7299fcff849bcb15b91f8a4d1aa95823fd1", + "addons/core/Scripts/Game/ERR/ERR_Resources.c": "8a5314944f75b23982c6b99697045e3c0538aa2137b2c947a5b2411e6076ac03", + "addons/core/Scripts/Game/ERR/ERR_ScenarioComponent.c": "abba03af68323d5715ba1e2497fc66f3c706e6a6a983c3a386228abdfddeec89", + "addons/core/Scripts/Game/ERR/ERR_Settings.c": "2aee784e44c732e09f59150896491ab325ef5e62aa6bad725be1fda955a3f614", + "addons/core/Scripts/Game/ERR/ERR_SiteDefinition.c": "75b5121ceab77f0956f0dc34bd077b11af5586350de52321800427f18cc94477", + "addons/core/Scripts/Game/ERR/ERR_SiteService.c": "7ba02712562b3c8cd8de9851b6f26fed85020faacceef0767408b300b935c110", + "addons/core/Scripts/Game/ERR/ERR_SpawnFinalization.c": "2e295b0f225208c5414728ba83333e5e0ab6eef3a708ce39eb1dfce5400c94c9", + "addons/core/Scripts/Game/ERR/ERR_SpawnLogic.c": "64c2cef62d8a435eea396f057255b269d457935bf5d261221700739bf37240b8", + "addons/core/Scripts/Game/ERR/ERR_SpawnPlacement.c": "284db0d4a5ecd38f9c658c91ce943f4c0c30dcf4d31bb3edeea92e4ab0b1436a", + "addons/core/Scripts/Game/ERR/ERR_Supplies.c": "752e8a56b0b8cde33cf532032cb0a203553017b686faac2e19bee06f7a9c0713", + "addons/core/Scripts/Game/ERR/ERR_TimeService.c": "d9f481b7da01e08d2c982a948c18ba6bde76889d7cc9d26d510708f4ba479453", + "addons/core/Scripts/WorkbenchGame/ERR/ERR_ValidateBaseWorldPlugin.c": "7f44aa64ea7b4f8b3640a37a4b781c43bf6adb80e4a3a702d9491131698056f6", + "addons/core/Worlds/ERR_Everon.ent": "22324bc7eb0d80dec8a1f3bd61a9df9201b72f749f4e751766b0c9d0b7d46b87", + "addons/core/Worlds/ERR_Everon.ent.meta": "19d1903ca72baa326b4724a6791d0da1104a1e53f3f31dc1ca41a856efd68e83", + "addons/core/Worlds/ERR_Everon_Layers/default.layer": "f1a058bd315c7d01d464715ac9f4e18ae3d2432551d094a9afbd4c9c5a2a9416", + "addons/core/addon.gproj": "231274e6b62302f32c65f9ff31de2ce8a9e51e1c8d12c87deeec82ae1f40de46", + "addons/intel/Scripts/Game/ERR/ERR_IntelService.c": "482839434b94e7f8c345d5fd96490aeebb765f3dd0c1bb25fceea2f435c0e722", + "addons/intel/addon.gproj": "d0ced242cefb220a5cccd6779d61fda9bc55581701b9f78bcf13c09d92ddbcbe", + "addons/map/Materials/ERRM_MapRenderTarget.emat": "9877c5b175c5f30dd80bea36c711b21ab38219aa7075adf9ae79932e1d4c76bc", + "addons/map/Materials/ERRM_MapRenderTarget.emat.meta": "5ee1a705f8011a44020ca2691f5ccc17d44bf596fef9a36e98d1f267eb58fab0", + "addons/map/Prefabs/Items/Equipment/ERRM_SharedFieldMap.et": "30dee8e9eab459ea32a7d835a9fb89d43df47708057cab829f067b25a24cd581", + "addons/map/Prefabs/Items/Equipment/ERRM_SharedFieldMap.et.meta": "59093e9072c50d99c86da7609c87541016da5bcf92b98d99db4c524e1c8e0e8d", + "addons/map/Scripts/Game/ERR/ERR_ScenarioMap.c": "75fa1d742129ef7f33c005cd48f56db7f49ee7bde3c5428532b0b501b032b0a3", + "addons/map/Scripts/Game/ERRMap/ERRM_SharedMapComponent.c": "fc1a0c7df4fc96da446d7542a45a10fbec1eda1e543ba2f0581cb772277a47c5", + "addons/map/UI/layouts/ERRMap/SharedMapRenderTarget.layout": "49a2da4181b94d42174f58c7f9b6bf2207116c99427d61ff1c212092ac7db4d2", + "addons/map/UI/layouts/ERRMap/SharedMapRenderTarget.layout.meta": "5c846445cc089e2e08899ba703059d4adb805ff30ab5a16409a3cd59718cbd54", + "addons/map/addon.gproj": "1b371e5e01ea9fa46e76570fecb8aaa3a9298e34cba7ccca8a6bdb5ca86eb46a" +} diff --git a/docs/evidence/native-2026-09-19-052352/launch-source.json b/docs/evidence/native-2026-09-19-052352/launch-source.json new file mode 100644 index 0000000..66810e4 --- /dev/null +++ b/docs/evidence/native-2026-09-19-052352/launch-source.json @@ -0,0 +1,44 @@ +{ + "schema_version": 1, + "launch_id": "ee1f029a-afa2-44b9-b1ec-fa605a26cae6", + "captured_unix": 1789788231.0129128, + "source_root": "/home/jakub/devel/escapistsrereintroduced", + "command": [ + "gamescope", + "--backend", + "headless", + "-W", + "1280", + "-H", + "720", + "-w", + "1280", + "-h", + "720", + "-r", + "30", + "--", + "/home/jakub/.local/share/Steam/steamapps/common/Proton - Experimental/proton", + "run", + "/home/jakub/.local/share/Steam/steamapps/common/Arma Reforger Tools/Workbench/ArmaReforgerWorkbenchSteamDiag.exe", + "-gproj", + "Z:/home/jakub/devel/escapistsrereintroduced/addons/chat/addon.gproj", + "-addonsDir", + "Z:/home/jakub/devel/escapistsrereintroduced/addons", + "-profile", + "Z:/tmp/erri-workbench-profile", + "-logconsole", + "-wbModule=WorldEditor", + "-load", + "Worlds/ERR_Everon.ent", + "-plugin=ERR_ValidateWorldPlugin", + "-errPlay", + "1", + "-errSmoke", + "1", + "-errSmokeOutcome", + "victory", + "-noThrow" + ], + "manifest_sha256": "50d2f43c55d806d96d4db669b2ddf1afb9dec35dbcdd86e250a1ca9ad91a32e7" +} diff --git a/docs/evidence/native-2026-09-19-052352/report.json b/docs/evidence/native-2026-09-19-052352/report.json new file mode 100644 index 0000000..a0c8986 --- /dev/null +++ b/docs/evidence/native-2026-09-19-052352/report.json @@ -0,0 +1,17 @@ +{ + "log": "docs/evidence/native-2026-09-19-052352/console.log.txt", + "smoke_completions": 1, + "assertions_passed": 48, + "script_or_runtime_failures": [], + "engine_errors": [ + "05:24:36.406 WORLD (E): Unknown keyword/data 'SlidingTrackMaterial' at offset 19441(0x4bf1)", + "05:24:36.447 WORLD (E): Unknown keyword/data 'Parent' at offset 35955(0x8c73)", + "05:24:36.447 WORLD (E): Unknown keyword/data 'Parent' at offset 36915(0x9033)", + "05:24:36.448 WORLD (E): Unknown keyword/data 'Parent' at offset 42646(0xa696)", + "05:24:36.448 WORLD (E): Unknown keyword/data 'Parent' at offset 43645(0xaa7d)", + "05:24:36.448 WORLD (E): Unknown keyword/data 'Parent' at offset 44617(0xae49)", + "05:24:36.448 WORLD (E): Unknown keyword/data 'Parent' at offset 45590(0xb216)" + ], + "missing_end_screen": [], + "scope": "scripted local Workbench integration only; no multiplayer, piloting or FPS claim" +} diff --git a/docs/evidence/native-2026-09-19-052352/rereintroduced-hq.log.txt b/docs/evidence/native-2026-09-19-052352/rereintroduced-hq.log.txt new file mode 100644 index 0000000..532de44 --- /dev/null +++ b/docs/evidence/native-2026-09-19-052352/rereintroduced-hq.log.txt @@ -0,0 +1,14 @@ +#1 t=1.5s M0 REGISTER group 1 [session=1789788278-1] +#2 t=1.5s M0 MORTAR DEPLOY site=1 order=0 radio=M0 source=M0 position=<6000,202.788,7000>; authored gun and four-person crew; finite ammunition initialization pending [session=1789788278-1] +#3 t=3.5s M0 REGISTER group 2 [session=1789788278-1] +#4 t=3.5s M0 REGISTER group 3 [session=1789788278-1] +#5 t=3.5s M0 REGISTER group 4 [session=1789788278-1] +#6 t=3.5s M0 REGISTER group 5 [session=1789788278-1] +#7 t=3.5s M0 REGISTER group 6 [session=1789788278-1] +#8 t=3.5s M0 REGISTER group 7 [session=1789788278-1] +#9 t=11.8s M0 MORTAR CREW ACTIVATE site=1 order=0 radio=M0 source=M0 position=<6000,202.788,7000>; startup delay elapsed; activating and equipping crew [session=1789788278-1] +#10 t=11.8s M0 MORTAR EQUIP site=1 order=0 radio=M0 source=M0 position=<6000,202.788,7000>; crew=SCR_ChimeraCharacter<0x00000000D4CC2330> @"ENTITY:4611686018427389117" ('SCR_ChimeraCharacter','Assets/Characters/Basebody/Basebody_Male_01.xob') at <6000.000000 203.316498 7004.000000> @"{86E565387A634103}Prefabs/Characters/Campaign/Final/OPFOR/USSR_Army/Regular/Campaign_USSR_Player_MortarCrew.et" inventory HE=9 requested=9 radio capability=1 (0=none) [session=1789788278-1] +#11 t=11.8s M0 MORTAR EQUIP site=1 order=0 radio=M0 source=M0 position=<6000,202.788,7000>; crew=SCR_ChimeraCharacter<0x00000000D4CF9A30> @"ENTITY:4611686018427389370" ('SCR_ChimeraCharacter','Assets/Characters/Basebody/Basebody_Male_01.xob') at <6003.000000 202.817322 7001.000000> @"{86E565387A634103}Prefabs/Characters/Campaign/Final/OPFOR/USSR_Army/Regular/Campaign_USSR_Player_MortarCrew.et" inventory HE=9 requested=9 radio capability=1 (0=none) [session=1789788278-1] +#12 t=11.8s M0 MORTAR EQUIP site=1 order=0 radio=M0 source=M0 position=<6000,202.788,7000>; crew=SCR_ChimeraCharacter<0x00000000D4D22330> @"ENTITY:4611686018427389838" ('SCR_ChimeraCharacter','Assets/Characters/Basebody/Basebody_Male_01.xob') at <5997.000000 202.910233 7001.000000> @"{86E565387A634103}Prefabs/Characters/Campaign/Final/OPFOR/USSR_Army/Regular/Campaign_USSR_Player_MortarCrew.et" inventory HE=9 requested=9 radio capability=1 (0=none) [session=1789788278-1] +#13 t=11.8s M0 MORTAR RADIO EQUIP site=1 order=0 radio=M0 source=M0 position=<6000,202.788,7000>; operator=SCR_ChimeraCharacter<0x00000000D4D42DB0> @"ENTITY:4611686018427390214" ('SCR_ChimeraCharacter','Assets/Characters/Basebody/Basebody_Male_01.xob') at <6006.000000 202.378952 6998.000000> @"{612F43A4D5AE765F}Prefabs/Characters/Factions/OPFOR/USSR_Army/Character_USSR_RTO.et" capability=2 (2=physical manpack); next HQ radio index verifies route [session=1789788278-1] +#14 t=51s M0 STOP HQ stopped; tactical orders released [session=1789788278-1] diff --git a/docs/evidence/native-2026-09-19-052352/runner.json.txt b/docs/evidence/native-2026-09-19-052352/runner.json.txt new file mode 100644 index 0000000..03d8268 --- /dev/null +++ b/docs/evidence/native-2026-09-19-052352/runner.json.txt @@ -0,0 +1,19 @@ +{ + "stopped_unix": 1789788337.9097512, + "console_sha256": "bd4b736215fd74f50987dfa7997bac6315431db190e5cf837d9d2cba662cd92d", + "end_source_sha256": "50d2f43c55d806d96d4db669b2ddf1afb9dec35dbcdd86e250a1ca9ad91a32e7", + "source_unchanged_after_run": true, + "source_provenance": "launch_snapshot", + "launch_id": "ee1f029a-afa2-44b9-b1ec-fa605a26cae6", + "launch_source_manifest": "launch-source-sha256.json", + "launch_source_metadata": "launch-source.json", + "launch_source_sha256": "50d2f43c55d806d96d4db669b2ddf1afb9dec35dbcdd86e250a1ca9ad91a32e7", + "started_unix": 1789788231.0129726, + "result": "smoke-completed", + "session": "/tmp/erri-workbench-profile/logs/logs_2026-09-19_05-23-52", + "rounds_required": 1, + "project": "chat", + "display": "headless Gamescope 1280x720/30Hz", + "dedicated_server": false, + "audio": "silent sink and per-test-stream mute" +} diff --git a/docs/evidence/native-2026-09-19-052352/script.log.txt b/docs/evidence/native-2026-09-19-052352/script.log.txt new file mode 100644 index 0000000..5e14a5b --- /dev/null +++ b/docs/evidence/native-2026-09-19-052352/script.log.txt @@ -0,0 +1,201 @@ +--------------------------------------------- +Log Z:\tmp\erri-workbench-profile\logs\logs_2026-09-19_05-23-52\script.log started at 2026-09-19 05:23:55 (2026-09-19 03:23:55 UTC) + +05:23:55.519 SCRIPT : SCRIPT : Initializing scripts +05:23:55.519 SCRIPT : SCRIPT : ScriptProjectManager init +05:23:57.870 SCRIPT : SCRIPT : Compiling GameLib scripts +05:23:57.937 SCRIPT : Module: Workbench; loaded 18x files; 36x classes; used 125K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE"; CRC32: 90ce0460 +05:23:57.937 SCRIPT : Module: GameLib; loaded 465x files; 648x classes; used 828K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE"; CRC32: 4507af04 +05:23:57.938 SCRIPT : SCRIPT : Compiling Game scripts +05:23:59.223 SCRIPT : Compiling Game scripts +05:23:59.223 SCRIPT (W): @"Scripts/Game/Editor/Components/EditableEntity/SCR_EditableEntityComponent.c,785": 'GetPlayerPlatformKind' is obsolete +05:23:59.223 SCRIPT (W): @"Scripts/Game/Editor/Components/EditableEntity/SCR_EditableEntityComponent.c,786": 'GetPlayerPlatformId' is obsolete +05:23:59.496 SCRIPT (W): @"Scripts/Game/ERR/ERR_SiteService.c,140": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +05:23:59.508 SCRIPT (W): @"Scripts/Game/Workshop/SCR_AddonManager.c,876": 'GetRefCount' is obsolete: Will be removed +05:23:59.544 SCRIPT (W): @"Scripts/Game/Campaign/SCR_PlayerProfileManagerComponent.c,142": 'PlayerData' is obsolete +05:23:59.650 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,159": 'GetDSSession' is obsolete +05:23:59.650 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,162": 'RoomID' is obsolete +05:23:59.650 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,197": 'GetDSSession' is obsolete +05:23:59.650 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,201": 'RoomID' is obsolete +05:23:59.749 SCRIPT (W): @"Scripts/Game/DataCollection/SCR_DataCollectorComponent.c,481": 'GetStorage' is obsolete +05:23:59.749 SCRIPT (W): @"Scripts/Game/DataCollection/SCR_DataCollectorComponent.c,483": 'GetOnlineWritePrivilege' is obsolete +05:23:59.750 SCRIPT (W): @"Scripts/Game/Utilities/SCR_PlayerIdentityUtils.c,20": 'GetPlayerIdentityId' is obsolete +05:23:59.795 SCRIPT (W): @"Scripts/Game/ERR/ERR_ExtractionService.c,45": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +05:23:59.795 SCRIPT (W): @"Scripts/Game/ERR/ERR_ExtractionService.c,56": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +05:23:59.797 SCRIPT (W): @"Scripts/Game/UI/Menu/MainMenuUI.c,643": 'GetNotifyCount' is obsolete: Will be substitued by Notification Api. +05:23:59.797 SCRIPT (W): @"Scripts/Game/UI/Menu/MainMenuUI.c,645": 'GetNotifyItem' is obsolete: Will be substitued by Notification Api. +05:23:59.820 SCRIPT (W): @"Scripts/Game/ERR/ERR_NativeTransportProbe.c,82": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +05:23:59.854 SCRIPT (W): @"Scripts/Game/DataCollection/PlayerData/SCR_PlayerData.c,210": 'PlayerData' is obsolete +05:24:00.134 SCRIPT : Module: WorkbenchGame; loaded 172x files; 617x classes; used 2483K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE"; CRC32: e963af0e +05:24:00.142 SCRIPT : Module: Game; loaded 5724x files; 11232x classes; used 32749K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE,ENABLE_BASE_DESTRUCTION,BUDGET_OPTIMIZATION_CHECKS,SHOW_DISCLAIMER,DEBUG,RESPAWN_TIMER_COMPONENT_DEBUG,GAME_MODE_DEBUG,DEBUG_CONFIGURABLE_DIALOGS,DISABLE_WEAPON_SWITCHING,SCRIPTED_AIM_MODIFIER_DEBUG"; CRC32: bec880c9 +05:24:01.103 SCRIPT : Unable to register a script command due keyword duplicity: ban +05:24:01.103 SCRIPT : Unable to register a script command due keyword duplicity: kick +05:24:21.853 SCRIPT : ERR VALIDATION: prison terrain=211.344, radio terrain=159.656, extraction terrain=65.1562 +05:24:21.853 SCRIPT : ERR TERRAIN: x=6084 z=7154 y=211.531 +05:24:21.853 SCRIPT : ERR TERRAIN: x=6084 z=7157 y=211.516 +05:24:21.853 SCRIPT : ERR TERRAIN: x=6084 z=7160 y=211.5 +05:24:21.853 SCRIPT : ERR TERRAIN: x=6084 z=7163 y=211.453 +05:24:21.853 SCRIPT : ERR TERRAIN: x=6084 z=7166 y=211.406 +05:24:21.853 SCRIPT : ERR TERRAIN: x=6087 z=7154 y=211.438 +05:24:21.854 SCRIPT : ERR TERRAIN: x=6087 z=7157 y=211.438 +05:24:21.854 SCRIPT : ERR TERRAIN: x=6087 z=7160 y=211.422 +05:24:21.854 SCRIPT : ERR TERRAIN: x=6087 z=7163 y=211.391 +05:24:21.854 SCRIPT : ERR TERRAIN: x=6087 z=7166 y=211.344 +05:24:21.854 SCRIPT : ERR TERRAIN: x=6090 z=7154 y=211.344 +05:24:21.854 SCRIPT : ERR TERRAIN: x=6090 z=7157 y=211.344 +05:24:21.854 SCRIPT : ERR TERRAIN: x=6090 z=7160 y=211.344 +05:24:21.854 SCRIPT : ERR TERRAIN: x=6090 z=7163 y=211.328 +05:24:21.855 SCRIPT : ERR TERRAIN: x=6090 z=7166 y=211.281 +05:24:21.855 SCRIPT : ERR TERRAIN: x=6093 z=7154 y=211.25 +05:24:21.855 SCRIPT : ERR TERRAIN: x=6093 z=7157 y=211.281 +05:24:21.855 SCRIPT : ERR TERRAIN: x=6093 z=7160 y=211.25 +05:24:21.855 SCRIPT : ERR TERRAIN: x=6093 z=7163 y=211.234 +05:24:21.855 SCRIPT : ERR TERRAIN: x=6093 z=7166 y=211.188 +05:24:21.855 SCRIPT : ERR TERRAIN: x=6096 z=7154 y=211.156 +05:24:21.856 SCRIPT : ERR TERRAIN: x=6096 z=7157 y=211.172 +05:24:21.856 SCRIPT : ERR TERRAIN: x=6096 z=7160 y=211.156 +05:24:21.856 SCRIPT : ERR TERRAIN: x=6096 z=7163 y=211.141 +05:24:21.856 SCRIPT : ERR TERRAIN: x=6096 z=7166 y=211.094 +05:24:21.882 SCRIPT : ERR SITE CANDIDATE: position=<6090,211.344,7160> elevationRange=0.640625 +05:24:25.166 SCRIPT : Unable to register a script command due keyword duplicity: ban +05:24:25.166 SCRIPT : Unable to register a script command due keyword duplicity: kick +05:24:38.733 SCRIPT (W): SCR_PerceivedFactionManagerComponent trying to set fall back faction 'CIV' but this faction could not be found so it is null instead. +05:24:38.761 SCRIPT : ERR SMOKE: scripted integration test enabled; gameplay acceptance remains separate +05:24:39.233 SCRIPT (W): Notification data in 'SCR_NotificationsLogDisplay' has duplicate notification info key: 'EDITOR_PERCEIVED_FACTION_PUNISHMENT_KILLING_SET'. There should only be one of each key! +05:24:39.233 SCRIPT (W): Notification data in 'SCR_NotificationsLogDisplay' has duplicate notification info key: 'EDITOR_PERCEIVED_FACTION_TYPE_DISABLED'. There should only be one of each key! +05:24:39.235 SCRIPT (W): Can't open config file "" +05:24:39.243 SCRIPT (W): Slot_WeaponInfo Has no Content! +05:24:39.243 SCRIPT (W): Slot_Chat Has no Content! +05:24:39.243 SCRIPT (W): Slot_VON Has no Content! +05:24:39.243 SCRIPT (W): Slot_AvailableActions Has no Content! +05:24:39.243 SCRIPT (W): Slot_Vehicle Has no Content! +05:24:39.243 SCRIPT (W): Slot_GameVersion Has no Content! +05:24:39.243 SCRIPT (W): Slot_Notifications Has no Content! +05:24:39.243 SCRIPT (W): Slot_Hints Has no Content! +05:24:39.259 SCRIPT (W): Ban Settings could not be loaded from BE Storage: Relying on default config +05:24:39.315 SCRIPT : ScenarioFramework: Available tasks are empty, no new tasks will be generated. +05:24:39.330 SCRIPT : SCR_BaseGameMode::OnGameStateChanged = GAME +05:24:39.504 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +05:24:41.050 SCRIPT : Rereintroduced [sites]: cache clearance position=<6086,211.538,7160> clear=1 +05:24:41.070 SCRIPT : Rereintroduced [sites]: authored everon-prison-1 at <6090,211.444,7160> +05:24:41.071 SCRIPT : Rereintroduced [sites]: cache clearance position=<6150,203.288,7050> clear=1 +05:24:41.113 SCRIPT : Rereintroduced [sites]: authored everon-supply-1 at <6150,203.288,7050> +05:24:41.116 SCRIPT : Rereintroduced [sites]: authored everon-radio-1 at <6500,159.756,7200> +05:24:41.179 SCRIPT : Rereintroduced [sites]: authored everon-extraction-1 at <7000,65.2562,7500> +05:24:41.179 SCRIPT : Rereintroduced [sites]: cache clearance position=<5960,220.256,7220> clear=1 +05:24:41.185 SCRIPT : Rereintroduced [sites]: transport parking=<5960,220.256,7212> radius=4 terrainRange=0.8125 obstructed=0 clear=1 +05:24:41.236 SCRIPT : Rereintroduced [sites]: authored everon-supply-2 at <5960,220.256,7220> +05:24:41.236 SCRIPT : Rereintroduced [sites]: cache clearance position=<6340,175.788,7400> clear=1 +05:24:41.238 SCRIPT : Rereintroduced [sites]: authored everon-medical-1 at <6340,175.788,7400> +05:24:41.239 SCRIPT : Rereintroduced [sites]: cache clearance position=<6740,140.6,7300> clear=1 +05:24:41.242 SCRIPT : Rereintroduced [sites]: cache clearance position=<6740,140.913,7296> clear=1 +05:24:41.243 SCRIPT : Rereintroduced [sites]: cache clearance position=<6736,140.975,7300> clear=1 +05:24:41.243 SCRIPT : Rereintroduced [sites]: cache clearance position=<6744,140.288,7300> clear=1 +05:24:41.244 SCRIPT : Rereintroduced [sites]: authored everon-outpost-1 at <6740,140.6,7300> +05:24:41.326 SCRIPT : Rereintroduced [sites]: 7 sites and 117 physical stock items ready +05:24:41.338 SCRIPT : Rereintroduced [time]: started at 14:00 with 1x progression +05:24:41.338 SCRIPT : Rereintroduced [mission]: phase 0 -> 1 +05:24:41.583 SCRIPT : INFO: Faction: player jakub (playerID = 1 | UUID = 00000000-0000-0000-0000-000000000000) has joined faction #AR-Faction_US (US) +05:24:41.664 SCRIPT : Rereintroduced [spawn]: player 1 at <6087,211.438,7157> +05:24:41.781 SCRIPT : ERR SMOKE PASS: new identity may enter prison +05:24:41.781 SCRIPT : ERR SMOKE PASS: spawn consumes identity life +05:24:41.781 SCRIPT : ERR SMOKE PASS: disconnect retains living actor and clears connection +05:24:41.782 SCRIPT : ERR SMOKE PASS: reconnected identity retains spent life +05:24:41.782 SCRIPT : ERR SMOKE PASS: duplicate active identity rejected +05:24:41.782 SCRIPT : ERR SMOKE PASS: recycled connection receives independent life and extraction admission policy +05:24:41.782 SCRIPT : ERR SMOKE PASS: base contracts catalog resolves hostile vanilla factions and successful preparation +05:24:41.782 SCRIPT : ERR SMOKE PASS: base contracts physical prisoner matches injected faction and resource +05:24:41.783 SCRIPT : ERR SMOKE PASS: base contracts physical guard squad comes from injected catalog +05:24:41.783 SCRIPT : ERR SMOKE PASS: base contracts same-side factions rejected +05:24:41.783 SCRIPT : ERR SMOKE PASS: base contracts unknown world faction rejected +05:24:41.783 SCRIPT : ERR SMOKE PASS: base contracts missing prisoner resource rejected +05:24:41.783 SCRIPT : ERR SMOKE PASS: base contracts isolated catalog restored without mutating live configuration +05:24:41.783 SCRIPT : ERR SMOKE PASS: base contracts unauthorized settings request rejected +05:24:41.784 SCRIPT : ERR SMOKE PASS: base contracts partially numeric input rejected without mutation +05:24:41.784 SCRIPT : ERR SMOKE PASS: base contracts out-of-range duration rejected without mutation +05:24:41.787 SCRIPT : ERR SMOKE PASS: base contracts normalized base command saves validated duration +05:24:41.787 SCRIPT : ERR SMOKE PASS: base contracts base command reads saved duration +05:24:41.787 SCRIPT : ERR SMOKE PASS: base contracts base settings listing available +05:24:41.787 SCRIPT : ERR SMOKE PASS: base contracts base mission status available before companions +05:24:41.791 SCRIPT : ERR SMOKE PASS: base contracts test setting restored +05:24:41.791 SCRIPT : ERR SMOKE PASS: companion command retained: hq interval show +05:24:41.791 SCRIPT : ERR SMOKE PASS: companion command retained: hq squads show +05:24:41.791 SCRIPT : ERR SMOKE PASS: companion command retained: hq radius show +05:24:41.791 SCRIPT : ERR SMOKE PASS: companion command retained: intel carrying show +05:24:41.791 SCRIPT : ERR SMOKE PASS: companion command retained: intel reveal show +05:24:41.791 SCRIPT : ERR SMOKE PASS: companion journal is behind Core admin authorization +05:24:41.792 SCRIPT : ERR SMOKE PASS: companion HQ status uses the shared command service +05:24:41.792 SCRIPT : ERR SMOKE PASS: initial prisoner position +05:24:41.792 SCRIPT : ERR SMOKE PASS: radio and extraction vehicle exist +05:24:41.792 SCRIPT : ERR SMOKE PASS: authored gate exposes lock action +05:24:41.792 SCRIPT : ERR GEOMETRY: gate low=<6089.98,211.436,7153.9> high=<6093.06,214.647,7154.1> +05:24:41.792 SCRIPT : ERR GEOMETRY: child origin=<6090,211.344,7154> low=<6089.98,211.436,7153.9> high=<6093.06,214.647,7154.1> +05:24:41.793 SCRIPT : ERR GEOMETRY: child origin=<6093,211.444,7154> low=<6093,210.641,7153.87> high=<6096,214.409,7154.13> +05:24:41.793 SCRIPT : ERR GEOMETRY: child origin=<6087,211.444,7154> low=<6087,210.641,7153.87> high=<6090,214.409,7154.13> +05:24:41.793 SCRIPT : ERR GEOMETRY: child origin=<6084,211.444,7154> low=<6084,210.641,7153.87> high=<6087,214.409,7154.13> +05:24:41.793 SCRIPT : ERR GEOMETRY: child origin=<6096,211.444,7163> low=<6095.87,210.641,7163> high=<6096.13,214.409,7166> +05:24:41.793 SCRIPT : ERR GEOMETRY: child origin=<6084,211.444,7163> low=<6083.87,210.641,7163> high=<6084.13,214.409,7166> +05:24:41.793 SCRIPT : ERR GEOMETRY: child origin=<6096,211.444,7160> low=<6095.87,210.641,7160> high=<6096.13,214.409,7163> +05:24:41.794 SCRIPT : ERR GEOMETRY: child origin=<6084,211.444,7160> low=<6083.87,210.641,7160> high=<6084.13,214.409,7163> +05:24:41.794 SCRIPT : ERR GEOMETRY: child origin=<6096,211.444,7157> low=<6095.87,210.641,7157> high=<6096.13,214.409,7160> +05:24:41.794 SCRIPT : ERR GEOMETRY: child origin=<6084,211.444,7157> low=<6083.87,210.641,7157> high=<6084.13,214.409,7160> +05:24:41.794 SCRIPT : ERR GEOMETRY: child origin=<6096,211.444,7154> low=<6095.87,210.641,7154> high=<6096.13,214.409,7157> +05:24:41.794 SCRIPT : ERR GEOMETRY: child origin=<6084,211.444,7154> low=<6083.87,210.641,7154> high=<6084.13,214.409,7157> +05:24:41.794 SCRIPT : ERR GEOMETRY: child origin=<6093,211.444,7166> low=<6093,210.641,7165.87> high=<6096,214.409,7166.13> +05:24:41.794 SCRIPT : ERR GEOMETRY: child origin=<6090,211.444,7166> low=<6090,210.641,7165.87> high=<6093,214.409,7166.13> +05:24:41.795 SCRIPT : ERR GEOMETRY: child origin=<6087,211.444,7166> low=<6087,210.641,7165.87> high=<6090,214.409,7166.13> +05:24:41.795 SCRIPT : ERR GEOMETRY: child origin=<6084,211.444,7166> low=<6084,210.641,7165.87> high=<6087,214.409,7166.13> +05:24:41.795 SCRIPT : ERR SMOKE PASS: lock permits prisoner +05:24:41.795 SCRIPT : Rereintroduced [mission]: phase 1 -> 2 +05:24:41.796 SCRIPT : ERR SMOKE PASS: lock action advances mission +05:24:41.797 SCRIPT : ERR SMOKE PASS: two guaranteed physical cache documents +05:24:41.799 SCRIPT : ERR SMOKE PASS: test does not rely on random intel +05:24:41.801 SCRIPT : ERR SMOKE PASS: isolated test profile defence duration +05:24:42.288 SCRIPT : ERR SMOKE PASS: authored cache document recovered into inventory +05:24:42.589 SCRIPT : Rereintroduced [intel]: player 1 recovered folder; location=everon-radio-1 knowledge=1 +05:24:44.807 SCRIPT : ERR SMOKE PASS: unlocked gate physically permits passage +05:24:44.807 SCRIPT : ERR SMOKE PASS: authored cache document recovered into inventory +05:24:45.615 SCRIPT : Rereintroduced [intel]: player 1 recovered folder; location=everon-radio-1 knowledge=2 +05:24:47.349 SCRIPT : ERR SMOKE PASS: carried intel identifies radio through intel service +05:24:47.349 SCRIPT : ERR SMOKE PASS: radio rejects distant player +05:24:48.364 SCRIPT : ERR SMOKE: radio=<6500,159.756,7200> player=<6502,159.53,7200> +05:24:48.364 SCRIPT : Rereintroduced [mission]: phase 2 -> 3 +05:24:48.365 SCRIPT : ERR SMOKE PASS: identified radio starts defence +05:24:51.402 SCRIPT : ERR SMOKE PASS: occupied defence timer running +05:24:53.926 SCRIPT : ERR SMOKE PASS: leaving area resets defence +05:25:24.849 SCRIPT : Rereintroduced [mission]: phase 3 -> 4 +05:25:27.262 SCRIPT : ERR SMOKE PASS: continuous occupied defence completes +05:25:27.262 SCRIPT : ERR SMOKE PASS: boarding extraction vehicle +05:25:30.314 SCRIPT : ERR SMOKE PASS: physical extraction occupancy +05:25:30.885 SCRIPT : Rereintroduced [mission]: phase 4 -> 5 +05:25:30.886 SCRIPT : ERR SMOKE PASS: scripted escape reaches victory after physical vehicle occupancy +05:25:30.886 SCRIPT : ERR SMOKE COMPLETE: terminal=5 lostHelicopterCase=0 playerDeathCase=0 +05:25:31.001 SCRIPT : SCR_BaseGameMode::OnGameStateChanged = POSTGAME +05:25:31.005 SCRIPT (W): Slot_Chat Has no Content! +05:25:31.005 SCRIPT (W): Slot_VON Has no Content! +05:25:31.005 SCRIPT (W): Slot_GameVersion Has no Content! +05:25:31.005 SCRIPT (W): Slot_Notifications Has no Content! +05:25:33.074 SCRIPT : ERR RESULT UI: player=1 title=You escaped Everon +05:25:33.075 SCRIPT (W): SCR_ScriptedWidgetComponent.GetComponent: widget not found: SCR_InputButtonComponent Back +05:25:33.075 SCRIPT : -- Stack trace -- +05:25:33.075 SCRIPT : GetComponent() Scripts/Game/UI/Components/WidgetLibrary/SCR_ScriptedWidgetComponent.c : 43 +05:25:33.075 SCRIPT : GetInputButtonComponent() Scripts/Game/UI/Components/WidgetLibrary/SCR_InputButton/SCR_InputButtonComponent.c : 1214 +05:25:33.075 SCRIPT : OnMenuOpen() Scripts/Game/UI/GameOverScreen/SCR_GameOverScreenInput.c : 15 +05:25:33.075 SCRIPT : OpenGameOverScreen() Scripts/Game/GameOverScreen/SCR_GameOverScreenManagerComponent.c : 447 +05:25:33.075 SCRIPT : ShowGameOverScreen() Scripts/Game/GameOverScreen/SCR_GameOverScreenManagerComponent.c : 177 +05:25:33.075 SCRIPT : OnUpdate() Scripts/Game/game.c : 885 +05:25:33.076 SCRIPT : ----------------- +05:25:33.076 SCRIPT (W): SCR_ScriptedWidgetComponent.GetComponent: widget not found: SCR_InputButtonComponent ChatButton +05:25:33.076 SCRIPT : -- Stack trace -- +05:25:33.076 SCRIPT : GetComponent() Scripts/Game/UI/Components/WidgetLibrary/SCR_ScriptedWidgetComponent.c : 43 +05:25:33.076 SCRIPT : GetInputButtonComponent() Scripts/Game/UI/Components/WidgetLibrary/SCR_InputButton/SCR_InputButtonComponent.c : 1214 +05:25:33.076 SCRIPT : OnMenuOpen() Scripts/Game/UI/GameOverScreen/SCR_GameOverScreenInput.c : 21 +05:25:33.076 SCRIPT : OpenGameOverScreen() Scripts/Game/GameOverScreen/SCR_GameOverScreenManagerComponent.c : 447 +05:25:33.077 SCRIPT : ShowGameOverScreen() Scripts/Game/GameOverScreen/SCR_GameOverScreenManagerComponent.c : 177 +05:25:33.077 SCRIPT : OnUpdate() Scripts/Game/game.c : 885 +05:25:33.077 SCRIPT : ----------------- +05:25:33.079 SCRIPT (W): Slot_Chat Has no Content! +05:25:33.079 SCRIPT (W): Slot_VON Has no Content! +05:25:33.079 SCRIPT (W): Slot_GameVersion Has no Content! +05:25:33.079 SCRIPT (W): Slot_Notifications Has no Content! +05:25:33.081 SCRIPT : ERR RESULT UI: player=1 title=You escaped Everon diff --git a/docs/evidence/native-2026-09-19-052352/source-provenance.json b/docs/evidence/native-2026-09-19-052352/source-provenance.json new file mode 100644 index 0000000..5fa4cc7 --- /dev/null +++ b/docs/evidence/native-2026-09-19-052352/source-provenance.json @@ -0,0 +1,4 @@ +{ + "schema_version": 1, + "kind": "launch_snapshot" +} diff --git a/docs/evidence/native-2026-09-19-052352/source-sha256.json b/docs/evidence/native-2026-09-19-052352/source-sha256.json new file mode 100644 index 0000000..1a5ef01 --- /dev/null +++ b/docs/evidence/native-2026-09-19-052352/source-sha256.json @@ -0,0 +1,118 @@ +{ + "addons/ai/Prefabs/ERR/MortarCrew.et": "05d3e7353ff9fe5523218a1487b31b7b742b0be8adbcb060c7099978cf008bce", + "addons/ai/Prefabs/ERR/MortarCrew.et.meta": "fdfd4fcd21a67c3d698fa4aadc4e5c76e665cebf4be86013bc389e493fab63cc", + "addons/ai/Scripts/Game/ERR/ERR_HQ.c": "ceafd6740ed277748744ce56ac0f0bb3a8521fcc060dafb2cdb99896aedf405a", + "addons/ai/Scripts/Game/ERR/ERR_HQJournal.c": "b3e402cfe92d415f37f666045afb062e6e11670ba03a0ca6f2d9fd4fc3520ac1", + "addons/ai/Scripts/Game/ERR/ERR_HQNetwork.c": "92ff2caca52e94c2cc9642dfc8509ce6e9349b257012bade8650bace9231128c", + "addons/ai/Scripts/Game/ERR/ERR_HQObservation.c": "36c978ec5f052213ac1236e1398d85063efbfd7ef60fe04f1fc11447fefe1d68", + "addons/ai/Scripts/Game/ERR/ERR_HQReport.c": "c4d16ccb571db4d9444c0a8d2be7318845d25ff90238b6d304e96a9ea19f1a08", + "addons/ai/Scripts/Game/ERR/ERR_HelicopterAvailability.c": "60eaef2f6d4b2fd44861c5a4434ef97e732e40a5ff7401e2da451ed2dd9c2762", + "addons/ai/Scripts/Game/ERR/ERR_MortarBattery.c": "66b8f16b692a0f75fc9d920f5224d9292a0f1dc7dd8b2dde912e676fa80ddc9c", + "addons/ai/Scripts/Game/ERR/ERR_MortarFiring.c": "657e96d1112b68c8ced37793e99f88e6078b38a579190e63d00b1f9a9a032e26", + "addons/ai/Scripts/Game/ERR/ERR_MortarPrediction.c": "470dd196ed64800c697d24c09d1344bacd2502587fac76af4ee0edae2563092d", + "addons/ai/Scripts/Game/ERR/ERR_MortarSalvo.c": "697c01f479df6c505a41d984a29c02002e3052114dafa2ec6252ae55e2979a2b", + "addons/ai/Scripts/Game/ERR/ERR_MortarSystem.c": "12d8fc39d47e03c3838e0642aa9e4a80baf60f250357493bff812d5c75812c86", + "addons/ai/Scripts/Game/ERR/ERR_SettlementSafety.c": "e5c0ebc95521a9a33a3f7d9cca6c551dda862a08b7af20b017877aba9584795b", + "addons/ai/Scripts/Game/ERR/ERR_SupportScenario.c": "71757018ec9716c4dc24f62a292a214919d3fd5daed3c16e03e56abd208e9f03", + "addons/ai/addon.gproj": "5f559db8f526700db11e6ae763f5245f19b7006fc68c56e4c09fb6f940bdf2a1", + "addons/chat/Missions/ERR_Everon.conf": "76f3ac0d21b585654beac7ddd68e3c8cbdd66dbfe909b17b04838fa813a7c29b", + "addons/chat/Missions/ERR_Everon.conf.meta": "0a23c98bf83873536c65fa17d38dea33a1d7b9e4ab210f90633ff688abcc551f", + "addons/chat/Scripts/Game/ERR/ERR_AdminCommands.c": "7ea6d6b240524cf0193c86fcab861fbdef9adca780acff11ee73f9ed0e99ce7b", + "addons/chat/Scripts/Game/ERR/ERR_NativeMortarProbe.c": "ddb892141500c192c0787b011d57dd8c07dd8c9a3ca5fdc407f6c271897bde0a", + "addons/chat/Scripts/Game/ERR/ERR_NativeRadioProbe.c": "84524163c63402755b4f834f74dfe6d8e5c397dc26031f532593c6f79f5a93b1", + "addons/chat/Scripts/Game/ERR/ERR_NativeSmoke.c": "0ab2fed95dcaa0442cf7feb25743308060d58497e347f17dbd25c8e970a9f81f", + "addons/chat/Scripts/WorkbenchGame/ERR/ERR_ValidateWorldPlugin.c": "81c92d408ce88cc9f98d6053f1d0c863427693ba748f00df9f1bf8079015ef94", + "addons/chat/addon.gproj": "ea1587e0174cf795334d306c71d99b06797fc891427cd57b6cab6e21cf0e4e0e", + "addons/core/Configs/ERR/EveronSites.conf": "2edb2c6983eb627800b65d9e244b9b228e0b82282e089c7b12e5a8921a2ea7bf", + "addons/core/Configs/ERR/EveronSites.conf.meta": "d5fe68025ef4e7c1e16082cf5873b7c7172eacbfaef4ab29b7e0e3c98f8dca56", + "addons/core/Configs/ERR/GameOverScreens.conf": "45231061911a1462d45fb6db0fecc2b0793f17b5ae71017174954ff4fbd20236", + "addons/core/Configs/ERR/GameOverScreens.conf.meta": "eb654b745c0b97b41c991694569ef4877a3c2315e0826f9556337cd68690843e", + "addons/core/Configs/ERR/VanillaFactions.conf": "f8b8b9898a16b4a4a55ab3c12d2547bef2dc433732c7643df980cb3aca715212", + "addons/core/Configs/ERR/VanillaFactions.conf.meta": "ac77725c0c21974991ef47a466b88122e939de8b46fd23e68889e7674cbb2bfd", + "addons/core/Missions/ERR_Everon_Base.conf": "1e6a0e9a756d15495201f71121626890f01efe6b00154c561672d4ec157960bd", + "addons/core/Missions/ERR_Everon_Base.conf.meta": "9b16267c644d815bcf98a3a3aaff30b93d7224fb24d3a2bac66730a28011f317", + "addons/core/Prefabs/ERR/Extraction.et": "1aa286ef253c5410f09fa641e4be91a7be8ec834487a7fbb74cfb45cab60ee1e", + "addons/core/Prefabs/ERR/Extraction.et.meta": "c2a838633001e2e3a202d39cb33aa744ebcd996017ad032359069641b5d13853", + "addons/core/Prefabs/ERR/FieldCover.et": "20f8095e69dbfe3db74ff19078e528ea75405362b335e03560ccd61f8df2e7f3", + "addons/core/Prefabs/ERR/FieldCover.et.meta": "83461ffa76244e1d69f20b053a9741ccdf7d127009182bd540a7e5ba6150c3d9", + "addons/core/Prefabs/ERR/GameMode.et": "385c97a5b8067091d92aa60c2d4fcf02002cf606b95523866ead65c96b8c0029", + "addons/core/Prefabs/ERR/GameMode.et.meta": "106769cd34525c9d440057072836cb7401a6752148c40edd7fe61c03bd58328c", + "addons/core/Prefabs/ERR/ObjectiveDocument.et": "2e72270bf186654af12d2c3ff9bf940690b03fb17fca44f873c1fde5d11384c0", + "addons/core/Prefabs/ERR/ObjectiveDocument.et.meta": "eaba9903be147b98a1106e2273e2270773df73b9b22f2cd4e20136a8e281382e", + "addons/core/Prefabs/ERR/Patrol.et": "c5685a8bc311cc5563fb3334beec9408d3d7a1069152fddeeb7df4f1b7f9e6ce", + "addons/core/Prefabs/ERR/Patrol.et.meta": "7c5da568fa2fcf0709ee2959253cb068d7c7ed7c2467af3b247a7e70efd96b69", + "addons/core/Prefabs/ERR/Prison.et": "1503db1441d8cd7a4f0b45c27ba9623b9fa39f0f81016e180bd2aa1379e1f42a", + "addons/core/Prefabs/ERR/Prison.et.meta": "2e426ef3de68f4107907854b51e818bc11d84649a01c538e3f18dd9ebec766bb", + "addons/core/Prefabs/ERR/PrisonDoor.et": "fc66be9d36f1f01084de59f1b0a1e8817f9e46547ead33d4fafaac0107446c40", + "addons/core/Prefabs/ERR/PrisonDoor.et.meta": "b8f3db52bf186426026668fbb9d633c3cbd4d438ab301fba880398f6a0e781c2", + "addons/core/Prefabs/ERR/PrisonWall.et": "8009d19365ae72a4749d7ad4fa04662575b06c65c6bf06507d380d57258b5eed", + "addons/core/Prefabs/ERR/PrisonWall.et.meta": "0294bc5dbb56f90f8153d62459bb0a6ad91d76a479812bbec9c7db182fdb58d6", + "addons/core/Prefabs/ERR/Radio.et": "b4b5cfe125b39019855816c9a1c508ca4d65d435b5546fdaa6c1fa3c8c9b1165", + "addons/core/Prefabs/ERR/Radio.et.meta": "bc91137b68ba550217914fb8892bb44d7e1920e4a1086f3e506623832a44212f", + "addons/core/Prefabs/ERR/SpectatorCamera.et": "b5b87d5b7b707f3745741aebe7c923067c8a74f8fbb2a4711834bab03bb5a812", + "addons/core/Prefabs/ERR/SpectatorCamera.et.meta": "2a16558f93915e31908a674509e9c89976470f78a84a1174a64b94b68b8f77ad", + "addons/core/Prefabs/ERR/SupplyCache.et": "bccf7afbaae97cfcdd78dd6dbbf4be5b2c045d348f50fe4581962e556c0044d7", + "addons/core/Prefabs/ERR/SupplyCache.et.meta": "2f5de3a4aab1e9d0e35521f48dc57b95bd6e449c383dec4f1c258e10295904cb", + "addons/core/Prefabs/ERR/SupplySite.et": "dc5decce5cabf39b6116e8794ec3960cb1e35761854fdbe69740da118787ded4", + "addons/core/Prefabs/ERR/SupplySite.et.meta": "b41944b12eb3528ff7a3ac94258b18c66ef161aa6a38894aee300a1ac4798630", + "addons/core/Scripts/Game/ERR/ERR_Actions.c": "adf93245e6d78c59b9839599d157a0d2b2b93ea93b3d1ae52e2904dd6c288266", + "addons/core/Scripts/Game/ERR/ERR_Actors.c": "b3c5aabb05f7cf35167bc09b5db51a4ffd89a46658805d6eedbfb80eee30273d", + "addons/core/Scripts/Game/ERR/ERR_AdminService.c": "047c14ce60cc0b167e202438f8f2b1063590e69ef88ea55b54598aea5f99c505", + "addons/core/Scripts/Game/ERR/ERR_DiscoveryMap.c": "2f4ea342fea0530061456be9cdce002d5e7a282e4e27eb88f3860e79f93612bf", + "addons/core/Scripts/Game/ERR/ERR_DiscoveryService.c": "6b5679447fe4a6d7d54c0545881ab56284f871556b3159207d421247f419eada", + "addons/core/Scripts/Game/ERR/ERR_DocumentComponent.c": "17bb76b80ebd3357e46d553c44674f602c7bd6901c92aec53ac8214194aa4ff2", + "addons/core/Scripts/Game/ERR/ERR_EscapeGameOverScreenInfo.c": "b1e1afb7795cb77c0bad94c85abf705b26b9dc2a9400905d80eafd56bdd009d3", + "addons/core/Scripts/Game/ERR/ERR_ExtractionService.c": "91357099b4e0401196b67d48963be54be30e56bdba57cdac67dc20b8ebb883e9", + "addons/core/Scripts/Game/ERR/ERR_FactionCatalog.c": "a5a8c53acf21259e14f59cb919535910f30dabff5a9179c664bc6a7a4d744d6e", + "addons/core/Scripts/Game/ERR/ERR_GameMode.c": "d766d1639378070bea64eef38baa4667f8b9f5f1a2a7b170f0fc5e8fd557917d", + "addons/core/Scripts/Game/ERR/ERR_Location.c": "d2035f56ded35743312ec6ca91a67f8623a466c91255e1893c570edf0954ff24", + "addons/core/Scripts/Game/ERR/ERR_MissionRules.c": "f7abc38ad8fdc375ce7fa63a65f0bade027d22b37e09de5e3f94ba8c3c63cc41", + "addons/core/Scripts/Game/ERR/ERR_NativeBaseSmoke.c": "e1790bca83feb52dc1093eced0624fc5bf0b3050b831a0fb8b3731759e84710f", + "addons/core/Scripts/Game/ERR/ERR_NativeContractsProbe.c": "d1556df885171cf967e96eef5d8981a2e9ee4e3938b7d32fdd0426f647bbabc0", + "addons/core/Scripts/Game/ERR/ERR_NativeDefinitionProbe.c": "d05ef8368ef5afa68e29f45843cb1878b5a09be768f8abdff2f4115c23759b01", + "addons/core/Scripts/Game/ERR/ERR_NativeExtractionProbe.c": "4b09385f73206de004f4f3c38a6192fd658a0d2012482dc5a84dff1599ceb972", + "addons/core/Scripts/Game/ERR/ERR_NativeLifecycleProbe.c": "89620ec1cc94e260ef72460b32c3291ffcc84cfe51afa907954b10229a711b2b", + "addons/core/Scripts/Game/ERR/ERR_NativeObjectiveProbe.c": "949e642c5e1b92bfbfc7f5b416b699dd5e67eceba298a25764332b1bb65635a8", + "addons/core/Scripts/Game/ERR/ERR_NativeRadioDefenceProbe.c": "cad54f0b43cefd72df74697dfc7e93725ff0acac6d311e963ce4f817428c272c", + "addons/core/Scripts/Game/ERR/ERR_NativeResultProbe.c": "b9a117eef2d5f65fbd792041a2b3e59e38e201bda8e0df8c503e1a1242cfc415", + "addons/core/Scripts/Game/ERR/ERR_NativeSiteSurvey.c": "ac0203753ade0cdff6d483132797a80e4520f14546c3f9dea288281cd4cd9c4f", + "addons/core/Scripts/Game/ERR/ERR_NativeStationTeardownDiagnostic.c": "c01cbdbfe25fd38916fa74f2c02333baaacd5228686fd6e40b33c27b3cea8ed8", + "addons/core/Scripts/Game/ERR/ERR_NativeTimeProbe.c": "c93d049785971e51246fcc07cf24804270a752a655505f2c38e48c80df5255ae", + "addons/core/Scripts/Game/ERR/ERR_NativeTransportProbe.c": "63ec0c5ce698114daa6314b2a6e3c3e98e76094117c477f9d0d072260686d193", + "addons/core/Scripts/Game/ERR/ERR_NativeTransportSurvey.c": "3e94493bf54d15be2bceb106ad18873e14e6755af09c05f07db7fb26fb7adff5", + "addons/core/Scripts/Game/ERR/ERR_ObjectiveDetails.c": "eff9935b8b7790eaedf1e46d7f67d172d7962183ea264cde75bbc1681a489dea", + "addons/core/Scripts/Game/ERR/ERR_ObjectiveText.c": "bbb29949194637e6781316836c895e2c0fa7ccdb547d4d944a717da2ad73b0a2", + "addons/core/Scripts/Game/ERR/ERR_Objectives.c": "88d95a52fcba103483ea751571e1afeae0e6fc82115ed50d6fc195424726960f", + "addons/core/Scripts/Game/ERR/ERR_Observer.c": "b719e723369ab4f403950c85226e1336eb48e3c127e84530ac1c695eb86bd0f9", + "addons/core/Scripts/Game/ERR/ERR_PlayerAdminCommands.c": "a084d7dc097dfcde3d6cd9c2e326b9e2f8f2a519f77b30c4f56ab7a1429aa721", + "addons/core/Scripts/Game/ERR/ERR_PlayerEscapeResult.c": "3124ab4d2d6d471409a47aba0af528790734df53243c03fe0cdac3e407047c14", + "addons/core/Scripts/Game/ERR/ERR_PlayerGuide.c": "2c9c365b88651f8b12618443638bf52c04e497221592bd483c33447e30468f36", + "addons/core/Scripts/Game/ERR/ERR_PlayerRoster.c": "a737ba739b3f73a91cd05d808a1d45070e83b5152c003c3164e29842dda51995", + "addons/core/Scripts/Game/ERR/ERR_RadioDefenceService.c": "85eb9c1b65d5987799927b6d8786b7299fcff849bcb15b91f8a4d1aa95823fd1", + "addons/core/Scripts/Game/ERR/ERR_Resources.c": "8a5314944f75b23982c6b99697045e3c0538aa2137b2c947a5b2411e6076ac03", + "addons/core/Scripts/Game/ERR/ERR_ScenarioComponent.c": "abba03af68323d5715ba1e2497fc66f3c706e6a6a983c3a386228abdfddeec89", + "addons/core/Scripts/Game/ERR/ERR_Settings.c": "2aee784e44c732e09f59150896491ab325ef5e62aa6bad725be1fda955a3f614", + "addons/core/Scripts/Game/ERR/ERR_SiteDefinition.c": "75b5121ceab77f0956f0dc34bd077b11af5586350de52321800427f18cc94477", + "addons/core/Scripts/Game/ERR/ERR_SiteService.c": "7ba02712562b3c8cd8de9851b6f26fed85020faacceef0767408b300b935c110", + "addons/core/Scripts/Game/ERR/ERR_SpawnFinalization.c": "2e295b0f225208c5414728ba83333e5e0ab6eef3a708ce39eb1dfce5400c94c9", + "addons/core/Scripts/Game/ERR/ERR_SpawnLogic.c": "64c2cef62d8a435eea396f057255b269d457935bf5d261221700739bf37240b8", + "addons/core/Scripts/Game/ERR/ERR_SpawnPlacement.c": "284db0d4a5ecd38f9c658c91ce943f4c0c30dcf4d31bb3edeea92e4ab0b1436a", + "addons/core/Scripts/Game/ERR/ERR_Supplies.c": "752e8a56b0b8cde33cf532032cb0a203553017b686faac2e19bee06f7a9c0713", + "addons/core/Scripts/Game/ERR/ERR_TimeService.c": "d9f481b7da01e08d2c982a948c18ba6bde76889d7cc9d26d510708f4ba479453", + "addons/core/Scripts/WorkbenchGame/ERR/ERR_ValidateBaseWorldPlugin.c": "7f44aa64ea7b4f8b3640a37a4b781c43bf6adb80e4a3a702d9491131698056f6", + "addons/core/Worlds/ERR_Everon.ent": "22324bc7eb0d80dec8a1f3bd61a9df9201b72f749f4e751766b0c9d0b7d46b87", + "addons/core/Worlds/ERR_Everon.ent.meta": "19d1903ca72baa326b4724a6791d0da1104a1e53f3f31dc1ca41a856efd68e83", + "addons/core/Worlds/ERR_Everon_Layers/default.layer": "f1a058bd315c7d01d464715ac9f4e18ae3d2432551d094a9afbd4c9c5a2a9416", + "addons/core/addon.gproj": "231274e6b62302f32c65f9ff31de2ce8a9e51e1c8d12c87deeec82ae1f40de46", + "addons/intel/Scripts/Game/ERR/ERR_IntelService.c": "482839434b94e7f8c345d5fd96490aeebb765f3dd0c1bb25fceea2f435c0e722", + "addons/intel/addon.gproj": "d0ced242cefb220a5cccd6779d61fda9bc55581701b9f78bcf13c09d92ddbcbe", + "addons/map/Materials/ERRM_MapRenderTarget.emat": "9877c5b175c5f30dd80bea36c711b21ab38219aa7075adf9ae79932e1d4c76bc", + "addons/map/Materials/ERRM_MapRenderTarget.emat.meta": "5ee1a705f8011a44020ca2691f5ccc17d44bf596fef9a36e98d1f267eb58fab0", + "addons/map/Prefabs/Items/Equipment/ERRM_SharedFieldMap.et": "30dee8e9eab459ea32a7d835a9fb89d43df47708057cab829f067b25a24cd581", + "addons/map/Prefabs/Items/Equipment/ERRM_SharedFieldMap.et.meta": "59093e9072c50d99c86da7609c87541016da5bcf92b98d99db4c524e1c8e0e8d", + "addons/map/Scripts/Game/ERR/ERR_ScenarioMap.c": "75fa1d742129ef7f33c005cd48f56db7f49ee7bde3c5428532b0b501b032b0a3", + "addons/map/Scripts/Game/ERRMap/ERRM_SharedMapComponent.c": "fc1a0c7df4fc96da446d7542a45a10fbec1eda1e543ba2f0581cb772277a47c5", + "addons/map/UI/layouts/ERRMap/SharedMapRenderTarget.layout": "49a2da4181b94d42174f58c7f9b6bf2207116c99427d61ff1c212092ac7db4d2", + "addons/map/UI/layouts/ERRMap/SharedMapRenderTarget.layout.meta": "5c846445cc089e2e08899ba703059d4adb805ff30ab5a16409a3cd59718cbd54", + "addons/map/addon.gproj": "1b371e5e01ea9fa46e76570fecb8aaa3a9298e34cba7ccca8a6bdb5ca86eb46a" +} diff --git a/docs/evidence/native-2026-09-19-052621-deleted-task-callback-diagnostic/console.log.txt b/docs/evidence/native-2026-09-19-052621-deleted-task-callback-diagnostic/console.log.txt new file mode 100644 index 0000000..9e8aa34 --- /dev/null +++ b/docs/evidence/native-2026-09-19-052621-deleted-task-callback-diagnostic/console.log.txt @@ -0,0 +1,446 @@ +--------------------------------------------- +Log Z:\tmp\erri-workbench-profile\logs\logs_2026-09-19_05-26-21\console.log started at 2026-09-19 05:26:21 (2026-09-19 03:26:21 UTC) + +05:26:21.266 ENGINE : FileSystem: Adding relative directory 'Z:\tmp\erri-workbench-profile\logs\logs_2026-09-19_05-26-21' to filesystem under name logs +05:26:21.266 ENGINE : FileSystem: Adding relative directory 'Z:\tmp\erri-workbench-profile\profile' to filesystem under name profile +05:26:21.266 ENGINE : FileSystem: Current working directory: 'Z:\home\jakub\.local\share\Steam\steamapps\common\Arma Reforger Tools\Workbench\' +05:26:21.268 PROFILING : Workbench Create Engine took: 10.924800 ms +05:26:22.307 INIT : INIT : Workbench Init Engine +05:26:22.307 ENGINE : Initializing engine, version 192142 +05:26:22.307 ENGINE : CLI Params: -gproj Z:/home/jakub/devel/escapistsrereintroduced/addons/core/addon.gproj -addonsDir Z:/home/jakub/devel/escapistsrereintroduced/addons -profile Z:/tmp/erri-workbench-profile -logconsole -wbModule WorldEditor -load Worlds/ERR_Everon.ent -plugin ERR_ValidateBaseWorldPlugin -errPlay 1 -errBaseSmoke 1 -errSmokeOutcome objective-ui -noThrow +05:26:22.315 ENGINE : Addon dirs: +05:26:22.315 ENGINE : dir: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/core/' +05:26:22.315 ENGINE : dir: 'Z:/home/jakub/devel/escapistsrereintroduced/addons' +05:26:22.315 ENGINE : dir: './addons' +05:26:22.315 ENGINE : dir: 'Z:/tmp/erri-workbench-profile/addons' +05:26:22.315 ENGINE : Available addons: +05:26:22.315 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/core/addon.gproj' guid: '2528466DE220D91C' +05:26:22.315 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/ai/addon.gproj' guid: '5192138CB9D5B911' +05:26:22.315 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/chat/addon.gproj' guid: 'FA804F411BDDF2C6' +05:26:22.315 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/intel/addon.gproj' guid: 'D31039C7C53E348A' +05:26:22.315 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/map/addon.gproj' guid: '9AAEE9041D79809E' +05:26:22.315 ENGINE : gproj: './addons/core/core.gproj' guid: '5614BBCCBB55ED1C' (packed) +05:26:22.315 ENGINE : gproj: 'Z:/tmp/erri-workbench-profile/addons/ArmaReforger/ArmaReforger.gproj' guid: '58D0FB3206B6F859' (packed) +05:26:22.315 ENGINE : FileSystem: Adding relative directory 'Z:\home\jakub\devel\escapistsrereintroduced\addons\core' to filesystem under name ERR_Core +05:26:22.428 ENGINE : FileSystem: Adding package 'Z:/tmp/erri-workbench-profile/addons/ArmaReforger/' (pak count: 14) to filesystem under name ArmaReforger +05:26:22.431 ENGINE : FileSystem: Adding package './addons/core/' (pak count: 2) to filesystem under name core +05:26:22.431 ENGINE : CPU vendor : AuthenticAMD +05:26:22.431 ENGINE : CPU type : 2 +05:26:22.431 ENGINE : CPU name : AMD Ryzen 7 3800XT 8-Core Processor +05:26:22.431 ENGINE : CPU cache info : L1 [Inst 32KB, Data 32KB], L2 [Unif 512KB], L3 [Unif 16384KB] +05:26:22.431 ENGINE : CPU count logical : 16 +05:26:22.431 ENGINE : CPU count physical : 8 +05:26:22.431 ENGINE : CPU features : mmx sse sse2 sse3 ssse3 sse4_1 sse4_2 popcnt aesni pclmulqdq osxsave avx sha avx2 +05:26:22.431 RESOURCES : ResourceDB: loading cache (id=0 name=ERR_Core path=Z:\home\jakub\devel\escapistsrereintroduced\addons\core/resourceDatabase.rdb) +05:26:22.432 RESOURCES : ResourceDB: loading cache (id=1 name=ArmaReforger path=Z:/tmp/erri-workbench-profile/addons/ArmaReforger/resourceDatabase.rdb) +05:26:22.569 RESOURCES : ResourceDB: loading cache (id=2 name=core path=./addons/core/resourceDatabase.rdb) +05:26:22.570 RESOURCES : ResourceDB: loading cache (id=3 name=profile path=Z:\tmp\erri-workbench-profile\profile/resourceDatabase.rdb) +05:26:22.570 RESOURCES : ResourceDB: loading cache (id=4 name=logs path=Z:\tmp\erri-workbench-profile\logs\logs_2026-09-19_05-26-21/resourceDatabase.rdb) +05:26:22.731 RESOURCES : RESOURCES : ResourceDB: full scan +05:26:22.736 RESOURCES : RESOURCES : scanning... +05:26:22.736 RESOURCES : RESOURCES : scanning @"ERR_Core" +05:26:22.739 RESOURCES : RESOURCES : scanning @"ArmaReforger" +05:26:22.883 RESOURCES : RESOURCES : scanning @"core" +05:26:22.888 RESOURCES : RESOURCES : scanning @"profile" +05:26:22.888 RESOURCES : RESOURCES : scanning @"logs" +05:26:22.889 RESOURCES : RESOURCES : processing meta-files... +05:26:22.959 RESOURCES : RESOURCES : processing files... +05:26:22.969 INIT : Workbench startup +05:26:22.969 INIT : Workbench Init Engine +05:26:22.969 RESOURCES : ResourceDB: full scan +05:26:22.969 RESOURCES : processing files... +05:26:22.969 RESOURCES (W): resource not registered: @"$profile:rereintroduced.json". Setting null GUID +05:26:22.969 RESOURCES (W): resource not registered: @"$logs:launch-source-sha256.json". Setting null GUID +05:26:22.969 RESOURCES (W): resource not registered: @"$logs:launch-source.json". Setting null GUID +05:26:22.969 RESOURCES : RESOURCES : processing folders... +05:26:22.976 RESOURCES : RESOURCES : creating GUID-item mapping... +05:26:22.993 RESOURCES : RESOURCES : building tree... +05:26:23.053 PROFILING : ResourceDB: full scan took: 321.319500 ms +05:26:23.054 RESOURCES : ResourceDB: saving cache (id=0 name=ERR_Core path=Z:\home\jakub\devel\escapistsrereintroduced\addons\core/resourceDatabase.rdb) +05:26:23.055 RESOURCES : ResourceDB: written 4000/4000 bytes +05:26:23.055 RESOURCES : ResourceDB: cache successfully saved +05:26:23.055 RESOURCES : ResourceDB: saving cache (id=3 name=profile path=Z:\tmp\erri-workbench-profile\profile/resourceDatabase.rdb) +05:26:23.057 RESOURCES : ResourceDB: written 206/206 bytes +05:26:23.057 RESOURCES : ResourceDB: cache successfully saved +05:26:23.057 RESOURCES : ResourceDB: saving cache (id=4 name=logs path=Z:\tmp\erri-workbench-profile\logs\logs_2026-09-19_05-26-21/resourceDatabase.rdb) +05:26:23.059 RESOURCES : ResourceDB: written 162/162 bytes +05:26:23.059 RESOURCES : ResourceDB: cache successfully saved +05:26:23.059 ENGINE : GameProject load +05:26:23.059 ENGINE : Loaded addons: +05:26:23.059 ENGINE : gproj: './addons/core/core.gproj' guid: '5614BBCCBB55ED1C' +05:26:23.059 ENGINE : gproj: 'Z:/tmp/erri-workbench-profile/addons/ArmaReforger/ArmaReforger.gproj' guid: '58D0FB3206B6F859' +05:26:23.059 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/core/addon.gproj' guid: '2528466DE220D91C' +05:26:23.061 ENGINE : Loading custom engine user config '$profile:.save/app1874910_user76561198020202999/settings/ReforgerEngineSettings.conf' +05:26:23.061 INIT : GameProject engine user settings load @"$profile:.save/app1874910_user76561198020202999/settings/ReforgerEngineSettings.conf" +05:26:23.061 ENGINE : Engine user settings config loaded +05:26:23.061 PROFILING : Settings changed took: 0.002400 ms +05:26:23.168 RENDER : (OK) Adapter 'AMD Radeon RX 6950 XT (RADV NAVI21)' supports feature level 12_0 +05:26:23.171 RENDER : Basic screen setup: +05:26:23.171 RENDER : Back buffer format : TEXFMT_R8G8B8A8_SRGB (29) +05:26:23.171 RENDER : MSAA : none +05:26:23.185 RENDER : AMD AGS library initialized, version 6.1.0 x DLL 6.1.0 +05:26:23.185 RENDER : Extendeded AMD info for AMD Radeon RX 6950 XT (RADV NAVI21) (primary device) +05:26:23.185 RENDER : * architecture RDNA2, 80 CUs, 40 WGPs (for RDNA), 64 ROPs +05:26:23.185 RENDER : * core clocks 2720 MHz, memory 1124 MHz +05:26:23.185 RENDER : * TFlops 27.9, memory bandwidth (562.0 GB/s) +05:26:23.185 RENDER : AMD AGS correctly initialized +05:26:23.186 RENDER : GPU_ATI (0x1002) (AMD Radeon RX 6950 XT (RADV NAVI21)) with 1 GPU detected, VRAM 16128MB (fast 0MB), shared 64362MB, driver version 99.19.02-230831a-396538C-AMD-Software-Adrenalin-Edition +05:26:23.186 RENDER : Detected output devices: +05:26:23.186 RENDER : * 1 device/s connected to AMD Radeon RX 6950 XT (RADV NAVI21): +05:26:23.186 RENDER : Generic Non-PnP Monitor (\\.\DISPLAY1), 1280x720 (offset 0x0), 30Hz +05:26:23.186 RENDER : Concurrent frames limit 2 +05:26:23.260 RENDER : DX12 device successfully created by AMD AGS library +05:26:23.260 RENDER : * user markers not supported in this version AMD SW +05:26:23.260 RENDER : Graphics device features +05:26:23.260 RENDER : Needed: +05:26:23.260 RENDER : * Highest supported shader model: 6.8 (6.0 needed) +05:26:23.260 RENDER : Optional: +05:26:23.260 RENDER : * Allow tearing (VSYNC) : 1 +05:26:23.260 RENDER : * 16 bits : 1 +05:26:23.260 RENDER : * Resource heap tier : 3 +05:26:23.260 RENDER : * Persistent heaps (DRED) : 1 +05:26:23.260 RENDER : * DRED 1.2 is supported by compiler +05:26:23.278 RENDER : Main RT format setup. +05:26:23.279 RENDER : Main RT format for quality 0 : TEXFMT_R11G11B10_FLOAT (26) +05:26:23.279 RENDER : Main RT format for quality 1 : TEXFMT_R16G16B16A16_FLOAT (10) +05:26:23.280 ENGINE : Job system settings: coreCount=16, shortJobContextCount=16, shortJobThreadCount=15, longJobThreadCount=16 +05:26:23.310 PROFILING : Settings changed took: 0.020600 ms +05:26:23.783 AUDIO : Endpoint: Speakers (PulseAudio Output) +05:26:23.783 AUDIO : Format: Channels: 2, Sample rate: 48kHz, Avg. bytes: 384kB, Sample bits: 32, Block align: 8B +05:26:23.784 AUDIO : Audio client: +05:26:23.784 AUDIO : Format: Channels: 2, Sample rate: 48kHz, Buffer size: 1536B, Frame: 512 +05:26:23.787 RENDER : RENDER : Reload shaders +05:26:23.787 RENDER : Enfusion shader version 13 +05:26:23.787 INIT : INIT : ShaderListReload +05:26:23.787 PROFILING : ShaderListReload took: 0.000700 ms +05:26:23.929 AUDIO : Endpoint: Speakers (PulseAudio Output) +05:26:23.929 AUDIO : Format: Channels: 2, Sample rate: 48kHz, Avg. bytes: 384kB, Sample bits: 32, Block align: 8B +05:26:23.929 AUDIO : Audio client: +05:26:23.929 AUDIO : Format: Channels: 2, Sample rate: 48kHz, Buffer size: 1536B, Frame: 512 +05:26:24.039 RENDER : Loaded 3752 newer shader binaries +05:26:24.039 PROFILING : Reload shaders took: 252.354000 ms +05:26:24.039 ENGINE : Initializing inputs. +05:26:24.052 NETWORK : Initializing networking. +05:26:24.052 NETWORK : Using new GameRplScheduler. +05:26:24.052 SCRIPT : SCRIPT : Initializing scripts +05:26:24.052 SCRIPT : SCRIPT : ScriptProjectManager init +05:26:24.888 PROFILING : ScriptProjectManager init took: 835.975000 ms +05:26:24.922 PROFILING : Initializing scripts took: 870.071400 ms +05:26:24.940 ENGINE : Enfusion engine successfully created. +05:26:24.940 PROFILING : Workbench Init Engine took: 2632.906400 ms +05:26:24.940 INIT : INIT : Workbench Create Game +05:26:24.950 GUI : Using default language (en_us) +05:26:24.950 GUI : Loading 'en_us' localization file. +05:26:24.950 INIT : INIT : Loading StringTable +05:26:24.973 PROFILING : Loading StringTable took: 23.124700 ms +05:26:24.973 SCRIPT : SCRIPT : Compiling GameLib scripts +05:26:25.031 SCRIPT : Module: Workbench; loaded 18x files; 36x classes; used 125K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE"; CRC32: 90ce0460 +05:26:25.032 SCRIPT : Module: GameLib; loaded 465x files; 648x classes; used 828K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE"; CRC32: 4507af04 +05:26:25.032 PROFILING : Compiling GameLib scripts took: 59.159100 ms +05:26:25.032 SCRIPT : SCRIPT : Compiling Game scripts +05:26:26.144 INIT : Workbench Create Game +05:26:26.144 SCRIPT : Compiling Game scripts +05:26:26.144 SCRIPT (W): @"Scripts/Game/Editor/Components/EditableEntity/SCR_EditableEntityComponent.c,785": 'GetPlayerPlatformKind' is obsolete +05:26:26.144 SCRIPT (W): @"Scripts/Game/Editor/Components/EditableEntity/SCR_EditableEntityComponent.c,786": 'GetPlayerPlatformId' is obsolete +05:26:26.393 SCRIPT (W): @"Scripts/Game/ERR/ERR_SiteService.c,140": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +05:26:26.402 SCRIPT (W): @"Scripts/Game/Workshop/SCR_AddonManager.c,876": 'GetRefCount' is obsolete: Will be removed +05:26:26.431 SCRIPT (W): @"Scripts/Game/Campaign/SCR_PlayerProfileManagerComponent.c,142": 'PlayerData' is obsolete +05:26:26.531 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,159": 'GetDSSession' is obsolete +05:26:26.531 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,162": 'RoomID' is obsolete +05:26:26.531 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,197": 'GetDSSession' is obsolete +05:26:26.531 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,201": 'RoomID' is obsolete +05:26:26.627 SCRIPT (W): @"Scripts/Game/DataCollection/SCR_DataCollectorComponent.c,481": 'GetStorage' is obsolete +05:26:26.627 SCRIPT (W): @"Scripts/Game/DataCollection/SCR_DataCollectorComponent.c,483": 'GetOnlineWritePrivilege' is obsolete +05:26:26.629 SCRIPT (W): @"Scripts/Game/Utilities/SCR_PlayerIdentityUtils.c,20": 'GetPlayerIdentityId' is obsolete +05:26:26.675 SCRIPT (W): @"Scripts/Game/ERR/ERR_ExtractionService.c,45": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +05:26:26.676 SCRIPT (W): @"Scripts/Game/ERR/ERR_ExtractionService.c,56": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +05:26:26.677 SCRIPT (W): @"Scripts/Game/UI/Menu/MainMenuUI.c,643": 'GetNotifyCount' is obsolete: Will be substitued by Notification Api. +05:26:26.677 SCRIPT (W): @"Scripts/Game/UI/Menu/MainMenuUI.c,645": 'GetNotifyItem' is obsolete: Will be substitued by Notification Api. +05:26:26.709 SCRIPT (W): @"Scripts/Game/ERR/ERR_NativeTransportProbe.c,82": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +05:26:26.749 SCRIPT (W): @"Scripts/Game/DataCollection/PlayerData/SCR_PlayerData.c,210": 'PlayerData' is obsolete +05:26:27.018 SCRIPT : Module: WorkbenchGame; loaded 171x files; 616x classes; used 2478K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE"; CRC32: db6febb9 +05:26:27.024 SCRIPT : Module: Game; loaded 5704x files; 11180x classes; used 32546K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE,ENABLE_BASE_DESTRUCTION,BUDGET_OPTIMIZATION_CHECKS,SHOW_DISCLAIMER,DEBUG,RESPAWN_TIMER_COMPONENT_DEBUG,GAME_MODE_DEBUG,DEBUG_CONFIGURABLE_DIALOGS,DISABLE_WEAPON_SWITCHING,SCRIPTED_AIM_MODIFIER_DEBUG"; CRC32: 4f7b9bda +05:26:27.060 PROFILING : Compiling Game scripts took: 2027.429500 ms +05:26:27.066 INIT : Creating game instance(ArmaReforgerScripted), version 1.8.0.13 built 2026-08-21 14:30:18 UTC. +05:26:27.107 ENGINE : Game successfully created. +05:26:27.108 PROFILING : Workbench Create Game took: 2167.743400 ms +05:26:27.117 DEFAULT : Using thumbnail cache directory: C:/users/steamuser/AppData/Local/Temp/Arma Reforger Workbench/Projects/ERR_Core/thumbnails +05:26:27.980 INIT : INIT : Workbench Reload Game +05:26:27.981 ENGINE : Game destroyed. +05:26:27.987 GUI : Using default language (en_us) +05:26:27.987 GUI : Loading 'en_us' localization file. +05:26:27.987 INIT : INIT : Loading StringTable +05:26:27.998 PROFILING : Loading StringTable took: 10.926600 ms +05:26:27.999 INIT : Creating game instance(ArmaReforgerScripted), version 1.8.0.13 built 2026-08-21 14:30:18 UTC. +05:26:28.007 SCRIPT : Unable to register a script command due keyword duplicity: ban +05:26:28.007 SCRIPT : Unable to register a script command due keyword duplicity: kick +05:26:28.007 ENGINE : Game successfully created. +05:26:28.007 ENGINE : Game successfully initialized. +05:26:28.007 PROFILING : Workbench Reload Game took: 27.303300 ms +05:26:28.818 WORLD : WORLD : Entities load '$ERR_Core:Worlds/ERR_Everon.ent' +05:26:29.855 PROFILING : Entities load took: 1035.917000 ms +05:26:29.867 WORLD : WORLD : CreateEntities +05:26:29.873 WORLD : WORLD : NotifyBeforeEntitiesCreated +05:26:29.873 PROFILING : NotifyBeforeEntitiesCreated took: 0.002900 ms +05:26:29.873 WORLD : WORLD : Wait for preloading data +05:26:29.873 PROFILING : Wait for preloading data took: 0.003300 ms +05:26:29.984 ENTITY : Create entity @"ENTITY:2" ('Eden', GenericTerrainEntity) at <0.000000 0.000000 0.000000> @"{5AD924374E8C7AF6}Prefabs/World/Game/Eden/GenericTerrain_Eden.et" +05:26:29.985 PROFILING : PROFILING : Terrain load +05:26:31.557 PROFILING : Terrain load took: 1571.698300 ms +05:26:35.519 WORLD : CreateEntities +05:26:35.520 ENTITY : Create entity @"ENTITY:610406" ('StaticModelEntity','Assets/Structures/Infrastructure/Towers/TransmitterTower_01/TransmitterTower_01_small.xob') at <1931.796021 81.777000 5138.725098> @"{6A004A8F0571D456}Prefabs/Structures/Infrastructure/Towers/TransmitterTower_01/TransmitterTower_01_small.et" +05:26:35.520 ENTITY : CreateComponent 'ScriptedRadioComponent' +05:26:35.520 DEFAULT (W): World doesn't contain RadioManagerEntity to support any BaseRadioComponent. +05:26:45.079 WORLD : WORLD : NotifyBeforeEntitiesInitialized +05:26:45.079 PROFILING : NotifyBeforeEntitiesInitialized took: 0.006100 ms +05:26:45.531 WORLD : WORLD : NotifyEntitiesInitialized +05:26:45.531 TERRAIN : TERRAIN : Initializing road networks... +05:26:45.534 PROFILING : Initializing road networks... took: 2.536600 ms +05:26:45.534 PROFILING : NotifyEntitiesInitialized took: 2.982400 ms +05:26:45.534 PROFILING : CreateEntities took: 15667.140200 ms +05:26:45.711 PROFILING : * WorldEditor: LoadWorld: 16897.461400 ms +05:26:47.174 TERRAIN : Loading tile map config (worlds/Eden/Eden/tileMap.conf) +05:26:47.174 TERRAIN : Loading minimap config (worlds/Eden/Eden/miniMap.conf) +05:26:47.175 TERRAIN : The default minimap texture ('worlds/Eden/EdenRasterized.edds') not found. Trying 'worlds/Eden/Eden.edds'... +05:26:47.175 TERRAIN : The default minimap texture ('worlds/Eden/Eden.edds') not found. Skipping... +05:26:47.263 SCRIPT : ERR SITE SURVEY: supply=6150/7050 elevationRange=0.625 min=202.875 max=203.5 +05:26:47.289 BACKEND : Attempting online Game Config instead. +05:26:50.558 INIT : INIT : Workbench Reload Game +05:26:50.560 ENGINE : Game destroyed. +05:26:50.566 GUI : Using default language (en_us) +05:26:50.566 GUI : Loading 'en_us' localization file. +05:26:50.566 INIT : INIT : Loading StringTable +05:26:50.587 PROFILING : Loading StringTable took: 20.548000 ms +05:26:50.587 INIT : Creating game instance(ArmaReforgerScripted), version 1.8.0.13 built 2026-08-21 14:30:18 UTC. +05:26:50.596 SCRIPT : Unable to register a script command due keyword duplicity: ban +05:26:50.596 SCRIPT : Unable to register a script command due keyword duplicity: kick +05:26:50.596 ENGINE : Game successfully created. +05:26:50.596 ENGINE : Game successfully initialized. +05:26:50.596 PROFILING : Workbench Reload Game took: 38.453300 ms +05:26:50.599 DEFAULT (W): LogiLED: Cannot initialize! (service not running or no compatible device detected) +05:26:50.655 PLATFORM : Save data from container 'settings' have been loaded +05:26:50.745 PLATFORM : Save data from container 'sessions' have been loaded +05:26:50.746 PLATFORM : GameProject user settings load from profile @"ReforgerGameSettings.conf" +05:26:50.746 ENGINE : Game user settings config loaded +05:26:50.842 DEFAULT : [SaveGameManager] Starting new playthrough nr.0 '' for mission '{B6C516F86302C679}Worlds/ERR_Everon.ent'. +05:26:50.851 WORLD : WORLD : Game::LoadEntities +05:26:50.851 WORLD : WORLD : Initializing world systems @"{1C60D2EDA2B468B8}Configs/Systems/BaseGameModeSystems.conf" +05:26:50.852 NETWORK : Enabled lag compensation, 29 frames with 100 FPS and 280 ms rewind limits. +05:26:50.852 WORLD : WORLD : CreateEntities +05:26:50.852 WORLD : WORLD : CreateEntities +05:26:50.852 WORLD : WORLD : NotifyBeforeEntitiesCreated +05:26:50.858 RESOURCES : Loaded mission headers from 7 addon(s)! +05:26:50.858 PROFILING : NotifyBeforeEntitiesCreated took: 5.434300 ms +05:26:50.858 WORLD : WORLD : Wait for preloading data +05:26:50.858 PROFILING : Wait for preloading data took: 0.000300 ms +05:26:55.344 WORLD : Game::LoadEntities +05:26:55.344 WORLD : CreateEntities +05:26:55.344 WORLD : CreateEntities +05:26:55.344 ENTITY : Create entity @"ENTITY:610406" ('StaticModelEntity','Assets/Structures/Infrastructure/Towers/TransmitterTower_01/TransmitterTower_01_small.xob') at <1931.796021 81.777000 5138.725098> @"{6A004A8F0571D456}Prefabs/Structures/Infrastructure/Towers/TransmitterTower_01/TransmitterTower_01_small.et" +05:26:55.344 ENTITY : CreateComponent 'ScriptedRadioComponent' +05:26:55.344 DEFAULT (W): World doesn't contain RadioManagerEntity to support any BaseRadioComponent. +05:26:56.813 ENTITY : Create entity @"ENTITY:842066" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1080.213013 10.776751 6018.347168> +05:26:56.813 ENTITY : CreateComponent 'Hierarchy' +05:26:56.813 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842066" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1080.213013 10.776751 6018.347168>') +05:26:56.813 ENTITY : Create entity @"ENTITY:842068" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1082.185913 10.778749 6018.331055> +05:26:56.813 ENTITY : CreateComponent 'Hierarchy' +05:26:56.813 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842068" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1082.185913 10.778749 6018.331055>') +05:26:56.814 ENTITY : Create entity @"ENTITY:842070" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1084.190918 10.790751 6018.334961> +05:26:56.814 ENTITY : CreateComponent 'Hierarchy' +05:26:56.814 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842070" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1084.190918 10.790751 6018.334961>') +05:26:56.819 ENTITY : Create entity @"ENTITY:842333" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4425.594727 9.981750 11029.402344> +05:26:56.819 ENTITY : CreateComponent 'Hierarchy' +05:26:56.819 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842333" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4425.594727 9.981750 11029.402344>') +05:26:56.819 ENTITY : Create entity @"ENTITY:842335" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4426.584473 9.983749 11031.109375> +05:26:56.819 ENTITY : CreateComponent 'Hierarchy' +05:26:56.819 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842335" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4426.584473 9.983749 11031.109375>') +05:26:56.819 ENTITY : Create entity @"ENTITY:842337" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4427.572266 9.995750 11032.853516> +05:26:56.819 ENTITY : CreateComponent 'Hierarchy' +05:26:56.819 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842337" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4427.572266 9.995750 11032.853516>') +05:26:56.823 ENTITY : Create entity @"ENTITY:842591" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.946289 10.470250 1551.986084> +05:26:56.823 ENTITY : CreateComponent 'Hierarchy' +05:26:56.823 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842591" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.946289 10.470250 1551.986084>') +05:26:56.823 ENTITY : Create entity @"ENTITY:842593" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.430664 10.472250 1550.081421> +05:26:56.823 ENTITY : CreateComponent 'Hierarchy' +05:26:56.823 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842593" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.430664 10.472250 1550.081421>') +05:26:56.823 ENTITY : Create entity @"ENTITY:842595" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10008.926758 10.484250 1548.140869> +05:26:56.823 ENTITY : CreateComponent 'Hierarchy' +05:26:56.823 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842595" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10008.926758 10.484250 1548.140869>') +05:27:01.410 ENTITY : Create entity @"ENTITY:2305843009213693956" ('Factions', SCR_FactionManager) at <0.000000 0.000000 0.000000> @"{589540B35EBA8CDC}Prefabs/MP/Managers/Factions/FactionManager_USxUSSR.et" +05:27:01.410 RESOURCES : GetResourceObject @"{5168FEA3054D6D15}Prefabs/Vehicles/Wheeled/M151A2/M151A2_M2HB_MERDC.et" +05:27:01.410 WORLD : Entity prefab load @"{5168FEA3054D6D15}Prefabs/Vehicles/Wheeled/M151A2/M151A2_M2HB_MERDC.et" +05:27:01.410 RESOURCES : GetResourceObject @"{F6B23D17D5067C11}Prefabs/Vehicles/Wheeled/M151A2/M151A2_M2HB.et" +05:27:01.410 WORLD : Entity prefab load @"{F6B23D17D5067C11}Prefabs/Vehicles/Wheeled/M151A2/M151A2_M2HB.et" +05:27:01.410 RESOURCES : GetResourceObject @"{F649585ABB3706C4}Prefabs/Vehicles/Wheeled/M151A2/M151A2.et" +05:27:01.410 WORLD : Entity prefab load @"{F649585ABB3706C4}Prefabs/Vehicles/Wheeled/M151A2/M151A2.et" +05:27:01.410 WORLD (E): Unknown keyword/data 'SlidingTrackMaterial' at offset 19441(0x4bf1) +05:27:01.448 RESOURCES : GetResourceObject @"{F7B9B434FCFF00B3}Prefabs/Vehicles/Wheeled/Conflict_Variants/BRDM2_Conflict.et" +05:27:01.448 WORLD : Entity prefab load @"{F7B9B434FCFF00B3}Prefabs/Vehicles/Wheeled/Conflict_Variants/BRDM2_Conflict.et" +05:27:01.448 RESOURCES : GetResourceObject @"{254289B9C09904AB}Prefabs/Vehicles/Wheeled/BRDM2/BRDM2.et" +05:27:01.448 WORLD : Entity prefab load @"{254289B9C09904AB}Prefabs/Vehicles/Wheeled/BRDM2/BRDM2.et" +05:27:01.448 RESOURCES : GetResourceObject @"{532B5F3CF8496E59}Prefabs/Vehicles/Wheeled/BRDM2/BRDM2_base.et" +05:27:01.448 WORLD : Entity prefab load @"{532B5F3CF8496E59}Prefabs/Vehicles/Wheeled/BRDM2/BRDM2_base.et" +05:27:01.448 WORLD (E): Unknown keyword/data 'Parent' at offset 35955(0x8c73) +05:27:01.448 WORLD (E): Unknown keyword/data 'Parent' at offset 36915(0x9033) +05:27:01.450 RESOURCES : GetResourceObject @"{BD75A18920BD1278}Prefabs/Vehicles/Wheeled/Conflict_Variants/BTR70_Conflict.et" +05:27:01.450 WORLD : Entity prefab load @"{BD75A18920BD1278}Prefabs/Vehicles/Wheeled/Conflict_Variants/BTR70_Conflict.et" +05:27:01.450 RESOURCES : GetResourceObject @"{C012BB3488BEA0C2}Prefabs/Vehicles/Wheeled/BTR70/BTR70.et" +05:27:01.450 WORLD : Entity prefab load @"{C012BB3488BEA0C2}Prefabs/Vehicles/Wheeled/BTR70/BTR70.et" +05:27:01.450 RESOURCES : GetResourceObject @"{1C5FE7B7FF49BB8D}Prefabs/Vehicles/Wheeled/BTR70/BTR70_Base.et" +05:27:01.450 WORLD : Entity prefab load @"{1C5FE7B7FF49BB8D}Prefabs/Vehicles/Wheeled/BTR70/BTR70_Base.et" +05:27:01.450 WORLD (E): Unknown keyword/data 'Parent' at offset 42646(0xa696) +05:27:01.450 WORLD (E): Unknown keyword/data 'Parent' at offset 43645(0xaa7d) +05:27:01.450 WORLD (E): Unknown keyword/data 'Parent' at offset 44617(0xae49) +05:27:01.450 WORLD (E): Unknown keyword/data 'Parent' at offset 45590(0xb216) +05:27:01.756 WORLD : WORLD : NotifyBeforeEntitiesInitialized +05:27:01.756 PROFILING : NotifyBeforeEntitiesInitialized took: 0.041200 ms +05:27:03.678 WORLD : InitEntities 'world' +05:27:03.678 ENTITY : Init entity @"ENTITY:2305843009213693953" ('Rereintroduced', ERR_GameMode) at <1076.468018 51.000999 1325.246948> @"{978E045E53EF36C8}Prefabs/ERR/GameMode.et" +05:27:03.678 SCRIPT (W): SCR_PerceivedFactionManagerComponent trying to set fall back faction 'CIV' but this faction could not be found so it is null instead. +05:27:03.709 WORLD : InitEntities 'world' +05:27:03.709 ENTITY : Init entity @"ENTITY:2305843009213693953" ('Rereintroduced', ERR_GameMode) at <1076.468018 51.000999 1325.246948> @"{978E045E53EF36C8}Prefabs/ERR/GameMode.et" +05:27:03.709 SCRIPT : ERR BASE SMOKE: core-only scripted escape; not manual or multiplayer acceptance +05:27:03.709 WORLD : WORLD : NotifyEntitiesInitialized +05:27:03.709 TERRAIN : TERRAIN : Initializing road networks... +05:27:03.712 PROFILING : Initializing road networks... took: 2.878000 ms +05:27:03.712 DEFAULT : DEFAULT : WorldVolumesCollection +05:27:03.777 PROFILING : WorldVolumesCollection took: 64.163100 ms +05:27:03.777 INIT : INIT : SoundWorldInit +05:27:03.792 PROFILING : SoundWorldInit took: 15.232700 ms +05:27:03.792 PROFILING : NotifyEntitiesInitialized took: 82.562400 ms +05:27:03.792 PROFILING : CreateEntities took: 12939.368300 ms +05:27:03.792 PROFILING : CreateEntities took: 12939.544100 ms +05:27:03.793 WORLD : WORLD : Wait for preloading data around camera +05:27:03.793 PROFILING : Wait for preloading data around camera took: 0.001000 ms +05:27:03.793 WORLD : WORLD : EOnActivate +05:27:03.827 PROFILING : EOnActivate took: 34.316000 ms +05:27:03.827 PROFILING : Game::LoadEntities took: 12976.067300 ms +05:27:04.102 DEFAULT : Entered offline game state. +05:27:04.205 NETWORK : Player connected: connectionID=2147483646 +05:27:04.205 NETWORK : ### Connecting player: connectionID=2147483646, Name= +05:27:04.206 NETWORK : ### Creating player: PlayerId=1, Name=jakub +05:27:04.211 ENTITY : SpawnEntityPrefab @"{225E51284CC95CFA}Prefabs/Characters/Core/DefaultPlayerControllerMP.et" +05:27:04.211 ENTITY : Create entity @"ENTITY:4611686018427388381" ('SCR_PlayerController') at <0.000000 0.000000 0.000000> +05:27:04.211 ENTITY : EntityPrefabUse @"{225E51284CC95CFA}Prefabs/Characters/Core/DefaultPlayerControllerMP.et" +05:27:04.211 SCRIPT (W): Notification data in 'SCR_NotificationsLogDisplay' has duplicate notification info key: 'EDITOR_PERCEIVED_FACTION_PUNISHMENT_KILLING_SET'. There should only be one of each key! +05:27:04.212 SCRIPT (W): Notification data in 'SCR_NotificationsLogDisplay' has duplicate notification info key: 'EDITOR_PERCEIVED_FACTION_TYPE_DISABLED'. There should only be one of each key! +05:27:04.214 SCRIPT (W): Can't open config file "" +05:27:04.221 WORLD : InitEntities 'world' +05:27:04.222 ENTITY : Init entity @"ENTITY:4611686018427388381" ('SCR_PlayerController') at <0.000000 0.000000 0.000000> @"{225E51284CC95CFA}Prefabs/Characters/Core/DefaultPlayerControllerMP.et" +05:27:04.222 GUI : WidgetManager: CrateWidgets @"{3C9DCDD76AB83157}UI/layouts/HUD/HUDLayouts/HUDManager_Root.layout" +05:27:04.222 SCRIPT (W): Slot_WeaponInfo Has no Content! +05:27:04.222 SCRIPT (W): Slot_Chat Has no Content! +05:27:04.223 SCRIPT (W): Slot_VON Has no Content! +05:27:04.223 SCRIPT (W): Slot_AvailableActions Has no Content! +05:27:04.223 SCRIPT (W): Slot_Vehicle Has no Content! +05:27:04.223 SCRIPT (W): Slot_GameVersion Has no Content! +05:27:04.223 SCRIPT (W): Slot_Notifications Has no Content! +05:27:04.224 SCRIPT (W): Slot_Hints Has no Content! +05:27:04.240 NETWORK : ### Updating player: PlayerId=1, Name=jakub, rplIdentity=0xFFFFFFFE, IdentityId=00000000-0000-0000-0000-000000000000 +05:27:04.241 SCRIPT (W): Ban Settings could not be loaded from BE Storage: Relying on default config +05:27:04.242 NETWORK : Players connecting: 0 +05:27:04.242 NETWORK : Players connected: 1 / 1 +05:27:04.273 DEFAULT : Using autosave directory: C:/users/steamuser/AppData/Local/Temp/Arma Reforger Workbench/Projects/ERR_Core/autosaves +05:27:04.275 PROFILING : Workbench startup took: 43073.657800 ms +05:27:04.302 WORLD : Frame start +05:27:04.303 SCRIPT : ScenarioFramework: Available tasks are empty, no new tasks will be generated. +05:27:04.315 WORLD : UpdateEntities +05:27:04.316 WORLD : Frame +05:27:04.316 SCRIPT : SCR_BaseGameMode::OnGameStateChanged = GAME +05:27:04.483 WORLD : UpdateEntities +05:27:04.483 WORLD : PostFrame +05:27:04.483 GUI : WidgetManager: CrateWidgets @"{D89BBA18F99053D6}UI/layouts/HUD/Chat/ChatHud.layout" +05:27:04.483 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +05:27:04.528 RESOURCES : GetResourceObject @"{20A6917D2114E29A}UI/layouts/HUD/Hint/HintInfoDisplay.layout" +05:27:04.528 GUI : Layout load @"{20A6917D2114E29A}UI/layouts/HUD/Hint/HintInfoDisplay.layout" +05:27:04.528 GUI : Widget prefab @"{EA1CC57D868E94F9}UI/layouts/HUD/Hint/Hint.layout" +05:27:04.528 GUI (W): Overridden prefab member (GUID: '{661AB14E0F471C66}' type: ButtonWidgetClass) no longer exists in prefab +05:27:04.665 RENDER : RENDER : ObjectsHeightMap::Build +05:27:04.665 RENDER : RENDER : MeshOccupancyGridManager::GenerateAllForWorld +05:27:04.837 PROFILING : MeshOccupancyGridManager::GenerateAllForWorld took: 170.873200 ms +05:27:04.845 PROFILING : ObjectsHeightMap::Build took: 178.582200 ms +05:27:06.006 SCRIPT : Rereintroduced [sites]: cache clearance position=<6086,211.538,7160> clear=1 +05:27:06.025 SCRIPT : Rereintroduced [sites]: authored everon-prison-1 at <6090,211.444,7160> +05:27:06.026 SCRIPT : Rereintroduced [sites]: cache clearance position=<6150,203.288,7050> clear=1 +05:27:06.055 SCRIPT : Rereintroduced [sites]: authored everon-supply-1 at <6150,203.288,7050> +05:27:06.058 SCRIPT : Rereintroduced [sites]: authored everon-radio-1 at <6500,159.756,7200> +05:27:06.108 SCRIPT : Rereintroduced [sites]: authored everon-extraction-1 at <7000,65.2562,7500> +05:27:06.108 SCRIPT : Rereintroduced [sites]: cache clearance position=<5960,220.256,7220> clear=1 +05:27:06.114 SCRIPT : Rereintroduced [sites]: transport parking=<5960,220.256,7212> radius=4 terrainRange=0.8125 obstructed=0 clear=1 +05:27:06.159 SCRIPT : Rereintroduced [sites]: authored everon-supply-2 at <5960,220.256,7220> +05:27:06.160 SCRIPT : Rereintroduced [sites]: cache clearance position=<6340,175.788,7400> clear=1 +05:27:06.162 SCRIPT : Rereintroduced [sites]: authored everon-medical-1 at <6340,175.788,7400> +05:27:06.162 SCRIPT : Rereintroduced [sites]: cache clearance position=<6740,140.6,7300> clear=1 +05:27:06.166 SCRIPT : Rereintroduced [sites]: cache clearance position=<6740,140.913,7296> clear=1 +05:27:06.167 SCRIPT : Rereintroduced [sites]: cache clearance position=<6736,140.975,7300> clear=1 +05:27:06.168 SCRIPT : Rereintroduced [sites]: cache clearance position=<6744,140.288,7300> clear=1 +05:27:06.169 SCRIPT : Rereintroduced [sites]: authored everon-outpost-1 at <6740,140.6,7300> +05:27:06.254 SCRIPT : Rereintroduced [sites]: 7 sites and 117 physical stock items ready +05:27:06.255 SCRIPT : Rereintroduced [time]: started at 14:00 with 1x progression +05:27:06.255 SCRIPT : Rereintroduced [mission]: phase 0 -> 1 +05:27:06.502 SCRIPT : INFO: Faction: player jakub (playerID = 1 | UUID = 00000000-0000-0000-0000-000000000000) has joined faction #AR-Faction_US (US) +05:27:06.582 SCRIPT : Rereintroduced [spawn]: player 1 at <6087,211.438,7157> +05:27:06.700 SCRIPT : ERR SMOKE PASS: objective UI current native task exists +05:27:06.703 SCRIPT : ERR SMOKE PASS: objective UI native list and detail layouts created +05:27:06.703 SCRIPT : ERR SMOKE PASS: objective UI native handlers attached +05:27:06.704 SCRIPT : ERR SMOKE PASS: objective UI open list and details contain current title and instructions +05:27:06.704 SCRIPT : ERR SMOKE PASS: objective UI list-only task cannot expose an undiscovered map position +05:27:06.704 SCRIPT : ERR SMOKE PASS: objective UI actual local player receives the active objective +05:27:06.705 SCRIPT : ERR SMOKE PASS: objective UI extraction instructions follow a nondefault boundary +05:27:06.705 SCRIPT : ERR SMOKE PASS: objective UI rebinding keeps one subscription to each native task event +05:27:06.706 SCRIPT : ERR SMOKE PASS: objective UI closing native widget uses production detach and releases its task +05:27:06.706 SCRIPT : ERR SMOKE PASS: objective UI closed native widget receives no task callbacks +05:27:07.706 SCRIPT : ERR SMOKE PASS: objective UI closed native widget has no delayed overflow callbacks +05:27:07.706 SCRIPT : ERR SMOKE PASS: objective UI current native task exists +05:27:07.709 SCRIPT : ERR SMOKE PASS: objective UI native list and detail layouts created +05:27:07.709 SCRIPT : ERR SMOKE PASS: objective UI native handlers attached +05:27:07.710 SCRIPT : ERR SMOKE PASS: objective UI open list and details contain current title and instructions +05:27:07.710 SCRIPT : ERR SMOKE PASS: objective UI list-only task cannot expose an undiscovered map position +05:27:07.710 SCRIPT : ERR SMOKE PASS: objective UI actual local player receives the active objective +05:27:07.711 SCRIPT : ERR SMOKE PASS: objective UI extraction instructions follow a nondefault boundary +05:27:07.711 SCRIPT : ERR SMOKE PASS: objective UI details reopen through native layout and current objective binding +05:27:07.711 SCRIPT : ERR SMOKE PASS: objective UI isolated deletion has a native task system, mission task and local executor +05:27:07.713 SCRIPT : ERR SMOKE PASS: objective UI deletion fixture owns a separate native task +05:27:07.713 SCRIPT : ERR SMOKE PASS: objective UI isolated task has an actual local assignee +05:27:07.715 SCRIPT : ERR SMOKE PASS: objective UI isolated native details layout created +05:27:07.715 SCRIPT : ERR SMOKE PASS: objective UI isolated native details handler attached +05:27:07.716 SCRIPT (E): Virtual Machine Exception + +Reason: ScriptCallback: method 'CheckOverflow' is private/protected + +Class: 'SCR_TaskListEntryDescriptionUIComponent' +Function: 'GetRemainingTimeByName' +Stack trace: +Scripts/Game/ERR/ERR_NativeObjectiveProbe.c:198 Function ERR_ProbeTrace +Scripts/Game/ERR/ERR_NativeObjectiveProbe.c:116 Function BeginDeletedTaskClose +Scripts/Game/ERR/ERR_NativeBaseSmoke.c:214 Function ERR_BaseTick +Scripts/Game/game.c:885 Function OnUpdate +05:27:07.723 SCRIPT : ERR OBJECTIVE TRACE: stage=before isolated task deletion task=1 detached=0 closed=0 overflowRemainingMs=100 byNameMs=-1 +05:27:07.724 SCRIPT (E): Virtual Machine Exception + +Reason: ScriptCallback: method 'CheckOverflow' is private/protected + +Class: 'SCR_TaskListEntryDescriptionUIComponent' +Function: 'GetRemainingTimeByName' +Stack trace: +Scripts/Game/ERR/ERR_NativeObjectiveProbe.c:198 Function ERR_ProbeTrace +Scripts/Game/ERR/ERR_NativeObjectiveProbe.c:119 Function BeginDeletedTaskClose +Scripts/Game/ERR/ERR_NativeBaseSmoke.c:214 Function ERR_BaseTick +Scripts/Game/game.c:885 Function OnUpdate +05:27:07.725 SCRIPT : ERR OBJECTIVE TRACE: stage=after isolated task deletion before detach task=0 detached=0 closed=0 overflowRemainingMs=100 byNameMs=-1 +05:27:07.725 SCRIPT : ERR SMOKE PASS: objective UI native task deletion clears both task and bound-widget weak references +05:27:07.726 SCRIPT (E): Virtual Machine Exception + +Reason: ScriptCallback: method 'CheckOverflow' is private/protected + +Class: 'SCR_TaskListEntryDescriptionUIComponent' +Function: 'GetRemainingTimeByName' +Stack trace: +Scripts/Game/ERR/ERR_NativeObjectiveProbe.c:198 Function ERR_ProbeTrace +Scripts/Game/ERR/ERR_NativeObjectiveProbe.c:127 Function BeginDeletedTaskClose +Scripts/Game/ERR/ERR_NativeBaseSmoke.c:214 Function ERR_BaseTick +Scripts/Game/game.c:885 Function OnUpdate +05:27:07.726 SCRIPT : ERR OBJECTIVE TRACE: stage=after deleted-task panel detach task=0 detached=1 closed=1 overflowRemainingMs=100 byNameMs=-1 +05:27:07.726 SCRIPT : ERR SMOKE PASS: objective UI deleted-task panel closes through production detach +05:27:07.726 SCRIPT : ERR OBJECTIVE LATE CALLBACK: kind=UpdateAssignees count=1 task=0 detached=1 root=0 +05:27:07.726 SCRIPT : ERR SMOKE PASS: objective UI real mission objective survives isolated deletion and assignment is restored diff --git a/docs/evidence/native-2026-09-19-052621-deleted-task-callback-diagnostic/error.log.txt b/docs/evidence/native-2026-09-19-052621-deleted-task-callback-diagnostic/error.log.txt new file mode 100644 index 0000000..3408c42 --- /dev/null +++ b/docs/evidence/native-2026-09-19-052621-deleted-task-callback-diagnostic/error.log.txt @@ -0,0 +1,156 @@ +--------------------------------------------- +Log Z:\tmp\erri-workbench-profile\logs\logs_2026-09-19_05-26-21\error.log started at 2026-09-19 05:26:22 (2026-09-19 03:26:22 UTC) + +05:26:22.969 INIT : Workbench startup +05:26:22.969 INIT : Workbench Init Engine +05:26:22.969 RESOURCES : ResourceDB: full scan +05:26:22.969 RESOURCES : processing files... +05:26:22.969 RESOURCES (W): resource not registered: @"$profile:rereintroduced.json". Setting null GUID +05:26:22.969 RESOURCES (W): resource not registered: @"$logs:launch-source-sha256.json". Setting null GUID +05:26:22.969 RESOURCES (W): resource not registered: @"$logs:launch-source.json". Setting null GUID +05:26:26.144 INIT : Workbench Create Game +05:26:26.144 SCRIPT : Compiling Game scripts +05:26:26.144 SCRIPT (W): @"Scripts/Game/Editor/Components/EditableEntity/SCR_EditableEntityComponent.c,785": 'GetPlayerPlatformKind' is obsolete +05:26:26.144 SCRIPT (W): @"Scripts/Game/Editor/Components/EditableEntity/SCR_EditableEntityComponent.c,786": 'GetPlayerPlatformId' is obsolete +05:26:26.393 SCRIPT (W): @"Scripts/Game/ERR/ERR_SiteService.c,140": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +05:26:26.402 SCRIPT (W): @"Scripts/Game/Workshop/SCR_AddonManager.c,876": 'GetRefCount' is obsolete: Will be removed +05:26:26.431 SCRIPT (W): @"Scripts/Game/Campaign/SCR_PlayerProfileManagerComponent.c,142": 'PlayerData' is obsolete +05:26:26.531 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,159": 'GetDSSession' is obsolete +05:26:26.531 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,162": 'RoomID' is obsolete +05:26:26.531 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,197": 'GetDSSession' is obsolete +05:26:26.531 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,201": 'RoomID' is obsolete +05:26:26.627 SCRIPT (W): @"Scripts/Game/DataCollection/SCR_DataCollectorComponent.c,481": 'GetStorage' is obsolete +05:26:26.627 SCRIPT (W): @"Scripts/Game/DataCollection/SCR_DataCollectorComponent.c,483": 'GetOnlineWritePrivilege' is obsolete +05:26:26.629 SCRIPT (W): @"Scripts/Game/Utilities/SCR_PlayerIdentityUtils.c,20": 'GetPlayerIdentityId' is obsolete +05:26:26.675 SCRIPT (W): @"Scripts/Game/ERR/ERR_ExtractionService.c,45": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +05:26:26.676 SCRIPT (W): @"Scripts/Game/ERR/ERR_ExtractionService.c,56": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +05:26:26.677 SCRIPT (W): @"Scripts/Game/UI/Menu/MainMenuUI.c,643": 'GetNotifyCount' is obsolete: Will be substitued by Notification Api. +05:26:26.677 SCRIPT (W): @"Scripts/Game/UI/Menu/MainMenuUI.c,645": 'GetNotifyItem' is obsolete: Will be substitued by Notification Api. +05:26:26.709 SCRIPT (W): @"Scripts/Game/ERR/ERR_NativeTransportProbe.c,82": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +05:26:26.749 SCRIPT (W): @"Scripts/Game/DataCollection/PlayerData/SCR_PlayerData.c,210": 'PlayerData' is obsolete +05:26:35.519 WORLD : CreateEntities +05:26:35.520 ENTITY : Create entity @"ENTITY:610406" ('StaticModelEntity','Assets/Structures/Infrastructure/Towers/TransmitterTower_01/TransmitterTower_01_small.xob') at <1931.796021 81.777000 5138.725098> @"{6A004A8F0571D456}Prefabs/Structures/Infrastructure/Towers/TransmitterTower_01/TransmitterTower_01_small.et" +05:26:35.520 ENTITY : CreateComponent 'ScriptedRadioComponent' +05:26:35.520 DEFAULT (W): World doesn't contain RadioManagerEntity to support any BaseRadioComponent. +05:26:50.599 DEFAULT (W): LogiLED: Cannot initialize! (service not running or no compatible device detected) +05:26:55.344 WORLD : Game::LoadEntities +05:26:55.344 WORLD : CreateEntities +05:26:55.344 WORLD : CreateEntities +05:26:55.344 ENTITY : Create entity @"ENTITY:610406" ('StaticModelEntity','Assets/Structures/Infrastructure/Towers/TransmitterTower_01/TransmitterTower_01_small.xob') at <1931.796021 81.777000 5138.725098> @"{6A004A8F0571D456}Prefabs/Structures/Infrastructure/Towers/TransmitterTower_01/TransmitterTower_01_small.et" +05:26:55.344 ENTITY : CreateComponent 'ScriptedRadioComponent' +05:26:55.344 DEFAULT (W): World doesn't contain RadioManagerEntity to support any BaseRadioComponent. +05:26:56.813 ENTITY : Create entity @"ENTITY:842066" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1080.213013 10.776751 6018.347168> +05:26:56.813 ENTITY : CreateComponent 'Hierarchy' +05:26:56.813 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842066" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1080.213013 10.776751 6018.347168>') +05:26:56.813 ENTITY : Create entity @"ENTITY:842068" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1082.185913 10.778749 6018.331055> +05:26:56.813 ENTITY : CreateComponent 'Hierarchy' +05:26:56.813 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842068" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1082.185913 10.778749 6018.331055>') +05:26:56.814 ENTITY : Create entity @"ENTITY:842070" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1084.190918 10.790751 6018.334961> +05:26:56.814 ENTITY : CreateComponent 'Hierarchy' +05:26:56.814 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842070" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1084.190918 10.790751 6018.334961>') +05:26:56.819 ENTITY : Create entity @"ENTITY:842333" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4425.594727 9.981750 11029.402344> +05:26:56.819 ENTITY : CreateComponent 'Hierarchy' +05:26:56.819 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842333" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4425.594727 9.981750 11029.402344>') +05:26:56.819 ENTITY : Create entity @"ENTITY:842335" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4426.584473 9.983749 11031.109375> +05:26:56.819 ENTITY : CreateComponent 'Hierarchy' +05:26:56.819 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842335" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4426.584473 9.983749 11031.109375>') +05:26:56.819 ENTITY : Create entity @"ENTITY:842337" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4427.572266 9.995750 11032.853516> +05:26:56.819 ENTITY : CreateComponent 'Hierarchy' +05:26:56.819 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842337" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4427.572266 9.995750 11032.853516>') +05:26:56.823 ENTITY : Create entity @"ENTITY:842591" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.946289 10.470250 1551.986084> +05:26:56.823 ENTITY : CreateComponent 'Hierarchy' +05:26:56.823 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842591" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.946289 10.470250 1551.986084>') +05:26:56.823 ENTITY : Create entity @"ENTITY:842593" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.430664 10.472250 1550.081421> +05:26:56.823 ENTITY : CreateComponent 'Hierarchy' +05:26:56.823 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842593" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.430664 10.472250 1550.081421>') +05:26:56.823 ENTITY : Create entity @"ENTITY:842595" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10008.926758 10.484250 1548.140869> +05:26:56.823 ENTITY : CreateComponent 'Hierarchy' +05:26:56.823 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842595" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10008.926758 10.484250 1548.140869>') +05:27:01.410 ENTITY : Create entity @"ENTITY:2305843009213693956" ('Factions', SCR_FactionManager) at <0.000000 0.000000 0.000000> @"{589540B35EBA8CDC}Prefabs/MP/Managers/Factions/FactionManager_USxUSSR.et" +05:27:01.410 RESOURCES : GetResourceObject @"{5168FEA3054D6D15}Prefabs/Vehicles/Wheeled/M151A2/M151A2_M2HB_MERDC.et" +05:27:01.410 WORLD : Entity prefab load @"{5168FEA3054D6D15}Prefabs/Vehicles/Wheeled/M151A2/M151A2_M2HB_MERDC.et" +05:27:01.410 RESOURCES : GetResourceObject @"{F6B23D17D5067C11}Prefabs/Vehicles/Wheeled/M151A2/M151A2_M2HB.et" +05:27:01.410 WORLD : Entity prefab load @"{F6B23D17D5067C11}Prefabs/Vehicles/Wheeled/M151A2/M151A2_M2HB.et" +05:27:01.410 RESOURCES : GetResourceObject @"{F649585ABB3706C4}Prefabs/Vehicles/Wheeled/M151A2/M151A2.et" +05:27:01.410 WORLD : Entity prefab load @"{F649585ABB3706C4}Prefabs/Vehicles/Wheeled/M151A2/M151A2.et" +05:27:01.410 WORLD (E): Unknown keyword/data 'SlidingTrackMaterial' at offset 19441(0x4bf1) +05:27:01.448 RESOURCES : GetResourceObject @"{F7B9B434FCFF00B3}Prefabs/Vehicles/Wheeled/Conflict_Variants/BRDM2_Conflict.et" +05:27:01.448 WORLD : Entity prefab load @"{F7B9B434FCFF00B3}Prefabs/Vehicles/Wheeled/Conflict_Variants/BRDM2_Conflict.et" +05:27:01.448 RESOURCES : GetResourceObject @"{254289B9C09904AB}Prefabs/Vehicles/Wheeled/BRDM2/BRDM2.et" +05:27:01.448 WORLD : Entity prefab load @"{254289B9C09904AB}Prefabs/Vehicles/Wheeled/BRDM2/BRDM2.et" +05:27:01.448 RESOURCES : GetResourceObject @"{532B5F3CF8496E59}Prefabs/Vehicles/Wheeled/BRDM2/BRDM2_base.et" +05:27:01.448 WORLD : Entity prefab load @"{532B5F3CF8496E59}Prefabs/Vehicles/Wheeled/BRDM2/BRDM2_base.et" +05:27:01.448 WORLD (E): Unknown keyword/data 'Parent' at offset 35955(0x8c73) +05:27:01.448 WORLD (E): Unknown keyword/data 'Parent' at offset 36915(0x9033) +05:27:01.450 RESOURCES : GetResourceObject @"{BD75A18920BD1278}Prefabs/Vehicles/Wheeled/Conflict_Variants/BTR70_Conflict.et" +05:27:01.450 WORLD : Entity prefab load @"{BD75A18920BD1278}Prefabs/Vehicles/Wheeled/Conflict_Variants/BTR70_Conflict.et" +05:27:01.450 RESOURCES : GetResourceObject @"{C012BB3488BEA0C2}Prefabs/Vehicles/Wheeled/BTR70/BTR70.et" +05:27:01.450 WORLD : Entity prefab load @"{C012BB3488BEA0C2}Prefabs/Vehicles/Wheeled/BTR70/BTR70.et" +05:27:01.450 RESOURCES : GetResourceObject @"{1C5FE7B7FF49BB8D}Prefabs/Vehicles/Wheeled/BTR70/BTR70_Base.et" +05:27:01.450 WORLD : Entity prefab load @"{1C5FE7B7FF49BB8D}Prefabs/Vehicles/Wheeled/BTR70/BTR70_Base.et" +05:27:01.450 WORLD (E): Unknown keyword/data 'Parent' at offset 42646(0xa696) +05:27:01.450 WORLD (E): Unknown keyword/data 'Parent' at offset 43645(0xaa7d) +05:27:01.450 WORLD (E): Unknown keyword/data 'Parent' at offset 44617(0xae49) +05:27:01.450 WORLD (E): Unknown keyword/data 'Parent' at offset 45590(0xb216) +05:27:03.678 WORLD : InitEntities 'world' +05:27:03.678 ENTITY : Init entity @"ENTITY:2305843009213693953" ('Rereintroduced', ERR_GameMode) at <1076.468018 51.000999 1325.246948> @"{978E045E53EF36C8}Prefabs/ERR/GameMode.et" +05:27:03.678 SCRIPT (W): SCR_PerceivedFactionManagerComponent trying to set fall back faction 'CIV' but this faction could not be found so it is null instead. +05:27:04.211 ENTITY : SpawnEntityPrefab @"{225E51284CC95CFA}Prefabs/Characters/Core/DefaultPlayerControllerMP.et" +05:27:04.211 ENTITY : Create entity @"ENTITY:4611686018427388381" ('SCR_PlayerController') at <0.000000 0.000000 0.000000> +05:27:04.211 ENTITY : EntityPrefabUse @"{225E51284CC95CFA}Prefabs/Characters/Core/DefaultPlayerControllerMP.et" +05:27:04.211 SCRIPT (W): Notification data in 'SCR_NotificationsLogDisplay' has duplicate notification info key: 'EDITOR_PERCEIVED_FACTION_PUNISHMENT_KILLING_SET'. There should only be one of each key! +05:27:04.212 SCRIPT (W): Notification data in 'SCR_NotificationsLogDisplay' has duplicate notification info key: 'EDITOR_PERCEIVED_FACTION_TYPE_DISABLED'. There should only be one of each key! +05:27:04.214 SCRIPT (W): Can't open config file "" +05:27:04.221 WORLD : InitEntities 'world' +05:27:04.222 ENTITY : Init entity @"ENTITY:4611686018427388381" ('SCR_PlayerController') at <0.000000 0.000000 0.000000> @"{225E51284CC95CFA}Prefabs/Characters/Core/DefaultPlayerControllerMP.et" +05:27:04.222 GUI : WidgetManager: CrateWidgets @"{3C9DCDD76AB83157}UI/layouts/HUD/HUDLayouts/HUDManager_Root.layout" +05:27:04.222 SCRIPT (W): Slot_WeaponInfo Has no Content! +05:27:04.222 SCRIPT (W): Slot_Chat Has no Content! +05:27:04.223 SCRIPT (W): Slot_VON Has no Content! +05:27:04.223 SCRIPT (W): Slot_AvailableActions Has no Content! +05:27:04.223 SCRIPT (W): Slot_Vehicle Has no Content! +05:27:04.223 SCRIPT (W): Slot_GameVersion Has no Content! +05:27:04.223 SCRIPT (W): Slot_Notifications Has no Content! +05:27:04.224 SCRIPT (W): Slot_Hints Has no Content! +05:27:04.241 SCRIPT (W): Ban Settings could not be loaded from BE Storage: Relying on default config +05:27:04.483 WORLD : UpdateEntities +05:27:04.483 WORLD : PostFrame +05:27:04.483 GUI : WidgetManager: CrateWidgets @"{D89BBA18F99053D6}UI/layouts/HUD/Chat/ChatHud.layout" +05:27:04.483 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +05:27:04.528 RESOURCES : GetResourceObject @"{20A6917D2114E29A}UI/layouts/HUD/Hint/HintInfoDisplay.layout" +05:27:04.528 GUI : Layout load @"{20A6917D2114E29A}UI/layouts/HUD/Hint/HintInfoDisplay.layout" +05:27:04.528 GUI : Widget prefab @"{EA1CC57D868E94F9}UI/layouts/HUD/Hint/Hint.layout" +05:27:04.528 GUI (W): Overridden prefab member (GUID: '{661AB14E0F471C66}' type: ButtonWidgetClass) no longer exists in prefab +05:27:07.716 SCRIPT (E): Virtual Machine Exception + +Reason: ScriptCallback: method 'CheckOverflow' is private/protected + +Class: 'SCR_TaskListEntryDescriptionUIComponent' +Function: 'GetRemainingTimeByName' +Stack trace: +Scripts/Game/ERR/ERR_NativeObjectiveProbe.c:198 Function ERR_ProbeTrace +Scripts/Game/ERR/ERR_NativeObjectiveProbe.c:116 Function BeginDeletedTaskClose +Scripts/Game/ERR/ERR_NativeBaseSmoke.c:214 Function ERR_BaseTick +Scripts/Game/game.c:885 Function OnUpdate +05:27:07.724 SCRIPT (E): Virtual Machine Exception + +Reason: ScriptCallback: method 'CheckOverflow' is private/protected + +Class: 'SCR_TaskListEntryDescriptionUIComponent' +Function: 'GetRemainingTimeByName' +Stack trace: +Scripts/Game/ERR/ERR_NativeObjectiveProbe.c:198 Function ERR_ProbeTrace +Scripts/Game/ERR/ERR_NativeObjectiveProbe.c:119 Function BeginDeletedTaskClose +Scripts/Game/ERR/ERR_NativeBaseSmoke.c:214 Function ERR_BaseTick +Scripts/Game/game.c:885 Function OnUpdate +05:27:07.726 SCRIPT (E): Virtual Machine Exception + +Reason: ScriptCallback: method 'CheckOverflow' is private/protected + +Class: 'SCR_TaskListEntryDescriptionUIComponent' +Function: 'GetRemainingTimeByName' +Stack trace: +Scripts/Game/ERR/ERR_NativeObjectiveProbe.c:198 Function ERR_ProbeTrace +Scripts/Game/ERR/ERR_NativeObjectiveProbe.c:127 Function BeginDeletedTaskClose +Scripts/Game/ERR/ERR_NativeBaseSmoke.c:214 Function ERR_BaseTick +Scripts/Game/game.c:885 Function OnUpdate diff --git a/docs/evidence/native-2026-09-19-052621-deleted-task-callback-diagnostic/headless-launch.log.txt b/docs/evidence/native-2026-09-19-052621-deleted-task-callback-diagnostic/headless-launch.log.txt new file mode 100644 index 0000000..5665ae2 --- /dev/null +++ b/docs/evidence/native-2026-09-19-052621-deleted-task-callback-diagnostic/headless-launch.log.txt @@ -0,0 +1,150 @@ +[gamescope] [Info] console: gamescope version 3.16.28 (gcc 16.2.1) +No CAP_SYS_NICE, falling back to regular-priority compute and threads. +Performance will be affected. +[gamescope] [Info] scriptmgr: Loading scripts from: '/usr/share/gamescope/scripts' +[gamescope] [Info] scriptmgr: Loading scripts from: '/usr/share/gamescope/scripts/00-gamescope' +[gamescope] [Info] scriptmgr: Loading scripts from: '/usr/share/gamescope/scripts/00-gamescope/common' +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/common/inspect.lua' (id: 0) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/common/modegen.lua' (id: 1) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/common/util.lua' (id: 2) +[gamescope] [Info] scriptmgr: Loading scripts from: '/usr/share/gamescope/scripts/00-gamescope/displays' +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/asus.rogally.lcd.lua' (id: 3) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/deckhd.steamdeck.deckhd-lcd.lua' (id: 4) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/gpd.win4.lcd.lua' (id: 5) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/lenovo.legiongo.lcd.lua' (id: 6) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/lenovo.legiongos.lcd.lua' (id: 7) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/onexplayer.f1.oled.lua' (id: 8) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/valve.steamdeck.lcd.lua' (id: 9) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/valve.steamdeck.oled.lua' (id: 10) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/zotac.zone.oled.lua' (id: 11) +[gamescope] [Info] scriptmgr: Loading scripts from: '/etc/gamescope/scripts' +[gamescope] [Warn] scriptmgr: Directory '/etc/gamescope/scripts' does not exist +[gamescope] [Info] scriptmgr: Loading scripts from: '/home/jakub/.config/gamescope/scripts' +[gamescope] [Warn] scriptmgr: Directory '/home/jakub/.config/gamescope/scripts' does not exist +[gamescope] [Info] vulkan: selecting physical device 'AMD Radeon RX 6950 XT (RADV NAVI21)': queue family 1 (general queue family 0) +[gamescope] [Info] vulkan: physical device supports DRM format modifiers +[gamescope] [Info] wlserver: [backend/headless/backend.c:60] Creating headless backend +[gamescope] [Info] vulkan: supported DRM formats for sampling usage: +[gamescope] [Info] vulkan: AR24 (0x34325241) +[gamescope] [Info] vulkan: XR24 (0x34325258) +[gamescope] [Info] vulkan: AB24 (0x34324241) +[gamescope] [Info] vulkan: XB24 (0x34324258) +[gamescope] [Info] vulkan: RG16 (0x36314752) +[gamescope] [Info] vulkan: NV12 (0x3231564E) +[gamescope] [Info] vulkan: AB4H (0x48344241) +[gamescope] [Info] vulkan: XB4H (0x48344258) +[gamescope] [Info] vulkan: AB48 (0x38344241) +[gamescope] [Info] vulkan: XB48 (0x38344258) +[gamescope] [Info] vulkan: AB30 (0x30334241) +[gamescope] [Info] vulkan: XB30 (0x30334258) +[gamescope] [Info] vulkan: AR30 (0x30335241) +[gamescope] [Info] vulkan: XR30 (0x30335258) +[gamescope] [Info] wlserver: Using explicit sync when available +[gamescope] [Info] wlserver: Running compositor on wayland display 'gamescope-0' +[gamescope] [Info] wlserver: [backend/headless/backend.c:17] Starting headless backend +[gamescope] [Info] wlserver: Successfully initialized libei for input emulation! +[gamescope] [Error] wlserver: [xwayland/sockets.c:47] Failed to bind socket @/tmp/.X11-unix/X0: Address already in use +[gamescope] [Info] wlserver: [xwayland/server.c:108] Starting Xwayland on :2 +The XKEYBOARD keymap compiler (xkbcomp) reports: +> Warning: Multiple symbols for level 1/group 1 on key +> Using F23, ignoring XF86TouchpadOff +> Warning: Symbol map for key redefined +> Using last definition for conflicting fields +> Warning: Symbol map for key redefined +> Using last definition for conflicting fields +> Warning: Could not resolve keysym XF86ElectronicPrivacyScreenOn +> Warning: Could not resolve keysym XF86ElectronicPrivacyScreenOff +> Warning: Could not resolve keysym XF86ActionOnSelection +> Warning: Could not resolve keysym XF86ContextualInsert +> Warning: Could not resolve keysym XF86ContextualQuery +Errors from xkbcomp are not fatal to the X server +[gamescope] [Info] pipewire: stream state changed: connecting +[gamescope] [Info] pipewire: stream state changed: paused +[gamescope] [Info] pipewire: stream available on node ID: 173 +[gamescope] [Info] vblank: Using timerfd. +fsync: up and running. +[Gamescope WSI] No application info given. +[Gamescope WSI] Executable name: explorer.exe +ATTENTION: default value of option vk_wsi_force_swapchain_to_current_extent overridden by environment. +[Gamescope WSI] Application info: + pApplicationName: xalia.exe + applicationVersion: 0 + pEngineName: DXVK + engineVersion: 12587008 + apiVersion: 4206592 +[Gamescope WSI] Executable name: xalia.exe +ATTENTION: default value of option vk_wsi_force_swapchain_to_current_extent overridden by environment. +[Gamescope WSI] No application info given. +[Gamescope WSI] Application info: + pApplicationName: ArmaReforgerWorkbenchSteamDiag.exe + applicationVersion: 1 + pEngineName: DXVK + engineVersion: 12587008 + apiVersion: 4206592 +[Gamescope WSI] Executable name: ArmaReforgerWorkbenchSteamDiag.exe +ATTENTION: default value of option vk_wsi_force_swapchain_to_current_extent overridden by environment. +[Gamescope WSI] No application info given. +The XKEYBOARD keymap compiler (xkbcomp) reports: +> Warning: Unsupported maximum keycode 709, clipping. +> X11 cannot support keycodes above 255. +> Warning: Virtual modifier Hyper multiply defined +> Using 0, ignoring 0 +> Warning: Virtual modifier ScrollLock multiply defined +> Using 0, ignoring 0 +Errors from xkbcomp are not fatal to the X server +ATTENTION: default value of option vk_wsi_force_swapchain_to_current_extent overridden by environment. +[Gamescope WSI] Application info: + pApplicationName: ArmaReforgerWorkbenchSteamDiag.exe + applicationVersion: 0 + pEngineName: DXVK + engineVersion: 12587008 + apiVersion: 4206592 +ATTENTION: default value of option vk_wsi_force_swapchain_to_current_extent overridden by environment. +[Gamescope WSI] Application info: + pApplicationName: ArmaReforgerWorkbenchSteamDiag.exe + applicationVersion: 0 + pEngineName: vkd3d + engineVersion: 12587008 + apiVersion: 4206592 +[Gamescope WSI] Forcing on VK_EXT_swapchain_maintenance1. +ATTENTION: default value of option vk_wsi_force_swapchain_to_current_extent overridden by environment. +[Gamescope WSI] No application info given. +ATTENTION: default value of option vk_wsi_force_swapchain_to_current_extent overridden by environment. +[Gamescope WSI] Application info: + pApplicationName: ArmaReforgerWorkbenchSteamDiag.exe + applicationVersion: 0 + pEngineName: vkd3d + engineVersion: 12587008 + apiVersion: 4206592 +[Gamescope WSI] Forcing on VK_EXT_swapchain_maintenance1. +[Gamescope WSI] Creating Gamescope surface: xid: 0x1c001a4 +[Gamescope WSI] Atom of T was wrong type. Expected XCB_ATOM_CARDINAL. +[Gamescope WSI] Made gamescope surface for xid: 0x1c001a4 +[Gamescope WSI] Surface state: + steam app id: 1874910 + window xid: 0x1c001a4 + wayland surface res id: 5 + layer client flags: 0x4 + server hdr output enabled: false + hdr formats exposed to client: false +[Gamescope WSI] Creating Gamescope surface: xid: 0x1c003a4 +[Gamescope WSI] Atom of T was wrong type. Expected XCB_ATOM_CARDINAL. +[Gamescope WSI] Made gamescope surface for xid: 0x1c003a4 +[Gamescope WSI] Surface state: + steam app id: 1874910 + window xid: 0x1c003a4 + wayland surface res id: 10 + layer client flags: 0x4 + server hdr output enabled: false + hdr formats exposed to client: false +[Gamescope WSI] Creating swapchain for xid: 0x1c003a4 - oldSwapchain: (nil) - provided minImageCount: 3 - minImageCount: 3 - format: VK_FORMAT_B8G8R8A8_UNORM - colorspace: VK_COLOR_SPACE_SRGB_NONLINEAR_KHR - flip: false +[Gamescope WSI] Created swapchain for xid: 0x1c003a4 swapchain: 0x55556f554ee0 - imageCount: 4 +[Gamescope WSI] Destroying swapchain: 0x55556f554ee0 +[Gamescope WSI] Destroyed swapchain: 0x55556f554ee0 +[Gamescope WSI] Creating swapchain for xid: 0x1c003a4 - oldSwapchain: (nil) - provided minImageCount: 3 - minImageCount: 3 - format: VK_FORMAT_B8G8R8A8_UNORM - colorspace: VK_COLOR_SPACE_SRGB_NONLINEAR_KHR - flip: false +[Gamescope WSI] Created swapchain for xid: 0x1c003a4 swapchain: 0x55556f554ee0 - imageCount: 4 +[Gamescope WSI] Destroying swapchain: 0x55556f554ee0 +[Gamescope WSI] Destroyed swapchain: 0x55556f554ee0 +[Gamescope WSI] Creating swapchain for xid: 0x1c003a4 - oldSwapchain: (nil) - provided minImageCount: 3 - minImageCount: 3 - format: VK_FORMAT_B8G8R8A8_UNORM - colorspace: VK_COLOR_SPACE_SRGB_NONLINEAR_KHR - flip: false +[Gamescope WSI] Created swapchain for xid: 0x1c003a4 swapchain: 0x55556f4eeff0 - imageCount: 4 +[gamescope] [Info] launch: Primary child shut down! diff --git a/docs/evidence/native-2026-09-19-052621-deleted-task-callback-diagnostic/launch-source-sha256.json b/docs/evidence/native-2026-09-19-052621-deleted-task-callback-diagnostic/launch-source-sha256.json new file mode 100644 index 0000000..495a02f --- /dev/null +++ b/docs/evidence/native-2026-09-19-052621-deleted-task-callback-diagnostic/launch-source-sha256.json @@ -0,0 +1,118 @@ +{ + "addons/ai/Prefabs/ERR/MortarCrew.et": "05d3e7353ff9fe5523218a1487b31b7b742b0be8adbcb060c7099978cf008bce", + "addons/ai/Prefabs/ERR/MortarCrew.et.meta": "fdfd4fcd21a67c3d698fa4aadc4e5c76e665cebf4be86013bc389e493fab63cc", + "addons/ai/Scripts/Game/ERR/ERR_HQ.c": "ceafd6740ed277748744ce56ac0f0bb3a8521fcc060dafb2cdb99896aedf405a", + "addons/ai/Scripts/Game/ERR/ERR_HQJournal.c": "b3e402cfe92d415f37f666045afb062e6e11670ba03a0ca6f2d9fd4fc3520ac1", + "addons/ai/Scripts/Game/ERR/ERR_HQNetwork.c": "92ff2caca52e94c2cc9642dfc8509ce6e9349b257012bade8650bace9231128c", + "addons/ai/Scripts/Game/ERR/ERR_HQObservation.c": "36c978ec5f052213ac1236e1398d85063efbfd7ef60fe04f1fc11447fefe1d68", + "addons/ai/Scripts/Game/ERR/ERR_HQReport.c": "c4d16ccb571db4d9444c0a8d2be7318845d25ff90238b6d304e96a9ea19f1a08", + "addons/ai/Scripts/Game/ERR/ERR_HelicopterAvailability.c": "60eaef2f6d4b2fd44861c5a4434ef97e732e40a5ff7401e2da451ed2dd9c2762", + "addons/ai/Scripts/Game/ERR/ERR_MortarBattery.c": "66b8f16b692a0f75fc9d920f5224d9292a0f1dc7dd8b2dde912e676fa80ddc9c", + "addons/ai/Scripts/Game/ERR/ERR_MortarFiring.c": "657e96d1112b68c8ced37793e99f88e6078b38a579190e63d00b1f9a9a032e26", + "addons/ai/Scripts/Game/ERR/ERR_MortarPrediction.c": "470dd196ed64800c697d24c09d1344bacd2502587fac76af4ee0edae2563092d", + "addons/ai/Scripts/Game/ERR/ERR_MortarSalvo.c": "697c01f479df6c505a41d984a29c02002e3052114dafa2ec6252ae55e2979a2b", + "addons/ai/Scripts/Game/ERR/ERR_MortarSystem.c": "12d8fc39d47e03c3838e0642aa9e4a80baf60f250357493bff812d5c75812c86", + "addons/ai/Scripts/Game/ERR/ERR_SettlementSafety.c": "e5c0ebc95521a9a33a3f7d9cca6c551dda862a08b7af20b017877aba9584795b", + "addons/ai/Scripts/Game/ERR/ERR_SupportScenario.c": "71757018ec9716c4dc24f62a292a214919d3fd5daed3c16e03e56abd208e9f03", + "addons/ai/addon.gproj": "5f559db8f526700db11e6ae763f5245f19b7006fc68c56e4c09fb6f940bdf2a1", + "addons/chat/Missions/ERR_Everon.conf": "76f3ac0d21b585654beac7ddd68e3c8cbdd66dbfe909b17b04838fa813a7c29b", + "addons/chat/Missions/ERR_Everon.conf.meta": "0a23c98bf83873536c65fa17d38dea33a1d7b9e4ab210f90633ff688abcc551f", + "addons/chat/Scripts/Game/ERR/ERR_AdminCommands.c": "7ea6d6b240524cf0193c86fcab861fbdef9adca780acff11ee73f9ed0e99ce7b", + "addons/chat/Scripts/Game/ERR/ERR_NativeMortarProbe.c": "ddb892141500c192c0787b011d57dd8c07dd8c9a3ca5fdc407f6c271897bde0a", + "addons/chat/Scripts/Game/ERR/ERR_NativeRadioProbe.c": "84524163c63402755b4f834f74dfe6d8e5c397dc26031f532593c6f79f5a93b1", + "addons/chat/Scripts/Game/ERR/ERR_NativeSmoke.c": "0ab2fed95dcaa0442cf7feb25743308060d58497e347f17dbd25c8e970a9f81f", + "addons/chat/Scripts/WorkbenchGame/ERR/ERR_ValidateWorldPlugin.c": "81c92d408ce88cc9f98d6053f1d0c863427693ba748f00df9f1bf8079015ef94", + "addons/chat/addon.gproj": "ea1587e0174cf795334d306c71d99b06797fc891427cd57b6cab6e21cf0e4e0e", + "addons/core/Configs/ERR/EveronSites.conf": "2edb2c6983eb627800b65d9e244b9b228e0b82282e089c7b12e5a8921a2ea7bf", + "addons/core/Configs/ERR/EveronSites.conf.meta": "d5fe68025ef4e7c1e16082cf5873b7c7172eacbfaef4ab29b7e0e3c98f8dca56", + "addons/core/Configs/ERR/GameOverScreens.conf": "45231061911a1462d45fb6db0fecc2b0793f17b5ae71017174954ff4fbd20236", + "addons/core/Configs/ERR/GameOverScreens.conf.meta": "eb654b745c0b97b41c991694569ef4877a3c2315e0826f9556337cd68690843e", + "addons/core/Configs/ERR/VanillaFactions.conf": "f8b8b9898a16b4a4a55ab3c12d2547bef2dc433732c7643df980cb3aca715212", + "addons/core/Configs/ERR/VanillaFactions.conf.meta": "ac77725c0c21974991ef47a466b88122e939de8b46fd23e68889e7674cbb2bfd", + "addons/core/Missions/ERR_Everon_Base.conf": "1e6a0e9a756d15495201f71121626890f01efe6b00154c561672d4ec157960bd", + "addons/core/Missions/ERR_Everon_Base.conf.meta": "9b16267c644d815bcf98a3a3aaff30b93d7224fb24d3a2bac66730a28011f317", + "addons/core/Prefabs/ERR/Extraction.et": "1aa286ef253c5410f09fa641e4be91a7be8ec834487a7fbb74cfb45cab60ee1e", + "addons/core/Prefabs/ERR/Extraction.et.meta": "c2a838633001e2e3a202d39cb33aa744ebcd996017ad032359069641b5d13853", + "addons/core/Prefabs/ERR/FieldCover.et": "20f8095e69dbfe3db74ff19078e528ea75405362b335e03560ccd61f8df2e7f3", + "addons/core/Prefabs/ERR/FieldCover.et.meta": "83461ffa76244e1d69f20b053a9741ccdf7d127009182bd540a7e5ba6150c3d9", + "addons/core/Prefabs/ERR/GameMode.et": "385c97a5b8067091d92aa60c2d4fcf02002cf606b95523866ead65c96b8c0029", + "addons/core/Prefabs/ERR/GameMode.et.meta": "106769cd34525c9d440057072836cb7401a6752148c40edd7fe61c03bd58328c", + "addons/core/Prefabs/ERR/ObjectiveDocument.et": "2e72270bf186654af12d2c3ff9bf940690b03fb17fca44f873c1fde5d11384c0", + "addons/core/Prefabs/ERR/ObjectiveDocument.et.meta": "eaba9903be147b98a1106e2273e2270773df73b9b22f2cd4e20136a8e281382e", + "addons/core/Prefabs/ERR/Patrol.et": "c5685a8bc311cc5563fb3334beec9408d3d7a1069152fddeeb7df4f1b7f9e6ce", + "addons/core/Prefabs/ERR/Patrol.et.meta": "7c5da568fa2fcf0709ee2959253cb068d7c7ed7c2467af3b247a7e70efd96b69", + "addons/core/Prefabs/ERR/Prison.et": "1503db1441d8cd7a4f0b45c27ba9623b9fa39f0f81016e180bd2aa1379e1f42a", + "addons/core/Prefabs/ERR/Prison.et.meta": "2e426ef3de68f4107907854b51e818bc11d84649a01c538e3f18dd9ebec766bb", + "addons/core/Prefabs/ERR/PrisonDoor.et": "fc66be9d36f1f01084de59f1b0a1e8817f9e46547ead33d4fafaac0107446c40", + "addons/core/Prefabs/ERR/PrisonDoor.et.meta": "b8f3db52bf186426026668fbb9d633c3cbd4d438ab301fba880398f6a0e781c2", + "addons/core/Prefabs/ERR/PrisonWall.et": "8009d19365ae72a4749d7ad4fa04662575b06c65c6bf06507d380d57258b5eed", + "addons/core/Prefabs/ERR/PrisonWall.et.meta": "0294bc5dbb56f90f8153d62459bb0a6ad91d76a479812bbec9c7db182fdb58d6", + "addons/core/Prefabs/ERR/Radio.et": "b4b5cfe125b39019855816c9a1c508ca4d65d435b5546fdaa6c1fa3c8c9b1165", + "addons/core/Prefabs/ERR/Radio.et.meta": "bc91137b68ba550217914fb8892bb44d7e1920e4a1086f3e506623832a44212f", + "addons/core/Prefabs/ERR/SpectatorCamera.et": "b5b87d5b7b707f3745741aebe7c923067c8a74f8fbb2a4711834bab03bb5a812", + "addons/core/Prefabs/ERR/SpectatorCamera.et.meta": "2a16558f93915e31908a674509e9c89976470f78a84a1174a64b94b68b8f77ad", + "addons/core/Prefabs/ERR/SupplyCache.et": "bccf7afbaae97cfcdd78dd6dbbf4be5b2c045d348f50fe4581962e556c0044d7", + "addons/core/Prefabs/ERR/SupplyCache.et.meta": "2f5de3a4aab1e9d0e35521f48dc57b95bd6e449c383dec4f1c258e10295904cb", + "addons/core/Prefabs/ERR/SupplySite.et": "dc5decce5cabf39b6116e8794ec3960cb1e35761854fdbe69740da118787ded4", + "addons/core/Prefabs/ERR/SupplySite.et.meta": "b41944b12eb3528ff7a3ac94258b18c66ef161aa6a38894aee300a1ac4798630", + "addons/core/Scripts/Game/ERR/ERR_Actions.c": "adf93245e6d78c59b9839599d157a0d2b2b93ea93b3d1ae52e2904dd6c288266", + "addons/core/Scripts/Game/ERR/ERR_Actors.c": "b3c5aabb05f7cf35167bc09b5db51a4ffd89a46658805d6eedbfb80eee30273d", + "addons/core/Scripts/Game/ERR/ERR_AdminService.c": "047c14ce60cc0b167e202438f8f2b1063590e69ef88ea55b54598aea5f99c505", + "addons/core/Scripts/Game/ERR/ERR_DiscoveryMap.c": "2f4ea342fea0530061456be9cdce002d5e7a282e4e27eb88f3860e79f93612bf", + "addons/core/Scripts/Game/ERR/ERR_DiscoveryService.c": "6b5679447fe4a6d7d54c0545881ab56284f871556b3159207d421247f419eada", + "addons/core/Scripts/Game/ERR/ERR_DocumentComponent.c": "17bb76b80ebd3357e46d553c44674f602c7bd6901c92aec53ac8214194aa4ff2", + "addons/core/Scripts/Game/ERR/ERR_EscapeGameOverScreenInfo.c": "b1e1afb7795cb77c0bad94c85abf705b26b9dc2a9400905d80eafd56bdd009d3", + "addons/core/Scripts/Game/ERR/ERR_ExtractionService.c": "91357099b4e0401196b67d48963be54be30e56bdba57cdac67dc20b8ebb883e9", + "addons/core/Scripts/Game/ERR/ERR_FactionCatalog.c": "a5a8c53acf21259e14f59cb919535910f30dabff5a9179c664bc6a7a4d744d6e", + "addons/core/Scripts/Game/ERR/ERR_GameMode.c": "d766d1639378070bea64eef38baa4667f8b9f5f1a2a7b170f0fc5e8fd557917d", + "addons/core/Scripts/Game/ERR/ERR_Location.c": "d2035f56ded35743312ec6ca91a67f8623a466c91255e1893c570edf0954ff24", + "addons/core/Scripts/Game/ERR/ERR_MissionRules.c": "f7abc38ad8fdc375ce7fa63a65f0bade027d22b37e09de5e3f94ba8c3c63cc41", + "addons/core/Scripts/Game/ERR/ERR_NativeBaseSmoke.c": "e1790bca83feb52dc1093eced0624fc5bf0b3050b831a0fb8b3731759e84710f", + "addons/core/Scripts/Game/ERR/ERR_NativeContractsProbe.c": "d1556df885171cf967e96eef5d8981a2e9ee4e3938b7d32fdd0426f647bbabc0", + "addons/core/Scripts/Game/ERR/ERR_NativeDefinitionProbe.c": "d05ef8368ef5afa68e29f45843cb1878b5a09be768f8abdff2f4115c23759b01", + "addons/core/Scripts/Game/ERR/ERR_NativeExtractionProbe.c": "4b09385f73206de004f4f3c38a6192fd658a0d2012482dc5a84dff1599ceb972", + "addons/core/Scripts/Game/ERR/ERR_NativeLifecycleProbe.c": "89620ec1cc94e260ef72460b32c3291ffcc84cfe51afa907954b10229a711b2b", + "addons/core/Scripts/Game/ERR/ERR_NativeObjectiveProbe.c": "a4d4fe506cd0150ac63511f143fb479c7a872f0c64462964d33dd79919d71e1b", + "addons/core/Scripts/Game/ERR/ERR_NativeRadioDefenceProbe.c": "cad54f0b43cefd72df74697dfc7e93725ff0acac6d311e963ce4f817428c272c", + "addons/core/Scripts/Game/ERR/ERR_NativeResultProbe.c": "b9a117eef2d5f65fbd792041a2b3e59e38e201bda8e0df8c503e1a1242cfc415", + "addons/core/Scripts/Game/ERR/ERR_NativeSiteSurvey.c": "ac0203753ade0cdff6d483132797a80e4520f14546c3f9dea288281cd4cd9c4f", + "addons/core/Scripts/Game/ERR/ERR_NativeStationTeardownDiagnostic.c": "c01cbdbfe25fd38916fa74f2c02333baaacd5228686fd6e40b33c27b3cea8ed8", + "addons/core/Scripts/Game/ERR/ERR_NativeTimeProbe.c": "c93d049785971e51246fcc07cf24804270a752a655505f2c38e48c80df5255ae", + "addons/core/Scripts/Game/ERR/ERR_NativeTransportProbe.c": "63ec0c5ce698114daa6314b2a6e3c3e98e76094117c477f9d0d072260686d193", + "addons/core/Scripts/Game/ERR/ERR_NativeTransportSurvey.c": "3e94493bf54d15be2bceb106ad18873e14e6755af09c05f07db7fb26fb7adff5", + "addons/core/Scripts/Game/ERR/ERR_ObjectiveDetails.c": "eff9935b8b7790eaedf1e46d7f67d172d7962183ea264cde75bbc1681a489dea", + "addons/core/Scripts/Game/ERR/ERR_ObjectiveText.c": "bbb29949194637e6781316836c895e2c0fa7ccdb547d4d944a717da2ad73b0a2", + "addons/core/Scripts/Game/ERR/ERR_Objectives.c": "88d95a52fcba103483ea751571e1afeae0e6fc82115ed50d6fc195424726960f", + "addons/core/Scripts/Game/ERR/ERR_Observer.c": "b719e723369ab4f403950c85226e1336eb48e3c127e84530ac1c695eb86bd0f9", + "addons/core/Scripts/Game/ERR/ERR_PlayerAdminCommands.c": "a084d7dc097dfcde3d6cd9c2e326b9e2f8f2a519f77b30c4f56ab7a1429aa721", + "addons/core/Scripts/Game/ERR/ERR_PlayerEscapeResult.c": "3124ab4d2d6d471409a47aba0af528790734df53243c03fe0cdac3e407047c14", + "addons/core/Scripts/Game/ERR/ERR_PlayerGuide.c": "2c9c365b88651f8b12618443638bf52c04e497221592bd483c33447e30468f36", + "addons/core/Scripts/Game/ERR/ERR_PlayerRoster.c": "a737ba739b3f73a91cd05d808a1d45070e83b5152c003c3164e29842dda51995", + "addons/core/Scripts/Game/ERR/ERR_RadioDefenceService.c": "85eb9c1b65d5987799927b6d8786b7299fcff849bcb15b91f8a4d1aa95823fd1", + "addons/core/Scripts/Game/ERR/ERR_Resources.c": "8a5314944f75b23982c6b99697045e3c0538aa2137b2c947a5b2411e6076ac03", + "addons/core/Scripts/Game/ERR/ERR_ScenarioComponent.c": "abba03af68323d5715ba1e2497fc66f3c706e6a6a983c3a386228abdfddeec89", + "addons/core/Scripts/Game/ERR/ERR_Settings.c": "2aee784e44c732e09f59150896491ab325ef5e62aa6bad725be1fda955a3f614", + "addons/core/Scripts/Game/ERR/ERR_SiteDefinition.c": "75b5121ceab77f0956f0dc34bd077b11af5586350de52321800427f18cc94477", + "addons/core/Scripts/Game/ERR/ERR_SiteService.c": "7ba02712562b3c8cd8de9851b6f26fed85020faacceef0767408b300b935c110", + "addons/core/Scripts/Game/ERR/ERR_SpawnFinalization.c": "2e295b0f225208c5414728ba83333e5e0ab6eef3a708ce39eb1dfce5400c94c9", + "addons/core/Scripts/Game/ERR/ERR_SpawnLogic.c": "64c2cef62d8a435eea396f057255b269d457935bf5d261221700739bf37240b8", + "addons/core/Scripts/Game/ERR/ERR_SpawnPlacement.c": "284db0d4a5ecd38f9c658c91ce943f4c0c30dcf4d31bb3edeea92e4ab0b1436a", + "addons/core/Scripts/Game/ERR/ERR_Supplies.c": "752e8a56b0b8cde33cf532032cb0a203553017b686faac2e19bee06f7a9c0713", + "addons/core/Scripts/Game/ERR/ERR_TimeService.c": "d9f481b7da01e08d2c982a948c18ba6bde76889d7cc9d26d510708f4ba479453", + "addons/core/Scripts/WorkbenchGame/ERR/ERR_ValidateBaseWorldPlugin.c": "7f44aa64ea7b4f8b3640a37a4b781c43bf6adb80e4a3a702d9491131698056f6", + "addons/core/Worlds/ERR_Everon.ent": "22324bc7eb0d80dec8a1f3bd61a9df9201b72f749f4e751766b0c9d0b7d46b87", + "addons/core/Worlds/ERR_Everon.ent.meta": "19d1903ca72baa326b4724a6791d0da1104a1e53f3f31dc1ca41a856efd68e83", + "addons/core/Worlds/ERR_Everon_Layers/default.layer": "f1a058bd315c7d01d464715ac9f4e18ae3d2432551d094a9afbd4c9c5a2a9416", + "addons/core/addon.gproj": "231274e6b62302f32c65f9ff31de2ce8a9e51e1c8d12c87deeec82ae1f40de46", + "addons/intel/Scripts/Game/ERR/ERR_IntelService.c": "482839434b94e7f8c345d5fd96490aeebb765f3dd0c1bb25fceea2f435c0e722", + "addons/intel/addon.gproj": "d0ced242cefb220a5cccd6779d61fda9bc55581701b9f78bcf13c09d92ddbcbe", + "addons/map/Materials/ERRM_MapRenderTarget.emat": "9877c5b175c5f30dd80bea36c711b21ab38219aa7075adf9ae79932e1d4c76bc", + "addons/map/Materials/ERRM_MapRenderTarget.emat.meta": "5ee1a705f8011a44020ca2691f5ccc17d44bf596fef9a36e98d1f267eb58fab0", + "addons/map/Prefabs/Items/Equipment/ERRM_SharedFieldMap.et": "30dee8e9eab459ea32a7d835a9fb89d43df47708057cab829f067b25a24cd581", + "addons/map/Prefabs/Items/Equipment/ERRM_SharedFieldMap.et.meta": "59093e9072c50d99c86da7609c87541016da5bcf92b98d99db4c524e1c8e0e8d", + "addons/map/Scripts/Game/ERR/ERR_ScenarioMap.c": "75fa1d742129ef7f33c005cd48f56db7f49ee7bde3c5428532b0b501b032b0a3", + "addons/map/Scripts/Game/ERRMap/ERRM_SharedMapComponent.c": "fc1a0c7df4fc96da446d7542a45a10fbec1eda1e543ba2f0581cb772277a47c5", + "addons/map/UI/layouts/ERRMap/SharedMapRenderTarget.layout": "49a2da4181b94d42174f58c7f9b6bf2207116c99427d61ff1c212092ac7db4d2", + "addons/map/UI/layouts/ERRMap/SharedMapRenderTarget.layout.meta": "5c846445cc089e2e08899ba703059d4adb805ff30ab5a16409a3cd59718cbd54", + "addons/map/addon.gproj": "1b371e5e01ea9fa46e76570fecb8aaa3a9298e34cba7ccca8a6bdb5ca86eb46a" +} diff --git a/docs/evidence/native-2026-09-19-052621-deleted-task-callback-diagnostic/launch-source.json b/docs/evidence/native-2026-09-19-052621-deleted-task-callback-diagnostic/launch-source.json new file mode 100644 index 0000000..d044f15 --- /dev/null +++ b/docs/evidence/native-2026-09-19-052621-deleted-task-callback-diagnostic/launch-source.json @@ -0,0 +1,44 @@ +{ + "schema_version": 1, + "launch_id": "24cfaf89-2359-41d8-a097-8fe5d41bcbc3", + "captured_unix": 1789788379.6333745, + "source_root": "/home/jakub/devel/escapistsrereintroduced", + "command": [ + "gamescope", + "--backend", + "headless", + "-W", + "1280", + "-H", + "720", + "-w", + "1280", + "-h", + "720", + "-r", + "30", + "--", + "/home/jakub/.local/share/Steam/steamapps/common/Proton - Experimental/proton", + "run", + "/home/jakub/.local/share/Steam/steamapps/common/Arma Reforger Tools/Workbench/ArmaReforgerWorkbenchSteamDiag.exe", + "-gproj", + "Z:/home/jakub/devel/escapistsrereintroduced/addons/core/addon.gproj", + "-addonsDir", + "Z:/home/jakub/devel/escapistsrereintroduced/addons", + "-profile", + "Z:/tmp/erri-workbench-profile", + "-logconsole", + "-wbModule=WorldEditor", + "-load", + "Worlds/ERR_Everon.ent", + "-plugin=ERR_ValidateBaseWorldPlugin", + "-errPlay", + "1", + "-errBaseSmoke", + "1", + "-errSmokeOutcome", + "objective-ui", + "-noThrow" + ], + "manifest_sha256": "239c0ad6d28ace79c5e5ed9dedd78cb82d21866f6fbc88e0f426ccc74d0db576" +} diff --git a/docs/evidence/native-2026-09-19-052621-deleted-task-callback-diagnostic/report.json b/docs/evidence/native-2026-09-19-052621-deleted-task-callback-diagnostic/report.json new file mode 100644 index 0000000..5ac0ac1 --- /dev/null +++ b/docs/evidence/native-2026-09-19-052621-deleted-task-callback-diagnostic/report.json @@ -0,0 +1,24 @@ +{ + "log": "docs/evidence/native-2026-09-19-052621-deleted-task-callback-diagnostic/console.log.txt", + "smoke_completions": 0, + "assertions_passed": 27, + "script_or_runtime_failures": [ + "05:27:07.716 SCRIPT (E): Virtual Machine Exception", + "05:27:07.724 SCRIPT (E): Virtual Machine Exception", + "05:27:07.726 SCRIPT (E): Virtual Machine Exception" + ], + "engine_errors": [ + "05:27:01.410 WORLD (E): Unknown keyword/data 'SlidingTrackMaterial' at offset 19441(0x4bf1)", + "05:27:01.448 WORLD (E): Unknown keyword/data 'Parent' at offset 35955(0x8c73)", + "05:27:01.448 WORLD (E): Unknown keyword/data 'Parent' at offset 36915(0x9033)", + "05:27:01.450 WORLD (E): Unknown keyword/data 'Parent' at offset 42646(0xa696)", + "05:27:01.450 WORLD (E): Unknown keyword/data 'Parent' at offset 43645(0xaa7d)", + "05:27:01.450 WORLD (E): Unknown keyword/data 'Parent' at offset 44617(0xae49)", + "05:27:01.450 WORLD (E): Unknown keyword/data 'Parent' at offset 45590(0xb216)", + "05:27:07.716 SCRIPT (E): Virtual Machine Exception", + "05:27:07.724 SCRIPT (E): Virtual Machine Exception", + "05:27:07.726 SCRIPT (E): Virtual Machine Exception" + ], + "missing_end_screen": [], + "scope": "scripted local Workbench integration only; no multiplayer, piloting or FPS claim" +} diff --git a/docs/evidence/native-2026-09-19-052621-deleted-task-callback-diagnostic/runner.json.txt b/docs/evidence/native-2026-09-19-052621-deleted-task-callback-diagnostic/runner.json.txt new file mode 100644 index 0000000..1850f6f --- /dev/null +++ b/docs/evidence/native-2026-09-19-052621-deleted-task-callback-diagnostic/runner.json.txt @@ -0,0 +1,19 @@ +{ + "stopped_unix": 1789788428.826778, + "console_sha256": "d438f03cb0b361da1f653fb74613cd17e08eedb4cd12fce8de4a9ada0c7ef0a8", + "end_source_sha256": "239c0ad6d28ace79c5e5ed9dedd78cb82d21866f6fbc88e0f426ccc74d0db576", + "source_unchanged_after_run": true, + "source_provenance": "launch_snapshot", + "launch_id": "24cfaf89-2359-41d8-a097-8fe5d41bcbc3", + "launch_source_manifest": "launch-source-sha256.json", + "launch_source_metadata": "launch-source.json", + "launch_source_sha256": "239c0ad6d28ace79c5e5ed9dedd78cb82d21866f6fbc88e0f426ccc74d0db576", + "started_unix": 1789788379.6334407, + "result": "test-failed", + "session": "/tmp/erri-workbench-profile/logs/logs_2026-09-19_05-26-21", + "rounds_required": 1, + "project": "core", + "display": "headless Gamescope 1280x720/30Hz", + "dedicated_server": false, + "audio": "silent sink and per-test-stream mute" +} diff --git a/docs/evidence/native-2026-09-19-052621-deleted-task-callback-diagnostic/script.log.txt b/docs/evidence/native-2026-09-19-052621-deleted-task-callback-diagnostic/script.log.txt new file mode 100644 index 0000000..96c5c07 --- /dev/null +++ b/docs/evidence/native-2026-09-19-052621-deleted-task-callback-diagnostic/script.log.txt @@ -0,0 +1,137 @@ +--------------------------------------------- +Log Z:\tmp\erri-workbench-profile\logs\logs_2026-09-19_05-26-21\script.log started at 2026-09-19 05:26:24 (2026-09-19 03:26:24 UTC) + +05:26:24.052 SCRIPT : SCRIPT : Initializing scripts +05:26:24.052 SCRIPT : SCRIPT : ScriptProjectManager init +05:26:24.973 SCRIPT : SCRIPT : Compiling GameLib scripts +05:26:25.031 SCRIPT : Module: Workbench; loaded 18x files; 36x classes; used 125K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE"; CRC32: 90ce0460 +05:26:25.032 SCRIPT : Module: GameLib; loaded 465x files; 648x classes; used 828K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE"; CRC32: 4507af04 +05:26:25.032 SCRIPT : SCRIPT : Compiling Game scripts +05:26:26.144 SCRIPT : Compiling Game scripts +05:26:26.144 SCRIPT (W): @"Scripts/Game/Editor/Components/EditableEntity/SCR_EditableEntityComponent.c,785": 'GetPlayerPlatformKind' is obsolete +05:26:26.144 SCRIPT (W): @"Scripts/Game/Editor/Components/EditableEntity/SCR_EditableEntityComponent.c,786": 'GetPlayerPlatformId' is obsolete +05:26:26.393 SCRIPT (W): @"Scripts/Game/ERR/ERR_SiteService.c,140": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +05:26:26.402 SCRIPT (W): @"Scripts/Game/Workshop/SCR_AddonManager.c,876": 'GetRefCount' is obsolete: Will be removed +05:26:26.431 SCRIPT (W): @"Scripts/Game/Campaign/SCR_PlayerProfileManagerComponent.c,142": 'PlayerData' is obsolete +05:26:26.531 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,159": 'GetDSSession' is obsolete +05:26:26.531 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,162": 'RoomID' is obsolete +05:26:26.531 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,197": 'GetDSSession' is obsolete +05:26:26.531 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,201": 'RoomID' is obsolete +05:26:26.627 SCRIPT (W): @"Scripts/Game/DataCollection/SCR_DataCollectorComponent.c,481": 'GetStorage' is obsolete +05:26:26.627 SCRIPT (W): @"Scripts/Game/DataCollection/SCR_DataCollectorComponent.c,483": 'GetOnlineWritePrivilege' is obsolete +05:26:26.629 SCRIPT (W): @"Scripts/Game/Utilities/SCR_PlayerIdentityUtils.c,20": 'GetPlayerIdentityId' is obsolete +05:26:26.675 SCRIPT (W): @"Scripts/Game/ERR/ERR_ExtractionService.c,45": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +05:26:26.676 SCRIPT (W): @"Scripts/Game/ERR/ERR_ExtractionService.c,56": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +05:26:26.677 SCRIPT (W): @"Scripts/Game/UI/Menu/MainMenuUI.c,643": 'GetNotifyCount' is obsolete: Will be substitued by Notification Api. +05:26:26.677 SCRIPT (W): @"Scripts/Game/UI/Menu/MainMenuUI.c,645": 'GetNotifyItem' is obsolete: Will be substitued by Notification Api. +05:26:26.709 SCRIPT (W): @"Scripts/Game/ERR/ERR_NativeTransportProbe.c,82": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +05:26:26.749 SCRIPT (W): @"Scripts/Game/DataCollection/PlayerData/SCR_PlayerData.c,210": 'PlayerData' is obsolete +05:26:27.018 SCRIPT : Module: WorkbenchGame; loaded 171x files; 616x classes; used 2478K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE"; CRC32: db6febb9 +05:26:27.024 SCRIPT : Module: Game; loaded 5704x files; 11180x classes; used 32546K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE,ENABLE_BASE_DESTRUCTION,BUDGET_OPTIMIZATION_CHECKS,SHOW_DISCLAIMER,DEBUG,RESPAWN_TIMER_COMPONENT_DEBUG,GAME_MODE_DEBUG,DEBUG_CONFIGURABLE_DIALOGS,DISABLE_WEAPON_SWITCHING,SCRIPTED_AIM_MODIFIER_DEBUG"; CRC32: 4f7b9bda +05:26:28.007 SCRIPT : Unable to register a script command due keyword duplicity: ban +05:26:28.007 SCRIPT : Unable to register a script command due keyword duplicity: kick +05:26:47.263 SCRIPT : ERR SITE SURVEY: supply=6150/7050 elevationRange=0.625 min=202.875 max=203.5 +05:26:50.596 SCRIPT : Unable to register a script command due keyword duplicity: ban +05:26:50.596 SCRIPT : Unable to register a script command due keyword duplicity: kick +05:27:03.678 SCRIPT (W): SCR_PerceivedFactionManagerComponent trying to set fall back faction 'CIV' but this faction could not be found so it is null instead. +05:27:03.709 SCRIPT : ERR BASE SMOKE: core-only scripted escape; not manual or multiplayer acceptance +05:27:04.211 SCRIPT (W): Notification data in 'SCR_NotificationsLogDisplay' has duplicate notification info key: 'EDITOR_PERCEIVED_FACTION_PUNISHMENT_KILLING_SET'. There should only be one of each key! +05:27:04.212 SCRIPT (W): Notification data in 'SCR_NotificationsLogDisplay' has duplicate notification info key: 'EDITOR_PERCEIVED_FACTION_TYPE_DISABLED'. There should only be one of each key! +05:27:04.214 SCRIPT (W): Can't open config file "" +05:27:04.222 SCRIPT (W): Slot_WeaponInfo Has no Content! +05:27:04.222 SCRIPT (W): Slot_Chat Has no Content! +05:27:04.223 SCRIPT (W): Slot_VON Has no Content! +05:27:04.223 SCRIPT (W): Slot_AvailableActions Has no Content! +05:27:04.223 SCRIPT (W): Slot_Vehicle Has no Content! +05:27:04.223 SCRIPT (W): Slot_GameVersion Has no Content! +05:27:04.223 SCRIPT (W): Slot_Notifications Has no Content! +05:27:04.224 SCRIPT (W): Slot_Hints Has no Content! +05:27:04.241 SCRIPT (W): Ban Settings could not be loaded from BE Storage: Relying on default config +05:27:04.303 SCRIPT : ScenarioFramework: Available tasks are empty, no new tasks will be generated. +05:27:04.316 SCRIPT : SCR_BaseGameMode::OnGameStateChanged = GAME +05:27:04.483 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +05:27:06.006 SCRIPT : Rereintroduced [sites]: cache clearance position=<6086,211.538,7160> clear=1 +05:27:06.025 SCRIPT : Rereintroduced [sites]: authored everon-prison-1 at <6090,211.444,7160> +05:27:06.026 SCRIPT : Rereintroduced [sites]: cache clearance position=<6150,203.288,7050> clear=1 +05:27:06.055 SCRIPT : Rereintroduced [sites]: authored everon-supply-1 at <6150,203.288,7050> +05:27:06.058 SCRIPT : Rereintroduced [sites]: authored everon-radio-1 at <6500,159.756,7200> +05:27:06.108 SCRIPT : Rereintroduced [sites]: authored everon-extraction-1 at <7000,65.2562,7500> +05:27:06.108 SCRIPT : Rereintroduced [sites]: cache clearance position=<5960,220.256,7220> clear=1 +05:27:06.114 SCRIPT : Rereintroduced [sites]: transport parking=<5960,220.256,7212> radius=4 terrainRange=0.8125 obstructed=0 clear=1 +05:27:06.159 SCRIPT : Rereintroduced [sites]: authored everon-supply-2 at <5960,220.256,7220> +05:27:06.160 SCRIPT : Rereintroduced [sites]: cache clearance position=<6340,175.788,7400> clear=1 +05:27:06.162 SCRIPT : Rereintroduced [sites]: authored everon-medical-1 at <6340,175.788,7400> +05:27:06.162 SCRIPT : Rereintroduced [sites]: cache clearance position=<6740,140.6,7300> clear=1 +05:27:06.166 SCRIPT : Rereintroduced [sites]: cache clearance position=<6740,140.913,7296> clear=1 +05:27:06.167 SCRIPT : Rereintroduced [sites]: cache clearance position=<6736,140.975,7300> clear=1 +05:27:06.168 SCRIPT : Rereintroduced [sites]: cache clearance position=<6744,140.288,7300> clear=1 +05:27:06.169 SCRIPT : Rereintroduced [sites]: authored everon-outpost-1 at <6740,140.6,7300> +05:27:06.254 SCRIPT : Rereintroduced [sites]: 7 sites and 117 physical stock items ready +05:27:06.255 SCRIPT : Rereintroduced [time]: started at 14:00 with 1x progression +05:27:06.255 SCRIPT : Rereintroduced [mission]: phase 0 -> 1 +05:27:06.502 SCRIPT : INFO: Faction: player jakub (playerID = 1 | UUID = 00000000-0000-0000-0000-000000000000) has joined faction #AR-Faction_US (US) +05:27:06.582 SCRIPT : Rereintroduced [spawn]: player 1 at <6087,211.438,7157> +05:27:06.700 SCRIPT : ERR SMOKE PASS: objective UI current native task exists +05:27:06.703 SCRIPT : ERR SMOKE PASS: objective UI native list and detail layouts created +05:27:06.703 SCRIPT : ERR SMOKE PASS: objective UI native handlers attached +05:27:06.704 SCRIPT : ERR SMOKE PASS: objective UI open list and details contain current title and instructions +05:27:06.704 SCRIPT : ERR SMOKE PASS: objective UI list-only task cannot expose an undiscovered map position +05:27:06.704 SCRIPT : ERR SMOKE PASS: objective UI actual local player receives the active objective +05:27:06.705 SCRIPT : ERR SMOKE PASS: objective UI extraction instructions follow a nondefault boundary +05:27:06.705 SCRIPT : ERR SMOKE PASS: objective UI rebinding keeps one subscription to each native task event +05:27:06.706 SCRIPT : ERR SMOKE PASS: objective UI closing native widget uses production detach and releases its task +05:27:06.706 SCRIPT : ERR SMOKE PASS: objective UI closed native widget receives no task callbacks +05:27:07.706 SCRIPT : ERR SMOKE PASS: objective UI closed native widget has no delayed overflow callbacks +05:27:07.706 SCRIPT : ERR SMOKE PASS: objective UI current native task exists +05:27:07.709 SCRIPT : ERR SMOKE PASS: objective UI native list and detail layouts created +05:27:07.709 SCRIPT : ERR SMOKE PASS: objective UI native handlers attached +05:27:07.710 SCRIPT : ERR SMOKE PASS: objective UI open list and details contain current title and instructions +05:27:07.710 SCRIPT : ERR SMOKE PASS: objective UI list-only task cannot expose an undiscovered map position +05:27:07.710 SCRIPT : ERR SMOKE PASS: objective UI actual local player receives the active objective +05:27:07.711 SCRIPT : ERR SMOKE PASS: objective UI extraction instructions follow a nondefault boundary +05:27:07.711 SCRIPT : ERR SMOKE PASS: objective UI details reopen through native layout and current objective binding +05:27:07.711 SCRIPT : ERR SMOKE PASS: objective UI isolated deletion has a native task system, mission task and local executor +05:27:07.713 SCRIPT : ERR SMOKE PASS: objective UI deletion fixture owns a separate native task +05:27:07.713 SCRIPT : ERR SMOKE PASS: objective UI isolated task has an actual local assignee +05:27:07.715 SCRIPT : ERR SMOKE PASS: objective UI isolated native details layout created +05:27:07.715 SCRIPT : ERR SMOKE PASS: objective UI isolated native details handler attached +05:27:07.716 SCRIPT (E): Virtual Machine Exception + +Reason: ScriptCallback: method 'CheckOverflow' is private/protected + +Class: 'SCR_TaskListEntryDescriptionUIComponent' +Function: 'GetRemainingTimeByName' +Stack trace: +Scripts/Game/ERR/ERR_NativeObjectiveProbe.c:198 Function ERR_ProbeTrace +Scripts/Game/ERR/ERR_NativeObjectiveProbe.c:116 Function BeginDeletedTaskClose +Scripts/Game/ERR/ERR_NativeBaseSmoke.c:214 Function ERR_BaseTick +Scripts/Game/game.c:885 Function OnUpdate +05:27:07.723 SCRIPT : ERR OBJECTIVE TRACE: stage=before isolated task deletion task=1 detached=0 closed=0 overflowRemainingMs=100 byNameMs=-1 +05:27:07.724 SCRIPT (E): Virtual Machine Exception + +Reason: ScriptCallback: method 'CheckOverflow' is private/protected + +Class: 'SCR_TaskListEntryDescriptionUIComponent' +Function: 'GetRemainingTimeByName' +Stack trace: +Scripts/Game/ERR/ERR_NativeObjectiveProbe.c:198 Function ERR_ProbeTrace +Scripts/Game/ERR/ERR_NativeObjectiveProbe.c:119 Function BeginDeletedTaskClose +Scripts/Game/ERR/ERR_NativeBaseSmoke.c:214 Function ERR_BaseTick +Scripts/Game/game.c:885 Function OnUpdate +05:27:07.725 SCRIPT : ERR OBJECTIVE TRACE: stage=after isolated task deletion before detach task=0 detached=0 closed=0 overflowRemainingMs=100 byNameMs=-1 +05:27:07.725 SCRIPT : ERR SMOKE PASS: objective UI native task deletion clears both task and bound-widget weak references +05:27:07.726 SCRIPT (E): Virtual Machine Exception + +Reason: ScriptCallback: method 'CheckOverflow' is private/protected + +Class: 'SCR_TaskListEntryDescriptionUIComponent' +Function: 'GetRemainingTimeByName' +Stack trace: +Scripts/Game/ERR/ERR_NativeObjectiveProbe.c:198 Function ERR_ProbeTrace +Scripts/Game/ERR/ERR_NativeObjectiveProbe.c:127 Function BeginDeletedTaskClose +Scripts/Game/ERR/ERR_NativeBaseSmoke.c:214 Function ERR_BaseTick +Scripts/Game/game.c:885 Function OnUpdate +05:27:07.726 SCRIPT : ERR OBJECTIVE TRACE: stage=after deleted-task panel detach task=0 detached=1 closed=1 overflowRemainingMs=100 byNameMs=-1 +05:27:07.726 SCRIPT : ERR SMOKE PASS: objective UI deleted-task panel closes through production detach +05:27:07.726 SCRIPT : ERR OBJECTIVE LATE CALLBACK: kind=UpdateAssignees count=1 task=0 detached=1 root=0 +05:27:07.726 SCRIPT : ERR SMOKE PASS: objective UI real mission objective survives isolated deletion and assignment is restored diff --git a/docs/evidence/native-2026-09-19-052621-deleted-task-callback-diagnostic/source-provenance.json b/docs/evidence/native-2026-09-19-052621-deleted-task-callback-diagnostic/source-provenance.json new file mode 100644 index 0000000..5fa4cc7 --- /dev/null +++ b/docs/evidence/native-2026-09-19-052621-deleted-task-callback-diagnostic/source-provenance.json @@ -0,0 +1,4 @@ +{ + "schema_version": 1, + "kind": "launch_snapshot" +} diff --git a/docs/evidence/native-2026-09-19-052621-deleted-task-callback-diagnostic/source-sha256.json b/docs/evidence/native-2026-09-19-052621-deleted-task-callback-diagnostic/source-sha256.json new file mode 100644 index 0000000..495a02f --- /dev/null +++ b/docs/evidence/native-2026-09-19-052621-deleted-task-callback-diagnostic/source-sha256.json @@ -0,0 +1,118 @@ +{ + "addons/ai/Prefabs/ERR/MortarCrew.et": "05d3e7353ff9fe5523218a1487b31b7b742b0be8adbcb060c7099978cf008bce", + "addons/ai/Prefabs/ERR/MortarCrew.et.meta": "fdfd4fcd21a67c3d698fa4aadc4e5c76e665cebf4be86013bc389e493fab63cc", + "addons/ai/Scripts/Game/ERR/ERR_HQ.c": "ceafd6740ed277748744ce56ac0f0bb3a8521fcc060dafb2cdb99896aedf405a", + "addons/ai/Scripts/Game/ERR/ERR_HQJournal.c": "b3e402cfe92d415f37f666045afb062e6e11670ba03a0ca6f2d9fd4fc3520ac1", + "addons/ai/Scripts/Game/ERR/ERR_HQNetwork.c": "92ff2caca52e94c2cc9642dfc8509ce6e9349b257012bade8650bace9231128c", + "addons/ai/Scripts/Game/ERR/ERR_HQObservation.c": "36c978ec5f052213ac1236e1398d85063efbfd7ef60fe04f1fc11447fefe1d68", + "addons/ai/Scripts/Game/ERR/ERR_HQReport.c": "c4d16ccb571db4d9444c0a8d2be7318845d25ff90238b6d304e96a9ea19f1a08", + "addons/ai/Scripts/Game/ERR/ERR_HelicopterAvailability.c": "60eaef2f6d4b2fd44861c5a4434ef97e732e40a5ff7401e2da451ed2dd9c2762", + "addons/ai/Scripts/Game/ERR/ERR_MortarBattery.c": "66b8f16b692a0f75fc9d920f5224d9292a0f1dc7dd8b2dde912e676fa80ddc9c", + "addons/ai/Scripts/Game/ERR/ERR_MortarFiring.c": "657e96d1112b68c8ced37793e99f88e6078b38a579190e63d00b1f9a9a032e26", + "addons/ai/Scripts/Game/ERR/ERR_MortarPrediction.c": "470dd196ed64800c697d24c09d1344bacd2502587fac76af4ee0edae2563092d", + "addons/ai/Scripts/Game/ERR/ERR_MortarSalvo.c": "697c01f479df6c505a41d984a29c02002e3052114dafa2ec6252ae55e2979a2b", + "addons/ai/Scripts/Game/ERR/ERR_MortarSystem.c": "12d8fc39d47e03c3838e0642aa9e4a80baf60f250357493bff812d5c75812c86", + "addons/ai/Scripts/Game/ERR/ERR_SettlementSafety.c": "e5c0ebc95521a9a33a3f7d9cca6c551dda862a08b7af20b017877aba9584795b", + "addons/ai/Scripts/Game/ERR/ERR_SupportScenario.c": "71757018ec9716c4dc24f62a292a214919d3fd5daed3c16e03e56abd208e9f03", + "addons/ai/addon.gproj": "5f559db8f526700db11e6ae763f5245f19b7006fc68c56e4c09fb6f940bdf2a1", + "addons/chat/Missions/ERR_Everon.conf": "76f3ac0d21b585654beac7ddd68e3c8cbdd66dbfe909b17b04838fa813a7c29b", + "addons/chat/Missions/ERR_Everon.conf.meta": "0a23c98bf83873536c65fa17d38dea33a1d7b9e4ab210f90633ff688abcc551f", + "addons/chat/Scripts/Game/ERR/ERR_AdminCommands.c": "7ea6d6b240524cf0193c86fcab861fbdef9adca780acff11ee73f9ed0e99ce7b", + "addons/chat/Scripts/Game/ERR/ERR_NativeMortarProbe.c": "ddb892141500c192c0787b011d57dd8c07dd8c9a3ca5fdc407f6c271897bde0a", + "addons/chat/Scripts/Game/ERR/ERR_NativeRadioProbe.c": "84524163c63402755b4f834f74dfe6d8e5c397dc26031f532593c6f79f5a93b1", + "addons/chat/Scripts/Game/ERR/ERR_NativeSmoke.c": "0ab2fed95dcaa0442cf7feb25743308060d58497e347f17dbd25c8e970a9f81f", + "addons/chat/Scripts/WorkbenchGame/ERR/ERR_ValidateWorldPlugin.c": "81c92d408ce88cc9f98d6053f1d0c863427693ba748f00df9f1bf8079015ef94", + "addons/chat/addon.gproj": "ea1587e0174cf795334d306c71d99b06797fc891427cd57b6cab6e21cf0e4e0e", + "addons/core/Configs/ERR/EveronSites.conf": "2edb2c6983eb627800b65d9e244b9b228e0b82282e089c7b12e5a8921a2ea7bf", + "addons/core/Configs/ERR/EveronSites.conf.meta": "d5fe68025ef4e7c1e16082cf5873b7c7172eacbfaef4ab29b7e0e3c98f8dca56", + "addons/core/Configs/ERR/GameOverScreens.conf": "45231061911a1462d45fb6db0fecc2b0793f17b5ae71017174954ff4fbd20236", + "addons/core/Configs/ERR/GameOverScreens.conf.meta": "eb654b745c0b97b41c991694569ef4877a3c2315e0826f9556337cd68690843e", + "addons/core/Configs/ERR/VanillaFactions.conf": "f8b8b9898a16b4a4a55ab3c12d2547bef2dc433732c7643df980cb3aca715212", + "addons/core/Configs/ERR/VanillaFactions.conf.meta": "ac77725c0c21974991ef47a466b88122e939de8b46fd23e68889e7674cbb2bfd", + "addons/core/Missions/ERR_Everon_Base.conf": "1e6a0e9a756d15495201f71121626890f01efe6b00154c561672d4ec157960bd", + "addons/core/Missions/ERR_Everon_Base.conf.meta": "9b16267c644d815bcf98a3a3aaff30b93d7224fb24d3a2bac66730a28011f317", + "addons/core/Prefabs/ERR/Extraction.et": "1aa286ef253c5410f09fa641e4be91a7be8ec834487a7fbb74cfb45cab60ee1e", + "addons/core/Prefabs/ERR/Extraction.et.meta": "c2a838633001e2e3a202d39cb33aa744ebcd996017ad032359069641b5d13853", + "addons/core/Prefabs/ERR/FieldCover.et": "20f8095e69dbfe3db74ff19078e528ea75405362b335e03560ccd61f8df2e7f3", + "addons/core/Prefabs/ERR/FieldCover.et.meta": "83461ffa76244e1d69f20b053a9741ccdf7d127009182bd540a7e5ba6150c3d9", + "addons/core/Prefabs/ERR/GameMode.et": "385c97a5b8067091d92aa60c2d4fcf02002cf606b95523866ead65c96b8c0029", + "addons/core/Prefabs/ERR/GameMode.et.meta": "106769cd34525c9d440057072836cb7401a6752148c40edd7fe61c03bd58328c", + "addons/core/Prefabs/ERR/ObjectiveDocument.et": "2e72270bf186654af12d2c3ff9bf940690b03fb17fca44f873c1fde5d11384c0", + "addons/core/Prefabs/ERR/ObjectiveDocument.et.meta": "eaba9903be147b98a1106e2273e2270773df73b9b22f2cd4e20136a8e281382e", + "addons/core/Prefabs/ERR/Patrol.et": "c5685a8bc311cc5563fb3334beec9408d3d7a1069152fddeeb7df4f1b7f9e6ce", + "addons/core/Prefabs/ERR/Patrol.et.meta": "7c5da568fa2fcf0709ee2959253cb068d7c7ed7c2467af3b247a7e70efd96b69", + "addons/core/Prefabs/ERR/Prison.et": "1503db1441d8cd7a4f0b45c27ba9623b9fa39f0f81016e180bd2aa1379e1f42a", + "addons/core/Prefabs/ERR/Prison.et.meta": "2e426ef3de68f4107907854b51e818bc11d84649a01c538e3f18dd9ebec766bb", + "addons/core/Prefabs/ERR/PrisonDoor.et": "fc66be9d36f1f01084de59f1b0a1e8817f9e46547ead33d4fafaac0107446c40", + "addons/core/Prefabs/ERR/PrisonDoor.et.meta": "b8f3db52bf186426026668fbb9d633c3cbd4d438ab301fba880398f6a0e781c2", + "addons/core/Prefabs/ERR/PrisonWall.et": "8009d19365ae72a4749d7ad4fa04662575b06c65c6bf06507d380d57258b5eed", + "addons/core/Prefabs/ERR/PrisonWall.et.meta": "0294bc5dbb56f90f8153d62459bb0a6ad91d76a479812bbec9c7db182fdb58d6", + "addons/core/Prefabs/ERR/Radio.et": "b4b5cfe125b39019855816c9a1c508ca4d65d435b5546fdaa6c1fa3c8c9b1165", + "addons/core/Prefabs/ERR/Radio.et.meta": "bc91137b68ba550217914fb8892bb44d7e1920e4a1086f3e506623832a44212f", + "addons/core/Prefabs/ERR/SpectatorCamera.et": "b5b87d5b7b707f3745741aebe7c923067c8a74f8fbb2a4711834bab03bb5a812", + "addons/core/Prefabs/ERR/SpectatorCamera.et.meta": "2a16558f93915e31908a674509e9c89976470f78a84a1174a64b94b68b8f77ad", + "addons/core/Prefabs/ERR/SupplyCache.et": "bccf7afbaae97cfcdd78dd6dbbf4be5b2c045d348f50fe4581962e556c0044d7", + "addons/core/Prefabs/ERR/SupplyCache.et.meta": "2f5de3a4aab1e9d0e35521f48dc57b95bd6e449c383dec4f1c258e10295904cb", + "addons/core/Prefabs/ERR/SupplySite.et": "dc5decce5cabf39b6116e8794ec3960cb1e35761854fdbe69740da118787ded4", + "addons/core/Prefabs/ERR/SupplySite.et.meta": "b41944b12eb3528ff7a3ac94258b18c66ef161aa6a38894aee300a1ac4798630", + "addons/core/Scripts/Game/ERR/ERR_Actions.c": "adf93245e6d78c59b9839599d157a0d2b2b93ea93b3d1ae52e2904dd6c288266", + "addons/core/Scripts/Game/ERR/ERR_Actors.c": "b3c5aabb05f7cf35167bc09b5db51a4ffd89a46658805d6eedbfb80eee30273d", + "addons/core/Scripts/Game/ERR/ERR_AdminService.c": "047c14ce60cc0b167e202438f8f2b1063590e69ef88ea55b54598aea5f99c505", + "addons/core/Scripts/Game/ERR/ERR_DiscoveryMap.c": "2f4ea342fea0530061456be9cdce002d5e7a282e4e27eb88f3860e79f93612bf", + "addons/core/Scripts/Game/ERR/ERR_DiscoveryService.c": "6b5679447fe4a6d7d54c0545881ab56284f871556b3159207d421247f419eada", + "addons/core/Scripts/Game/ERR/ERR_DocumentComponent.c": "17bb76b80ebd3357e46d553c44674f602c7bd6901c92aec53ac8214194aa4ff2", + "addons/core/Scripts/Game/ERR/ERR_EscapeGameOverScreenInfo.c": "b1e1afb7795cb77c0bad94c85abf705b26b9dc2a9400905d80eafd56bdd009d3", + "addons/core/Scripts/Game/ERR/ERR_ExtractionService.c": "91357099b4e0401196b67d48963be54be30e56bdba57cdac67dc20b8ebb883e9", + "addons/core/Scripts/Game/ERR/ERR_FactionCatalog.c": "a5a8c53acf21259e14f59cb919535910f30dabff5a9179c664bc6a7a4d744d6e", + "addons/core/Scripts/Game/ERR/ERR_GameMode.c": "d766d1639378070bea64eef38baa4667f8b9f5f1a2a7b170f0fc5e8fd557917d", + "addons/core/Scripts/Game/ERR/ERR_Location.c": "d2035f56ded35743312ec6ca91a67f8623a466c91255e1893c570edf0954ff24", + "addons/core/Scripts/Game/ERR/ERR_MissionRules.c": "f7abc38ad8fdc375ce7fa63a65f0bade027d22b37e09de5e3f94ba8c3c63cc41", + "addons/core/Scripts/Game/ERR/ERR_NativeBaseSmoke.c": "e1790bca83feb52dc1093eced0624fc5bf0b3050b831a0fb8b3731759e84710f", + "addons/core/Scripts/Game/ERR/ERR_NativeContractsProbe.c": "d1556df885171cf967e96eef5d8981a2e9ee4e3938b7d32fdd0426f647bbabc0", + "addons/core/Scripts/Game/ERR/ERR_NativeDefinitionProbe.c": "d05ef8368ef5afa68e29f45843cb1878b5a09be768f8abdff2f4115c23759b01", + "addons/core/Scripts/Game/ERR/ERR_NativeExtractionProbe.c": "4b09385f73206de004f4f3c38a6192fd658a0d2012482dc5a84dff1599ceb972", + "addons/core/Scripts/Game/ERR/ERR_NativeLifecycleProbe.c": "89620ec1cc94e260ef72460b32c3291ffcc84cfe51afa907954b10229a711b2b", + "addons/core/Scripts/Game/ERR/ERR_NativeObjectiveProbe.c": "a4d4fe506cd0150ac63511f143fb479c7a872f0c64462964d33dd79919d71e1b", + "addons/core/Scripts/Game/ERR/ERR_NativeRadioDefenceProbe.c": "cad54f0b43cefd72df74697dfc7e93725ff0acac6d311e963ce4f817428c272c", + "addons/core/Scripts/Game/ERR/ERR_NativeResultProbe.c": "b9a117eef2d5f65fbd792041a2b3e59e38e201bda8e0df8c503e1a1242cfc415", + "addons/core/Scripts/Game/ERR/ERR_NativeSiteSurvey.c": "ac0203753ade0cdff6d483132797a80e4520f14546c3f9dea288281cd4cd9c4f", + "addons/core/Scripts/Game/ERR/ERR_NativeStationTeardownDiagnostic.c": "c01cbdbfe25fd38916fa74f2c02333baaacd5228686fd6e40b33c27b3cea8ed8", + "addons/core/Scripts/Game/ERR/ERR_NativeTimeProbe.c": "c93d049785971e51246fcc07cf24804270a752a655505f2c38e48c80df5255ae", + "addons/core/Scripts/Game/ERR/ERR_NativeTransportProbe.c": "63ec0c5ce698114daa6314b2a6e3c3e98e76094117c477f9d0d072260686d193", + "addons/core/Scripts/Game/ERR/ERR_NativeTransportSurvey.c": "3e94493bf54d15be2bceb106ad18873e14e6755af09c05f07db7fb26fb7adff5", + "addons/core/Scripts/Game/ERR/ERR_ObjectiveDetails.c": "eff9935b8b7790eaedf1e46d7f67d172d7962183ea264cde75bbc1681a489dea", + "addons/core/Scripts/Game/ERR/ERR_ObjectiveText.c": "bbb29949194637e6781316836c895e2c0fa7ccdb547d4d944a717da2ad73b0a2", + "addons/core/Scripts/Game/ERR/ERR_Objectives.c": "88d95a52fcba103483ea751571e1afeae0e6fc82115ed50d6fc195424726960f", + "addons/core/Scripts/Game/ERR/ERR_Observer.c": "b719e723369ab4f403950c85226e1336eb48e3c127e84530ac1c695eb86bd0f9", + "addons/core/Scripts/Game/ERR/ERR_PlayerAdminCommands.c": "a084d7dc097dfcde3d6cd9c2e326b9e2f8f2a519f77b30c4f56ab7a1429aa721", + "addons/core/Scripts/Game/ERR/ERR_PlayerEscapeResult.c": "3124ab4d2d6d471409a47aba0af528790734df53243c03fe0cdac3e407047c14", + "addons/core/Scripts/Game/ERR/ERR_PlayerGuide.c": "2c9c365b88651f8b12618443638bf52c04e497221592bd483c33447e30468f36", + "addons/core/Scripts/Game/ERR/ERR_PlayerRoster.c": "a737ba739b3f73a91cd05d808a1d45070e83b5152c003c3164e29842dda51995", + "addons/core/Scripts/Game/ERR/ERR_RadioDefenceService.c": "85eb9c1b65d5987799927b6d8786b7299fcff849bcb15b91f8a4d1aa95823fd1", + "addons/core/Scripts/Game/ERR/ERR_Resources.c": "8a5314944f75b23982c6b99697045e3c0538aa2137b2c947a5b2411e6076ac03", + "addons/core/Scripts/Game/ERR/ERR_ScenarioComponent.c": "abba03af68323d5715ba1e2497fc66f3c706e6a6a983c3a386228abdfddeec89", + "addons/core/Scripts/Game/ERR/ERR_Settings.c": "2aee784e44c732e09f59150896491ab325ef5e62aa6bad725be1fda955a3f614", + "addons/core/Scripts/Game/ERR/ERR_SiteDefinition.c": "75b5121ceab77f0956f0dc34bd077b11af5586350de52321800427f18cc94477", + "addons/core/Scripts/Game/ERR/ERR_SiteService.c": "7ba02712562b3c8cd8de9851b6f26fed85020faacceef0767408b300b935c110", + "addons/core/Scripts/Game/ERR/ERR_SpawnFinalization.c": "2e295b0f225208c5414728ba83333e5e0ab6eef3a708ce39eb1dfce5400c94c9", + "addons/core/Scripts/Game/ERR/ERR_SpawnLogic.c": "64c2cef62d8a435eea396f057255b269d457935bf5d261221700739bf37240b8", + "addons/core/Scripts/Game/ERR/ERR_SpawnPlacement.c": "284db0d4a5ecd38f9c658c91ce943f4c0c30dcf4d31bb3edeea92e4ab0b1436a", + "addons/core/Scripts/Game/ERR/ERR_Supplies.c": "752e8a56b0b8cde33cf532032cb0a203553017b686faac2e19bee06f7a9c0713", + "addons/core/Scripts/Game/ERR/ERR_TimeService.c": "d9f481b7da01e08d2c982a948c18ba6bde76889d7cc9d26d510708f4ba479453", + "addons/core/Scripts/WorkbenchGame/ERR/ERR_ValidateBaseWorldPlugin.c": "7f44aa64ea7b4f8b3640a37a4b781c43bf6adb80e4a3a702d9491131698056f6", + "addons/core/Worlds/ERR_Everon.ent": "22324bc7eb0d80dec8a1f3bd61a9df9201b72f749f4e751766b0c9d0b7d46b87", + "addons/core/Worlds/ERR_Everon.ent.meta": "19d1903ca72baa326b4724a6791d0da1104a1e53f3f31dc1ca41a856efd68e83", + "addons/core/Worlds/ERR_Everon_Layers/default.layer": "f1a058bd315c7d01d464715ac9f4e18ae3d2432551d094a9afbd4c9c5a2a9416", + "addons/core/addon.gproj": "231274e6b62302f32c65f9ff31de2ce8a9e51e1c8d12c87deeec82ae1f40de46", + "addons/intel/Scripts/Game/ERR/ERR_IntelService.c": "482839434b94e7f8c345d5fd96490aeebb765f3dd0c1bb25fceea2f435c0e722", + "addons/intel/addon.gproj": "d0ced242cefb220a5cccd6779d61fda9bc55581701b9f78bcf13c09d92ddbcbe", + "addons/map/Materials/ERRM_MapRenderTarget.emat": "9877c5b175c5f30dd80bea36c711b21ab38219aa7075adf9ae79932e1d4c76bc", + "addons/map/Materials/ERRM_MapRenderTarget.emat.meta": "5ee1a705f8011a44020ca2691f5ccc17d44bf596fef9a36e98d1f267eb58fab0", + "addons/map/Prefabs/Items/Equipment/ERRM_SharedFieldMap.et": "30dee8e9eab459ea32a7d835a9fb89d43df47708057cab829f067b25a24cd581", + "addons/map/Prefabs/Items/Equipment/ERRM_SharedFieldMap.et.meta": "59093e9072c50d99c86da7609c87541016da5bcf92b98d99db4c524e1c8e0e8d", + "addons/map/Scripts/Game/ERR/ERR_ScenarioMap.c": "75fa1d742129ef7f33c005cd48f56db7f49ee7bde3c5428532b0b501b032b0a3", + "addons/map/Scripts/Game/ERRMap/ERRM_SharedMapComponent.c": "fc1a0c7df4fc96da446d7542a45a10fbec1eda1e543ba2f0581cb772277a47c5", + "addons/map/UI/layouts/ERRMap/SharedMapRenderTarget.layout": "49a2da4181b94d42174f58c7f9b6bf2207116c99427d61ff1c212092ac7db4d2", + "addons/map/UI/layouts/ERRMap/SharedMapRenderTarget.layout.meta": "5c846445cc089e2e08899ba703059d4adb805ff30ab5a16409a3cd59718cbd54", + "addons/map/addon.gproj": "1b371e5e01ea9fa46e76570fecb8aaa3a9298e34cba7ccca8a6bdb5ca86eb46a" +} diff --git a/docs/evidence/native-2026-09-19-052811/console.log.txt b/docs/evidence/native-2026-09-19-052811/console.log.txt new file mode 100644 index 0000000..54be64c --- /dev/null +++ b/docs/evidence/native-2026-09-19-052811/console.log.txt @@ -0,0 +1,456 @@ +--------------------------------------------- +Log Z:\tmp\erri-workbench-profile\logs\logs_2026-09-19_05-28-11\console.log started at 2026-09-19 05:28:12 (2026-09-19 03:28:12 UTC) + +05:28:12.000 ENGINE : FileSystem: Adding relative directory 'Z:\tmp\erri-workbench-profile\logs\logs_2026-09-19_05-28-11' to filesystem under name logs +05:28:12.000 ENGINE : FileSystem: Adding relative directory 'Z:\tmp\erri-workbench-profile\profile' to filesystem under name profile +05:28:12.000 ENGINE : FileSystem: Current working directory: 'Z:\home\jakub\.local\share\Steam\steamapps\common\Arma Reforger Tools\Workbench\' +05:28:12.002 PROFILING : Workbench Create Engine took: 10.092800 ms +05:28:13.042 INIT : INIT : Workbench Init Engine +05:28:13.042 ENGINE : Initializing engine, version 192142 +05:28:13.042 ENGINE : CLI Params: -gproj Z:/home/jakub/devel/escapistsrereintroduced/addons/core/addon.gproj -addonsDir Z:/home/jakub/devel/escapistsrereintroduced/addons -profile Z:/tmp/erri-workbench-profile -logconsole -wbModule WorldEditor -load Worlds/ERR_Everon.ent -plugin ERR_ValidateBaseWorldPlugin -errPlay 1 -errBaseSmoke 1 -errSmokeOutcome objective-ui -noThrow +05:28:13.050 ENGINE : Addon dirs: +05:28:13.050 ENGINE : dir: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/core/' +05:28:13.050 ENGINE : dir: 'Z:/home/jakub/devel/escapistsrereintroduced/addons' +05:28:13.050 ENGINE : dir: './addons' +05:28:13.050 ENGINE : dir: 'Z:/tmp/erri-workbench-profile/addons' +05:28:13.050 ENGINE : Available addons: +05:28:13.050 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/core/addon.gproj' guid: '2528466DE220D91C' +05:28:13.050 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/ai/addon.gproj' guid: '5192138CB9D5B911' +05:28:13.050 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/chat/addon.gproj' guid: 'FA804F411BDDF2C6' +05:28:13.050 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/intel/addon.gproj' guid: 'D31039C7C53E348A' +05:28:13.050 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/map/addon.gproj' guid: '9AAEE9041D79809E' +05:28:13.050 ENGINE : gproj: './addons/core/core.gproj' guid: '5614BBCCBB55ED1C' (packed) +05:28:13.050 ENGINE : gproj: 'Z:/tmp/erri-workbench-profile/addons/ArmaReforger/ArmaReforger.gproj' guid: '58D0FB3206B6F859' (packed) +05:28:13.051 ENGINE : FileSystem: Adding relative directory 'Z:\home\jakub\devel\escapistsrereintroduced\addons\core' to filesystem under name ERR_Core +05:28:13.161 ENGINE : FileSystem: Adding package 'Z:/tmp/erri-workbench-profile/addons/ArmaReforger/' (pak count: 14) to filesystem under name ArmaReforger +05:28:13.165 ENGINE : FileSystem: Adding package './addons/core/' (pak count: 2) to filesystem under name core +05:28:13.165 ENGINE : CPU vendor : AuthenticAMD +05:28:13.165 ENGINE : CPU type : 2 +05:28:13.165 ENGINE : CPU name : AMD Ryzen 7 3800XT 8-Core Processor +05:28:13.165 ENGINE : CPU cache info : L1 [Inst 32KB, Data 32KB], L2 [Unif 512KB], L3 [Unif 16384KB] +05:28:13.165 ENGINE : CPU count logical : 16 +05:28:13.165 ENGINE : CPU count physical : 8 +05:28:13.165 ENGINE : CPU features : mmx sse sse2 sse3 ssse3 sse4_1 sse4_2 popcnt aesni pclmulqdq osxsave avx sha avx2 +05:28:13.165 RESOURCES : ResourceDB: loading cache (id=0 name=ERR_Core path=Z:\home\jakub\devel\escapistsrereintroduced\addons\core/resourceDatabase.rdb) +05:28:13.166 RESOURCES : ResourceDB: loading cache (id=1 name=ArmaReforger path=Z:/tmp/erri-workbench-profile/addons/ArmaReforger/resourceDatabase.rdb) +05:28:13.300 RESOURCES : ResourceDB: loading cache (id=2 name=core path=./addons/core/resourceDatabase.rdb) +05:28:13.301 RESOURCES : ResourceDB: loading cache (id=3 name=profile path=Z:\tmp\erri-workbench-profile\profile/resourceDatabase.rdb) +05:28:13.302 RESOURCES : ResourceDB: loading cache (id=4 name=logs path=Z:\tmp\erri-workbench-profile\logs\logs_2026-09-19_05-28-11/resourceDatabase.rdb) +05:28:13.505 RESOURCES : RESOURCES : ResourceDB: full scan +05:28:13.511 RESOURCES : RESOURCES : scanning... +05:28:13.511 RESOURCES : RESOURCES : scanning @"ERR_Core" +05:28:13.513 RESOURCES : RESOURCES : scanning @"ArmaReforger" +05:28:13.660 RESOURCES : RESOURCES : scanning @"core" +05:28:13.664 RESOURCES : RESOURCES : scanning @"profile" +05:28:13.664 RESOURCES : RESOURCES : scanning @"logs" +05:28:13.665 RESOURCES : RESOURCES : processing meta-files... +05:28:13.731 RESOURCES : RESOURCES : processing files... +05:28:13.741 INIT : Workbench startup +05:28:13.741 INIT : Workbench Init Engine +05:28:13.741 RESOURCES : ResourceDB: full scan +05:28:13.741 RESOURCES : processing files... +05:28:13.741 RESOURCES (W): resource not registered: @"$profile:rereintroduced.json". Setting null GUID +05:28:13.741 RESOURCES (W): resource not registered: @"$logs:launch-source-sha256.json". Setting null GUID +05:28:13.741 RESOURCES (W): resource not registered: @"$logs:launch-source.json". Setting null GUID +05:28:13.741 RESOURCES : RESOURCES : processing folders... +05:28:13.749 RESOURCES : RESOURCES : creating GUID-item mapping... +05:28:13.766 RESOURCES : RESOURCES : building tree... +05:28:13.825 PROFILING : ResourceDB: full scan took: 320.123200 ms +05:28:13.827 RESOURCES : ResourceDB: saving cache (id=0 name=ERR_Core path=Z:\home\jakub\devel\escapistsrereintroduced\addons\core/resourceDatabase.rdb) +05:28:13.829 RESOURCES : ResourceDB: written 4000/4000 bytes +05:28:13.829 RESOURCES : ResourceDB: cache successfully saved +05:28:13.829 RESOURCES : ResourceDB: saving cache (id=3 name=profile path=Z:\tmp\erri-workbench-profile\profile/resourceDatabase.rdb) +05:28:13.831 RESOURCES : ResourceDB: written 206/206 bytes +05:28:13.831 RESOURCES : ResourceDB: cache successfully saved +05:28:13.831 RESOURCES : ResourceDB: saving cache (id=4 name=logs path=Z:\tmp\erri-workbench-profile\logs\logs_2026-09-19_05-28-11/resourceDatabase.rdb) +05:28:13.833 RESOURCES : ResourceDB: written 162/162 bytes +05:28:13.833 RESOURCES : ResourceDB: cache successfully saved +05:28:13.833 ENGINE : GameProject load +05:28:13.833 ENGINE : Loaded addons: +05:28:13.833 ENGINE : gproj: './addons/core/core.gproj' guid: '5614BBCCBB55ED1C' +05:28:13.833 ENGINE : gproj: 'Z:/tmp/erri-workbench-profile/addons/ArmaReforger/ArmaReforger.gproj' guid: '58D0FB3206B6F859' +05:28:13.833 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/core/addon.gproj' guid: '2528466DE220D91C' +05:28:13.834 ENGINE : Loading custom engine user config '$profile:.save/app1874910_user76561198020202999/settings/ReforgerEngineSettings.conf' +05:28:13.835 INIT : GameProject engine user settings load @"$profile:.save/app1874910_user76561198020202999/settings/ReforgerEngineSettings.conf" +05:28:13.835 ENGINE : Engine user settings config loaded +05:28:13.835 PROFILING : Settings changed took: 0.001800 ms +05:28:13.946 RENDER : (OK) Adapter 'AMD Radeon RX 6950 XT (RADV NAVI21)' supports feature level 12_0 +05:28:13.947 RENDER : Basic screen setup: +05:28:13.947 RENDER : Back buffer format : TEXFMT_R8G8B8A8_SRGB (29) +05:28:13.947 RENDER : MSAA : none +05:28:13.960 RENDER : AMD AGS library initialized, version 6.1.0 x DLL 6.1.0 +05:28:13.960 RENDER : Extendeded AMD info for AMD Radeon RX 6950 XT (RADV NAVI21) (primary device) +05:28:13.960 RENDER : * architecture RDNA2, 80 CUs, 40 WGPs (for RDNA), 64 ROPs +05:28:13.960 RENDER : * core clocks 2720 MHz, memory 1124 MHz +05:28:13.960 RENDER : * TFlops 27.9, memory bandwidth (562.0 GB/s) +05:28:13.960 RENDER : AMD AGS correctly initialized +05:28:13.961 RENDER : GPU_ATI (0x1002) (AMD Radeon RX 6950 XT (RADV NAVI21)) with 1 GPU detected, VRAM 16128MB (fast 0MB), shared 64362MB, driver version 99.19.02-230831a-396538C-AMD-Software-Adrenalin-Edition +05:28:13.961 RENDER : Detected output devices: +05:28:13.961 RENDER : * 1 device/s connected to AMD Radeon RX 6950 XT (RADV NAVI21): +05:28:13.961 RENDER : Generic Non-PnP Monitor (\\.\DISPLAY1), 1280x720 (offset 0x0), 30Hz +05:28:13.961 RENDER : Concurrent frames limit 2 +05:28:14.037 RENDER : DX12 device successfully created by AMD AGS library +05:28:14.037 RENDER : * user markers not supported in this version AMD SW +05:28:14.037 RENDER : Graphics device features +05:28:14.037 RENDER : Needed: +05:28:14.037 RENDER : * Highest supported shader model: 6.8 (6.0 needed) +05:28:14.037 RENDER : Optional: +05:28:14.037 RENDER : * Allow tearing (VSYNC) : 1 +05:28:14.037 RENDER : * 16 bits : 1 +05:28:14.037 RENDER : * Resource heap tier : 3 +05:28:14.037 RENDER : * Persistent heaps (DRED) : 1 +05:28:14.037 RENDER : * DRED 1.2 is supported by compiler +05:28:14.055 RENDER : Main RT format setup. +05:28:14.055 RENDER : Main RT format for quality 0 : TEXFMT_R11G11B10_FLOAT (26) +05:28:14.055 RENDER : Main RT format for quality 1 : TEXFMT_R16G16B16A16_FLOAT (10) +05:28:14.057 ENGINE : Job system settings: coreCount=16, shortJobContextCount=16, shortJobThreadCount=15, longJobThreadCount=16 +05:28:14.088 PROFILING : Settings changed took: 0.015500 ms +05:28:14.527 AUDIO : Endpoint: Speakers (PulseAudio Output) +05:28:14.527 AUDIO : Format: Channels: 2, Sample rate: 48kHz, Avg. bytes: 384kB, Sample bits: 32, Block align: 8B +05:28:14.528 AUDIO : Audio client: +05:28:14.528 AUDIO : Format: Channels: 2, Sample rate: 48kHz, Buffer size: 1536B, Frame: 512 +05:28:14.531 RENDER : RENDER : Reload shaders +05:28:14.531 RENDER : Enfusion shader version 13 +05:28:14.531 INIT : INIT : ShaderListReload +05:28:14.531 PROFILING : ShaderListReload took: 0.000500 ms +05:28:14.674 AUDIO : Endpoint: Speakers (PulseAudio Output) +05:28:14.674 AUDIO : Format: Channels: 2, Sample rate: 48kHz, Avg. bytes: 384kB, Sample bits: 32, Block align: 8B +05:28:14.674 AUDIO : Audio client: +05:28:14.674 AUDIO : Format: Channels: 2, Sample rate: 48kHz, Buffer size: 1536B, Frame: 512 +05:28:14.826 RENDER : Loaded 3752 newer shader binaries +05:28:14.827 PROFILING : Reload shaders took: 295.715100 ms +05:28:14.827 ENGINE : Initializing inputs. +05:28:14.842 NETWORK : Initializing networking. +05:28:14.842 NETWORK : Using new GameRplScheduler. +05:28:14.842 SCRIPT : SCRIPT : Initializing scripts +05:28:14.842 SCRIPT : SCRIPT : ScriptProjectManager init +05:28:15.701 PROFILING : ScriptProjectManager init took: 858.542300 ms +05:28:15.735 PROFILING : Initializing scripts took: 892.737400 ms +05:28:15.752 ENGINE : Enfusion engine successfully created. +05:28:15.753 PROFILING : Workbench Init Engine took: 2710.554400 ms +05:28:15.753 INIT : INIT : Workbench Create Game +05:28:15.763 GUI : Using default language (en_us) +05:28:15.763 GUI : Loading 'en_us' localization file. +05:28:15.763 INIT : INIT : Loading StringTable +05:28:15.786 PROFILING : Loading StringTable took: 23.139000 ms +05:28:15.786 SCRIPT : SCRIPT : Compiling GameLib scripts +05:28:15.852 SCRIPT : Module: Workbench; loaded 18x files; 36x classes; used 125K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE"; CRC32: 90ce0460 +05:28:15.853 SCRIPT : Module: GameLib; loaded 465x files; 648x classes; used 828K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE"; CRC32: 4507af04 +05:28:15.853 PROFILING : Compiling GameLib scripts took: 66.986100 ms +05:28:15.853 SCRIPT : SCRIPT : Compiling Game scripts +05:28:16.948 INIT : Workbench Create Game +05:28:16.948 SCRIPT : Compiling Game scripts +05:28:16.948 SCRIPT (W): @"Scripts/Game/Editor/Components/EditableEntity/SCR_EditableEntityComponent.c,785": 'GetPlayerPlatformKind' is obsolete +05:28:16.948 SCRIPT (W): @"Scripts/Game/Editor/Components/EditableEntity/SCR_EditableEntityComponent.c,786": 'GetPlayerPlatformId' is obsolete +05:28:17.202 SCRIPT (W): @"Scripts/Game/ERR/ERR_SiteService.c,140": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +05:28:17.211 SCRIPT (W): @"Scripts/Game/Workshop/SCR_AddonManager.c,876": 'GetRefCount' is obsolete: Will be removed +05:28:17.239 SCRIPT (W): @"Scripts/Game/Campaign/SCR_PlayerProfileManagerComponent.c,142": 'PlayerData' is obsolete +05:28:17.337 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,159": 'GetDSSession' is obsolete +05:28:17.337 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,162": 'RoomID' is obsolete +05:28:17.337 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,197": 'GetDSSession' is obsolete +05:28:17.337 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,201": 'RoomID' is obsolete +05:28:17.429 SCRIPT (W): @"Scripts/Game/DataCollection/SCR_DataCollectorComponent.c,481": 'GetStorage' is obsolete +05:28:17.429 SCRIPT (W): @"Scripts/Game/DataCollection/SCR_DataCollectorComponent.c,483": 'GetOnlineWritePrivilege' is obsolete +05:28:17.430 SCRIPT (W): @"Scripts/Game/Utilities/SCR_PlayerIdentityUtils.c,20": 'GetPlayerIdentityId' is obsolete +05:28:17.475 SCRIPT (W): @"Scripts/Game/ERR/ERR_ExtractionService.c,45": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +05:28:17.475 SCRIPT (W): @"Scripts/Game/ERR/ERR_ExtractionService.c,56": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +05:28:17.477 SCRIPT (W): @"Scripts/Game/UI/Menu/MainMenuUI.c,643": 'GetNotifyCount' is obsolete: Will be substitued by Notification Api. +05:28:17.477 SCRIPT (W): @"Scripts/Game/UI/Menu/MainMenuUI.c,645": 'GetNotifyItem' is obsolete: Will be substitued by Notification Api. +05:28:17.503 SCRIPT (W): @"Scripts/Game/ERR/ERR_NativeTransportProbe.c,82": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +05:28:17.536 SCRIPT (W): @"Scripts/Game/DataCollection/PlayerData/SCR_PlayerData.c,210": 'PlayerData' is obsolete +05:28:17.816 SCRIPT : Module: WorkbenchGame; loaded 171x files; 616x classes; used 2478K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE"; CRC32: db6febb9 +05:28:17.823 SCRIPT : Module: Game; loaded 5704x files; 11180x classes; used 32546K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE,ENABLE_BASE_DESTRUCTION,BUDGET_OPTIMIZATION_CHECKS,SHOW_DISCLAIMER,DEBUG,RESPAWN_TIMER_COMPONENT_DEBUG,GAME_MODE_DEBUG,DEBUG_CONFIGURABLE_DIALOGS,DISABLE_WEAPON_SWITCHING,SCRIPTED_AIM_MODIFIER_DEBUG"; CRC32: 6f7f8603 +05:28:17.863 PROFILING : Compiling Game scripts took: 2010.055900 ms +05:28:17.870 INIT : Creating game instance(ArmaReforgerScripted), version 1.8.0.13 built 2026-08-21 14:30:18 UTC. +05:28:17.911 ENGINE : Game successfully created. +05:28:17.913 PROFILING : Workbench Create Game took: 2159.961800 ms +05:28:17.921 DEFAULT : Using thumbnail cache directory: C:/users/steamuser/AppData/Local/Temp/Arma Reforger Workbench/Projects/ERR_Core/thumbnails +05:28:18.815 INIT : INIT : Workbench Reload Game +05:28:18.817 ENGINE : Game destroyed. +05:28:18.823 GUI : Using default language (en_us) +05:28:18.823 GUI : Loading 'en_us' localization file. +05:28:18.823 INIT : INIT : Loading StringTable +05:28:18.833 PROFILING : Loading StringTable took: 9.956500 ms +05:28:18.833 INIT : Creating game instance(ArmaReforgerScripted), version 1.8.0.13 built 2026-08-21 14:30:18 UTC. +05:28:18.840 SCRIPT : Unable to register a script command due keyword duplicity: ban +05:28:18.840 SCRIPT : Unable to register a script command due keyword duplicity: kick +05:28:18.840 ENGINE : Game successfully created. +05:28:18.840 ENGINE : Game successfully initialized. +05:28:18.840 PROFILING : Workbench Reload Game took: 25.226100 ms +05:28:19.557 WORLD : WORLD : Entities load '$ERR_Core:Worlds/ERR_Everon.ent' +05:28:20.628 PROFILING : Entities load took: 1069.966000 ms +05:28:20.639 WORLD : WORLD : CreateEntities +05:28:20.644 WORLD : WORLD : NotifyBeforeEntitiesCreated +05:28:20.644 PROFILING : NotifyBeforeEntitiesCreated took: 0.004900 ms +05:28:20.644 WORLD : WORLD : Wait for preloading data +05:28:20.645 PROFILING : Wait for preloading data took: 0.004100 ms +05:28:20.755 ENTITY : Create entity @"ENTITY:2" ('Eden', GenericTerrainEntity) at <0.000000 0.000000 0.000000> @"{5AD924374E8C7AF6}Prefabs/World/Game/Eden/GenericTerrain_Eden.et" +05:28:20.755 PROFILING : PROFILING : Terrain load +05:28:22.347 PROFILING : Terrain load took: 1591.599800 ms +05:28:26.495 WORLD : CreateEntities +05:28:26.496 ENTITY : Create entity @"ENTITY:610406" ('StaticModelEntity','Assets/Structures/Infrastructure/Towers/TransmitterTower_01/TransmitterTower_01_small.xob') at <1931.796021 81.777000 5138.725098> @"{6A004A8F0571D456}Prefabs/Structures/Infrastructure/Towers/TransmitterTower_01/TransmitterTower_01_small.et" +05:28:26.496 ENTITY : CreateComponent 'ScriptedRadioComponent' +05:28:26.496 DEFAULT (W): World doesn't contain RadioManagerEntity to support any BaseRadioComponent. +05:28:36.438 WORLD : WORLD : NotifyBeforeEntitiesInitialized +05:28:36.438 PROFILING : NotifyBeforeEntitiesInitialized took: 0.006000 ms +05:28:36.954 WORLD : WORLD : NotifyEntitiesInitialized +05:28:36.954 TERRAIN : TERRAIN : Initializing road networks... +05:28:36.957 PROFILING : Initializing road networks... took: 2.733200 ms +05:28:36.958 PROFILING : NotifyEntitiesInitialized took: 3.298100 ms +05:28:36.958 PROFILING : CreateEntities took: 16318.682300 ms +05:28:37.143 PROFILING : * WorldEditor: LoadWorld: 17604.128100 ms +05:28:38.624 TERRAIN : Loading tile map config (worlds/Eden/Eden/tileMap.conf) +05:28:38.625 TERRAIN : Loading minimap config (worlds/Eden/Eden/miniMap.conf) +05:28:38.626 TERRAIN : The default minimap texture ('worlds/Eden/EdenRasterized.edds') not found. Trying 'worlds/Eden/Eden.edds'... +05:28:38.626 TERRAIN : The default minimap texture ('worlds/Eden/Eden.edds') not found. Skipping... +05:28:38.721 SCRIPT : ERR SITE SURVEY: supply=6150/7050 elevationRange=0.625 min=202.875 max=203.5 +05:28:38.744 BACKEND : Attempting online Game Config instead. +05:28:41.979 INIT : INIT : Workbench Reload Game +05:28:41.982 ENGINE : Game destroyed. +05:28:41.990 GUI : Using default language (en_us) +05:28:41.990 GUI : Loading 'en_us' localization file. +05:28:41.991 INIT : INIT : Loading StringTable +05:28:42.012 PROFILING : Loading StringTable took: 21.503400 ms +05:28:42.013 INIT : Creating game instance(ArmaReforgerScripted), version 1.8.0.13 built 2026-08-21 14:30:18 UTC. +05:28:42.022 SCRIPT : Unable to register a script command due keyword duplicity: ban +05:28:42.022 SCRIPT : Unable to register a script command due keyword duplicity: kick +05:28:42.022 ENGINE : Game successfully created. +05:28:42.022 ENGINE : Game successfully initialized. +05:28:42.022 PROFILING : Workbench Reload Game took: 42.657000 ms +05:28:42.025 DEFAULT (W): LogiLED: Cannot initialize! (service not running or no compatible device detected) +05:28:42.077 PLATFORM : Save data from container 'settings' have been loaded +05:28:42.166 PLATFORM : Save data from container 'sessions' have been loaded +05:28:42.168 PLATFORM : GameProject user settings load from profile @"ReforgerGameSettings.conf" +05:28:42.168 ENGINE : Game user settings config loaded +05:28:42.264 DEFAULT : [SaveGameManager] Starting new playthrough nr.0 '' for mission '{B6C516F86302C679}Worlds/ERR_Everon.ent'. +05:28:42.271 WORLD : WORLD : Game::LoadEntities +05:28:42.271 WORLD : WORLD : Initializing world systems @"{1C60D2EDA2B468B8}Configs/Systems/BaseGameModeSystems.conf" +05:28:42.273 NETWORK : Enabled lag compensation, 29 frames with 100 FPS and 280 ms rewind limits. +05:28:42.273 WORLD : WORLD : CreateEntities +05:28:42.273 WORLD : WORLD : CreateEntities +05:28:42.273 WORLD : WORLD : NotifyBeforeEntitiesCreated +05:28:42.277 RESOURCES : Loaded mission headers from 7 addon(s)! +05:28:42.277 PROFILING : NotifyBeforeEntitiesCreated took: 4.222500 ms +05:28:42.277 WORLD : WORLD : Wait for preloading data +05:28:42.277 PROFILING : Wait for preloading data took: 0.000300 ms +05:28:46.906 WORLD : Game::LoadEntities +05:28:46.906 WORLD : CreateEntities +05:28:46.906 WORLD : CreateEntities +05:28:46.906 ENTITY : Create entity @"ENTITY:610406" ('StaticModelEntity','Assets/Structures/Infrastructure/Towers/TransmitterTower_01/TransmitterTower_01_small.xob') at <1931.796021 81.777000 5138.725098> @"{6A004A8F0571D456}Prefabs/Structures/Infrastructure/Towers/TransmitterTower_01/TransmitterTower_01_small.et" +05:28:46.906 ENTITY : CreateComponent 'ScriptedRadioComponent' +05:28:46.906 DEFAULT (W): World doesn't contain RadioManagerEntity to support any BaseRadioComponent. +05:28:48.339 ENTITY : Create entity @"ENTITY:842066" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1080.213013 10.776751 6018.347168> +05:28:48.339 ENTITY : CreateComponent 'Hierarchy' +05:28:48.339 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842066" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1080.213013 10.776751 6018.347168>') +05:28:48.339 ENTITY : Create entity @"ENTITY:842068" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1082.185913 10.778749 6018.331055> +05:28:48.339 ENTITY : CreateComponent 'Hierarchy' +05:28:48.339 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842068" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1082.185913 10.778749 6018.331055>') +05:28:48.339 ENTITY : Create entity @"ENTITY:842070" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1084.190918 10.790751 6018.334961> +05:28:48.339 ENTITY : CreateComponent 'Hierarchy' +05:28:48.339 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842070" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1084.190918 10.790751 6018.334961>') +05:28:48.344 ENTITY : Create entity @"ENTITY:842333" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4425.594727 9.981750 11029.402344> +05:28:48.344 ENTITY : CreateComponent 'Hierarchy' +05:28:48.344 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842333" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4425.594727 9.981750 11029.402344>') +05:28:48.344 ENTITY : Create entity @"ENTITY:842335" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4426.584473 9.983749 11031.109375> +05:28:48.344 ENTITY : CreateComponent 'Hierarchy' +05:28:48.344 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842335" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4426.584473 9.983749 11031.109375>') +05:28:48.344 ENTITY : Create entity @"ENTITY:842337" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4427.572266 9.995750 11032.853516> +05:28:48.344 ENTITY : CreateComponent 'Hierarchy' +05:28:48.344 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842337" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4427.572266 9.995750 11032.853516>') +05:28:48.349 ENTITY : Create entity @"ENTITY:842591" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.946289 10.470250 1551.986084> +05:28:48.349 ENTITY : CreateComponent 'Hierarchy' +05:28:48.349 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842591" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.946289 10.470250 1551.986084>') +05:28:48.349 ENTITY : Create entity @"ENTITY:842593" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.430664 10.472250 1550.081421> +05:28:48.349 ENTITY : CreateComponent 'Hierarchy' +05:28:48.349 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842593" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.430664 10.472250 1550.081421>') +05:28:48.349 ENTITY : Create entity @"ENTITY:842595" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10008.926758 10.484250 1548.140869> +05:28:48.349 ENTITY : CreateComponent 'Hierarchy' +05:28:48.349 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842595" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10008.926758 10.484250 1548.140869>') +05:28:52.710 ENTITY : Create entity @"ENTITY:2305843009213693956" ('Factions', SCR_FactionManager) at <0.000000 0.000000 0.000000> @"{589540B35EBA8CDC}Prefabs/MP/Managers/Factions/FactionManager_USxUSSR.et" +05:28:52.710 RESOURCES : GetResourceObject @"{5168FEA3054D6D15}Prefabs/Vehicles/Wheeled/M151A2/M151A2_M2HB_MERDC.et" +05:28:52.710 WORLD : Entity prefab load @"{5168FEA3054D6D15}Prefabs/Vehicles/Wheeled/M151A2/M151A2_M2HB_MERDC.et" +05:28:52.710 RESOURCES : GetResourceObject @"{F6B23D17D5067C11}Prefabs/Vehicles/Wheeled/M151A2/M151A2_M2HB.et" +05:28:52.710 WORLD : Entity prefab load @"{F6B23D17D5067C11}Prefabs/Vehicles/Wheeled/M151A2/M151A2_M2HB.et" +05:28:52.710 RESOURCES : GetResourceObject @"{F649585ABB3706C4}Prefabs/Vehicles/Wheeled/M151A2/M151A2.et" +05:28:52.710 WORLD : Entity prefab load @"{F649585ABB3706C4}Prefabs/Vehicles/Wheeled/M151A2/M151A2.et" +05:28:52.710 WORLD (E): Unknown keyword/data 'SlidingTrackMaterial' at offset 19441(0x4bf1) +05:28:52.747 RESOURCES : GetResourceObject @"{F7B9B434FCFF00B3}Prefabs/Vehicles/Wheeled/Conflict_Variants/BRDM2_Conflict.et" +05:28:52.747 WORLD : Entity prefab load @"{F7B9B434FCFF00B3}Prefabs/Vehicles/Wheeled/Conflict_Variants/BRDM2_Conflict.et" +05:28:52.747 RESOURCES : GetResourceObject @"{254289B9C09904AB}Prefabs/Vehicles/Wheeled/BRDM2/BRDM2.et" +05:28:52.747 WORLD : Entity prefab load @"{254289B9C09904AB}Prefabs/Vehicles/Wheeled/BRDM2/BRDM2.et" +05:28:52.747 RESOURCES : GetResourceObject @"{532B5F3CF8496E59}Prefabs/Vehicles/Wheeled/BRDM2/BRDM2_base.et" +05:28:52.747 WORLD : Entity prefab load @"{532B5F3CF8496E59}Prefabs/Vehicles/Wheeled/BRDM2/BRDM2_base.et" +05:28:52.747 WORLD (E): Unknown keyword/data 'Parent' at offset 35955(0x8c73) +05:28:52.747 WORLD (E): Unknown keyword/data 'Parent' at offset 36915(0x9033) +05:28:52.748 RESOURCES : GetResourceObject @"{BD75A18920BD1278}Prefabs/Vehicles/Wheeled/Conflict_Variants/BTR70_Conflict.et" +05:28:52.748 WORLD : Entity prefab load @"{BD75A18920BD1278}Prefabs/Vehicles/Wheeled/Conflict_Variants/BTR70_Conflict.et" +05:28:52.748 RESOURCES : GetResourceObject @"{C012BB3488BEA0C2}Prefabs/Vehicles/Wheeled/BTR70/BTR70.et" +05:28:52.748 WORLD : Entity prefab load @"{C012BB3488BEA0C2}Prefabs/Vehicles/Wheeled/BTR70/BTR70.et" +05:28:52.748 RESOURCES : GetResourceObject @"{1C5FE7B7FF49BB8D}Prefabs/Vehicles/Wheeled/BTR70/BTR70_Base.et" +05:28:52.748 WORLD : Entity prefab load @"{1C5FE7B7FF49BB8D}Prefabs/Vehicles/Wheeled/BTR70/BTR70_Base.et" +05:28:52.748 WORLD (E): Unknown keyword/data 'Parent' at offset 42646(0xa696) +05:28:52.748 WORLD (E): Unknown keyword/data 'Parent' at offset 43645(0xaa7d) +05:28:52.748 WORLD (E): Unknown keyword/data 'Parent' at offset 44617(0xae49) +05:28:52.748 WORLD (E): Unknown keyword/data 'Parent' at offset 45590(0xb216) +05:28:53.043 WORLD : WORLD : NotifyBeforeEntitiesInitialized +05:28:53.043 PROFILING : NotifyBeforeEntitiesInitialized took: 0.053500 ms +05:28:54.966 WORLD : InitEntities 'world' +05:28:54.966 ENTITY : Init entity @"ENTITY:2305843009213693953" ('Rereintroduced', ERR_GameMode) at <1076.468018 51.000999 1325.246948> @"{978E045E53EF36C8}Prefabs/ERR/GameMode.et" +05:28:54.966 SCRIPT (W): SCR_PerceivedFactionManagerComponent trying to set fall back faction 'CIV' but this faction could not be found so it is null instead. +05:28:54.990 WORLD : InitEntities 'world' +05:28:54.990 ENTITY : Init entity @"ENTITY:2305843009213693953" ('Rereintroduced', ERR_GameMode) at <1076.468018 51.000999 1325.246948> @"{978E045E53EF36C8}Prefabs/ERR/GameMode.et" +05:28:54.990 SCRIPT : ERR BASE SMOKE: core-only scripted escape; not manual or multiplayer acceptance +05:28:54.991 WORLD : WORLD : NotifyEntitiesInitialized +05:28:54.991 TERRAIN : TERRAIN : Initializing road networks... +05:28:54.994 PROFILING : Initializing road networks... took: 2.809700 ms +05:28:54.994 DEFAULT : DEFAULT : WorldVolumesCollection +05:28:55.052 PROFILING : WorldVolumesCollection took: 57.685800 ms +05:28:55.052 INIT : INIT : SoundWorldInit +05:28:55.066 PROFILING : SoundWorldInit took: 14.741200 ms +05:28:55.066 PROFILING : NotifyEntitiesInitialized took: 75.501900 ms +05:28:55.067 PROFILING : CreateEntities took: 12793.593300 ms +05:28:55.067 PROFILING : CreateEntities took: 12793.808900 ms +05:28:55.067 WORLD : WORLD : Wait for preloading data around camera +05:28:55.067 PROFILING : Wait for preloading data around camera took: 0.000900 ms +05:28:55.067 WORLD : WORLD : EOnActivate +05:28:55.099 PROFILING : EOnActivate took: 31.945600 ms +05:28:55.099 PROFILING : Game::LoadEntities took: 12827.740600 ms +05:28:55.391 DEFAULT : Entered offline game state. +05:28:55.494 NETWORK : Player connected: connectionID=2147483646 +05:28:55.494 NETWORK : ### Connecting player: connectionID=2147483646, Name= +05:28:55.495 NETWORK : ### Creating player: PlayerId=1, Name=jakub +05:28:55.499 ENTITY : SpawnEntityPrefab @"{225E51284CC95CFA}Prefabs/Characters/Core/DefaultPlayerControllerMP.et" +05:28:55.500 ENTITY : Create entity @"ENTITY:4611686018427388381" ('SCR_PlayerController') at <0.000000 0.000000 0.000000> +05:28:55.500 ENTITY : EntityPrefabUse @"{225E51284CC95CFA}Prefabs/Characters/Core/DefaultPlayerControllerMP.et" +05:28:55.500 SCRIPT (W): Notification data in 'SCR_NotificationsLogDisplay' has duplicate notification info key: 'EDITOR_PERCEIVED_FACTION_PUNISHMENT_KILLING_SET'. There should only be one of each key! +05:28:55.500 SCRIPT (W): Notification data in 'SCR_NotificationsLogDisplay' has duplicate notification info key: 'EDITOR_PERCEIVED_FACTION_TYPE_DISABLED'. There should only be one of each key! +05:28:55.501 SCRIPT (W): Can't open config file "" +05:28:55.507 WORLD : InitEntities 'world' +05:28:55.507 ENTITY : Init entity @"ENTITY:4611686018427388381" ('SCR_PlayerController') at <0.000000 0.000000 0.000000> @"{225E51284CC95CFA}Prefabs/Characters/Core/DefaultPlayerControllerMP.et" +05:28:55.507 GUI : WidgetManager: CrateWidgets @"{3C9DCDD76AB83157}UI/layouts/HUD/HUDLayouts/HUDManager_Root.layout" +05:28:55.507 SCRIPT (W): Slot_WeaponInfo Has no Content! +05:28:55.507 SCRIPT (W): Slot_Chat Has no Content! +05:28:55.507 SCRIPT (W): Slot_VON Has no Content! +05:28:55.507 SCRIPT (W): Slot_AvailableActions Has no Content! +05:28:55.507 SCRIPT (W): Slot_Vehicle Has no Content! +05:28:55.508 SCRIPT (W): Slot_GameVersion Has no Content! +05:28:55.508 SCRIPT (W): Slot_Notifications Has no Content! +05:28:55.508 SCRIPT (W): Slot_Hints Has no Content! +05:28:55.520 NETWORK : ### Updating player: PlayerId=1, Name=jakub, rplIdentity=0xFFFFFFFE, IdentityId=00000000-0000-0000-0000-000000000000 +05:28:55.521 SCRIPT (W): Ban Settings could not be loaded from BE Storage: Relying on default config +05:28:55.521 NETWORK : Players connecting: 0 +05:28:55.521 NETWORK : Players connected: 1 / 1 +05:28:55.548 DEFAULT : Using autosave directory: C:/users/steamuser/AppData/Local/Temp/Arma Reforger Workbench/Projects/ERR_Core/autosaves +05:28:55.549 PROFILING : Workbench startup took: 43617.109200 ms +05:28:55.572 WORLD : Frame start +05:28:55.572 SCRIPT : ScenarioFramework: Available tasks are empty, no new tasks will be generated. +05:28:55.585 WORLD : UpdateEntities +05:28:55.585 WORLD : Frame +05:28:55.585 SCRIPT : SCR_BaseGameMode::OnGameStateChanged = GAME +05:28:55.758 WORLD : UpdateEntities +05:28:55.758 WORLD : PostFrame +05:28:55.759 GUI : WidgetManager: CrateWidgets @"{D89BBA18F99053D6}UI/layouts/HUD/Chat/ChatHud.layout" +05:28:55.759 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +05:28:55.807 RESOURCES : GetResourceObject @"{20A6917D2114E29A}UI/layouts/HUD/Hint/HintInfoDisplay.layout" +05:28:55.807 GUI : Layout load @"{20A6917D2114E29A}UI/layouts/HUD/Hint/HintInfoDisplay.layout" +05:28:55.807 GUI : Widget prefab @"{EA1CC57D868E94F9}UI/layouts/HUD/Hint/Hint.layout" +05:28:55.807 GUI (W): Overridden prefab member (GUID: '{661AB14E0F471C66}' type: ButtonWidgetClass) no longer exists in prefab +05:28:55.966 RENDER : RENDER : ObjectsHeightMap::Build +05:28:55.966 RENDER : RENDER : MeshOccupancyGridManager::GenerateAllForWorld +05:28:56.129 PROFILING : MeshOccupancyGridManager::GenerateAllForWorld took: 162.099500 ms +05:28:56.136 PROFILING : ObjectsHeightMap::Build took: 169.319300 ms +05:28:57.305 SCRIPT : Rereintroduced [sites]: cache clearance position=<6086,211.538,7160> clear=1 +05:28:57.323 SCRIPT : Rereintroduced [sites]: authored everon-prison-1 at <6090,211.444,7160> +05:28:57.324 SCRIPT : Rereintroduced [sites]: cache clearance position=<6150,203.288,7050> clear=1 +05:28:57.350 SCRIPT : Rereintroduced [sites]: authored everon-supply-1 at <6150,203.288,7050> +05:28:57.351 SCRIPT : Rereintroduced [sites]: authored everon-radio-1 at <6500,159.756,7200> +05:28:57.398 SCRIPT : Rereintroduced [sites]: authored everon-extraction-1 at <7000,65.2562,7500> +05:28:57.398 SCRIPT : Rereintroduced [sites]: cache clearance position=<5960,220.256,7220> clear=1 +05:28:57.403 SCRIPT : Rereintroduced [sites]: transport parking=<5960,220.256,7212> radius=4 terrainRange=0.8125 obstructed=0 clear=1 +05:28:57.449 SCRIPT : Rereintroduced [sites]: authored everon-supply-2 at <5960,220.256,7220> +05:28:57.450 SCRIPT : Rereintroduced [sites]: cache clearance position=<6340,175.788,7400> clear=1 +05:28:57.452 SCRIPT : Rereintroduced [sites]: authored everon-medical-1 at <6340,175.788,7400> +05:28:57.452 SCRIPT : Rereintroduced [sites]: cache clearance position=<6740,140.6,7300> clear=1 +05:28:57.455 SCRIPT : Rereintroduced [sites]: cache clearance position=<6740,140.913,7296> clear=1 +05:28:57.456 SCRIPT : Rereintroduced [sites]: cache clearance position=<6736,140.975,7300> clear=1 +05:28:57.456 SCRIPT : Rereintroduced [sites]: cache clearance position=<6744,140.288,7300> clear=1 +05:28:57.458 SCRIPT : Rereintroduced [sites]: authored everon-outpost-1 at <6740,140.6,7300> +05:28:57.557 SCRIPT : Rereintroduced [sites]: 7 sites and 117 physical stock items ready +05:28:57.558 SCRIPT : Rereintroduced [time]: started at 14:00 with 1x progression +05:28:57.558 SCRIPT : Rereintroduced [mission]: phase 0 -> 1 +05:28:57.809 SCRIPT : INFO: Faction: player jakub (playerID = 1 | UUID = 00000000-0000-0000-0000-000000000000) has joined faction #AR-Faction_US (US) +05:28:57.888 SCRIPT : Rereintroduced [spawn]: player 1 at <6087,211.438,7157> +05:28:57.983 SCRIPT : ERR SMOKE PASS: objective UI current native task exists +05:28:57.985 SCRIPT : ERR SMOKE PASS: objective UI native list and detail layouts created +05:28:57.985 SCRIPT : ERR SMOKE PASS: objective UI native handlers attached +05:28:57.986 SCRIPT : ERR SMOKE PASS: objective UI open list and details contain current title and instructions +05:28:57.986 SCRIPT : ERR SMOKE PASS: objective UI list-only task cannot expose an undiscovered map position +05:28:57.986 SCRIPT : ERR SMOKE PASS: objective UI actual local player receives the active objective +05:28:57.986 SCRIPT : ERR SMOKE PASS: objective UI extraction instructions follow a nondefault boundary +05:28:57.986 SCRIPT : ERR SMOKE PASS: objective UI rebinding keeps one subscription to each native task event +05:28:57.987 SCRIPT : ERR SMOKE PASS: objective UI closing native widget uses production detach and releases its task +05:28:57.987 SCRIPT : ERR SMOKE PASS: objective UI closed native widget receives no task callbacks +05:28:58.984 SCRIPT : ERR SMOKE PASS: objective UI closed native widget has no delayed overflow callbacks +05:28:58.984 SCRIPT : ERR SMOKE PASS: objective UI current native task exists +05:28:58.986 SCRIPT : ERR SMOKE PASS: objective UI native list and detail layouts created +05:28:58.986 SCRIPT : ERR SMOKE PASS: objective UI native handlers attached +05:28:58.987 SCRIPT : ERR SMOKE PASS: objective UI open list and details contain current title and instructions +05:28:58.987 SCRIPT : ERR SMOKE PASS: objective UI list-only task cannot expose an undiscovered map position +05:28:58.987 SCRIPT : ERR SMOKE PASS: objective UI actual local player receives the active objective +05:28:58.987 SCRIPT : ERR SMOKE PASS: objective UI extraction instructions follow a nondefault boundary +05:28:58.987 SCRIPT : ERR SMOKE PASS: objective UI details reopen through native layout and current objective binding +05:28:58.987 SCRIPT : ERR SMOKE PASS: objective UI isolated deletion has a native task system, mission task and local executor +05:28:58.988 SCRIPT : ERR SMOKE PASS: objective UI deletion fixture owns a separate native task +05:28:58.988 SCRIPT : ERR SMOKE PASS: objective UI isolated task has an actual local assignee +05:28:58.991 SCRIPT : ERR SMOKE PASS: objective UI isolated native details layout created +05:28:58.991 SCRIPT : ERR SMOKE PASS: objective UI isolated native details handler attached +05:28:58.992 SCRIPT (E): Virtual Machine Exception + +Reason: ScriptCallback: method 'CheckOverflow' is private/protected + +Class: 'SCR_TaskListEntryDescriptionUIComponent' +Function: 'GetRemainingTimeByName' +Stack trace: +Scripts/Game/ERR/ERR_NativeObjectiveProbe.c:198 Function ERR_ProbeTrace +Scripts/Game/ERR/ERR_NativeObjectiveProbe.c:116 Function BeginDeletedTaskClose +Scripts/Game/ERR/ERR_NativeBaseSmoke.c:214 Function ERR_BaseTick +Scripts/Game/game.c:885 Function OnUpdate +05:28:58.998 SCRIPT : ERR OBJECTIVE TRACE: stage=before isolated task deletion task=1 detached=0 closed=0 overflowRemainingMs=100 byNameMs=-1 +05:28:58.999 SCRIPT (E): Virtual Machine Exception + +Reason: ScriptCallback: method 'CheckOverflow' is private/protected + +Class: 'SCR_TaskListEntryDescriptionUIComponent' +Function: 'GetRemainingTimeByName' +Stack trace: +Scripts/Game/ERR/ERR_NativeObjectiveProbe.c:198 Function ERR_ProbeTrace +Scripts/Game/ERR/ERR_NativeObjectiveProbe.c:119 Function BeginDeletedTaskClose +Scripts/Game/ERR/ERR_NativeBaseSmoke.c:214 Function ERR_BaseTick +Scripts/Game/game.c:885 Function OnUpdate +05:28:58.999 SCRIPT : ERR OBJECTIVE TRACE: stage=after isolated task deletion before detach task=0 detached=0 closed=0 overflowRemainingMs=100 byNameMs=-1 +05:28:58.999 SCRIPT : ERR SMOKE PASS: objective UI native task deletion clears both task and bound-widget weak references +05:28:59.000 SCRIPT (E): Virtual Machine Exception + +Reason: ScriptCallback: method 'CheckOverflow' is private/protected + +Class: 'SCR_TaskListEntryDescriptionUIComponent' +Function: 'GetRemainingTimeByName' +Stack trace: +Scripts/Game/ERR/ERR_NativeObjectiveProbe.c:198 Function ERR_ProbeTrace +Scripts/Game/ERR/ERR_NativeObjectiveProbe.c:127 Function BeginDeletedTaskClose +Scripts/Game/ERR/ERR_NativeBaseSmoke.c:214 Function ERR_BaseTick +Scripts/Game/game.c:885 Function OnUpdate +05:28:59.000 SCRIPT : ERR OBJECTIVE TRACE: stage=after deleted-task panel detach task=0 detached=1 closed=1 overflowRemainingMs=100 byNameMs=-1 +05:28:59.001 SCRIPT : ERR SMOKE PASS: objective UI deleted-task panel closes through production detach +05:28:59.001 SCRIPT : ERR SMOKE PASS: objective UI real mission objective survives isolated deletion and assignment is restored +05:28:59.485 SCRIPT : ERR SMOKE PASS: objective UI deleted-task panel has no delayed callbacks after weak references clear +05:28:59.485 SCRIPT : ERR SMOKE PASS: objective UI real mission objective remains intact after delayed teardown check +05:28:59.485 SCRIPT : Rereintroduced [mission]: phase 1 -> 6 +05:28:59.486 SCRIPT : ERR SMOKE PASS: base objective UI fixture finished before explicit test reset +05:28:59.486 SCRIPT : ERR SMOKE COMPLETE: native objective UI close, reopen and deleted-task cleanup; reset requested by fixture +05:28:59.517 SCRIPT : SCR_BaseGameMode::OnGameStateChanged = POSTGAME +05:28:59.520 GUI : WidgetManager: CrateWidgets @"{144919871D65F121}UI/layouts/HUD/GameOver/EndScreen/EndScreen.layout" +05:28:59.521 SCRIPT (W): Slot_Chat Has no Content! +05:28:59.521 SCRIPT (W): Slot_VON Has no Content! +05:28:59.521 SCRIPT (W): Slot_GameVersion Has no Content! +05:28:59.521 SCRIPT (W): Slot_Notifications Has no Content! diff --git a/docs/evidence/native-2026-09-19-052811/error.log.txt b/docs/evidence/native-2026-09-19-052811/error.log.txt new file mode 100644 index 0000000..f4891ea --- /dev/null +++ b/docs/evidence/native-2026-09-19-052811/error.log.txt @@ -0,0 +1,161 @@ +--------------------------------------------- +Log Z:\tmp\erri-workbench-profile\logs\logs_2026-09-19_05-28-11\error.log started at 2026-09-19 05:28:13 (2026-09-19 03:28:13 UTC) + +05:28:13.741 INIT : Workbench startup +05:28:13.741 INIT : Workbench Init Engine +05:28:13.741 RESOURCES : ResourceDB: full scan +05:28:13.741 RESOURCES : processing files... +05:28:13.741 RESOURCES (W): resource not registered: @"$profile:rereintroduced.json". Setting null GUID +05:28:13.741 RESOURCES (W): resource not registered: @"$logs:launch-source-sha256.json". Setting null GUID +05:28:13.741 RESOURCES (W): resource not registered: @"$logs:launch-source.json". Setting null GUID +05:28:16.947 INIT : Workbench Create Game +05:28:16.948 SCRIPT : Compiling Game scripts +05:28:16.948 SCRIPT (W): @"Scripts/Game/Editor/Components/EditableEntity/SCR_EditableEntityComponent.c,785": 'GetPlayerPlatformKind' is obsolete +05:28:16.948 SCRIPT (W): @"Scripts/Game/Editor/Components/EditableEntity/SCR_EditableEntityComponent.c,786": 'GetPlayerPlatformId' is obsolete +05:28:17.202 SCRIPT (W): @"Scripts/Game/ERR/ERR_SiteService.c,140": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +05:28:17.211 SCRIPT (W): @"Scripts/Game/Workshop/SCR_AddonManager.c,876": 'GetRefCount' is obsolete: Will be removed +05:28:17.239 SCRIPT (W): @"Scripts/Game/Campaign/SCR_PlayerProfileManagerComponent.c,142": 'PlayerData' is obsolete +05:28:17.337 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,159": 'GetDSSession' is obsolete +05:28:17.337 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,162": 'RoomID' is obsolete +05:28:17.337 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,197": 'GetDSSession' is obsolete +05:28:17.337 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,201": 'RoomID' is obsolete +05:28:17.429 SCRIPT (W): @"Scripts/Game/DataCollection/SCR_DataCollectorComponent.c,481": 'GetStorage' is obsolete +05:28:17.429 SCRIPT (W): @"Scripts/Game/DataCollection/SCR_DataCollectorComponent.c,483": 'GetOnlineWritePrivilege' is obsolete +05:28:17.430 SCRIPT (W): @"Scripts/Game/Utilities/SCR_PlayerIdentityUtils.c,20": 'GetPlayerIdentityId' is obsolete +05:28:17.475 SCRIPT (W): @"Scripts/Game/ERR/ERR_ExtractionService.c,45": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +05:28:17.475 SCRIPT (W): @"Scripts/Game/ERR/ERR_ExtractionService.c,56": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +05:28:17.477 SCRIPT (W): @"Scripts/Game/UI/Menu/MainMenuUI.c,643": 'GetNotifyCount' is obsolete: Will be substitued by Notification Api. +05:28:17.477 SCRIPT (W): @"Scripts/Game/UI/Menu/MainMenuUI.c,645": 'GetNotifyItem' is obsolete: Will be substitued by Notification Api. +05:28:17.503 SCRIPT (W): @"Scripts/Game/ERR/ERR_NativeTransportProbe.c,82": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +05:28:17.536 SCRIPT (W): @"Scripts/Game/DataCollection/PlayerData/SCR_PlayerData.c,210": 'PlayerData' is obsolete +05:28:26.495 WORLD : CreateEntities +05:28:26.496 ENTITY : Create entity @"ENTITY:610406" ('StaticModelEntity','Assets/Structures/Infrastructure/Towers/TransmitterTower_01/TransmitterTower_01_small.xob') at <1931.796021 81.777000 5138.725098> @"{6A004A8F0571D456}Prefabs/Structures/Infrastructure/Towers/TransmitterTower_01/TransmitterTower_01_small.et" +05:28:26.496 ENTITY : CreateComponent 'ScriptedRadioComponent' +05:28:26.496 DEFAULT (W): World doesn't contain RadioManagerEntity to support any BaseRadioComponent. +05:28:42.025 DEFAULT (W): LogiLED: Cannot initialize! (service not running or no compatible device detected) +05:28:46.906 WORLD : Game::LoadEntities +05:28:46.906 WORLD : CreateEntities +05:28:46.906 WORLD : CreateEntities +05:28:46.906 ENTITY : Create entity @"ENTITY:610406" ('StaticModelEntity','Assets/Structures/Infrastructure/Towers/TransmitterTower_01/TransmitterTower_01_small.xob') at <1931.796021 81.777000 5138.725098> @"{6A004A8F0571D456}Prefabs/Structures/Infrastructure/Towers/TransmitterTower_01/TransmitterTower_01_small.et" +05:28:46.906 ENTITY : CreateComponent 'ScriptedRadioComponent' +05:28:46.906 DEFAULT (W): World doesn't contain RadioManagerEntity to support any BaseRadioComponent. +05:28:48.339 ENTITY : Create entity @"ENTITY:842066" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1080.213013 10.776751 6018.347168> +05:28:48.339 ENTITY : CreateComponent 'Hierarchy' +05:28:48.339 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842066" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1080.213013 10.776751 6018.347168>') +05:28:48.339 ENTITY : Create entity @"ENTITY:842068" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1082.185913 10.778749 6018.331055> +05:28:48.339 ENTITY : CreateComponent 'Hierarchy' +05:28:48.339 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842068" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1082.185913 10.778749 6018.331055>') +05:28:48.339 ENTITY : Create entity @"ENTITY:842070" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1084.190918 10.790751 6018.334961> +05:28:48.339 ENTITY : CreateComponent 'Hierarchy' +05:28:48.339 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842070" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1084.190918 10.790751 6018.334961>') +05:28:48.344 ENTITY : Create entity @"ENTITY:842333" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4425.594727 9.981750 11029.402344> +05:28:48.344 ENTITY : CreateComponent 'Hierarchy' +05:28:48.344 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842333" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4425.594727 9.981750 11029.402344>') +05:28:48.344 ENTITY : Create entity @"ENTITY:842335" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4426.584473 9.983749 11031.109375> +05:28:48.344 ENTITY : CreateComponent 'Hierarchy' +05:28:48.344 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842335" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4426.584473 9.983749 11031.109375>') +05:28:48.344 ENTITY : Create entity @"ENTITY:842337" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4427.572266 9.995750 11032.853516> +05:28:48.344 ENTITY : CreateComponent 'Hierarchy' +05:28:48.344 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842337" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4427.572266 9.995750 11032.853516>') +05:28:48.349 ENTITY : Create entity @"ENTITY:842591" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.946289 10.470250 1551.986084> +05:28:48.349 ENTITY : CreateComponent 'Hierarchy' +05:28:48.349 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842591" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.946289 10.470250 1551.986084>') +05:28:48.349 ENTITY : Create entity @"ENTITY:842593" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.430664 10.472250 1550.081421> +05:28:48.349 ENTITY : CreateComponent 'Hierarchy' +05:28:48.349 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842593" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.430664 10.472250 1550.081421>') +05:28:48.349 ENTITY : Create entity @"ENTITY:842595" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10008.926758 10.484250 1548.140869> +05:28:48.349 ENTITY : CreateComponent 'Hierarchy' +05:28:48.349 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842595" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10008.926758 10.484250 1548.140869>') +05:28:52.710 ENTITY : Create entity @"ENTITY:2305843009213693956" ('Factions', SCR_FactionManager) at <0.000000 0.000000 0.000000> @"{589540B35EBA8CDC}Prefabs/MP/Managers/Factions/FactionManager_USxUSSR.et" +05:28:52.710 RESOURCES : GetResourceObject @"{5168FEA3054D6D15}Prefabs/Vehicles/Wheeled/M151A2/M151A2_M2HB_MERDC.et" +05:28:52.710 WORLD : Entity prefab load @"{5168FEA3054D6D15}Prefabs/Vehicles/Wheeled/M151A2/M151A2_M2HB_MERDC.et" +05:28:52.710 RESOURCES : GetResourceObject @"{F6B23D17D5067C11}Prefabs/Vehicles/Wheeled/M151A2/M151A2_M2HB.et" +05:28:52.710 WORLD : Entity prefab load @"{F6B23D17D5067C11}Prefabs/Vehicles/Wheeled/M151A2/M151A2_M2HB.et" +05:28:52.710 RESOURCES : GetResourceObject @"{F649585ABB3706C4}Prefabs/Vehicles/Wheeled/M151A2/M151A2.et" +05:28:52.710 WORLD : Entity prefab load @"{F649585ABB3706C4}Prefabs/Vehicles/Wheeled/M151A2/M151A2.et" +05:28:52.710 WORLD (E): Unknown keyword/data 'SlidingTrackMaterial' at offset 19441(0x4bf1) +05:28:52.747 RESOURCES : GetResourceObject @"{F7B9B434FCFF00B3}Prefabs/Vehicles/Wheeled/Conflict_Variants/BRDM2_Conflict.et" +05:28:52.747 WORLD : Entity prefab load @"{F7B9B434FCFF00B3}Prefabs/Vehicles/Wheeled/Conflict_Variants/BRDM2_Conflict.et" +05:28:52.747 RESOURCES : GetResourceObject @"{254289B9C09904AB}Prefabs/Vehicles/Wheeled/BRDM2/BRDM2.et" +05:28:52.747 WORLD : Entity prefab load @"{254289B9C09904AB}Prefabs/Vehicles/Wheeled/BRDM2/BRDM2.et" +05:28:52.747 RESOURCES : GetResourceObject @"{532B5F3CF8496E59}Prefabs/Vehicles/Wheeled/BRDM2/BRDM2_base.et" +05:28:52.747 WORLD : Entity prefab load @"{532B5F3CF8496E59}Prefabs/Vehicles/Wheeled/BRDM2/BRDM2_base.et" +05:28:52.747 WORLD (E): Unknown keyword/data 'Parent' at offset 35955(0x8c73) +05:28:52.747 WORLD (E): Unknown keyword/data 'Parent' at offset 36915(0x9033) +05:28:52.748 RESOURCES : GetResourceObject @"{BD75A18920BD1278}Prefabs/Vehicles/Wheeled/Conflict_Variants/BTR70_Conflict.et" +05:28:52.748 WORLD : Entity prefab load @"{BD75A18920BD1278}Prefabs/Vehicles/Wheeled/Conflict_Variants/BTR70_Conflict.et" +05:28:52.748 RESOURCES : GetResourceObject @"{C012BB3488BEA0C2}Prefabs/Vehicles/Wheeled/BTR70/BTR70.et" +05:28:52.748 WORLD : Entity prefab load @"{C012BB3488BEA0C2}Prefabs/Vehicles/Wheeled/BTR70/BTR70.et" +05:28:52.748 RESOURCES : GetResourceObject @"{1C5FE7B7FF49BB8D}Prefabs/Vehicles/Wheeled/BTR70/BTR70_Base.et" +05:28:52.748 WORLD : Entity prefab load @"{1C5FE7B7FF49BB8D}Prefabs/Vehicles/Wheeled/BTR70/BTR70_Base.et" +05:28:52.748 WORLD (E): Unknown keyword/data 'Parent' at offset 42646(0xa696) +05:28:52.748 WORLD (E): Unknown keyword/data 'Parent' at offset 43645(0xaa7d) +05:28:52.748 WORLD (E): Unknown keyword/data 'Parent' at offset 44617(0xae49) +05:28:52.748 WORLD (E): Unknown keyword/data 'Parent' at offset 45590(0xb216) +05:28:54.966 WORLD : InitEntities 'world' +05:28:54.966 ENTITY : Init entity @"ENTITY:2305843009213693953" ('Rereintroduced', ERR_GameMode) at <1076.468018 51.000999 1325.246948> @"{978E045E53EF36C8}Prefabs/ERR/GameMode.et" +05:28:54.966 SCRIPT (W): SCR_PerceivedFactionManagerComponent trying to set fall back faction 'CIV' but this faction could not be found so it is null instead. +05:28:55.499 ENTITY : SpawnEntityPrefab @"{225E51284CC95CFA}Prefabs/Characters/Core/DefaultPlayerControllerMP.et" +05:28:55.500 ENTITY : Create entity @"ENTITY:4611686018427388381" ('SCR_PlayerController') at <0.000000 0.000000 0.000000> +05:28:55.500 ENTITY : EntityPrefabUse @"{225E51284CC95CFA}Prefabs/Characters/Core/DefaultPlayerControllerMP.et" +05:28:55.500 SCRIPT (W): Notification data in 'SCR_NotificationsLogDisplay' has duplicate notification info key: 'EDITOR_PERCEIVED_FACTION_PUNISHMENT_KILLING_SET'. There should only be one of each key! +05:28:55.500 SCRIPT (W): Notification data in 'SCR_NotificationsLogDisplay' has duplicate notification info key: 'EDITOR_PERCEIVED_FACTION_TYPE_DISABLED'. There should only be one of each key! +05:28:55.501 SCRIPT (W): Can't open config file "" +05:28:55.507 WORLD : InitEntities 'world' +05:28:55.507 ENTITY : Init entity @"ENTITY:4611686018427388381" ('SCR_PlayerController') at <0.000000 0.000000 0.000000> @"{225E51284CC95CFA}Prefabs/Characters/Core/DefaultPlayerControllerMP.et" +05:28:55.507 GUI : WidgetManager: CrateWidgets @"{3C9DCDD76AB83157}UI/layouts/HUD/HUDLayouts/HUDManager_Root.layout" +05:28:55.507 SCRIPT (W): Slot_WeaponInfo Has no Content! +05:28:55.507 SCRIPT (W): Slot_Chat Has no Content! +05:28:55.507 SCRIPT (W): Slot_VON Has no Content! +05:28:55.507 SCRIPT (W): Slot_AvailableActions Has no Content! +05:28:55.507 SCRIPT (W): Slot_Vehicle Has no Content! +05:28:55.508 SCRIPT (W): Slot_GameVersion Has no Content! +05:28:55.508 SCRIPT (W): Slot_Notifications Has no Content! +05:28:55.508 SCRIPT (W): Slot_Hints Has no Content! +05:28:55.521 SCRIPT (W): Ban Settings could not be loaded from BE Storage: Relying on default config +05:28:55.758 WORLD : UpdateEntities +05:28:55.758 WORLD : PostFrame +05:28:55.759 GUI : WidgetManager: CrateWidgets @"{D89BBA18F99053D6}UI/layouts/HUD/Chat/ChatHud.layout" +05:28:55.759 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +05:28:55.807 RESOURCES : GetResourceObject @"{20A6917D2114E29A}UI/layouts/HUD/Hint/HintInfoDisplay.layout" +05:28:55.807 GUI : Layout load @"{20A6917D2114E29A}UI/layouts/HUD/Hint/HintInfoDisplay.layout" +05:28:55.807 GUI : Widget prefab @"{EA1CC57D868E94F9}UI/layouts/HUD/Hint/Hint.layout" +05:28:55.807 GUI (W): Overridden prefab member (GUID: '{661AB14E0F471C66}' type: ButtonWidgetClass) no longer exists in prefab +05:28:58.992 SCRIPT (E): Virtual Machine Exception + +Reason: ScriptCallback: method 'CheckOverflow' is private/protected + +Class: 'SCR_TaskListEntryDescriptionUIComponent' +Function: 'GetRemainingTimeByName' +Stack trace: +Scripts/Game/ERR/ERR_NativeObjectiveProbe.c:198 Function ERR_ProbeTrace +Scripts/Game/ERR/ERR_NativeObjectiveProbe.c:116 Function BeginDeletedTaskClose +Scripts/Game/ERR/ERR_NativeBaseSmoke.c:214 Function ERR_BaseTick +Scripts/Game/game.c:885 Function OnUpdate +05:28:58.999 SCRIPT (E): Virtual Machine Exception + +Reason: ScriptCallback: method 'CheckOverflow' is private/protected + +Class: 'SCR_TaskListEntryDescriptionUIComponent' +Function: 'GetRemainingTimeByName' +Stack trace: +Scripts/Game/ERR/ERR_NativeObjectiveProbe.c:198 Function ERR_ProbeTrace +Scripts/Game/ERR/ERR_NativeObjectiveProbe.c:119 Function BeginDeletedTaskClose +Scripts/Game/ERR/ERR_NativeBaseSmoke.c:214 Function ERR_BaseTick +Scripts/Game/game.c:885 Function OnUpdate +05:28:59.000 SCRIPT (E): Virtual Machine Exception + +Reason: ScriptCallback: method 'CheckOverflow' is private/protected + +Class: 'SCR_TaskListEntryDescriptionUIComponent' +Function: 'GetRemainingTimeByName' +Stack trace: +Scripts/Game/ERR/ERR_NativeObjectiveProbe.c:198 Function ERR_ProbeTrace +Scripts/Game/ERR/ERR_NativeObjectiveProbe.c:127 Function BeginDeletedTaskClose +Scripts/Game/ERR/ERR_NativeBaseSmoke.c:214 Function ERR_BaseTick +Scripts/Game/game.c:885 Function OnUpdate +05:28:59.520 GUI : WidgetManager: CrateWidgets @"{144919871D65F121}UI/layouts/HUD/GameOver/EndScreen/EndScreen.layout" +05:28:59.521 SCRIPT (W): Slot_Chat Has no Content! +05:28:59.521 SCRIPT (W): Slot_VON Has no Content! +05:28:59.521 SCRIPT (W): Slot_GameVersion Has no Content! +05:28:59.521 SCRIPT (W): Slot_Notifications Has no Content! diff --git a/docs/evidence/native-2026-09-19-052811/headless-launch.log.txt b/docs/evidence/native-2026-09-19-052811/headless-launch.log.txt new file mode 100644 index 0000000..19a7c4e --- /dev/null +++ b/docs/evidence/native-2026-09-19-052811/headless-launch.log.txt @@ -0,0 +1,150 @@ +[gamescope] [Info] console: gamescope version 3.16.28 (gcc 16.2.1) +No CAP_SYS_NICE, falling back to regular-priority compute and threads. +Performance will be affected. +[gamescope] [Info] scriptmgr: Loading scripts from: '/usr/share/gamescope/scripts' +[gamescope] [Info] scriptmgr: Loading scripts from: '/usr/share/gamescope/scripts/00-gamescope' +[gamescope] [Info] scriptmgr: Loading scripts from: '/usr/share/gamescope/scripts/00-gamescope/common' +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/common/inspect.lua' (id: 0) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/common/modegen.lua' (id: 1) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/common/util.lua' (id: 2) +[gamescope] [Info] scriptmgr: Loading scripts from: '/usr/share/gamescope/scripts/00-gamescope/displays' +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/asus.rogally.lcd.lua' (id: 3) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/deckhd.steamdeck.deckhd-lcd.lua' (id: 4) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/gpd.win4.lcd.lua' (id: 5) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/lenovo.legiongo.lcd.lua' (id: 6) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/lenovo.legiongos.lcd.lua' (id: 7) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/onexplayer.f1.oled.lua' (id: 8) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/valve.steamdeck.lcd.lua' (id: 9) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/valve.steamdeck.oled.lua' (id: 10) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/zotac.zone.oled.lua' (id: 11) +[gamescope] [Info] scriptmgr: Loading scripts from: '/etc/gamescope/scripts' +[gamescope] [Warn] scriptmgr: Directory '/etc/gamescope/scripts' does not exist +[gamescope] [Info] scriptmgr: Loading scripts from: '/home/jakub/.config/gamescope/scripts' +[gamescope] [Warn] scriptmgr: Directory '/home/jakub/.config/gamescope/scripts' does not exist +[gamescope] [Info] vulkan: selecting physical device 'AMD Radeon RX 6950 XT (RADV NAVI21)': queue family 1 (general queue family 0) +[gamescope] [Info] vulkan: physical device supports DRM format modifiers +[gamescope] [Info] wlserver: [backend/headless/backend.c:60] Creating headless backend +[gamescope] [Info] vulkan: supported DRM formats for sampling usage: +[gamescope] [Info] vulkan: AR24 (0x34325241) +[gamescope] [Info] vulkan: XR24 (0x34325258) +[gamescope] [Info] vulkan: AB24 (0x34324241) +[gamescope] [Info] vulkan: XB24 (0x34324258) +[gamescope] [Info] vulkan: RG16 (0x36314752) +[gamescope] [Info] vulkan: NV12 (0x3231564E) +[gamescope] [Info] vulkan: AB4H (0x48344241) +[gamescope] [Info] vulkan: XB4H (0x48344258) +[gamescope] [Info] vulkan: AB48 (0x38344241) +[gamescope] [Info] vulkan: XB48 (0x38344258) +[gamescope] [Info] vulkan: AB30 (0x30334241) +[gamescope] [Info] vulkan: XB30 (0x30334258) +[gamescope] [Info] vulkan: AR30 (0x30335241) +[gamescope] [Info] vulkan: XR30 (0x30335258) +[gamescope] [Info] wlserver: Using explicit sync when available +[gamescope] [Info] wlserver: Running compositor on wayland display 'gamescope-0' +[gamescope] [Info] wlserver: [backend/headless/backend.c:17] Starting headless backend +[gamescope] [Info] wlserver: Successfully initialized libei for input emulation! +[gamescope] [Error] wlserver: [xwayland/sockets.c:47] Failed to bind socket @/tmp/.X11-unix/X0: Address already in use +[gamescope] [Info] wlserver: [xwayland/server.c:108] Starting Xwayland on :2 +The XKEYBOARD keymap compiler (xkbcomp) reports: +> Warning: Multiple symbols for level 1/group 1 on key +> Using F23, ignoring XF86TouchpadOff +> Warning: Symbol map for key redefined +> Using last definition for conflicting fields +> Warning: Symbol map for key redefined +> Using last definition for conflicting fields +> Warning: Could not resolve keysym XF86ElectronicPrivacyScreenOn +> Warning: Could not resolve keysym XF86ElectronicPrivacyScreenOff +> Warning: Could not resolve keysym XF86ActionOnSelection +> Warning: Could not resolve keysym XF86ContextualInsert +> Warning: Could not resolve keysym XF86ContextualQuery +Errors from xkbcomp are not fatal to the X server +[gamescope] [Info] pipewire: stream state changed: connecting +[gamescope] [Info] pipewire: stream state changed: paused +[gamescope] [Info] pipewire: stream available on node ID: 101 +[gamescope] [Info] vblank: Using timerfd. +fsync: up and running. +[Gamescope WSI] No application info given. +[Gamescope WSI] Executable name: explorer.exe +ATTENTION: default value of option vk_wsi_force_swapchain_to_current_extent overridden by environment. +[Gamescope WSI] Application info: + pApplicationName: xalia.exe + applicationVersion: 0 + pEngineName: DXVK + engineVersion: 12587008 + apiVersion: 4206592 +[Gamescope WSI] Executable name: xalia.exe +ATTENTION: default value of option vk_wsi_force_swapchain_to_current_extent overridden by environment. +[Gamescope WSI] No application info given. +[Gamescope WSI] Application info: + pApplicationName: ArmaReforgerWorkbenchSteamDiag.exe + applicationVersion: 1 + pEngineName: DXVK + engineVersion: 12587008 + apiVersion: 4206592 +[Gamescope WSI] Executable name: ArmaReforgerWorkbenchSteamDiag.exe +ATTENTION: default value of option vk_wsi_force_swapchain_to_current_extent overridden by environment. +[Gamescope WSI] No application info given. +The XKEYBOARD keymap compiler (xkbcomp) reports: +> Warning: Unsupported maximum keycode 709, clipping. +> X11 cannot support keycodes above 255. +> Warning: Virtual modifier Hyper multiply defined +> Using 0, ignoring 0 +> Warning: Virtual modifier ScrollLock multiply defined +> Using 0, ignoring 0 +Errors from xkbcomp are not fatal to the X server +ATTENTION: default value of option vk_wsi_force_swapchain_to_current_extent overridden by environment. +[Gamescope WSI] Application info: + pApplicationName: ArmaReforgerWorkbenchSteamDiag.exe + applicationVersion: 0 + pEngineName: DXVK + engineVersion: 12587008 + apiVersion: 4206592 +ATTENTION: default value of option vk_wsi_force_swapchain_to_current_extent overridden by environment. +[Gamescope WSI] Application info: + pApplicationName: ArmaReforgerWorkbenchSteamDiag.exe + applicationVersion: 0 + pEngineName: vkd3d + engineVersion: 12587008 + apiVersion: 4206592 +[Gamescope WSI] Forcing on VK_EXT_swapchain_maintenance1. +ATTENTION: default value of option vk_wsi_force_swapchain_to_current_extent overridden by environment. +[Gamescope WSI] No application info given. +ATTENTION: default value of option vk_wsi_force_swapchain_to_current_extent overridden by environment. +[Gamescope WSI] Application info: + pApplicationName: ArmaReforgerWorkbenchSteamDiag.exe + applicationVersion: 0 + pEngineName: vkd3d + engineVersion: 12587008 + apiVersion: 4206592 +[Gamescope WSI] Forcing on VK_EXT_swapchain_maintenance1. +[Gamescope WSI] Creating Gamescope surface: xid: 0x1a001a4 +[Gamescope WSI] Atom of T was wrong type. Expected XCB_ATOM_CARDINAL. +[Gamescope WSI] Made gamescope surface for xid: 0x1a001a4 +[Gamescope WSI] Surface state: + steam app id: 1874910 + window xid: 0x1a001a4 + wayland surface res id: 5 + layer client flags: 0x4 + server hdr output enabled: false + hdr formats exposed to client: false +[Gamescope WSI] Creating Gamescope surface: xid: 0x1a003a4 +[Gamescope WSI] Atom of T was wrong type. Expected XCB_ATOM_CARDINAL. +[Gamescope WSI] Made gamescope surface for xid: 0x1a003a4 +[Gamescope WSI] Surface state: + steam app id: 1874910 + window xid: 0x1a003a4 + wayland surface res id: 10 + layer client flags: 0x4 + server hdr output enabled: false + hdr formats exposed to client: false +[Gamescope WSI] Creating swapchain for xid: 0x1a003a4 - oldSwapchain: (nil) - provided minImageCount: 3 - minImageCount: 3 - format: VK_FORMAT_B8G8R8A8_UNORM - colorspace: VK_COLOR_SPACE_SRGB_NONLINEAR_KHR - flip: false +[Gamescope WSI] Created swapchain for xid: 0x1a003a4 swapchain: 0x555559831460 - imageCount: 4 +[Gamescope WSI] Destroying swapchain: 0x555559831460 +[Gamescope WSI] Destroyed swapchain: 0x555559831460 +[Gamescope WSI] Creating swapchain for xid: 0x1a003a4 - oldSwapchain: (nil) - provided minImageCount: 3 - minImageCount: 3 - format: VK_FORMAT_B8G8R8A8_UNORM - colorspace: VK_COLOR_SPACE_SRGB_NONLINEAR_KHR - flip: false +[Gamescope WSI] Created swapchain for xid: 0x1a003a4 swapchain: 0x5555597ada50 - imageCount: 4 +[Gamescope WSI] Destroying swapchain: 0x5555597ada50 +[Gamescope WSI] Destroyed swapchain: 0x5555597ada50 +[Gamescope WSI] Creating swapchain for xid: 0x1a003a4 - oldSwapchain: (nil) - provided minImageCount: 3 - minImageCount: 3 - format: VK_FORMAT_B8G8R8A8_UNORM - colorspace: VK_COLOR_SPACE_SRGB_NONLINEAR_KHR - flip: false +[Gamescope WSI] Created swapchain for xid: 0x1a003a4 swapchain: 0x555559842a50 - imageCount: 4 +[gamescope] [Info] launch: Primary child shut down! diff --git a/docs/evidence/native-2026-09-19-052811/launch-source-sha256.json b/docs/evidence/native-2026-09-19-052811/launch-source-sha256.json new file mode 100644 index 0000000..7ae978c --- /dev/null +++ b/docs/evidence/native-2026-09-19-052811/launch-source-sha256.json @@ -0,0 +1,118 @@ +{ + "addons/ai/Prefabs/ERR/MortarCrew.et": "05d3e7353ff9fe5523218a1487b31b7b742b0be8adbcb060c7099978cf008bce", + "addons/ai/Prefabs/ERR/MortarCrew.et.meta": "fdfd4fcd21a67c3d698fa4aadc4e5c76e665cebf4be86013bc389e493fab63cc", + "addons/ai/Scripts/Game/ERR/ERR_HQ.c": "ceafd6740ed277748744ce56ac0f0bb3a8521fcc060dafb2cdb99896aedf405a", + "addons/ai/Scripts/Game/ERR/ERR_HQJournal.c": "b3e402cfe92d415f37f666045afb062e6e11670ba03a0ca6f2d9fd4fc3520ac1", + "addons/ai/Scripts/Game/ERR/ERR_HQNetwork.c": "92ff2caca52e94c2cc9642dfc8509ce6e9349b257012bade8650bace9231128c", + "addons/ai/Scripts/Game/ERR/ERR_HQObservation.c": "36c978ec5f052213ac1236e1398d85063efbfd7ef60fe04f1fc11447fefe1d68", + "addons/ai/Scripts/Game/ERR/ERR_HQReport.c": "c4d16ccb571db4d9444c0a8d2be7318845d25ff90238b6d304e96a9ea19f1a08", + "addons/ai/Scripts/Game/ERR/ERR_HelicopterAvailability.c": "60eaef2f6d4b2fd44861c5a4434ef97e732e40a5ff7401e2da451ed2dd9c2762", + "addons/ai/Scripts/Game/ERR/ERR_MortarBattery.c": "66b8f16b692a0f75fc9d920f5224d9292a0f1dc7dd8b2dde912e676fa80ddc9c", + "addons/ai/Scripts/Game/ERR/ERR_MortarFiring.c": "657e96d1112b68c8ced37793e99f88e6078b38a579190e63d00b1f9a9a032e26", + "addons/ai/Scripts/Game/ERR/ERR_MortarPrediction.c": "470dd196ed64800c697d24c09d1344bacd2502587fac76af4ee0edae2563092d", + "addons/ai/Scripts/Game/ERR/ERR_MortarSalvo.c": "697c01f479df6c505a41d984a29c02002e3052114dafa2ec6252ae55e2979a2b", + "addons/ai/Scripts/Game/ERR/ERR_MortarSystem.c": "12d8fc39d47e03c3838e0642aa9e4a80baf60f250357493bff812d5c75812c86", + "addons/ai/Scripts/Game/ERR/ERR_SettlementSafety.c": "e5c0ebc95521a9a33a3f7d9cca6c551dda862a08b7af20b017877aba9584795b", + "addons/ai/Scripts/Game/ERR/ERR_SupportScenario.c": "71757018ec9716c4dc24f62a292a214919d3fd5daed3c16e03e56abd208e9f03", + "addons/ai/addon.gproj": "5f559db8f526700db11e6ae763f5245f19b7006fc68c56e4c09fb6f940bdf2a1", + "addons/chat/Missions/ERR_Everon.conf": "76f3ac0d21b585654beac7ddd68e3c8cbdd66dbfe909b17b04838fa813a7c29b", + "addons/chat/Missions/ERR_Everon.conf.meta": "0a23c98bf83873536c65fa17d38dea33a1d7b9e4ab210f90633ff688abcc551f", + "addons/chat/Scripts/Game/ERR/ERR_AdminCommands.c": "7ea6d6b240524cf0193c86fcab861fbdef9adca780acff11ee73f9ed0e99ce7b", + "addons/chat/Scripts/Game/ERR/ERR_NativeMortarProbe.c": "ddb892141500c192c0787b011d57dd8c07dd8c9a3ca5fdc407f6c271897bde0a", + "addons/chat/Scripts/Game/ERR/ERR_NativeRadioProbe.c": "84524163c63402755b4f834f74dfe6d8e5c397dc26031f532593c6f79f5a93b1", + "addons/chat/Scripts/Game/ERR/ERR_NativeSmoke.c": "0ab2fed95dcaa0442cf7feb25743308060d58497e347f17dbd25c8e970a9f81f", + "addons/chat/Scripts/WorkbenchGame/ERR/ERR_ValidateWorldPlugin.c": "81c92d408ce88cc9f98d6053f1d0c863427693ba748f00df9f1bf8079015ef94", + "addons/chat/addon.gproj": "ea1587e0174cf795334d306c71d99b06797fc891427cd57b6cab6e21cf0e4e0e", + "addons/core/Configs/ERR/EveronSites.conf": "2edb2c6983eb627800b65d9e244b9b228e0b82282e089c7b12e5a8921a2ea7bf", + "addons/core/Configs/ERR/EveronSites.conf.meta": "d5fe68025ef4e7c1e16082cf5873b7c7172eacbfaef4ab29b7e0e3c98f8dca56", + "addons/core/Configs/ERR/GameOverScreens.conf": "45231061911a1462d45fb6db0fecc2b0793f17b5ae71017174954ff4fbd20236", + "addons/core/Configs/ERR/GameOverScreens.conf.meta": "eb654b745c0b97b41c991694569ef4877a3c2315e0826f9556337cd68690843e", + "addons/core/Configs/ERR/VanillaFactions.conf": "f8b8b9898a16b4a4a55ab3c12d2547bef2dc433732c7643df980cb3aca715212", + "addons/core/Configs/ERR/VanillaFactions.conf.meta": "ac77725c0c21974991ef47a466b88122e939de8b46fd23e68889e7674cbb2bfd", + "addons/core/Missions/ERR_Everon_Base.conf": "1e6a0e9a756d15495201f71121626890f01efe6b00154c561672d4ec157960bd", + "addons/core/Missions/ERR_Everon_Base.conf.meta": "9b16267c644d815bcf98a3a3aaff30b93d7224fb24d3a2bac66730a28011f317", + "addons/core/Prefabs/ERR/Extraction.et": "1aa286ef253c5410f09fa641e4be91a7be8ec834487a7fbb74cfb45cab60ee1e", + "addons/core/Prefabs/ERR/Extraction.et.meta": "c2a838633001e2e3a202d39cb33aa744ebcd996017ad032359069641b5d13853", + "addons/core/Prefabs/ERR/FieldCover.et": "20f8095e69dbfe3db74ff19078e528ea75405362b335e03560ccd61f8df2e7f3", + "addons/core/Prefabs/ERR/FieldCover.et.meta": "83461ffa76244e1d69f20b053a9741ccdf7d127009182bd540a7e5ba6150c3d9", + "addons/core/Prefabs/ERR/GameMode.et": "385c97a5b8067091d92aa60c2d4fcf02002cf606b95523866ead65c96b8c0029", + "addons/core/Prefabs/ERR/GameMode.et.meta": "106769cd34525c9d440057072836cb7401a6752148c40edd7fe61c03bd58328c", + "addons/core/Prefabs/ERR/ObjectiveDocument.et": "2e72270bf186654af12d2c3ff9bf940690b03fb17fca44f873c1fde5d11384c0", + "addons/core/Prefabs/ERR/ObjectiveDocument.et.meta": "eaba9903be147b98a1106e2273e2270773df73b9b22f2cd4e20136a8e281382e", + "addons/core/Prefabs/ERR/Patrol.et": "c5685a8bc311cc5563fb3334beec9408d3d7a1069152fddeeb7df4f1b7f9e6ce", + "addons/core/Prefabs/ERR/Patrol.et.meta": "7c5da568fa2fcf0709ee2959253cb068d7c7ed7c2467af3b247a7e70efd96b69", + "addons/core/Prefabs/ERR/Prison.et": "1503db1441d8cd7a4f0b45c27ba9623b9fa39f0f81016e180bd2aa1379e1f42a", + "addons/core/Prefabs/ERR/Prison.et.meta": "2e426ef3de68f4107907854b51e818bc11d84649a01c538e3f18dd9ebec766bb", + "addons/core/Prefabs/ERR/PrisonDoor.et": "fc66be9d36f1f01084de59f1b0a1e8817f9e46547ead33d4fafaac0107446c40", + "addons/core/Prefabs/ERR/PrisonDoor.et.meta": "b8f3db52bf186426026668fbb9d633c3cbd4d438ab301fba880398f6a0e781c2", + "addons/core/Prefabs/ERR/PrisonWall.et": "8009d19365ae72a4749d7ad4fa04662575b06c65c6bf06507d380d57258b5eed", + "addons/core/Prefabs/ERR/PrisonWall.et.meta": "0294bc5dbb56f90f8153d62459bb0a6ad91d76a479812bbec9c7db182fdb58d6", + "addons/core/Prefabs/ERR/Radio.et": "b4b5cfe125b39019855816c9a1c508ca4d65d435b5546fdaa6c1fa3c8c9b1165", + "addons/core/Prefabs/ERR/Radio.et.meta": "bc91137b68ba550217914fb8892bb44d7e1920e4a1086f3e506623832a44212f", + "addons/core/Prefabs/ERR/SpectatorCamera.et": "b5b87d5b7b707f3745741aebe7c923067c8a74f8fbb2a4711834bab03bb5a812", + "addons/core/Prefabs/ERR/SpectatorCamera.et.meta": "2a16558f93915e31908a674509e9c89976470f78a84a1174a64b94b68b8f77ad", + "addons/core/Prefabs/ERR/SupplyCache.et": "bccf7afbaae97cfcdd78dd6dbbf4be5b2c045d348f50fe4581962e556c0044d7", + "addons/core/Prefabs/ERR/SupplyCache.et.meta": "2f5de3a4aab1e9d0e35521f48dc57b95bd6e449c383dec4f1c258e10295904cb", + "addons/core/Prefabs/ERR/SupplySite.et": "dc5decce5cabf39b6116e8794ec3960cb1e35761854fdbe69740da118787ded4", + "addons/core/Prefabs/ERR/SupplySite.et.meta": "b41944b12eb3528ff7a3ac94258b18c66ef161aa6a38894aee300a1ac4798630", + "addons/core/Scripts/Game/ERR/ERR_Actions.c": "adf93245e6d78c59b9839599d157a0d2b2b93ea93b3d1ae52e2904dd6c288266", + "addons/core/Scripts/Game/ERR/ERR_Actors.c": "b3c5aabb05f7cf35167bc09b5db51a4ffd89a46658805d6eedbfb80eee30273d", + "addons/core/Scripts/Game/ERR/ERR_AdminService.c": "047c14ce60cc0b167e202438f8f2b1063590e69ef88ea55b54598aea5f99c505", + "addons/core/Scripts/Game/ERR/ERR_DiscoveryMap.c": "2f4ea342fea0530061456be9cdce002d5e7a282e4e27eb88f3860e79f93612bf", + "addons/core/Scripts/Game/ERR/ERR_DiscoveryService.c": "6b5679447fe4a6d7d54c0545881ab56284f871556b3159207d421247f419eada", + "addons/core/Scripts/Game/ERR/ERR_DocumentComponent.c": "17bb76b80ebd3357e46d553c44674f602c7bd6901c92aec53ac8214194aa4ff2", + "addons/core/Scripts/Game/ERR/ERR_EscapeGameOverScreenInfo.c": "b1e1afb7795cb77c0bad94c85abf705b26b9dc2a9400905d80eafd56bdd009d3", + "addons/core/Scripts/Game/ERR/ERR_ExtractionService.c": "91357099b4e0401196b67d48963be54be30e56bdba57cdac67dc20b8ebb883e9", + "addons/core/Scripts/Game/ERR/ERR_FactionCatalog.c": "a5a8c53acf21259e14f59cb919535910f30dabff5a9179c664bc6a7a4d744d6e", + "addons/core/Scripts/Game/ERR/ERR_GameMode.c": "d766d1639378070bea64eef38baa4667f8b9f5f1a2a7b170f0fc5e8fd557917d", + "addons/core/Scripts/Game/ERR/ERR_Location.c": "d2035f56ded35743312ec6ca91a67f8623a466c91255e1893c570edf0954ff24", + "addons/core/Scripts/Game/ERR/ERR_MissionRules.c": "f7abc38ad8fdc375ce7fa63a65f0bade027d22b37e09de5e3f94ba8c3c63cc41", + "addons/core/Scripts/Game/ERR/ERR_NativeBaseSmoke.c": "e1790bca83feb52dc1093eced0624fc5bf0b3050b831a0fb8b3731759e84710f", + "addons/core/Scripts/Game/ERR/ERR_NativeContractsProbe.c": "d1556df885171cf967e96eef5d8981a2e9ee4e3938b7d32fdd0426f647bbabc0", + "addons/core/Scripts/Game/ERR/ERR_NativeDefinitionProbe.c": "d05ef8368ef5afa68e29f45843cb1878b5a09be768f8abdff2f4115c23759b01", + "addons/core/Scripts/Game/ERR/ERR_NativeExtractionProbe.c": "4b09385f73206de004f4f3c38a6192fd658a0d2012482dc5a84dff1599ceb972", + "addons/core/Scripts/Game/ERR/ERR_NativeLifecycleProbe.c": "89620ec1cc94e260ef72460b32c3291ffcc84cfe51afa907954b10229a711b2b", + "addons/core/Scripts/Game/ERR/ERR_NativeObjectiveProbe.c": "a4d4fe506cd0150ac63511f143fb479c7a872f0c64462964d33dd79919d71e1b", + "addons/core/Scripts/Game/ERR/ERR_NativeRadioDefenceProbe.c": "cad54f0b43cefd72df74697dfc7e93725ff0acac6d311e963ce4f817428c272c", + "addons/core/Scripts/Game/ERR/ERR_NativeResultProbe.c": "b9a117eef2d5f65fbd792041a2b3e59e38e201bda8e0df8c503e1a1242cfc415", + "addons/core/Scripts/Game/ERR/ERR_NativeSiteSurvey.c": "ac0203753ade0cdff6d483132797a80e4520f14546c3f9dea288281cd4cd9c4f", + "addons/core/Scripts/Game/ERR/ERR_NativeStationTeardownDiagnostic.c": "c01cbdbfe25fd38916fa74f2c02333baaacd5228686fd6e40b33c27b3cea8ed8", + "addons/core/Scripts/Game/ERR/ERR_NativeTimeProbe.c": "c93d049785971e51246fcc07cf24804270a752a655505f2c38e48c80df5255ae", + "addons/core/Scripts/Game/ERR/ERR_NativeTransportProbe.c": "63ec0c5ce698114daa6314b2a6e3c3e98e76094117c477f9d0d072260686d193", + "addons/core/Scripts/Game/ERR/ERR_NativeTransportSurvey.c": "3e94493bf54d15be2bceb106ad18873e14e6755af09c05f07db7fb26fb7adff5", + "addons/core/Scripts/Game/ERR/ERR_ObjectiveDetails.c": "628ebd166dcb5544c2d18dce489619984887ee18296cf2446fc6d894f89dd5bf", + "addons/core/Scripts/Game/ERR/ERR_ObjectiveText.c": "bbb29949194637e6781316836c895e2c0fa7ccdb547d4d944a717da2ad73b0a2", + "addons/core/Scripts/Game/ERR/ERR_Objectives.c": "88d95a52fcba103483ea751571e1afeae0e6fc82115ed50d6fc195424726960f", + "addons/core/Scripts/Game/ERR/ERR_Observer.c": "b719e723369ab4f403950c85226e1336eb48e3c127e84530ac1c695eb86bd0f9", + "addons/core/Scripts/Game/ERR/ERR_PlayerAdminCommands.c": "a084d7dc097dfcde3d6cd9c2e326b9e2f8f2a519f77b30c4f56ab7a1429aa721", + "addons/core/Scripts/Game/ERR/ERR_PlayerEscapeResult.c": "3124ab4d2d6d471409a47aba0af528790734df53243c03fe0cdac3e407047c14", + "addons/core/Scripts/Game/ERR/ERR_PlayerGuide.c": "2c9c365b88651f8b12618443638bf52c04e497221592bd483c33447e30468f36", + "addons/core/Scripts/Game/ERR/ERR_PlayerRoster.c": "a737ba739b3f73a91cd05d808a1d45070e83b5152c003c3164e29842dda51995", + "addons/core/Scripts/Game/ERR/ERR_RadioDefenceService.c": "85eb9c1b65d5987799927b6d8786b7299fcff849bcb15b91f8a4d1aa95823fd1", + "addons/core/Scripts/Game/ERR/ERR_Resources.c": "8a5314944f75b23982c6b99697045e3c0538aa2137b2c947a5b2411e6076ac03", + "addons/core/Scripts/Game/ERR/ERR_ScenarioComponent.c": "abba03af68323d5715ba1e2497fc66f3c706e6a6a983c3a386228abdfddeec89", + "addons/core/Scripts/Game/ERR/ERR_Settings.c": "2aee784e44c732e09f59150896491ab325ef5e62aa6bad725be1fda955a3f614", + "addons/core/Scripts/Game/ERR/ERR_SiteDefinition.c": "75b5121ceab77f0956f0dc34bd077b11af5586350de52321800427f18cc94477", + "addons/core/Scripts/Game/ERR/ERR_SiteService.c": "7ba02712562b3c8cd8de9851b6f26fed85020faacceef0767408b300b935c110", + "addons/core/Scripts/Game/ERR/ERR_SpawnFinalization.c": "2e295b0f225208c5414728ba83333e5e0ab6eef3a708ce39eb1dfce5400c94c9", + "addons/core/Scripts/Game/ERR/ERR_SpawnLogic.c": "64c2cef62d8a435eea396f057255b269d457935bf5d261221700739bf37240b8", + "addons/core/Scripts/Game/ERR/ERR_SpawnPlacement.c": "284db0d4a5ecd38f9c658c91ce943f4c0c30dcf4d31bb3edeea92e4ab0b1436a", + "addons/core/Scripts/Game/ERR/ERR_Supplies.c": "752e8a56b0b8cde33cf532032cb0a203553017b686faac2e19bee06f7a9c0713", + "addons/core/Scripts/Game/ERR/ERR_TimeService.c": "d9f481b7da01e08d2c982a948c18ba6bde76889d7cc9d26d510708f4ba479453", + "addons/core/Scripts/WorkbenchGame/ERR/ERR_ValidateBaseWorldPlugin.c": "7f44aa64ea7b4f8b3640a37a4b781c43bf6adb80e4a3a702d9491131698056f6", + "addons/core/Worlds/ERR_Everon.ent": "22324bc7eb0d80dec8a1f3bd61a9df9201b72f749f4e751766b0c9d0b7d46b87", + "addons/core/Worlds/ERR_Everon.ent.meta": "19d1903ca72baa326b4724a6791d0da1104a1e53f3f31dc1ca41a856efd68e83", + "addons/core/Worlds/ERR_Everon_Layers/default.layer": "f1a058bd315c7d01d464715ac9f4e18ae3d2432551d094a9afbd4c9c5a2a9416", + "addons/core/addon.gproj": "231274e6b62302f32c65f9ff31de2ce8a9e51e1c8d12c87deeec82ae1f40de46", + "addons/intel/Scripts/Game/ERR/ERR_IntelService.c": "482839434b94e7f8c345d5fd96490aeebb765f3dd0c1bb25fceea2f435c0e722", + "addons/intel/addon.gproj": "d0ced242cefb220a5cccd6779d61fda9bc55581701b9f78bcf13c09d92ddbcbe", + "addons/map/Materials/ERRM_MapRenderTarget.emat": "9877c5b175c5f30dd80bea36c711b21ab38219aa7075adf9ae79932e1d4c76bc", + "addons/map/Materials/ERRM_MapRenderTarget.emat.meta": "5ee1a705f8011a44020ca2691f5ccc17d44bf596fef9a36e98d1f267eb58fab0", + "addons/map/Prefabs/Items/Equipment/ERRM_SharedFieldMap.et": "30dee8e9eab459ea32a7d835a9fb89d43df47708057cab829f067b25a24cd581", + "addons/map/Prefabs/Items/Equipment/ERRM_SharedFieldMap.et.meta": "59093e9072c50d99c86da7609c87541016da5bcf92b98d99db4c524e1c8e0e8d", + "addons/map/Scripts/Game/ERR/ERR_ScenarioMap.c": "75fa1d742129ef7f33c005cd48f56db7f49ee7bde3c5428532b0b501b032b0a3", + "addons/map/Scripts/Game/ERRMap/ERRM_SharedMapComponent.c": "fc1a0c7df4fc96da446d7542a45a10fbec1eda1e543ba2f0581cb772277a47c5", + "addons/map/UI/layouts/ERRMap/SharedMapRenderTarget.layout": "49a2da4181b94d42174f58c7f9b6bf2207116c99427d61ff1c212092ac7db4d2", + "addons/map/UI/layouts/ERRMap/SharedMapRenderTarget.layout.meta": "5c846445cc089e2e08899ba703059d4adb805ff30ab5a16409a3cd59718cbd54", + "addons/map/addon.gproj": "1b371e5e01ea9fa46e76570fecb8aaa3a9298e34cba7ccca8a6bdb5ca86eb46a" +} diff --git a/docs/evidence/native-2026-09-19-052811/launch-source.json b/docs/evidence/native-2026-09-19-052811/launch-source.json new file mode 100644 index 0000000..85e20c9 --- /dev/null +++ b/docs/evidence/native-2026-09-19-052811/launch-source.json @@ -0,0 +1,44 @@ +{ + "schema_version": 1, + "launch_id": "40cf420d-8546-4550-8984-4e7f27c78d23", + "captured_unix": 1789788490.3086236, + "source_root": "/home/jakub/devel/escapistsrereintroduced", + "command": [ + "gamescope", + "--backend", + "headless", + "-W", + "1280", + "-H", + "720", + "-w", + "1280", + "-h", + "720", + "-r", + "30", + "--", + "/home/jakub/.local/share/Steam/steamapps/common/Proton - Experimental/proton", + "run", + "/home/jakub/.local/share/Steam/steamapps/common/Arma Reforger Tools/Workbench/ArmaReforgerWorkbenchSteamDiag.exe", + "-gproj", + "Z:/home/jakub/devel/escapistsrereintroduced/addons/core/addon.gproj", + "-addonsDir", + "Z:/home/jakub/devel/escapistsrereintroduced/addons", + "-profile", + "Z:/tmp/erri-workbench-profile", + "-logconsole", + "-wbModule=WorldEditor", + "-load", + "Worlds/ERR_Everon.ent", + "-plugin=ERR_ValidateBaseWorldPlugin", + "-errPlay", + "1", + "-errBaseSmoke", + "1", + "-errSmokeOutcome", + "objective-ui", + "-noThrow" + ], + "manifest_sha256": "065012aaa330fa6b9fdb442c1304913e4df4263dcf5a1c8d2073da26ced335ae" +} diff --git a/docs/evidence/native-2026-09-19-052811/report.json b/docs/evidence/native-2026-09-19-052811/report.json new file mode 100644 index 0000000..488cacd --- /dev/null +++ b/docs/evidence/native-2026-09-19-052811/report.json @@ -0,0 +1,24 @@ +{ + "log": "docs/evidence/native-2026-09-19-052811/console.log.txt", + "smoke_completions": 1, + "assertions_passed": 30, + "script_or_runtime_failures": [ + "05:28:58.992 SCRIPT (E): Virtual Machine Exception", + "05:28:58.999 SCRIPT (E): Virtual Machine Exception", + "05:28:59.000 SCRIPT (E): Virtual Machine Exception" + ], + "engine_errors": [ + "05:28:52.710 WORLD (E): Unknown keyword/data 'SlidingTrackMaterial' at offset 19441(0x4bf1)", + "05:28:52.747 WORLD (E): Unknown keyword/data 'Parent' at offset 35955(0x8c73)", + "05:28:52.747 WORLD (E): Unknown keyword/data 'Parent' at offset 36915(0x9033)", + "05:28:52.748 WORLD (E): Unknown keyword/data 'Parent' at offset 42646(0xa696)", + "05:28:52.748 WORLD (E): Unknown keyword/data 'Parent' at offset 43645(0xaa7d)", + "05:28:52.748 WORLD (E): Unknown keyword/data 'Parent' at offset 44617(0xae49)", + "05:28:52.748 WORLD (E): Unknown keyword/data 'Parent' at offset 45590(0xb216)", + "05:28:58.992 SCRIPT (E): Virtual Machine Exception", + "05:28:58.999 SCRIPT (E): Virtual Machine Exception", + "05:28:59.000 SCRIPT (E): Virtual Machine Exception" + ], + "missing_end_screen": [], + "scope": "scripted local Workbench integration only; no multiplayer, piloting or FPS claim" +} diff --git a/docs/evidence/native-2026-09-19-052811/runner.json.txt b/docs/evidence/native-2026-09-19-052811/runner.json.txt new file mode 100644 index 0000000..ffcf958 --- /dev/null +++ b/docs/evidence/native-2026-09-19-052811/runner.json.txt @@ -0,0 +1,19 @@ +{ + "stopped_unix": 1789788540.4826167, + "console_sha256": "9b8dcec1904d783d235f1a562193a50c2068bdc7fcae4eb5d3e3ef56bfa2039d", + "end_source_sha256": "065012aaa330fa6b9fdb442c1304913e4df4263dcf5a1c8d2073da26ced335ae", + "source_unchanged_after_run": true, + "source_provenance": "launch_snapshot", + "launch_id": "40cf420d-8546-4550-8984-4e7f27c78d23", + "launch_source_manifest": "launch-source-sha256.json", + "launch_source_metadata": "launch-source.json", + "launch_source_sha256": "065012aaa330fa6b9fdb442c1304913e4df4263dcf5a1c8d2073da26ced335ae", + "started_unix": 1789788490.3086944, + "result": "test-failed", + "session": "/tmp/erri-workbench-profile/logs/logs_2026-09-19_05-28-11", + "rounds_required": 1, + "project": "core", + "display": "headless Gamescope 1280x720/30Hz", + "dedicated_server": false, + "audio": "silent sink and per-test-stream mute" +} diff --git a/docs/evidence/native-2026-09-19-052811/script.log.txt b/docs/evidence/native-2026-09-19-052811/script.log.txt new file mode 100644 index 0000000..d60ea02 --- /dev/null +++ b/docs/evidence/native-2026-09-19-052811/script.log.txt @@ -0,0 +1,146 @@ +--------------------------------------------- +Log Z:\tmp\erri-workbench-profile\logs\logs_2026-09-19_05-28-11\script.log started at 2026-09-19 05:28:14 (2026-09-19 03:28:14 UTC) + +05:28:14.842 SCRIPT : SCRIPT : Initializing scripts +05:28:14.842 SCRIPT : SCRIPT : ScriptProjectManager init +05:28:15.786 SCRIPT : SCRIPT : Compiling GameLib scripts +05:28:15.852 SCRIPT : Module: Workbench; loaded 18x files; 36x classes; used 125K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE"; CRC32: 90ce0460 +05:28:15.853 SCRIPT : Module: GameLib; loaded 465x files; 648x classes; used 828K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE"; CRC32: 4507af04 +05:28:15.853 SCRIPT : SCRIPT : Compiling Game scripts +05:28:16.948 SCRIPT : Compiling Game scripts +05:28:16.948 SCRIPT (W): @"Scripts/Game/Editor/Components/EditableEntity/SCR_EditableEntityComponent.c,785": 'GetPlayerPlatformKind' is obsolete +05:28:16.948 SCRIPT (W): @"Scripts/Game/Editor/Components/EditableEntity/SCR_EditableEntityComponent.c,786": 'GetPlayerPlatformId' is obsolete +05:28:17.202 SCRIPT (W): @"Scripts/Game/ERR/ERR_SiteService.c,140": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +05:28:17.211 SCRIPT (W): @"Scripts/Game/Workshop/SCR_AddonManager.c,876": 'GetRefCount' is obsolete: Will be removed +05:28:17.239 SCRIPT (W): @"Scripts/Game/Campaign/SCR_PlayerProfileManagerComponent.c,142": 'PlayerData' is obsolete +05:28:17.337 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,159": 'GetDSSession' is obsolete +05:28:17.337 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,162": 'RoomID' is obsolete +05:28:17.337 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,197": 'GetDSSession' is obsolete +05:28:17.337 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,201": 'RoomID' is obsolete +05:28:17.429 SCRIPT (W): @"Scripts/Game/DataCollection/SCR_DataCollectorComponent.c,481": 'GetStorage' is obsolete +05:28:17.429 SCRIPT (W): @"Scripts/Game/DataCollection/SCR_DataCollectorComponent.c,483": 'GetOnlineWritePrivilege' is obsolete +05:28:17.430 SCRIPT (W): @"Scripts/Game/Utilities/SCR_PlayerIdentityUtils.c,20": 'GetPlayerIdentityId' is obsolete +05:28:17.475 SCRIPT (W): @"Scripts/Game/ERR/ERR_ExtractionService.c,45": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +05:28:17.475 SCRIPT (W): @"Scripts/Game/ERR/ERR_ExtractionService.c,56": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +05:28:17.477 SCRIPT (W): @"Scripts/Game/UI/Menu/MainMenuUI.c,643": 'GetNotifyCount' is obsolete: Will be substitued by Notification Api. +05:28:17.477 SCRIPT (W): @"Scripts/Game/UI/Menu/MainMenuUI.c,645": 'GetNotifyItem' is obsolete: Will be substitued by Notification Api. +05:28:17.503 SCRIPT (W): @"Scripts/Game/ERR/ERR_NativeTransportProbe.c,82": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +05:28:17.536 SCRIPT (W): @"Scripts/Game/DataCollection/PlayerData/SCR_PlayerData.c,210": 'PlayerData' is obsolete +05:28:17.816 SCRIPT : Module: WorkbenchGame; loaded 171x files; 616x classes; used 2478K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE"; CRC32: db6febb9 +05:28:17.823 SCRIPT : Module: Game; loaded 5704x files; 11180x classes; used 32546K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE,ENABLE_BASE_DESTRUCTION,BUDGET_OPTIMIZATION_CHECKS,SHOW_DISCLAIMER,DEBUG,RESPAWN_TIMER_COMPONENT_DEBUG,GAME_MODE_DEBUG,DEBUG_CONFIGURABLE_DIALOGS,DISABLE_WEAPON_SWITCHING,SCRIPTED_AIM_MODIFIER_DEBUG"; CRC32: 6f7f8603 +05:28:18.840 SCRIPT : Unable to register a script command due keyword duplicity: ban +05:28:18.840 SCRIPT : Unable to register a script command due keyword duplicity: kick +05:28:38.721 SCRIPT : ERR SITE SURVEY: supply=6150/7050 elevationRange=0.625 min=202.875 max=203.5 +05:28:42.022 SCRIPT : Unable to register a script command due keyword duplicity: ban +05:28:42.022 SCRIPT : Unable to register a script command due keyword duplicity: kick +05:28:54.966 SCRIPT (W): SCR_PerceivedFactionManagerComponent trying to set fall back faction 'CIV' but this faction could not be found so it is null instead. +05:28:54.990 SCRIPT : ERR BASE SMOKE: core-only scripted escape; not manual or multiplayer acceptance +05:28:55.500 SCRIPT (W): Notification data in 'SCR_NotificationsLogDisplay' has duplicate notification info key: 'EDITOR_PERCEIVED_FACTION_PUNISHMENT_KILLING_SET'. There should only be one of each key! +05:28:55.500 SCRIPT (W): Notification data in 'SCR_NotificationsLogDisplay' has duplicate notification info key: 'EDITOR_PERCEIVED_FACTION_TYPE_DISABLED'. There should only be one of each key! +05:28:55.501 SCRIPT (W): Can't open config file "" +05:28:55.507 SCRIPT (W): Slot_WeaponInfo Has no Content! +05:28:55.507 SCRIPT (W): Slot_Chat Has no Content! +05:28:55.507 SCRIPT (W): Slot_VON Has no Content! +05:28:55.507 SCRIPT (W): Slot_AvailableActions Has no Content! +05:28:55.507 SCRIPT (W): Slot_Vehicle Has no Content! +05:28:55.508 SCRIPT (W): Slot_GameVersion Has no Content! +05:28:55.508 SCRIPT (W): Slot_Notifications Has no Content! +05:28:55.508 SCRIPT (W): Slot_Hints Has no Content! +05:28:55.521 SCRIPT (W): Ban Settings could not be loaded from BE Storage: Relying on default config +05:28:55.572 SCRIPT : ScenarioFramework: Available tasks are empty, no new tasks will be generated. +05:28:55.585 SCRIPT : SCR_BaseGameMode::OnGameStateChanged = GAME +05:28:55.759 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +05:28:57.305 SCRIPT : Rereintroduced [sites]: cache clearance position=<6086,211.538,7160> clear=1 +05:28:57.323 SCRIPT : Rereintroduced [sites]: authored everon-prison-1 at <6090,211.444,7160> +05:28:57.324 SCRIPT : Rereintroduced [sites]: cache clearance position=<6150,203.288,7050> clear=1 +05:28:57.350 SCRIPT : Rereintroduced [sites]: authored everon-supply-1 at <6150,203.288,7050> +05:28:57.351 SCRIPT : Rereintroduced [sites]: authored everon-radio-1 at <6500,159.756,7200> +05:28:57.398 SCRIPT : Rereintroduced [sites]: authored everon-extraction-1 at <7000,65.2562,7500> +05:28:57.398 SCRIPT : Rereintroduced [sites]: cache clearance position=<5960,220.256,7220> clear=1 +05:28:57.403 SCRIPT : Rereintroduced [sites]: transport parking=<5960,220.256,7212> radius=4 terrainRange=0.8125 obstructed=0 clear=1 +05:28:57.449 SCRIPT : Rereintroduced [sites]: authored everon-supply-2 at <5960,220.256,7220> +05:28:57.450 SCRIPT : Rereintroduced [sites]: cache clearance position=<6340,175.788,7400> clear=1 +05:28:57.452 SCRIPT : Rereintroduced [sites]: authored everon-medical-1 at <6340,175.788,7400> +05:28:57.452 SCRIPT : Rereintroduced [sites]: cache clearance position=<6740,140.6,7300> clear=1 +05:28:57.455 SCRIPT : Rereintroduced [sites]: cache clearance position=<6740,140.913,7296> clear=1 +05:28:57.456 SCRIPT : Rereintroduced [sites]: cache clearance position=<6736,140.975,7300> clear=1 +05:28:57.456 SCRIPT : Rereintroduced [sites]: cache clearance position=<6744,140.288,7300> clear=1 +05:28:57.458 SCRIPT : Rereintroduced [sites]: authored everon-outpost-1 at <6740,140.6,7300> +05:28:57.557 SCRIPT : Rereintroduced [sites]: 7 sites and 117 physical stock items ready +05:28:57.558 SCRIPT : Rereintroduced [time]: started at 14:00 with 1x progression +05:28:57.558 SCRIPT : Rereintroduced [mission]: phase 0 -> 1 +05:28:57.809 SCRIPT : INFO: Faction: player jakub (playerID = 1 | UUID = 00000000-0000-0000-0000-000000000000) has joined faction #AR-Faction_US (US) +05:28:57.888 SCRIPT : Rereintroduced [spawn]: player 1 at <6087,211.438,7157> +05:28:57.983 SCRIPT : ERR SMOKE PASS: objective UI current native task exists +05:28:57.985 SCRIPT : ERR SMOKE PASS: objective UI native list and detail layouts created +05:28:57.985 SCRIPT : ERR SMOKE PASS: objective UI native handlers attached +05:28:57.986 SCRIPT : ERR SMOKE PASS: objective UI open list and details contain current title and instructions +05:28:57.986 SCRIPT : ERR SMOKE PASS: objective UI list-only task cannot expose an undiscovered map position +05:28:57.986 SCRIPT : ERR SMOKE PASS: objective UI actual local player receives the active objective +05:28:57.986 SCRIPT : ERR SMOKE PASS: objective UI extraction instructions follow a nondefault boundary +05:28:57.986 SCRIPT : ERR SMOKE PASS: objective UI rebinding keeps one subscription to each native task event +05:28:57.987 SCRIPT : ERR SMOKE PASS: objective UI closing native widget uses production detach and releases its task +05:28:57.987 SCRIPT : ERR SMOKE PASS: objective UI closed native widget receives no task callbacks +05:28:58.984 SCRIPT : ERR SMOKE PASS: objective UI closed native widget has no delayed overflow callbacks +05:28:58.984 SCRIPT : ERR SMOKE PASS: objective UI current native task exists +05:28:58.986 SCRIPT : ERR SMOKE PASS: objective UI native list and detail layouts created +05:28:58.986 SCRIPT : ERR SMOKE PASS: objective UI native handlers attached +05:28:58.987 SCRIPT : ERR SMOKE PASS: objective UI open list and details contain current title and instructions +05:28:58.987 SCRIPT : ERR SMOKE PASS: objective UI list-only task cannot expose an undiscovered map position +05:28:58.987 SCRIPT : ERR SMOKE PASS: objective UI actual local player receives the active objective +05:28:58.987 SCRIPT : ERR SMOKE PASS: objective UI extraction instructions follow a nondefault boundary +05:28:58.987 SCRIPT : ERR SMOKE PASS: objective UI details reopen through native layout and current objective binding +05:28:58.987 SCRIPT : ERR SMOKE PASS: objective UI isolated deletion has a native task system, mission task and local executor +05:28:58.988 SCRIPT : ERR SMOKE PASS: objective UI deletion fixture owns a separate native task +05:28:58.989 SCRIPT : ERR SMOKE PASS: objective UI isolated task has an actual local assignee +05:28:58.991 SCRIPT : ERR SMOKE PASS: objective UI isolated native details layout created +05:28:58.991 SCRIPT : ERR SMOKE PASS: objective UI isolated native details handler attached +05:28:58.992 SCRIPT (E): Virtual Machine Exception + +Reason: ScriptCallback: method 'CheckOverflow' is private/protected + +Class: 'SCR_TaskListEntryDescriptionUIComponent' +Function: 'GetRemainingTimeByName' +Stack trace: +Scripts/Game/ERR/ERR_NativeObjectiveProbe.c:198 Function ERR_ProbeTrace +Scripts/Game/ERR/ERR_NativeObjectiveProbe.c:116 Function BeginDeletedTaskClose +Scripts/Game/ERR/ERR_NativeBaseSmoke.c:214 Function ERR_BaseTick +Scripts/Game/game.c:885 Function OnUpdate +05:28:58.998 SCRIPT : ERR OBJECTIVE TRACE: stage=before isolated task deletion task=1 detached=0 closed=0 overflowRemainingMs=100 byNameMs=-1 +05:28:58.999 SCRIPT (E): Virtual Machine Exception + +Reason: ScriptCallback: method 'CheckOverflow' is private/protected + +Class: 'SCR_TaskListEntryDescriptionUIComponent' +Function: 'GetRemainingTimeByName' +Stack trace: +Scripts/Game/ERR/ERR_NativeObjectiveProbe.c:198 Function ERR_ProbeTrace +Scripts/Game/ERR/ERR_NativeObjectiveProbe.c:119 Function BeginDeletedTaskClose +Scripts/Game/ERR/ERR_NativeBaseSmoke.c:214 Function ERR_BaseTick +Scripts/Game/game.c:885 Function OnUpdate +05:28:58.999 SCRIPT : ERR OBJECTIVE TRACE: stage=after isolated task deletion before detach task=0 detached=0 closed=0 overflowRemainingMs=100 byNameMs=-1 +05:28:58.999 SCRIPT : ERR SMOKE PASS: objective UI native task deletion clears both task and bound-widget weak references +05:28:59.000 SCRIPT (E): Virtual Machine Exception + +Reason: ScriptCallback: method 'CheckOverflow' is private/protected + +Class: 'SCR_TaskListEntryDescriptionUIComponent' +Function: 'GetRemainingTimeByName' +Stack trace: +Scripts/Game/ERR/ERR_NativeObjectiveProbe.c:198 Function ERR_ProbeTrace +Scripts/Game/ERR/ERR_NativeObjectiveProbe.c:127 Function BeginDeletedTaskClose +Scripts/Game/ERR/ERR_NativeBaseSmoke.c:214 Function ERR_BaseTick +Scripts/Game/game.c:885 Function OnUpdate +05:28:59.000 SCRIPT : ERR OBJECTIVE TRACE: stage=after deleted-task panel detach task=0 detached=1 closed=1 overflowRemainingMs=100 byNameMs=-1 +05:28:59.001 SCRIPT : ERR SMOKE PASS: objective UI deleted-task panel closes through production detach +05:28:59.001 SCRIPT : ERR SMOKE PASS: objective UI real mission objective survives isolated deletion and assignment is restored +05:28:59.485 SCRIPT : ERR SMOKE PASS: objective UI deleted-task panel has no delayed callbacks after weak references clear +05:28:59.485 SCRIPT : ERR SMOKE PASS: objective UI real mission objective remains intact after delayed teardown check +05:28:59.485 SCRIPT : Rereintroduced [mission]: phase 1 -> 6 +05:28:59.486 SCRIPT : ERR SMOKE PASS: base objective UI fixture finished before explicit test reset +05:28:59.486 SCRIPT : ERR SMOKE COMPLETE: native objective UI close, reopen and deleted-task cleanup; reset requested by fixture +05:28:59.517 SCRIPT : SCR_BaseGameMode::OnGameStateChanged = POSTGAME +05:28:59.521 SCRIPT (W): Slot_Chat Has no Content! +05:28:59.521 SCRIPT (W): Slot_VON Has no Content! +05:28:59.521 SCRIPT (W): Slot_GameVersion Has no Content! +05:28:59.521 SCRIPT (W): Slot_Notifications Has no Content! diff --git a/docs/evidence/native-2026-09-19-052811/source-provenance.json b/docs/evidence/native-2026-09-19-052811/source-provenance.json new file mode 100644 index 0000000..5fa4cc7 --- /dev/null +++ b/docs/evidence/native-2026-09-19-052811/source-provenance.json @@ -0,0 +1,4 @@ +{ + "schema_version": 1, + "kind": "launch_snapshot" +} diff --git a/docs/evidence/native-2026-09-19-052811/source-sha256.json b/docs/evidence/native-2026-09-19-052811/source-sha256.json new file mode 100644 index 0000000..7ae978c --- /dev/null +++ b/docs/evidence/native-2026-09-19-052811/source-sha256.json @@ -0,0 +1,118 @@ +{ + "addons/ai/Prefabs/ERR/MortarCrew.et": "05d3e7353ff9fe5523218a1487b31b7b742b0be8adbcb060c7099978cf008bce", + "addons/ai/Prefabs/ERR/MortarCrew.et.meta": "fdfd4fcd21a67c3d698fa4aadc4e5c76e665cebf4be86013bc389e493fab63cc", + "addons/ai/Scripts/Game/ERR/ERR_HQ.c": "ceafd6740ed277748744ce56ac0f0bb3a8521fcc060dafb2cdb99896aedf405a", + "addons/ai/Scripts/Game/ERR/ERR_HQJournal.c": "b3e402cfe92d415f37f666045afb062e6e11670ba03a0ca6f2d9fd4fc3520ac1", + "addons/ai/Scripts/Game/ERR/ERR_HQNetwork.c": "92ff2caca52e94c2cc9642dfc8509ce6e9349b257012bade8650bace9231128c", + "addons/ai/Scripts/Game/ERR/ERR_HQObservation.c": "36c978ec5f052213ac1236e1398d85063efbfd7ef60fe04f1fc11447fefe1d68", + "addons/ai/Scripts/Game/ERR/ERR_HQReport.c": "c4d16ccb571db4d9444c0a8d2be7318845d25ff90238b6d304e96a9ea19f1a08", + "addons/ai/Scripts/Game/ERR/ERR_HelicopterAvailability.c": "60eaef2f6d4b2fd44861c5a4434ef97e732e40a5ff7401e2da451ed2dd9c2762", + "addons/ai/Scripts/Game/ERR/ERR_MortarBattery.c": "66b8f16b692a0f75fc9d920f5224d9292a0f1dc7dd8b2dde912e676fa80ddc9c", + "addons/ai/Scripts/Game/ERR/ERR_MortarFiring.c": "657e96d1112b68c8ced37793e99f88e6078b38a579190e63d00b1f9a9a032e26", + "addons/ai/Scripts/Game/ERR/ERR_MortarPrediction.c": "470dd196ed64800c697d24c09d1344bacd2502587fac76af4ee0edae2563092d", + "addons/ai/Scripts/Game/ERR/ERR_MortarSalvo.c": "697c01f479df6c505a41d984a29c02002e3052114dafa2ec6252ae55e2979a2b", + "addons/ai/Scripts/Game/ERR/ERR_MortarSystem.c": "12d8fc39d47e03c3838e0642aa9e4a80baf60f250357493bff812d5c75812c86", + "addons/ai/Scripts/Game/ERR/ERR_SettlementSafety.c": "e5c0ebc95521a9a33a3f7d9cca6c551dda862a08b7af20b017877aba9584795b", + "addons/ai/Scripts/Game/ERR/ERR_SupportScenario.c": "71757018ec9716c4dc24f62a292a214919d3fd5daed3c16e03e56abd208e9f03", + "addons/ai/addon.gproj": "5f559db8f526700db11e6ae763f5245f19b7006fc68c56e4c09fb6f940bdf2a1", + "addons/chat/Missions/ERR_Everon.conf": "76f3ac0d21b585654beac7ddd68e3c8cbdd66dbfe909b17b04838fa813a7c29b", + "addons/chat/Missions/ERR_Everon.conf.meta": "0a23c98bf83873536c65fa17d38dea33a1d7b9e4ab210f90633ff688abcc551f", + "addons/chat/Scripts/Game/ERR/ERR_AdminCommands.c": "7ea6d6b240524cf0193c86fcab861fbdef9adca780acff11ee73f9ed0e99ce7b", + "addons/chat/Scripts/Game/ERR/ERR_NativeMortarProbe.c": "ddb892141500c192c0787b011d57dd8c07dd8c9a3ca5fdc407f6c271897bde0a", + "addons/chat/Scripts/Game/ERR/ERR_NativeRadioProbe.c": "84524163c63402755b4f834f74dfe6d8e5c397dc26031f532593c6f79f5a93b1", + "addons/chat/Scripts/Game/ERR/ERR_NativeSmoke.c": "0ab2fed95dcaa0442cf7feb25743308060d58497e347f17dbd25c8e970a9f81f", + "addons/chat/Scripts/WorkbenchGame/ERR/ERR_ValidateWorldPlugin.c": "81c92d408ce88cc9f98d6053f1d0c863427693ba748f00df9f1bf8079015ef94", + "addons/chat/addon.gproj": "ea1587e0174cf795334d306c71d99b06797fc891427cd57b6cab6e21cf0e4e0e", + "addons/core/Configs/ERR/EveronSites.conf": "2edb2c6983eb627800b65d9e244b9b228e0b82282e089c7b12e5a8921a2ea7bf", + "addons/core/Configs/ERR/EveronSites.conf.meta": "d5fe68025ef4e7c1e16082cf5873b7c7172eacbfaef4ab29b7e0e3c98f8dca56", + "addons/core/Configs/ERR/GameOverScreens.conf": "45231061911a1462d45fb6db0fecc2b0793f17b5ae71017174954ff4fbd20236", + "addons/core/Configs/ERR/GameOverScreens.conf.meta": "eb654b745c0b97b41c991694569ef4877a3c2315e0826f9556337cd68690843e", + "addons/core/Configs/ERR/VanillaFactions.conf": "f8b8b9898a16b4a4a55ab3c12d2547bef2dc433732c7643df980cb3aca715212", + "addons/core/Configs/ERR/VanillaFactions.conf.meta": "ac77725c0c21974991ef47a466b88122e939de8b46fd23e68889e7674cbb2bfd", + "addons/core/Missions/ERR_Everon_Base.conf": "1e6a0e9a756d15495201f71121626890f01efe6b00154c561672d4ec157960bd", + "addons/core/Missions/ERR_Everon_Base.conf.meta": "9b16267c644d815bcf98a3a3aaff30b93d7224fb24d3a2bac66730a28011f317", + "addons/core/Prefabs/ERR/Extraction.et": "1aa286ef253c5410f09fa641e4be91a7be8ec834487a7fbb74cfb45cab60ee1e", + "addons/core/Prefabs/ERR/Extraction.et.meta": "c2a838633001e2e3a202d39cb33aa744ebcd996017ad032359069641b5d13853", + "addons/core/Prefabs/ERR/FieldCover.et": "20f8095e69dbfe3db74ff19078e528ea75405362b335e03560ccd61f8df2e7f3", + "addons/core/Prefabs/ERR/FieldCover.et.meta": "83461ffa76244e1d69f20b053a9741ccdf7d127009182bd540a7e5ba6150c3d9", + "addons/core/Prefabs/ERR/GameMode.et": "385c97a5b8067091d92aa60c2d4fcf02002cf606b95523866ead65c96b8c0029", + "addons/core/Prefabs/ERR/GameMode.et.meta": "106769cd34525c9d440057072836cb7401a6752148c40edd7fe61c03bd58328c", + "addons/core/Prefabs/ERR/ObjectiveDocument.et": "2e72270bf186654af12d2c3ff9bf940690b03fb17fca44f873c1fde5d11384c0", + "addons/core/Prefabs/ERR/ObjectiveDocument.et.meta": "eaba9903be147b98a1106e2273e2270773df73b9b22f2cd4e20136a8e281382e", + "addons/core/Prefabs/ERR/Patrol.et": "c5685a8bc311cc5563fb3334beec9408d3d7a1069152fddeeb7df4f1b7f9e6ce", + "addons/core/Prefabs/ERR/Patrol.et.meta": "7c5da568fa2fcf0709ee2959253cb068d7c7ed7c2467af3b247a7e70efd96b69", + "addons/core/Prefabs/ERR/Prison.et": "1503db1441d8cd7a4f0b45c27ba9623b9fa39f0f81016e180bd2aa1379e1f42a", + "addons/core/Prefabs/ERR/Prison.et.meta": "2e426ef3de68f4107907854b51e818bc11d84649a01c538e3f18dd9ebec766bb", + "addons/core/Prefabs/ERR/PrisonDoor.et": "fc66be9d36f1f01084de59f1b0a1e8817f9e46547ead33d4fafaac0107446c40", + "addons/core/Prefabs/ERR/PrisonDoor.et.meta": "b8f3db52bf186426026668fbb9d633c3cbd4d438ab301fba880398f6a0e781c2", + "addons/core/Prefabs/ERR/PrisonWall.et": "8009d19365ae72a4749d7ad4fa04662575b06c65c6bf06507d380d57258b5eed", + "addons/core/Prefabs/ERR/PrisonWall.et.meta": "0294bc5dbb56f90f8153d62459bb0a6ad91d76a479812bbec9c7db182fdb58d6", + "addons/core/Prefabs/ERR/Radio.et": "b4b5cfe125b39019855816c9a1c508ca4d65d435b5546fdaa6c1fa3c8c9b1165", + "addons/core/Prefabs/ERR/Radio.et.meta": "bc91137b68ba550217914fb8892bb44d7e1920e4a1086f3e506623832a44212f", + "addons/core/Prefabs/ERR/SpectatorCamera.et": "b5b87d5b7b707f3745741aebe7c923067c8a74f8fbb2a4711834bab03bb5a812", + "addons/core/Prefabs/ERR/SpectatorCamera.et.meta": "2a16558f93915e31908a674509e9c89976470f78a84a1174a64b94b68b8f77ad", + "addons/core/Prefabs/ERR/SupplyCache.et": "bccf7afbaae97cfcdd78dd6dbbf4be5b2c045d348f50fe4581962e556c0044d7", + "addons/core/Prefabs/ERR/SupplyCache.et.meta": "2f5de3a4aab1e9d0e35521f48dc57b95bd6e449c383dec4f1c258e10295904cb", + "addons/core/Prefabs/ERR/SupplySite.et": "dc5decce5cabf39b6116e8794ec3960cb1e35761854fdbe69740da118787ded4", + "addons/core/Prefabs/ERR/SupplySite.et.meta": "b41944b12eb3528ff7a3ac94258b18c66ef161aa6a38894aee300a1ac4798630", + "addons/core/Scripts/Game/ERR/ERR_Actions.c": "adf93245e6d78c59b9839599d157a0d2b2b93ea93b3d1ae52e2904dd6c288266", + "addons/core/Scripts/Game/ERR/ERR_Actors.c": "b3c5aabb05f7cf35167bc09b5db51a4ffd89a46658805d6eedbfb80eee30273d", + "addons/core/Scripts/Game/ERR/ERR_AdminService.c": "047c14ce60cc0b167e202438f8f2b1063590e69ef88ea55b54598aea5f99c505", + "addons/core/Scripts/Game/ERR/ERR_DiscoveryMap.c": "2f4ea342fea0530061456be9cdce002d5e7a282e4e27eb88f3860e79f93612bf", + "addons/core/Scripts/Game/ERR/ERR_DiscoveryService.c": "6b5679447fe4a6d7d54c0545881ab56284f871556b3159207d421247f419eada", + "addons/core/Scripts/Game/ERR/ERR_DocumentComponent.c": "17bb76b80ebd3357e46d553c44674f602c7bd6901c92aec53ac8214194aa4ff2", + "addons/core/Scripts/Game/ERR/ERR_EscapeGameOverScreenInfo.c": "b1e1afb7795cb77c0bad94c85abf705b26b9dc2a9400905d80eafd56bdd009d3", + "addons/core/Scripts/Game/ERR/ERR_ExtractionService.c": "91357099b4e0401196b67d48963be54be30e56bdba57cdac67dc20b8ebb883e9", + "addons/core/Scripts/Game/ERR/ERR_FactionCatalog.c": "a5a8c53acf21259e14f59cb919535910f30dabff5a9179c664bc6a7a4d744d6e", + "addons/core/Scripts/Game/ERR/ERR_GameMode.c": "d766d1639378070bea64eef38baa4667f8b9f5f1a2a7b170f0fc5e8fd557917d", + "addons/core/Scripts/Game/ERR/ERR_Location.c": "d2035f56ded35743312ec6ca91a67f8623a466c91255e1893c570edf0954ff24", + "addons/core/Scripts/Game/ERR/ERR_MissionRules.c": "f7abc38ad8fdc375ce7fa63a65f0bade027d22b37e09de5e3f94ba8c3c63cc41", + "addons/core/Scripts/Game/ERR/ERR_NativeBaseSmoke.c": "e1790bca83feb52dc1093eced0624fc5bf0b3050b831a0fb8b3731759e84710f", + "addons/core/Scripts/Game/ERR/ERR_NativeContractsProbe.c": "d1556df885171cf967e96eef5d8981a2e9ee4e3938b7d32fdd0426f647bbabc0", + "addons/core/Scripts/Game/ERR/ERR_NativeDefinitionProbe.c": "d05ef8368ef5afa68e29f45843cb1878b5a09be768f8abdff2f4115c23759b01", + "addons/core/Scripts/Game/ERR/ERR_NativeExtractionProbe.c": "4b09385f73206de004f4f3c38a6192fd658a0d2012482dc5a84dff1599ceb972", + "addons/core/Scripts/Game/ERR/ERR_NativeLifecycleProbe.c": "89620ec1cc94e260ef72460b32c3291ffcc84cfe51afa907954b10229a711b2b", + "addons/core/Scripts/Game/ERR/ERR_NativeObjectiveProbe.c": "a4d4fe506cd0150ac63511f143fb479c7a872f0c64462964d33dd79919d71e1b", + "addons/core/Scripts/Game/ERR/ERR_NativeRadioDefenceProbe.c": "cad54f0b43cefd72df74697dfc7e93725ff0acac6d311e963ce4f817428c272c", + "addons/core/Scripts/Game/ERR/ERR_NativeResultProbe.c": "b9a117eef2d5f65fbd792041a2b3e59e38e201bda8e0df8c503e1a1242cfc415", + "addons/core/Scripts/Game/ERR/ERR_NativeSiteSurvey.c": "ac0203753ade0cdff6d483132797a80e4520f14546c3f9dea288281cd4cd9c4f", + "addons/core/Scripts/Game/ERR/ERR_NativeStationTeardownDiagnostic.c": "c01cbdbfe25fd38916fa74f2c02333baaacd5228686fd6e40b33c27b3cea8ed8", + "addons/core/Scripts/Game/ERR/ERR_NativeTimeProbe.c": "c93d049785971e51246fcc07cf24804270a752a655505f2c38e48c80df5255ae", + "addons/core/Scripts/Game/ERR/ERR_NativeTransportProbe.c": "63ec0c5ce698114daa6314b2a6e3c3e98e76094117c477f9d0d072260686d193", + "addons/core/Scripts/Game/ERR/ERR_NativeTransportSurvey.c": "3e94493bf54d15be2bceb106ad18873e14e6755af09c05f07db7fb26fb7adff5", + "addons/core/Scripts/Game/ERR/ERR_ObjectiveDetails.c": "628ebd166dcb5544c2d18dce489619984887ee18296cf2446fc6d894f89dd5bf", + "addons/core/Scripts/Game/ERR/ERR_ObjectiveText.c": "bbb29949194637e6781316836c895e2c0fa7ccdb547d4d944a717da2ad73b0a2", + "addons/core/Scripts/Game/ERR/ERR_Objectives.c": "88d95a52fcba103483ea751571e1afeae0e6fc82115ed50d6fc195424726960f", + "addons/core/Scripts/Game/ERR/ERR_Observer.c": "b719e723369ab4f403950c85226e1336eb48e3c127e84530ac1c695eb86bd0f9", + "addons/core/Scripts/Game/ERR/ERR_PlayerAdminCommands.c": "a084d7dc097dfcde3d6cd9c2e326b9e2f8f2a519f77b30c4f56ab7a1429aa721", + "addons/core/Scripts/Game/ERR/ERR_PlayerEscapeResult.c": "3124ab4d2d6d471409a47aba0af528790734df53243c03fe0cdac3e407047c14", + "addons/core/Scripts/Game/ERR/ERR_PlayerGuide.c": "2c9c365b88651f8b12618443638bf52c04e497221592bd483c33447e30468f36", + "addons/core/Scripts/Game/ERR/ERR_PlayerRoster.c": "a737ba739b3f73a91cd05d808a1d45070e83b5152c003c3164e29842dda51995", + "addons/core/Scripts/Game/ERR/ERR_RadioDefenceService.c": "85eb9c1b65d5987799927b6d8786b7299fcff849bcb15b91f8a4d1aa95823fd1", + "addons/core/Scripts/Game/ERR/ERR_Resources.c": "8a5314944f75b23982c6b99697045e3c0538aa2137b2c947a5b2411e6076ac03", + "addons/core/Scripts/Game/ERR/ERR_ScenarioComponent.c": "abba03af68323d5715ba1e2497fc66f3c706e6a6a983c3a386228abdfddeec89", + "addons/core/Scripts/Game/ERR/ERR_Settings.c": "2aee784e44c732e09f59150896491ab325ef5e62aa6bad725be1fda955a3f614", + "addons/core/Scripts/Game/ERR/ERR_SiteDefinition.c": "75b5121ceab77f0956f0dc34bd077b11af5586350de52321800427f18cc94477", + "addons/core/Scripts/Game/ERR/ERR_SiteService.c": "7ba02712562b3c8cd8de9851b6f26fed85020faacceef0767408b300b935c110", + "addons/core/Scripts/Game/ERR/ERR_SpawnFinalization.c": "2e295b0f225208c5414728ba83333e5e0ab6eef3a708ce39eb1dfce5400c94c9", + "addons/core/Scripts/Game/ERR/ERR_SpawnLogic.c": "64c2cef62d8a435eea396f057255b269d457935bf5d261221700739bf37240b8", + "addons/core/Scripts/Game/ERR/ERR_SpawnPlacement.c": "284db0d4a5ecd38f9c658c91ce943f4c0c30dcf4d31bb3edeea92e4ab0b1436a", + "addons/core/Scripts/Game/ERR/ERR_Supplies.c": "752e8a56b0b8cde33cf532032cb0a203553017b686faac2e19bee06f7a9c0713", + "addons/core/Scripts/Game/ERR/ERR_TimeService.c": "d9f481b7da01e08d2c982a948c18ba6bde76889d7cc9d26d510708f4ba479453", + "addons/core/Scripts/WorkbenchGame/ERR/ERR_ValidateBaseWorldPlugin.c": "7f44aa64ea7b4f8b3640a37a4b781c43bf6adb80e4a3a702d9491131698056f6", + "addons/core/Worlds/ERR_Everon.ent": "22324bc7eb0d80dec8a1f3bd61a9df9201b72f749f4e751766b0c9d0b7d46b87", + "addons/core/Worlds/ERR_Everon.ent.meta": "19d1903ca72baa326b4724a6791d0da1104a1e53f3f31dc1ca41a856efd68e83", + "addons/core/Worlds/ERR_Everon_Layers/default.layer": "f1a058bd315c7d01d464715ac9f4e18ae3d2432551d094a9afbd4c9c5a2a9416", + "addons/core/addon.gproj": "231274e6b62302f32c65f9ff31de2ce8a9e51e1c8d12c87deeec82ae1f40de46", + "addons/intel/Scripts/Game/ERR/ERR_IntelService.c": "482839434b94e7f8c345d5fd96490aeebb765f3dd0c1bb25fceea2f435c0e722", + "addons/intel/addon.gproj": "d0ced242cefb220a5cccd6779d61fda9bc55581701b9f78bcf13c09d92ddbcbe", + "addons/map/Materials/ERRM_MapRenderTarget.emat": "9877c5b175c5f30dd80bea36c711b21ab38219aa7075adf9ae79932e1d4c76bc", + "addons/map/Materials/ERRM_MapRenderTarget.emat.meta": "5ee1a705f8011a44020ca2691f5ccc17d44bf596fef9a36e98d1f267eb58fab0", + "addons/map/Prefabs/Items/Equipment/ERRM_SharedFieldMap.et": "30dee8e9eab459ea32a7d835a9fb89d43df47708057cab829f067b25a24cd581", + "addons/map/Prefabs/Items/Equipment/ERRM_SharedFieldMap.et.meta": "59093e9072c50d99c86da7609c87541016da5bcf92b98d99db4c524e1c8e0e8d", + "addons/map/Scripts/Game/ERR/ERR_ScenarioMap.c": "75fa1d742129ef7f33c005cd48f56db7f49ee7bde3c5428532b0b501b032b0a3", + "addons/map/Scripts/Game/ERRMap/ERRM_SharedMapComponent.c": "fc1a0c7df4fc96da446d7542a45a10fbec1eda1e543ba2f0581cb772277a47c5", + "addons/map/UI/layouts/ERRMap/SharedMapRenderTarget.layout": "49a2da4181b94d42174f58c7f9b6bf2207116c99427d61ff1c212092ac7db4d2", + "addons/map/UI/layouts/ERRMap/SharedMapRenderTarget.layout.meta": "5c846445cc089e2e08899ba703059d4adb805ff30ab5a16409a3cd59718cbd54", + "addons/map/addon.gproj": "1b371e5e01ea9fa46e76570fecb8aaa3a9298e34cba7ccca8a6bdb5ca86eb46a" +} diff --git a/docs/evidence/native-2026-09-19-052932/console.log.txt b/docs/evidence/native-2026-09-19-052932/console.log.txt new file mode 100644 index 0000000..ae53a5c --- /dev/null +++ b/docs/evidence/native-2026-09-19-052932/console.log.txt @@ -0,0 +1,501 @@ +--------------------------------------------- +Log Z:\tmp\erri-workbench-profile\logs\logs_2026-09-19_05-29-32\console.log started at 2026-09-19 05:29:32 (2026-09-19 03:29:32 UTC) + +05:29:32.574 ENGINE : FileSystem: Adding relative directory 'Z:\tmp\erri-workbench-profile\logs\logs_2026-09-19_05-29-32' to filesystem under name logs +05:29:32.574 ENGINE : FileSystem: Adding relative directory 'Z:\tmp\erri-workbench-profile\profile' to filesystem under name profile +05:29:32.574 ENGINE : FileSystem: Current working directory: 'Z:\home\jakub\.local\share\Steam\steamapps\common\Arma Reforger Tools\Workbench\' +05:29:32.576 PROFILING : Workbench Create Engine took: 10.902500 ms +05:29:33.611 INIT : INIT : Workbench Init Engine +05:29:33.611 ENGINE : Initializing engine, version 192142 +05:29:33.611 ENGINE : CLI Params: -gproj Z:/home/jakub/devel/escapistsrereintroduced/addons/chat/addon.gproj -addonsDir Z:/home/jakub/devel/escapistsrereintroduced/addons -profile Z:/tmp/erri-workbench-profile -logconsole -wbModule WorldEditor -load Worlds/ERR_Everon.ent -plugin ERR_ValidateWorldPlugin -errPlay 1 -errSmoke 1 -errSmokeOutcome player-death -noThrow +05:29:33.619 ENGINE : Addon dirs: +05:29:33.619 ENGINE : dir: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/chat/' +05:29:33.619 ENGINE : dir: 'Z:/home/jakub/devel/escapistsrereintroduced/addons' +05:29:33.619 ENGINE : dir: './addons' +05:29:33.620 ENGINE : dir: 'Z:/tmp/erri-workbench-profile/addons' +05:29:33.620 ENGINE : Available addons: +05:29:33.620 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/chat/addon.gproj' guid: 'FA804F411BDDF2C6' +05:29:33.620 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/ai/addon.gproj' guid: '5192138CB9D5B911' +05:29:33.620 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/core/addon.gproj' guid: '2528466DE220D91C' +05:29:33.620 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/intel/addon.gproj' guid: 'D31039C7C53E348A' +05:29:33.620 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/map/addon.gproj' guid: '9AAEE9041D79809E' +05:29:33.620 ENGINE : gproj: './addons/core/core.gproj' guid: '5614BBCCBB55ED1C' (packed) +05:29:33.620 ENGINE : gproj: 'Z:/tmp/erri-workbench-profile/addons/ArmaReforger/ArmaReforger.gproj' guid: '58D0FB3206B6F859' (packed) +05:29:33.620 ENGINE : FileSystem: Adding relative directory 'Z:\home\jakub\devel\escapistsrereintroduced\addons\chat' to filesystem under name ERR_Chat +05:29:33.620 ENGINE : FileSystem: Adding relative directory 'Z:\home\jakub\devel\escapistsrereintroduced\addons\map' to filesystem under name ERR_Map +05:29:33.620 ENGINE : FileSystem: Adding relative directory 'Z:\home\jakub\devel\escapistsrereintroduced\addons\intel' to filesystem under name ERR_Intel +05:29:33.620 ENGINE : FileSystem: Adding relative directory 'Z:\home\jakub\devel\escapistsrereintroduced\addons\ai' to filesystem under name ERR_Ai +05:29:33.621 ENGINE : FileSystem: Adding relative directory 'Z:\home\jakub\devel\escapistsrereintroduced\addons\core' to filesystem under name ERR_Core +05:29:33.739 ENGINE : FileSystem: Adding package 'Z:/tmp/erri-workbench-profile/addons/ArmaReforger/' (pak count: 14) to filesystem under name ArmaReforger +05:29:33.742 ENGINE : FileSystem: Adding package './addons/core/' (pak count: 2) to filesystem under name core +05:29:33.742 ENGINE : CPU vendor : AuthenticAMD +05:29:33.742 ENGINE : CPU type : 2 +05:29:33.742 ENGINE : CPU name : AMD Ryzen 7 3800XT 8-Core Processor +05:29:33.742 ENGINE : CPU cache info : L1 [Inst 32KB, Data 32KB], L2 [Unif 512KB], L3 [Unif 16384KB] +05:29:33.742 ENGINE : CPU count logical : 16 +05:29:33.742 ENGINE : CPU count physical : 8 +05:29:33.742 ENGINE : CPU features : mmx sse sse2 sse3 ssse3 sse4_1 sse4_2 popcnt aesni pclmulqdq osxsave avx sha avx2 +05:29:33.742 RESOURCES : ResourceDB: loading cache (id=0 name=ERR_Chat path=Z:\home\jakub\devel\escapistsrereintroduced\addons\chat/resourceDatabase.rdb) +05:29:33.742 RESOURCES : ResourceDB: loading cache (id=1 name=ERR_Map path=Z:\home\jakub\devel\escapistsrereintroduced\addons\map/resourceDatabase.rdb) +05:29:33.742 RESOURCES : ResourceDB: loading cache (id=2 name=ERR_Intel path=Z:\home\jakub\devel\escapistsrereintroduced\addons\intel/resourceDatabase.rdb) +05:29:33.743 RESOURCES : ResourceDB: loading cache (id=3 name=ERR_Ai path=Z:\home\jakub\devel\escapistsrereintroduced\addons\ai/resourceDatabase.rdb) +05:29:33.743 RESOURCES : ResourceDB: loading cache (id=4 name=ERR_Core path=Z:\home\jakub\devel\escapistsrereintroduced\addons\core/resourceDatabase.rdb) +05:29:33.743 RESOURCES : ResourceDB: loading cache (id=5 name=ArmaReforger path=Z:/tmp/erri-workbench-profile/addons/ArmaReforger/resourceDatabase.rdb) +05:29:33.875 RESOURCES : ResourceDB: loading cache (id=6 name=core path=./addons/core/resourceDatabase.rdb) +05:29:33.876 RESOURCES : ResourceDB: loading cache (id=7 name=profile path=Z:\tmp\erri-workbench-profile\profile/resourceDatabase.rdb) +05:29:33.877 RESOURCES : ResourceDB: loading cache (id=8 name=logs path=Z:\tmp\erri-workbench-profile\logs\logs_2026-09-19_05-29-32/resourceDatabase.rdb) +05:29:34.020 RESOURCES : RESOURCES : ResourceDB: full scan +05:29:34.025 RESOURCES : RESOURCES : scanning... +05:29:34.025 RESOURCES : RESOURCES : scanning @"ERR_Chat" +05:29:34.026 RESOURCES : RESOURCES : scanning @"ERR_Map" +05:29:34.028 RESOURCES : RESOURCES : scanning @"ERR_Intel" +05:29:34.028 RESOURCES : RESOURCES : scanning @"ERR_Ai" +05:29:34.029 RESOURCES : RESOURCES : scanning @"ERR_Core" +05:29:34.032 RESOURCES : RESOURCES : scanning @"ArmaReforger" +05:29:34.165 RESOURCES : RESOURCES : scanning @"core" +05:29:34.168 RESOURCES : RESOURCES : scanning @"profile" +05:29:34.169 RESOURCES : RESOURCES : scanning @"logs" +05:29:34.169 RESOURCES : RESOURCES : processing meta-files... +05:29:34.233 RESOURCES : RESOURCES : processing files... +05:29:34.244 INIT : Workbench startup +05:29:34.244 INIT : Workbench Init Engine +05:29:34.244 RESOURCES : ResourceDB: full scan +05:29:34.244 RESOURCES : processing files... +05:29:34.244 RESOURCES (W): resource not registered: @"$profile:rereintroduced.json". Setting null GUID +05:29:34.244 RESOURCES (W): resource not registered: @"$logs:launch-source-sha256.json". Setting null GUID +05:29:34.244 RESOURCES (W): resource not registered: @"$logs:launch-source.json". Setting null GUID +05:29:34.244 RESOURCES : RESOURCES : processing folders... +05:29:34.250 RESOURCES : RESOURCES : creating GUID-item mapping... +05:29:34.269 RESOURCES : RESOURCES : building tree... +05:29:34.330 PROFILING : ResourceDB: full scan took: 309.879300 ms +05:29:34.331 RESOURCES : ResourceDB: saving cache (id=0 name=ERR_Chat path=Z:\home\jakub\devel\escapistsrereintroduced\addons\chat/resourceDatabase.rdb) +05:29:34.333 RESOURCES : ResourceDB: written 630/630 bytes +05:29:34.333 RESOURCES : ResourceDB: cache successfully saved +05:29:34.333 RESOURCES : ResourceDB: saving cache (id=1 name=ERR_Map path=Z:\home\jakub\devel\escapistsrereintroduced\addons\map/resourceDatabase.rdb) +05:29:34.334 RESOURCES : ResourceDB: written 750/750 bytes +05:29:34.334 RESOURCES : ResourceDB: cache successfully saved +05:29:34.334 RESOURCES : ResourceDB: saving cache (id=2 name=ERR_Intel path=Z:\home\jakub\devel\escapistsrereintroduced\addons\intel/resourceDatabase.rdb) +05:29:34.336 RESOURCES : ResourceDB: written 227/227 bytes +05:29:34.336 RESOURCES : ResourceDB: cache successfully saved +05:29:34.336 RESOURCES : ResourceDB: saving cache (id=3 name=ERR_Ai path=Z:\home\jakub\devel\escapistsrereintroduced\addons\ai/resourceDatabase.rdb) +05:29:34.337 RESOURCES : ResourceDB: written 985/985 bytes +05:29:34.337 RESOURCES : ResourceDB: cache successfully saved +05:29:34.337 RESOURCES : ResourceDB: saving cache (id=4 name=ERR_Core path=Z:\home\jakub\devel\escapistsrereintroduced\addons\core/resourceDatabase.rdb) +05:29:34.339 RESOURCES : ResourceDB: written 4000/4000 bytes +05:29:34.339 RESOURCES : ResourceDB: cache successfully saved +05:29:34.339 RESOURCES : ResourceDB: saving cache (id=7 name=profile path=Z:\tmp\erri-workbench-profile\profile/resourceDatabase.rdb) +05:29:34.341 RESOURCES : ResourceDB: written 206/206 bytes +05:29:34.341 RESOURCES : ResourceDB: cache successfully saved +05:29:34.341 RESOURCES : ResourceDB: saving cache (id=8 name=logs path=Z:\tmp\erri-workbench-profile\logs\logs_2026-09-19_05-29-32/resourceDatabase.rdb) +05:29:34.343 RESOURCES : ResourceDB: written 162/162 bytes +05:29:34.343 RESOURCES : ResourceDB: cache successfully saved +05:29:34.343 ENGINE : GameProject load +05:29:34.343 ENGINE : Loaded addons: +05:29:34.343 ENGINE : gproj: './addons/core/core.gproj' guid: '5614BBCCBB55ED1C' +05:29:34.343 ENGINE : gproj: 'Z:/tmp/erri-workbench-profile/addons/ArmaReforger/ArmaReforger.gproj' guid: '58D0FB3206B6F859' +05:29:34.343 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/core/addon.gproj' guid: '2528466DE220D91C' +05:29:34.343 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/ai/addon.gproj' guid: '5192138CB9D5B911' +05:29:34.343 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/intel/addon.gproj' guid: 'D31039C7C53E348A' +05:29:34.343 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/map/addon.gproj' guid: '9AAEE9041D79809E' +05:29:34.343 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/chat/addon.gproj' guid: 'FA804F411BDDF2C6' +05:29:34.346 ENGINE : Loading custom engine user config '$profile:.save/app1874910_user76561198020202999/settings/ReforgerEngineSettings.conf' +05:29:34.346 INIT : GameProject engine user settings load @"$profile:.save/app1874910_user76561198020202999/settings/ReforgerEngineSettings.conf" +05:29:34.346 ENGINE : Engine user settings config loaded +05:29:34.346 PROFILING : Settings changed took: 0.001400 ms +05:29:34.446 RENDER : (OK) Adapter 'AMD Radeon RX 6950 XT (RADV NAVI21)' supports feature level 12_0 +05:29:34.448 RENDER : Basic screen setup: +05:29:34.448 RENDER : Back buffer format : TEXFMT_R8G8B8A8_SRGB (29) +05:29:34.448 RENDER : MSAA : none +05:29:34.460 RENDER : AMD AGS library initialized, version 6.1.0 x DLL 6.1.0 +05:29:34.461 RENDER : Extendeded AMD info for AMD Radeon RX 6950 XT (RADV NAVI21) (primary device) +05:29:34.461 RENDER : * architecture RDNA2, 80 CUs, 40 WGPs (for RDNA), 64 ROPs +05:29:34.461 RENDER : * core clocks 2720 MHz, memory 1124 MHz +05:29:34.461 RENDER : * TFlops 27.9, memory bandwidth (562.0 GB/s) +05:29:34.461 RENDER : AMD AGS correctly initialized +05:29:34.461 RENDER : GPU_ATI (0x1002) (AMD Radeon RX 6950 XT (RADV NAVI21)) with 1 GPU detected, VRAM 16128MB (fast 0MB), shared 64362MB, driver version 99.19.02-230831a-396538C-AMD-Software-Adrenalin-Edition +05:29:34.461 RENDER : Detected output devices: +05:29:34.461 RENDER : * 1 device/s connected to AMD Radeon RX 6950 XT (RADV NAVI21): +05:29:34.461 RENDER : Generic Non-PnP Monitor (\\.\DISPLAY1), 1280x720 (offset 0x0), 30Hz +05:29:34.461 RENDER : Concurrent frames limit 2 +05:29:34.540 RENDER : DX12 device successfully created by AMD AGS library +05:29:34.540 RENDER : * user markers not supported in this version AMD SW +05:29:34.540 RENDER : Graphics device features +05:29:34.540 RENDER : Needed: +05:29:34.540 RENDER : * Highest supported shader model: 6.8 (6.0 needed) +05:29:34.540 RENDER : Optional: +05:29:34.540 RENDER : * Allow tearing (VSYNC) : 1 +05:29:34.540 RENDER : * 16 bits : 1 +05:29:34.540 RENDER : * Resource heap tier : 3 +05:29:34.540 RENDER : * Persistent heaps (DRED) : 1 +05:29:34.540 RENDER : * DRED 1.2 is supported by compiler +05:29:34.560 RENDER : Main RT format setup. +05:29:34.560 RENDER : Main RT format for quality 0 : TEXFMT_R11G11B10_FLOAT (26) +05:29:34.560 RENDER : Main RT format for quality 1 : TEXFMT_R16G16B16A16_FLOAT (10) +05:29:34.562 ENGINE : Job system settings: coreCount=16, shortJobContextCount=16, shortJobThreadCount=15, longJobThreadCount=16 +05:29:34.591 PROFILING : Settings changed took: 0.020400 ms +05:29:35.011 AUDIO : Endpoint: Speakers (PulseAudio Output) +05:29:35.011 AUDIO : Format: Channels: 2, Sample rate: 48kHz, Avg. bytes: 384kB, Sample bits: 32, Block align: 8B +05:29:35.011 AUDIO : Audio client: +05:29:35.011 AUDIO : Format: Channels: 2, Sample rate: 48kHz, Buffer size: 1536B, Frame: 512 +05:29:35.014 RENDER : RENDER : Reload shaders +05:29:35.015 RENDER : Enfusion shader version 13 +05:29:35.015 INIT : INIT : ShaderListReload +05:29:35.015 PROFILING : ShaderListReload took: 0.000600 ms +05:29:35.157 AUDIO : Endpoint: Speakers (PulseAudio Output) +05:29:35.157 AUDIO : Format: Channels: 2, Sample rate: 48kHz, Avg. bytes: 384kB, Sample bits: 32, Block align: 8B +05:29:35.157 AUDIO : Audio client: +05:29:35.157 AUDIO : Format: Channels: 2, Sample rate: 48kHz, Buffer size: 1536B, Frame: 512 +05:29:35.351 RENDER : Loaded 3752 newer shader binaries +05:29:35.351 PROFILING : Reload shaders took: 336.840700 ms +05:29:35.351 ENGINE : Initializing inputs. +05:29:35.364 NETWORK : Initializing networking. +05:29:35.364 NETWORK : Using new GameRplScheduler. +05:29:35.365 SCRIPT : SCRIPT : Initializing scripts +05:29:35.365 SCRIPT : SCRIPT : ScriptProjectManager init +05:29:37.520 PROFILING : ScriptProjectManager init took: 2155.062400 ms +05:29:37.602 PROFILING : Initializing scripts took: 2236.956500 ms +05:29:37.618 ENGINE : Enfusion engine successfully created. +05:29:37.618 PROFILING : Workbench Init Engine took: 4007.225800 ms +05:29:37.618 INIT : INIT : Workbench Create Game +05:29:37.630 GUI : Using default language (en_us) +05:29:37.630 GUI : Loading 'en_us' localization file. +05:29:37.630 INIT : INIT : Loading StringTable +05:29:37.652 PROFILING : Loading StringTable took: 22.509900 ms +05:29:37.652 SCRIPT : SCRIPT : Compiling GameLib scripts +05:29:37.719 SCRIPT : Module: Workbench; loaded 18x files; 36x classes; used 125K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE"; CRC32: 90ce0460 +05:29:37.719 SCRIPT : Module: GameLib; loaded 465x files; 648x classes; used 828K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE"; CRC32: 4507af04 +05:29:37.720 PROFILING : Compiling GameLib scripts took: 67.823300 ms +05:29:37.720 SCRIPT : SCRIPT : Compiling Game scripts +05:29:38.968 INIT : Workbench Create Game +05:29:38.968 SCRIPT : Compiling Game scripts +05:29:38.968 SCRIPT (W): @"Scripts/Game/Editor/Components/EditableEntity/SCR_EditableEntityComponent.c,785": 'GetPlayerPlatformKind' is obsolete +05:29:38.968 SCRIPT (W): @"Scripts/Game/Editor/Components/EditableEntity/SCR_EditableEntityComponent.c,786": 'GetPlayerPlatformId' is obsolete +05:29:39.225 SCRIPT (W): @"Scripts/Game/ERR/ERR_SiteService.c,140": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +05:29:39.234 SCRIPT (W): @"Scripts/Game/Workshop/SCR_AddonManager.c,876": 'GetRefCount' is obsolete: Will be removed +05:29:39.264 SCRIPT (W): @"Scripts/Game/Campaign/SCR_PlayerProfileManagerComponent.c,142": 'PlayerData' is obsolete +05:29:39.367 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,159": 'GetDSSession' is obsolete +05:29:39.367 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,162": 'RoomID' is obsolete +05:29:39.367 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,197": 'GetDSSession' is obsolete +05:29:39.367 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,201": 'RoomID' is obsolete +05:29:39.460 SCRIPT (W): @"Scripts/Game/DataCollection/SCR_DataCollectorComponent.c,481": 'GetStorage' is obsolete +05:29:39.460 SCRIPT (W): @"Scripts/Game/DataCollection/SCR_DataCollectorComponent.c,483": 'GetOnlineWritePrivilege' is obsolete +05:29:39.462 SCRIPT (W): @"Scripts/Game/Utilities/SCR_PlayerIdentityUtils.c,20": 'GetPlayerIdentityId' is obsolete +05:29:39.502 SCRIPT (W): @"Scripts/Game/ERR/ERR_ExtractionService.c,45": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +05:29:39.503 SCRIPT (W): @"Scripts/Game/ERR/ERR_ExtractionService.c,56": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +05:29:39.504 SCRIPT (W): @"Scripts/Game/UI/Menu/MainMenuUI.c,643": 'GetNotifyCount' is obsolete: Will be substitued by Notification Api. +05:29:39.504 SCRIPT (W): @"Scripts/Game/UI/Menu/MainMenuUI.c,645": 'GetNotifyItem' is obsolete: Will be substitued by Notification Api. +05:29:39.529 SCRIPT (W): @"Scripts/Game/ERR/ERR_NativeTransportProbe.c,82": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +05:29:39.560 SCRIPT (W): @"Scripts/Game/DataCollection/PlayerData/SCR_PlayerData.c,210": 'PlayerData' is obsolete +05:29:39.848 SCRIPT : Module: WorkbenchGame; loaded 172x files; 617x classes; used 2483K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE"; CRC32: e963af0e +05:29:39.854 SCRIPT : Module: Game; loaded 5724x files; 11232x classes; used 32751K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE,ENABLE_BASE_DESTRUCTION,BUDGET_OPTIMIZATION_CHECKS,SHOW_DISCLAIMER,DEBUG,RESPAWN_TIMER_COMPONENT_DEBUG,GAME_MODE_DEBUG,DEBUG_CONFIGURABLE_DIALOGS,DISABLE_WEAPON_SWITCHING,SCRIPTED_AIM_MODIFIER_DEBUG"; CRC32: cc6cb952 +05:29:39.892 PROFILING : Compiling Game scripts took: 2171.784700 ms +05:29:39.897 INIT : Creating game instance(ArmaReforgerScripted), version 1.8.0.13 built 2026-08-21 14:30:18 UTC. +05:29:39.938 ENGINE : Game successfully created. +05:29:39.939 PROFILING : Workbench Create Game took: 2320.488800 ms +05:29:39.947 DEFAULT : Using thumbnail cache directory: C:/users/steamuser/AppData/Local/Temp/Arma Reforger Workbench/Projects/ERR_Chat/thumbnails +05:29:40.775 INIT : INIT : Workbench Reload Game +05:29:40.777 ENGINE : Game destroyed. +05:29:40.783 GUI : Using default language (en_us) +05:29:40.783 GUI : Loading 'en_us' localization file. +05:29:40.783 INIT : INIT : Loading StringTable +05:29:40.792 PROFILING : Loading StringTable took: 9.226200 ms +05:29:40.792 INIT : Creating game instance(ArmaReforgerScripted), version 1.8.0.13 built 2026-08-21 14:30:18 UTC. +05:29:40.799 SCRIPT : Unable to register a script command due keyword duplicity: ban +05:29:40.799 SCRIPT : Unable to register a script command due keyword duplicity: kick +05:29:40.799 ENGINE : Game successfully created. +05:29:40.799 ENGINE : Game successfully initialized. +05:29:40.799 PROFILING : Workbench Reload Game took: 23.568300 ms +05:29:41.511 WORLD : WORLD : Entities load '$ERR_Core:Worlds/ERR_Everon.ent' +05:29:42.518 PROFILING : Entities load took: 1006.195200 ms +05:29:42.528 WORLD : WORLD : CreateEntities +05:29:42.532 WORLD : WORLD : NotifyBeforeEntitiesCreated +05:29:42.533 PROFILING : NotifyBeforeEntitiesCreated took: 0.002500 ms +05:29:42.533 WORLD : WORLD : Wait for preloading data +05:29:42.533 PROFILING : Wait for preloading data took: 0.003100 ms +05:29:42.641 ENTITY : Create entity @"ENTITY:2" ('Eden', GenericTerrainEntity) at <0.000000 0.000000 0.000000> @"{5AD924374E8C7AF6}Prefabs/World/Game/Eden/GenericTerrain_Eden.et" +05:29:42.641 PROFILING : PROFILING : Terrain load +05:29:44.632 PROFILING : Terrain load took: 1990.556100 ms +05:29:48.594 WORLD : CreateEntities +05:29:48.594 ENTITY : Create entity @"ENTITY:610406" ('StaticModelEntity','Assets/Structures/Infrastructure/Towers/TransmitterTower_01/TransmitterTower_01_small.xob') at <1931.796021 81.777000 5138.725098> @"{6A004A8F0571D456}Prefabs/Structures/Infrastructure/Towers/TransmitterTower_01/TransmitterTower_01_small.et" +05:29:48.594 ENTITY : CreateComponent 'ScriptedRadioComponent' +05:29:48.594 DEFAULT (W): World doesn't contain RadioManagerEntity to support any BaseRadioComponent. +05:29:58.828 WORLD : WORLD : NotifyBeforeEntitiesInitialized +05:29:58.828 PROFILING : NotifyBeforeEntitiesInitialized took: 0.005300 ms +05:29:59.264 WORLD : WORLD : NotifyEntitiesInitialized +05:29:59.264 TERRAIN : TERRAIN : Initializing road networks... +05:29:59.266 PROFILING : Initializing road networks... took: 2.526200 ms +05:29:59.267 PROFILING : NotifyEntitiesInitialized took: 2.999300 ms +05:29:59.267 PROFILING : CreateEntities took: 16738.252100 ms +05:29:59.451 PROFILING : * WorldEditor: LoadWorld: 17959.223600 ms +05:30:00.988 TERRAIN : Loading tile map config (worlds/Eden/Eden/tileMap.conf) +05:30:00.989 TERRAIN : Loading minimap config (worlds/Eden/Eden/miniMap.conf) +05:30:00.990 TERRAIN : The default minimap texture ('worlds/Eden/EdenRasterized.edds') not found. Trying 'worlds/Eden/Eden.edds'... +05:30:00.991 TERRAIN : The default minimap texture ('worlds/Eden/Eden.edds') not found. Skipping... +05:30:01.070 SCRIPT : ERR VALIDATION: prison terrain=211.344, radio terrain=159.656, extraction terrain=65.1562 +05:30:01.070 SCRIPT : ERR TERRAIN: x=6084 z=7154 y=211.531 +05:30:01.070 SCRIPT : ERR TERRAIN: x=6084 z=7157 y=211.516 +05:30:01.071 SCRIPT : ERR TERRAIN: x=6084 z=7160 y=211.5 +05:30:01.071 SCRIPT : ERR TERRAIN: x=6084 z=7163 y=211.453 +05:30:01.071 SCRIPT : ERR TERRAIN: x=6084 z=7166 y=211.406 +05:30:01.071 SCRIPT : ERR TERRAIN: x=6087 z=7154 y=211.438 +05:30:01.071 SCRIPT : ERR TERRAIN: x=6087 z=7157 y=211.438 +05:30:01.071 SCRIPT : ERR TERRAIN: x=6087 z=7160 y=211.422 +05:30:01.071 SCRIPT : ERR TERRAIN: x=6087 z=7163 y=211.391 +05:30:01.071 SCRIPT : ERR TERRAIN: x=6087 z=7166 y=211.344 +05:30:01.072 SCRIPT : ERR TERRAIN: x=6090 z=7154 y=211.344 +05:30:01.072 SCRIPT : ERR TERRAIN: x=6090 z=7157 y=211.344 +05:30:01.072 SCRIPT : ERR TERRAIN: x=6090 z=7160 y=211.344 +05:30:01.072 SCRIPT : ERR TERRAIN: x=6090 z=7163 y=211.328 +05:30:01.072 SCRIPT : ERR TERRAIN: x=6090 z=7166 y=211.281 +05:30:01.072 SCRIPT : ERR TERRAIN: x=6093 z=7154 y=211.25 +05:30:01.072 SCRIPT : ERR TERRAIN: x=6093 z=7157 y=211.281 +05:30:01.072 SCRIPT : ERR TERRAIN: x=6093 z=7160 y=211.25 +05:30:01.072 SCRIPT : ERR TERRAIN: x=6093 z=7163 y=211.234 +05:30:01.072 SCRIPT : ERR TERRAIN: x=6093 z=7166 y=211.188 +05:30:01.073 SCRIPT : ERR TERRAIN: x=6096 z=7154 y=211.156 +05:30:01.073 SCRIPT : ERR TERRAIN: x=6096 z=7157 y=211.172 +05:30:01.073 SCRIPT : ERR TERRAIN: x=6096 z=7160 y=211.156 +05:30:01.073 SCRIPT : ERR TERRAIN: x=6096 z=7163 y=211.141 +05:30:01.073 SCRIPT : ERR TERRAIN: x=6096 z=7166 y=211.094 +05:30:01.094 SCRIPT : ERR SITE CANDIDATE: position=<6090,211.344,7160> elevationRange=0.640625 +05:30:01.116 BACKEND : Attempting online Game Config instead. +05:30:04.349 INIT : INIT : Workbench Reload Game +05:30:04.352 ENGINE : Game destroyed. +05:30:04.359 GUI : Using default language (en_us) +05:30:04.359 GUI : Loading 'en_us' localization file. +05:30:04.359 INIT : INIT : Loading StringTable +05:30:04.379 PROFILING : Loading StringTable took: 20.057000 ms +05:30:04.380 INIT : Creating game instance(ArmaReforgerScripted), version 1.8.0.13 built 2026-08-21 14:30:18 UTC. +05:30:04.387 SCRIPT : Unable to register a script command due keyword duplicity: ban +05:30:04.387 SCRIPT : Unable to register a script command due keyword duplicity: kick +05:30:04.387 ENGINE : Game successfully created. +05:30:04.388 ENGINE : Game successfully initialized. +05:30:04.388 PROFILING : Workbench Reload Game took: 38.136500 ms +05:30:04.390 DEFAULT (W): LogiLED: Cannot initialize! (service not running or no compatible device detected) +05:30:04.441 PLATFORM : Save data from container 'settings' have been loaded +05:30:04.533 PLATFORM : Save data from container 'sessions' have been loaded +05:30:04.534 PLATFORM : GameProject user settings load from profile @"ReforgerGameSettings.conf" +05:30:04.534 ENGINE : Game user settings config loaded +05:30:04.631 DEFAULT : [SaveGameManager] Starting new playthrough nr.0 '' for mission '{B6C516F86302C679}Worlds/ERR_Everon.ent'. +05:30:04.637 WORLD : WORLD : Game::LoadEntities +05:30:04.637 WORLD : WORLD : Initializing world systems @"{1C60D2EDA2B468B8}Configs/Systems/BaseGameModeSystems.conf" +05:30:04.638 NETWORK : Enabled lag compensation, 29 frames with 100 FPS and 280 ms rewind limits. +05:30:04.639 WORLD : WORLD : CreateEntities +05:30:04.639 WORLD : WORLD : CreateEntities +05:30:04.639 WORLD : WORLD : NotifyBeforeEntitiesCreated +05:30:04.652 RESOURCES : Loaded mission headers from 7 addon(s)! +05:30:04.652 PROFILING : NotifyBeforeEntitiesCreated took: 13.060200 ms +05:30:04.652 WORLD : WORLD : Wait for preloading data +05:30:04.652 PROFILING : Wait for preloading data took: 0.000800 ms +05:30:09.027 WORLD : Game::LoadEntities +05:30:09.027 WORLD : CreateEntities +05:30:09.027 WORLD : CreateEntities +05:30:09.027 ENTITY : Create entity @"ENTITY:610406" ('StaticModelEntity','Assets/Structures/Infrastructure/Towers/TransmitterTower_01/TransmitterTower_01_small.xob') at <1931.796021 81.777000 5138.725098> @"{6A004A8F0571D456}Prefabs/Structures/Infrastructure/Towers/TransmitterTower_01/TransmitterTower_01_small.et" +05:30:09.027 ENTITY : CreateComponent 'ScriptedRadioComponent' +05:30:09.027 DEFAULT (W): World doesn't contain RadioManagerEntity to support any BaseRadioComponent. +05:30:10.402 ENTITY : Create entity @"ENTITY:842066" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1080.213013 10.776751 6018.347168> +05:30:10.402 ENTITY : CreateComponent 'Hierarchy' +05:30:10.402 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842066" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1080.213013 10.776751 6018.347168>') +05:30:10.402 ENTITY : Create entity @"ENTITY:842068" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1082.185913 10.778749 6018.331055> +05:30:10.402 ENTITY : CreateComponent 'Hierarchy' +05:30:10.402 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842068" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1082.185913 10.778749 6018.331055>') +05:30:10.402 ENTITY : Create entity @"ENTITY:842070" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1084.190918 10.790751 6018.334961> +05:30:10.402 ENTITY : CreateComponent 'Hierarchy' +05:30:10.402 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842070" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1084.190918 10.790751 6018.334961>') +05:30:10.407 ENTITY : Create entity @"ENTITY:842333" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4425.594727 9.981750 11029.402344> +05:30:10.407 ENTITY : CreateComponent 'Hierarchy' +05:30:10.407 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842333" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4425.594727 9.981750 11029.402344>') +05:30:10.407 ENTITY : Create entity @"ENTITY:842335" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4426.584473 9.983749 11031.109375> +05:30:10.407 ENTITY : CreateComponent 'Hierarchy' +05:30:10.407 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842335" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4426.584473 9.983749 11031.109375>') +05:30:10.407 ENTITY : Create entity @"ENTITY:842337" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4427.572266 9.995750 11032.853516> +05:30:10.407 ENTITY : CreateComponent 'Hierarchy' +05:30:10.407 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842337" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4427.572266 9.995750 11032.853516>') +05:30:10.412 ENTITY : Create entity @"ENTITY:842591" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.946289 10.470250 1551.986084> +05:30:10.412 ENTITY : CreateComponent 'Hierarchy' +05:30:10.412 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842591" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.946289 10.470250 1551.986084>') +05:30:10.412 ENTITY : Create entity @"ENTITY:842593" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.430664 10.472250 1550.081421> +05:30:10.412 ENTITY : CreateComponent 'Hierarchy' +05:30:10.412 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842593" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.430664 10.472250 1550.081421>') +05:30:10.412 ENTITY : Create entity @"ENTITY:842595" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10008.926758 10.484250 1548.140869> +05:30:10.412 ENTITY : CreateComponent 'Hierarchy' +05:30:10.412 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842595" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10008.926758 10.484250 1548.140869>') +05:30:15.477 ENTITY : Create entity @"ENTITY:2305843009213693956" ('Factions', SCR_FactionManager) at <0.000000 0.000000 0.000000> @"{589540B35EBA8CDC}Prefabs/MP/Managers/Factions/FactionManager_USxUSSR.et" +05:30:15.477 RESOURCES : GetResourceObject @"{5168FEA3054D6D15}Prefabs/Vehicles/Wheeled/M151A2/M151A2_M2HB_MERDC.et" +05:30:15.477 WORLD : Entity prefab load @"{5168FEA3054D6D15}Prefabs/Vehicles/Wheeled/M151A2/M151A2_M2HB_MERDC.et" +05:30:15.477 RESOURCES : GetResourceObject @"{F6B23D17D5067C11}Prefabs/Vehicles/Wheeled/M151A2/M151A2_M2HB.et" +05:30:15.477 WORLD : Entity prefab load @"{F6B23D17D5067C11}Prefabs/Vehicles/Wheeled/M151A2/M151A2_M2HB.et" +05:30:15.477 RESOURCES : GetResourceObject @"{F649585ABB3706C4}Prefabs/Vehicles/Wheeled/M151A2/M151A2.et" +05:30:15.477 WORLD : Entity prefab load @"{F649585ABB3706C4}Prefabs/Vehicles/Wheeled/M151A2/M151A2.et" +05:30:15.477 WORLD (E): Unknown keyword/data 'SlidingTrackMaterial' at offset 19441(0x4bf1) +05:30:15.520 RESOURCES : GetResourceObject @"{F7B9B434FCFF00B3}Prefabs/Vehicles/Wheeled/Conflict_Variants/BRDM2_Conflict.et" +05:30:15.520 WORLD : Entity prefab load @"{F7B9B434FCFF00B3}Prefabs/Vehicles/Wheeled/Conflict_Variants/BRDM2_Conflict.et" +05:30:15.520 RESOURCES : GetResourceObject @"{254289B9C09904AB}Prefabs/Vehicles/Wheeled/BRDM2/BRDM2.et" +05:30:15.520 WORLD : Entity prefab load @"{254289B9C09904AB}Prefabs/Vehicles/Wheeled/BRDM2/BRDM2.et" +05:30:15.521 RESOURCES : GetResourceObject @"{532B5F3CF8496E59}Prefabs/Vehicles/Wheeled/BRDM2/BRDM2_base.et" +05:30:15.521 WORLD : Entity prefab load @"{532B5F3CF8496E59}Prefabs/Vehicles/Wheeled/BRDM2/BRDM2_base.et" +05:30:15.521 WORLD (E): Unknown keyword/data 'Parent' at offset 35955(0x8c73) +05:30:15.521 WORLD (E): Unknown keyword/data 'Parent' at offset 36915(0x9033) +05:30:15.522 RESOURCES : GetResourceObject @"{BD75A18920BD1278}Prefabs/Vehicles/Wheeled/Conflict_Variants/BTR70_Conflict.et" +05:30:15.522 WORLD : Entity prefab load @"{BD75A18920BD1278}Prefabs/Vehicles/Wheeled/Conflict_Variants/BTR70_Conflict.et" +05:30:15.522 RESOURCES : GetResourceObject @"{C012BB3488BEA0C2}Prefabs/Vehicles/Wheeled/BTR70/BTR70.et" +05:30:15.522 WORLD : Entity prefab load @"{C012BB3488BEA0C2}Prefabs/Vehicles/Wheeled/BTR70/BTR70.et" +05:30:15.522 RESOURCES : GetResourceObject @"{1C5FE7B7FF49BB8D}Prefabs/Vehicles/Wheeled/BTR70/BTR70_Base.et" +05:30:15.522 WORLD : Entity prefab load @"{1C5FE7B7FF49BB8D}Prefabs/Vehicles/Wheeled/BTR70/BTR70_Base.et" +05:30:15.522 WORLD (E): Unknown keyword/data 'Parent' at offset 42646(0xa696) +05:30:15.522 WORLD (E): Unknown keyword/data 'Parent' at offset 43645(0xaa7d) +05:30:15.522 WORLD (E): Unknown keyword/data 'Parent' at offset 44617(0xae49) +05:30:15.522 WORLD (E): Unknown keyword/data 'Parent' at offset 45590(0xb216) +05:30:15.844 WORLD : WORLD : NotifyBeforeEntitiesInitialized +05:30:15.844 PROFILING : NotifyBeforeEntitiesInitialized took: 0.052500 ms +05:30:17.805 WORLD : InitEntities 'world' +05:30:17.805 ENTITY : Init entity @"ENTITY:2305843009213693953" ('Rereintroduced', ERR_GameMode) at <1076.468018 51.000999 1325.246948> @"{978E045E53EF36C8}Prefabs/ERR/GameMode.et" +05:30:17.805 SCRIPT (W): SCR_PerceivedFactionManagerComponent trying to set fall back faction 'CIV' but this faction could not be found so it is null instead. +05:30:17.829 WORLD : InitEntities 'world' +05:30:17.829 ENTITY : Init entity @"ENTITY:2305843009213693953" ('Rereintroduced', ERR_GameMode) at <1076.468018 51.000999 1325.246948> @"{978E045E53EF36C8}Prefabs/ERR/GameMode.et" +05:30:17.829 SCRIPT : ERR SMOKE: scripted integration test enabled; gameplay acceptance remains separate +05:30:17.830 WORLD : WORLD : NotifyEntitiesInitialized +05:30:17.830 TERRAIN : TERRAIN : Initializing road networks... +05:30:17.832 PROFILING : Initializing road networks... took: 2.189200 ms +05:30:17.832 DEFAULT : DEFAULT : WorldVolumesCollection +05:30:17.891 PROFILING : WorldVolumesCollection took: 58.603600 ms +05:30:17.891 INIT : INIT : SoundWorldInit +05:30:17.904 PROFILING : SoundWorldInit took: 12.932200 ms +05:30:17.904 PROFILING : NotifyEntitiesInitialized took: 73.941000 ms +05:30:17.904 PROFILING : CreateEntities took: 13265.001200 ms +05:30:17.904 PROFILING : CreateEntities took: 13265.178300 ms +05:30:17.905 WORLD : WORLD : Wait for preloading data around camera +05:30:17.905 PROFILING : Wait for preloading data around camera took: 0.001000 ms +05:30:17.905 WORLD : WORLD : EOnActivate +05:30:17.939 PROFILING : EOnActivate took: 34.208100 ms +05:30:17.939 PROFILING : Game::LoadEntities took: 13301.550600 ms +05:30:18.187 DEFAULT : Entered offline game state. +05:30:18.291 NETWORK : Player connected: connectionID=2147483646 +05:30:18.291 NETWORK : ### Connecting player: connectionID=2147483646, Name= +05:30:18.292 NETWORK : ### Creating player: PlayerId=1, Name=jakub +05:30:18.296 ENTITY : SpawnEntityPrefab @"{225E51284CC95CFA}Prefabs/Characters/Core/DefaultPlayerControllerMP.et" +05:30:18.297 ENTITY : Create entity @"ENTITY:4611686018427388381" ('SCR_PlayerController') at <0.000000 0.000000 0.000000> +05:30:18.297 ENTITY : EntityPrefabUse @"{225E51284CC95CFA}Prefabs/Characters/Core/DefaultPlayerControllerMP.et" +05:30:18.297 SCRIPT (W): Notification data in 'SCR_NotificationsLogDisplay' has duplicate notification info key: 'EDITOR_PERCEIVED_FACTION_PUNISHMENT_KILLING_SET'. There should only be one of each key! +05:30:18.297 SCRIPT (W): Notification data in 'SCR_NotificationsLogDisplay' has duplicate notification info key: 'EDITOR_PERCEIVED_FACTION_TYPE_DISABLED'. There should only be one of each key! +05:30:18.299 SCRIPT (W): Can't open config file "" +05:30:18.307 WORLD : InitEntities 'world' +05:30:18.307 ENTITY : Init entity @"ENTITY:4611686018427388381" ('SCR_PlayerController') at <0.000000 0.000000 0.000000> @"{225E51284CC95CFA}Prefabs/Characters/Core/DefaultPlayerControllerMP.et" +05:30:18.307 GUI : WidgetManager: CrateWidgets @"{3C9DCDD76AB83157}UI/layouts/HUD/HUDLayouts/HUDManager_Root.layout" +05:30:18.308 SCRIPT (W): Slot_WeaponInfo Has no Content! +05:30:18.308 SCRIPT (W): Slot_Chat Has no Content! +05:30:18.308 SCRIPT (W): Slot_VON Has no Content! +05:30:18.308 SCRIPT (W): Slot_AvailableActions Has no Content! +05:30:18.308 SCRIPT (W): Slot_Vehicle Has no Content! +05:30:18.308 SCRIPT (W): Slot_GameVersion Has no Content! +05:30:18.309 SCRIPT (W): Slot_Notifications Has no Content! +05:30:18.309 SCRIPT (W): Slot_Hints Has no Content! +05:30:18.323 NETWORK : ### Updating player: PlayerId=1, Name=jakub, rplIdentity=0xFFFFFFFE, IdentityId=00000000-0000-0000-0000-000000000000 +05:30:18.323 SCRIPT (W): Ban Settings could not be loaded from BE Storage: Relying on default config +05:30:18.323 NETWORK : Players connecting: 0 +05:30:18.323 NETWORK : Players connected: 1 / 1 +05:30:18.351 DEFAULT : Using autosave directory: C:/users/steamuser/AppData/Local/Temp/Arma Reforger Workbench/Projects/ERR_Chat/autosaves +05:30:18.353 PROFILING : Workbench startup took: 45839.751800 ms +05:30:18.378 WORLD : Frame start +05:30:18.378 SCRIPT : ScenarioFramework: Available tasks are empty, no new tasks will be generated. +05:30:18.391 WORLD : UpdateEntities +05:30:18.391 WORLD : Frame +05:30:18.392 SCRIPT : SCR_BaseGameMode::OnGameStateChanged = GAME +05:30:18.585 WORLD : UpdateEntities +05:30:18.585 WORLD : PostFrame +05:30:18.585 GUI : WidgetManager: CrateWidgets @"{D89BBA18F99053D6}UI/layouts/HUD/Chat/ChatHud.layout" +05:30:18.585 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +05:30:18.637 RESOURCES : GetResourceObject @"{20A6917D2114E29A}UI/layouts/HUD/Hint/HintInfoDisplay.layout" +05:30:18.637 GUI : Layout load @"{20A6917D2114E29A}UI/layouts/HUD/Hint/HintInfoDisplay.layout" +05:30:18.637 GUI : Widget prefab @"{EA1CC57D868E94F9}UI/layouts/HUD/Hint/Hint.layout" +05:30:18.637 GUI (W): Overridden prefab member (GUID: '{661AB14E0F471C66}' type: ButtonWidgetClass) no longer exists in prefab +05:30:18.781 RENDER : RENDER : ObjectsHeightMap::Build +05:30:18.781 RENDER : RENDER : MeshOccupancyGridManager::GenerateAllForWorld +05:30:18.963 PROFILING : MeshOccupancyGridManager::GenerateAllForWorld took: 181.795400 ms +05:30:18.971 PROFILING : ObjectsHeightMap::Build took: 189.633400 ms +05:30:20.148 SCRIPT : Rereintroduced [sites]: cache clearance position=<6086,211.538,7160> clear=1 +05:30:20.168 SCRIPT : Rereintroduced [sites]: authored everon-prison-1 at <6090,211.444,7160> +05:30:20.168 SCRIPT : Rereintroduced [sites]: cache clearance position=<6150,203.288,7050> clear=1 +05:30:20.199 SCRIPT : Rereintroduced [sites]: authored everon-supply-1 at <6150,203.288,7050> +05:30:20.201 SCRIPT : Rereintroduced [sites]: authored everon-radio-1 at <6500,159.756,7200> +05:30:20.251 SCRIPT : Rereintroduced [sites]: authored everon-extraction-1 at <7000,65.2562,7500> +05:30:20.251 SCRIPT : Rereintroduced [sites]: cache clearance position=<5960,220.256,7220> clear=1 +05:30:20.256 SCRIPT : Rereintroduced [sites]: transport parking=<5960,220.256,7212> radius=4 terrainRange=0.8125 obstructed=0 clear=1 +05:30:20.304 SCRIPT : Rereintroduced [sites]: authored everon-supply-2 at <5960,220.256,7220> +05:30:20.304 SCRIPT : Rereintroduced [sites]: cache clearance position=<6340,175.788,7400> clear=1 +05:30:20.306 SCRIPT : Rereintroduced [sites]: authored everon-medical-1 at <6340,175.788,7400> +05:30:20.307 SCRIPT : Rereintroduced [sites]: cache clearance position=<6740,140.6,7300> clear=1 +05:30:20.310 SCRIPT : Rereintroduced [sites]: cache clearance position=<6740,140.913,7296> clear=1 +05:30:20.312 SCRIPT : Rereintroduced [sites]: cache clearance position=<6736,140.975,7300> clear=1 +05:30:20.312 SCRIPT : Rereintroduced [sites]: cache clearance position=<6744,140.288,7300> clear=1 +05:30:20.313 SCRIPT : Rereintroduced [sites]: authored everon-outpost-1 at <6740,140.6,7300> +05:30:20.400 SCRIPT : Rereintroduced [sites]: 7 sites and 117 physical stock items ready +05:30:20.411 SCRIPT : Rereintroduced [time]: started at 14:00 with 1x progression +05:30:20.411 SCRIPT : Rereintroduced [mission]: phase 0 -> 1 +05:30:20.646 SCRIPT : INFO: Faction: player jakub (playerID = 1 | UUID = 00000000-0000-0000-0000-000000000000) has joined faction #AR-Faction_US (US) +05:30:20.731 SCRIPT : Rereintroduced [spawn]: player 1 at <6087,211.438,7157> +05:30:20.731 SCRIPT : ERR SMOKE PASS: new identity may enter prison +05:30:20.731 SCRIPT : ERR SMOKE PASS: spawn consumes identity life +05:30:20.731 SCRIPT : ERR SMOKE PASS: disconnect retains living actor and clears connection +05:30:20.731 SCRIPT : ERR SMOKE PASS: reconnected identity retains spent life +05:30:20.731 SCRIPT : ERR SMOKE PASS: duplicate active identity rejected +05:30:20.732 SCRIPT : ERR SMOKE PASS: recycled connection receives independent life and extraction admission policy +05:30:20.732 SCRIPT : ERR SMOKE PASS: base contracts catalog resolves hostile vanilla factions and successful preparation +05:30:20.732 SCRIPT : ERR SMOKE PASS: base contracts physical prisoner matches injected faction and resource +05:30:20.732 SCRIPT : ERR SMOKE PASS: base contracts physical guard squad comes from injected catalog +05:30:20.732 SCRIPT : ERR SMOKE PASS: base contracts same-side factions rejected +05:30:20.733 SCRIPT : ERR SMOKE PASS: base contracts unknown world faction rejected +05:30:20.733 SCRIPT : ERR SMOKE PASS: base contracts missing prisoner resource rejected +05:30:20.733 SCRIPT : ERR SMOKE PASS: base contracts isolated catalog restored without mutating live configuration +05:30:20.733 SCRIPT : ERR SMOKE PASS: base contracts unauthorized settings request rejected +05:30:20.733 SCRIPT : ERR SMOKE PASS: base contracts partially numeric input rejected without mutation +05:30:20.733 SCRIPT : ERR SMOKE PASS: base contracts out-of-range duration rejected without mutation +05:30:20.736 SCRIPT : ERR SMOKE PASS: base contracts normalized base command saves validated duration +05:30:20.736 SCRIPT : ERR SMOKE PASS: base contracts base command reads saved duration +05:30:20.736 SCRIPT : ERR SMOKE PASS: base contracts base settings listing available +05:30:20.736 SCRIPT : ERR SMOKE PASS: base contracts base mission status available before companions +05:30:20.739 SCRIPT : ERR SMOKE PASS: base contracts test setting restored +05:30:20.739 SCRIPT : ERR SMOKE PASS: companion command retained: hq interval show +05:30:20.739 SCRIPT : ERR SMOKE PASS: companion command retained: hq squads show +05:30:20.739 SCRIPT : ERR SMOKE PASS: companion command retained: hq radius show +05:30:20.739 SCRIPT : ERR SMOKE PASS: companion command retained: intel carrying show +05:30:20.739 SCRIPT : ERR SMOKE PASS: companion command retained: intel reveal show +05:30:20.739 SCRIPT : ERR SMOKE PASS: companion journal is behind Core admin authorization +05:30:20.740 SCRIPT : ERR SMOKE PASS: companion HQ status uses the shared command service +05:30:20.741 SCRIPT : INFO: KILL SUICIDE: jakub (playerID = 1 | UUID = 00000000-0000-0000-0000-000000000000) from US faction at <6087, 211.438, 7157> killed himself! +05:30:24.774 SCRIPT : ERR SMOKE PASS: native damage kills prisoner +05:30:24.774 SCRIPT : ERR SMOKE PASS: death selects spectator without another life +05:30:24.774 SCRIPT : ERR SMOKE PASS: spectator camera activates after native death +05:30:51.848 SCRIPT : Rereintroduced [mission]: phase 1 -> 6 +05:30:51.849 SCRIPT : ERR SMOKE PASS: death exhausts round life and reaches defeat after spectator grace +05:30:51.849 SCRIPT : ERR SMOKE COMPLETE: terminal=6 lostHelicopterCase=0 playerDeathCase=1 +05:30:51.962 SCRIPT : SCR_BaseGameMode::OnGameStateChanged = POSTGAME +05:30:51.964 GUI : WidgetManager: CrateWidgets @"{144919871D65F121}UI/layouts/HUD/GameOver/EndScreen/EndScreen.layout" +05:30:51.965 SCRIPT (W): Slot_Chat Has no Content! +05:30:51.965 SCRIPT (W): Slot_VON Has no Content! +05:30:51.965 SCRIPT (W): Slot_GameVersion Has no Content! +05:30:51.965 SCRIPT (W): Slot_Notifications Has no Content! +05:30:53.999 SCRIPT (W): SCR_ScriptedWidgetComponent.GetComponent: widget not found: SCR_InputButtonComponent Back +05:30:54.000 SCRIPT : -- Stack trace -- +05:30:54.000 SCRIPT : GetComponent() Scripts/Game/UI/Components/WidgetLibrary/SCR_ScriptedWidgetComponent.c : 43 +05:30:54.000 SCRIPT : GetInputButtonComponent() Scripts/Game/UI/Components/WidgetLibrary/SCR_InputButton/SCR_InputButtonComponent.c : 1214 +05:30:54.000 SCRIPT : OnMenuOpen() Scripts/Game/UI/GameOverScreen/SCR_GameOverScreenInput.c : 15 +05:30:54.000 SCRIPT : OpenGameOverScreen() Scripts/Game/GameOverScreen/SCR_GameOverScreenManagerComponent.c : 447 +05:30:54.000 SCRIPT : ShowGameOverScreen() Scripts/Game/GameOverScreen/SCR_GameOverScreenManagerComponent.c : 177 +05:30:54.000 SCRIPT : OnUpdate() Scripts/Game/game.c : 885 +05:30:54.000 SCRIPT : ----------------- +05:30:54.000 SCRIPT (W): SCR_ScriptedWidgetComponent.GetComponent: widget not found: SCR_InputButtonComponent ChatButton +05:30:54.001 SCRIPT : -- Stack trace -- +05:30:54.001 SCRIPT : GetComponent() Scripts/Game/UI/Components/WidgetLibrary/SCR_ScriptedWidgetComponent.c : 43 +05:30:54.001 SCRIPT : GetInputButtonComponent() Scripts/Game/UI/Components/WidgetLibrary/SCR_InputButton/SCR_InputButtonComponent.c : 1214 +05:30:54.001 SCRIPT : OnMenuOpen() Scripts/Game/UI/GameOverScreen/SCR_GameOverScreenInput.c : 21 +05:30:54.001 SCRIPT : OpenGameOverScreen() Scripts/Game/GameOverScreen/SCR_GameOverScreenManagerComponent.c : 447 +05:30:54.001 SCRIPT : ShowGameOverScreen() Scripts/Game/GameOverScreen/SCR_GameOverScreenManagerComponent.c : 177 +05:30:54.001 SCRIPT : OnUpdate() Scripts/Game/game.c : 885 +05:30:54.001 SCRIPT : ----------------- +05:30:54.004 GUI : WidgetManager: CrateWidgets @"{144919871D65F121}UI/layouts/HUD/GameOver/EndScreen/EndScreen.layout" +05:30:54.004 SCRIPT (W): Slot_Chat Has no Content! +05:30:54.004 SCRIPT (W): Slot_VON Has no Content! +05:30:54.004 SCRIPT (W): Slot_GameVersion Has no Content! +05:30:54.004 SCRIPT (W): Slot_Notifications Has no Content! +05:30:55.905 RESOURCES : Screenshot saved to $logs:err-result.png diff --git a/docs/evidence/native-2026-09-19-052932/err-result.png b/docs/evidence/native-2026-09-19-052932/err-result.png new file mode 100644 index 0000000000000000000000000000000000000000..095f945ba8e398888ee17c6b2eabe7541aa3e39a GIT binary patch literal 218188 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

CQ{PD1 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

KD*3mZlYj^^I={|ST56wur$Gj zkt~nx3_^JJ1}K!W*angZqql~d_Yq&R0C#$-0R0E=Gb<~J?zjIM#U!lDJ8zTI{Vs}L zJ=)E-D$EH0cPMy#h8<=o{uZ|td?#6f-Kas1mrgw+vcG=I?xYCP2Yd$V@kq!73Iob? zP$jzp0y)vPM~L+RkpXdF9lYi~5}=FGQ^{C{aU|xRq)U;~UqX0mxP+6qh4UPzMwMJ-Q754bZJB^DD>d0{t(&q1j(0w+LnBd#EuGeIms zAuhgsIQspQQONh{p&;LOGh~rg!Kf;P49!yT9peF|suhTDYip9p>Pa#K(1CUMnQ|2` zVZ9mBrn#koCGeduNNpA5J6T%|^)>7bjg56pO*I@aL3!ao=`eY{*#8RR2usU2Gpo!r zr5V8ui4W36B@edOKS6 zzkRhxvy?V(IdBS{K7%uO6OQ%AG5AHe37}&=hN~qOH0UxRmxLb<$>u2cg(0x0;!(uk zIhDed;p=-tIPH9WcbLGVSC_kpDrRJy%-gA=cDO6>sGlAnN#s=buFTL2LkR7{y?!LGm@~6uq(zVWrd5Y}PhH zm@vFETC|*<4%}Ty(y2z|N*mzpVK1>8`Sc8q^xHOO_zZ}FgIkL+ z;!o*G?9XfZV)A`il}k^8Ydzt7(!f+5(1uvPsi9IB-Dqp9#@3KmiGvtC7*0FWMcs)Z z^V$K&Cd0sUVLn1a^(dr}IL72|E=3VvA{eE4&UxbIJgw0f1r3hY6D51l(Tqj&#!U19 z5fO`7eEGq_%3W{6aWqtIgP$SRwHRr;h3VKSkR1oH@ROC$B7D~!BRQ^i6gLlI5W z61gO^PGo3+^7UM=`aq||HmAXD!$PCQVM6EL!hjN*9HfwCWXEHG*`<)HmBmi5`-9)? z{@~qRJKlxp7aE(Iov32qWcVLRm$(Y=rXN5nm4$|fzAL1S#0a5~5vkd154BbAQ?rBY zSjI!k5QFZu!p^lo`oqjv^o^~JyIUHtBKswDJpS*rG{qE>fNW-w1fYijVwME){Hp}w z39blO2dtwBEQR4uuy~AQvXCl*ND(nlQidPbxewa_G&&oA=%%K)8?|{t(C#_mWyS)* zN$93#&q@3YRXh|8Gqgov5lp^ohCo-QYFV8{^1Cx#U71o(Zhp*%5gh~2*XCn<*}(T7 zo*nq{#l)+vKA+c0swz<)8VwCzWvdKBnflt=YN~SDylv>;)imzg=&TBU#%%@Mxq|W% zBY14lAmZh1E#NzmHb3KgZN=WbJ2?c%TASD{DF12Iw#ph2(en@<4!uKrpbYLvfPi@1 zZn0I!Q^@1@kdv-pztf)R=pcw35v0hNO{aoz^py7KAV1m~`u(FrNDTk&n==IU{q*|8 z*AFM4$iI1b;14W%vlqJ<$zkeJbXJ8u9^|{I-znaIhWI0X+JG021t{c!*6Cl%Mj22igFC?2_J%dGu z2GHunP{fN$^NDc1r_IaQJ?RZ}BhzsgS*)AKVqmnuaZD*BWf4R?*8z8FcvV0=g!|Ec z+rgq~D654DMgBOP(dPZFZl6dLiG{2%@8tGj_KTPd@gIeG&}*9P(5)YEUzrOJ6_`|X zkd=%sf?$W=&6Za5AEDKk9q2k;5c_=pWdyfxJ~ZAm0E0AOJ~3K~xh{ znp;b#JLqk+KRT1;Ki(PBLL6ZTe)eem%X{NLygH84=aaR}^Nsw`LC08^l_A*ScEeo1 z5pf9I{jF2&56J*o$Kj{&e6!=qi8##6w;zsw^KgjfD)Vu_eR`BO10zcSHzW*;u~qgD z@IB^5<|t!Q7bga{xfw#1(+T7fqzAZ3lpy8`f|!!s}zrRM;hos+>@CciMo=QDElVNZa zZ;Y)I!LX%ywRnfc17Zq+=I!c! zJ6(;7$NcONx0dkRLFdZ(J3|xoE*a&kS+TQDx$hBG$nfgP$m7*C*1k7S7qe^+Zt_~) zI8|(&%=YIUs+K+UHmTP4?B0%aqN;LNYcm6}t!KuqVvcD!{CFkubR`15-(3t0rSX|) zIoPQk$zhbai{f|J&pwXtR_uNcJ&aimzGEFz#RL`#ABaINv1_IRFsQI@uLRl2w`!`} z4MmQs9U=w63_!nU*Sjr^y9`>!gCRp&oC4e%QPc=z*Vj?D!%d-XBG$uUstdVWgRT~~ z5JsPNeefRLR7@r7t9S0%`EEj? z&SIj9uv~uc&ng{T3;YcH5=vRxt>w)Cx#U~1xTw$tluO7iT?(WY+&7vQY5J5a6!Mhb zP$d$43&bz~E3hu@1Omh*)`bkepM5B~gCJO>I=xJ`0OA72#buhZJtyHiB|JYeL)+a` z=mgM9d9L*I7J7TdWnX_Mm#k7xesn00wgh~~Uh3w_6yChwJRJGciwPuvy#>F7@4|0D zV7yx0(n=U`eQjMW&C)VDQ^iBFgX6$DB|HT?mw3vTYk6*my^-qodXzs1X{u`~DgWVW zh~B2}uTsg`B)9|2CcRczcvyRv%fiU6gzUl{lZG%GTP73b*a0B}#8b<2y@P`YK%b9u zNomi*c?RdmA6_r~&%a#%_n)r*j~_1LFOLiH-@k%US^Cq9Bi}!tdUJQ=<<+4Zi*aUj znVFJO6hvkaf*Ja&(pMCe_p>PK+3>{p_(}#Jn2Sr@oCd!8@DM`D|L4aoRPeulbbuBs z5(soYS(*d{t@x}Mdm-^8)QOrMd{3o>7+=ErFcm#(xai|Z&T0MY2Natl-#wf7;l(8W z@>h<9#!4c^i5-G*GvfM0B5M#eB;H|G03FG{RKE*F&2V?%+F}khD?E2l^{*}ofun0NR8Q1r>n@^3} zsjm?}VvIFA=r~8#(rW7Y20j5r@STbkf*4XBk@d}m81fio+8q&9%#A@<8=CGL%X#>B z_TxvVQ$%oV&By7}5-|#sGu5d*+G|)Db3nL1IwLG)Nb-BO*|9krW&QE#*td^|X{-MA z%efz3AMY)A0Cz7lN0I}uv_C0Pwjf?4yw__3;@cQMCgX{C6QO`~wjcma2DLOTNIRl( zm$X9)6C}*fOGy<^SK4MNODNt}SHOi>bm0AB}7efikk*vmVu2VGaB##^04}5G?vMRcZBsytZcWYYl z&#E@7Yhd~5pcF!i*l82R6zd@hcVRz}xHccU0P}Oi`<#@kbJ-8q zGp{y_k2gvqo%94{gsZGh2H|AR%*0~>hHAuytx}Nt+DsY`LE&x96&l%|Gn3A{OQ8n> z+@nuU3vj1+rw4v*A$nq;!>Fiitlmyh3!8uu z@W6WhSSV2Gz9Nn1^w3x@H0|0?-S?>_X2@K zAust5{H%uL7Ij;d%}8TF=r386?YyMDyWi!Az}7`+Po<9#p3Ap@a(EJeyIg&P*821baZ`H3l4C&=!3$onF+$PEWqEPuG<*w1dL|B^!#_z<9AQwyf?=2H_c)pv zbTSY!JQXS(NhO)?>}oId<^lBXo_q;p@9*p%=;|LR4h)uh`vku8uRXo_g@XyA?dvoD_m7wV-+z7ZAAh|G zxc|prum88-t^V}+(vKg{om(1QIND3V4f`32<8od$Nd=HLG{hieI8D>xM7{=tf!Khc zKHd|wk2e-l`}$I^?@s>V$)SJy-Rb}9yK`UO87E5?ihq>+Rr?*xC)Z)Fx2i=P;g zSkN`nq!sv%Bp=H&3F`ynU9S0kPFk#gd^+*tD+r$%G}?Gca)6+6PsF@j!k)7T=B8Sw zZ1L{!a?~^3V}+L4m(^k%51+$4ttc&##_OBAa~6bvO!NpH zh{qW4nHC1jjK5=V($~&&n&*bZz$Y3N0GHw&@q0Q10o_8W7(}fh%6X}T7gP1MkUUt{ zzyj;#d(n)NPyOaL8l-+&sSwaXds8W;AJ41FbcP(~ATr&D?9atCJSOjy?HrgMpUKj= zrmmmwHzF3A>o+sj)SJ{&yyv8R*PyNW!;7Ui4<@7lmQFh16FtsCL=C=A77a`L>|_to zEq{8p2<=X?D-8^c$Zws>py8o%|L(~M1`b6QwTgYTRRCwnaUkaDui_~AzTM;AIsCIR1X zEXLRa#tT~hYFI}&^*9#n0c1(B(5f0?2FT!UlhroYybri5|7Dz})B|RY_Q~?o@Q5*|8*s&Li z3KmdQ6m?W|bUThZ%bC4qmv!no@4J5g&hK+S*=Mi)EOuldM3C!yKi7Q~&$S~MR=5I- zEK!dN%O`yu-?UtvaAR2EcASmcrGqgXzc`ln^x3AyeP{Rh(!n|t887OMq@j_&&MgAe z6E%U{%|HaDz16dOnxWknWo+kyoN1wt{=2DmDg%*1=56?lB`5zFz;`Zy9wiLX6drpO z;Lf+2Pz~O4tHff4CzLTE2#T0rSt^+YU3^>ROX$~i2(B#+3z>Xia(4fvk#c0y- zDQtSBVHKe|3QIm7Z98l}!W-@zNCPHf41pv2SV$hQn{6tX&f$at5_~sma*KI^;z$zo z=K(8R$r#{7`9SoVYrgyd#)bzFGN^PoS0II0PcC-7xxMA*dm|FYOS7v@m=;!`DpfgD3{Vblo|g}ez5!CD z9CoF=1Oz9W-fT6pKqfTJVilES9T0D$mV}t#>hg->ipr9*ielw>5S1iy8t`3RQ-%2( z=`Q$Ab`4n`DB{&M6>_3jbPbJWVihQ{^7@oC{1yqmCk|6tv@)~%0QW?qEy-$ubwY&j zcOh!sDNCtuy!`S9xY;a*RFZ(_^l^u!j)Sv{}dJF_{{ zD78WK9x&0fay&8GbaYDtP9<=VLO!bU=()amGT9#Y_M|<;!od9e&)c)8ab8HL;PB$f z6tQBgPZ9axFD2}ODISX{n_ie18Qx)L!1s_WT3NuRB6dW|cg`d!P~>Lf&F$egceg#c z)J?J9u0dD8OJ1hnJK)ZomE zN|rDm&V$A}UCgUPRVlkfO9>m=E^pQTKJ)o8*WqCY<2-r7!?+fAJ0RbWjnGS=Kw|Q5m*-6eK+(=^uo41aD?)qes zY{b|=diiDV(Cmyq5uCwE{xm>9BcO<6hvYO+p`ZMB^n zbCTSmM8!GU-PHpzeP2jRhT8H;B5^_(N-vIkws#nM1FEg<`k}baX3EFrgCmSM1f9C5 z7JxI9sEDGJy6ya$vae8}^8pE0`JRknb`M#~5o&}NrH{pZaU86ti^elgchboSMl%Yq zz;`mexzPCDJD*-Ul^$w0JFJB%Zw&#Eh-8@D-L`78I;T#X%dUl-XH|I)!!m@s5hg^N z&ky?OkoEF7eGkAok?zEYx%r7dyV`&ARFc#%Oi!PG{0D?F1xjZgp3;{35|^!<-f$w- zC}ZMB$pbc@cv(?NGJTU8hL02+ha6w~<%if!8RR)3zg=3C^AWV7q3$; z_|7DbmJtX>G|4f5&Yfe}W+__#)kpMPfBcb9EBj=`=r6f%D9rr=bv!UFsRkeZju&In6+*&r-%x8Rs^=e!rIb{9y`}(_6bbT7 z>mWPMRclvz?~0J(Af)(4uS*R!np?^ zWO&T@FJ0SQ92h(yKpzSV+)MbdqJ)u(D34QN+k**6_H;CvVr-8A?(H2>A>7*|Ff*A< zqN6j>*`4a@0pC;1?_FI9ncq7jSoWv)2QD3GyK*#4EA)$N{crCK-<#>D8p+|Pw>4R^ z^E=rx>Y7S8ca-e8`5V`7SX)wB0KS)(qo1j$(TZM3Z`2x1@H61M1&9aV8yc-hXsW8q zVQB#LvT|hbdAa#H5HgT6z`7!w7fX~9La7JV%Sv-F;~^fUcq9w)=>6$Cq_l*$C_A}e z*KX=fWKwOZgukyR zMp3mAbMHj$07XN$9D)bHeR>c1s}4r66C+KC7bRrvU=ZyM+s=jKsZ2W1opK-9oqo5n z>px$ee0Oi`Ff-&9_?&PxL~oi#Q|77N&8J4{k%x(PW`YWivDTy9c9y`>TasVP@{&G2Xv# z#Dj|xWOvnTgF^ivDjnb z6lo^$++2|H*N{Q~;CvES9Xu7_K9Urr({Msh1|+b{5M5FDMMdG4O|@l>)^dXeWGMmJ zOY=Vk;{6SUBMA-mH!Mq>8I#*ocY{VUd*NQPJx$;^22{=iNRu$J2z-3CjY{iEg!`l#Izw;oMb~d4zh3*XdJg z{62)1;lR+V$vE4v?yC>ht@#kTA8<#4Ntz9}O{-{?p9@B&j8$U@ExFMv&u;mjSCAenBLRg)0gVqlu zx|FgetzxvVhK0w-s#lD=N}(XTR^ey##u}BnlG$Gw_QCgD7&s0Ih#fu!K*#LLF~E6X zt)&dsLaq)+0uYa=h7*E(H1tKpEeN<1YEM2eT_0{)GNTBR>On?$rJafqUZH3Z*pU3* zmg$J}bjSO8<7{Fv(~`{9+ZF3bN4k@(z}ck4Ah(>}DG<*fM(o%5Z|Ea*Ak1KR=K;T{ zQ1jQ1hL=voZ=Q_L9!f<>nCWQadb>RKpKngGx&8I=UV4{cX_n4(#u(uPEuc9B3yW5^ zqe@mxgBQL<;o|=R@gdi)o(5{~1v2*e(Bt#zuWoKZQ3Jl;Ih#DZnS_QWs;R(hUNaXp zOdJ?u-D;@|`5KPx@Zn=Rw5569Km!Zav{yr&lYB+Dd@b-D<{f-@*r{`}qV=Yh&)ZPi z?X5a8*g*J1SA;}115%l^&#<@CaDL2odTZT4)Ck*-#J)vLJth9;%2Z3q{(*YBkdTT? zU`sPG?pp92^mNq~LH^R4N}cJEuU%=MCg!Zz)n#PuDXHaq+^9q*`b+kd#$_3qxtpC64qSsdkN1+@m!b;X`4m9q@* z+{8d4anrzKZ?h`stf488uM40fq~Rs;faR*3g-%hXWF1O zzTHWT2NhR})V;#jT#@!`LHsjgt=tQ8x5u_%a=R57zaVo zwxn)5L2pSNMcCAM(PsjPm*#&?r~~B{22H7KRx2e<*WXk=)@i`ite8<1Njp+q8QW=u zcV6D-x-4g>YiTm@;GA@3UE1S1J<^DM{a|7D)5~>YOP*k9vIunmI0U1v;f4cE&+6a7!+o|s=+Hq(W92p zUP8eb+gZIDH8~XW<*fhsqYwW8H^R)$Tj&&+eKHa(T22)q>$!kz#9s&$X26mICf%cWP-UX$;)7vhP&X=^jGxqjL^8x%o{-@kpjV#FjfEAL6XM83 zDv}aHCIOTK@!)$h9cJ~)i9(-LdpZU`(?6IQ*xWU^xeKgMrX!nr!sK^fI!Gm0m~9mS zUN091h-4za1(9MS1WO%B!qUA*P7YKI_+C*}#thEXbjWCwx0I=EIw9Cq`R{`Mt1<#e)yN18%cnk^r zzHOoI&Tv;I+}9m@I5+(7FDL)MUoZXNcWiF=F~Wa0lNlTIM_K#^kiaXQg01yX@ECEK z!P%EeVldTx5m#r@$uBli3L>SL=5RTYUi)fs%Zuy%-_26lnt-=qt?lZ!70!2gFD64qXs-(hJ8s8MohEK!dRq$6hJKz|+U1VTlq zDJSzsi5Sy=lQD}pa-=TfCvF!81A$-_@^EZWIM*{|0y|VTGZR@kR?mb_#~+#EM>9rv zUaVoyul4jN%nZEgfC(=W%QwLN$VjuhuJF`oBZW}J^D=8w%)|uUY%WH&!O5{XRLvS- zf3Kw{W<_|Te9?+Pa|KDr_bzl$DDmpn7$o8SsSY}4I7p<$Y21H}$sKT?j6b>D1-Sod zVUSq_>HQDadzsu{-5Q=4b%WqtQ8Q--NKN%eSIm+LndqF7$=##jovn?s!j+ou`Vy#N zz)oP!TGH;l9|9&!oIDD_h3cG#)JBgFw*DJ_QF5Y$`L4OR*B0?|TFf`d#% z$6%nFM!oY*>!}^i?vNJRhnOu6Git=yI$!}?J{cohpS<5a-2}R-vqDBS5dKDWOrXPLqR~nN7pw2t`y5a)YlP37}*r=9lZr0k@?49`-F9_TD`e zp-)39HE>_cY1B;ZI4sc2{z%HN>yMcc1T!?eSm?WUB1KZB(Be&H;JcETUxs9enH~Qp z>lwhE?+-ck8DGuOK_fW?H;E5B>c`5oDQZF3W8@tW4JAl zJb({=|K%4SY*_yZXv--gmRCLDRidX9a96I<{4aP0kiEJ@2pJSRQr23$4u&23B%&91 zc}^6*7P&wTrV=YDo@|d0(Q6CHv4NA}{eZi%rT~N0#~=O{i3gML#2>x70Qvg8{OA;5(oU1T%NbZV>Hxkid7!o9y_K;L1Va5WB%7Mc9Ji z|Csa@PKK%wMIM8OJ;=(Gr-~3Ok4Q#h;yuW0NS2o{;a0msxWmIFg`eqQcN%B28gCEt ziSY!Q$Oz1P|3GGNs0V!S?rCpNg+~U$)8Dp1$;}^$GNtlMCFIO(e=z6*SV3pDoq8kD zW&k(rOj$MjdqoL9x(yrGan1tMKs@-)2+x3@wRF`tTDeFuV=89=2f^uJ<`bFUvnt7T z>(>%fjr;~`p2-?;$FEB>EtisrNu{{tVshV5RUsZ%&Iz7JItYmcc1q_s`I^K(0Q%7J zk*Jt;*|kR4WcZyKpJpKCNXEU1gby_D?u_*HwfApIalzMjb;iK`?v$6%m}A5Ce0<3}fNZ7Tz-_Gqk%rd`t%dE1Ow*0iR z1O3eEeE0WPdcVKYNB9qJ%yfiGLPYM8PvCPm@|L@S?l{$2t-HGFzV5J$b=G!xRG`0d z0KnmZ{;>8k#S3Ncg0h!S7ePp?=D=ohqnxLAF$NfFiGH(axnixl@h<(Lek1&QXFvn+ zNei}{QCB4M12F^j(@fm#S{n(xb=AlRc(h>X^oQh$PKz?qXRq4TYej-3zJcBD zHhWojP$LrTqu3_Hui=MfZDUOeDV z4+$mUR1$W_tr&ONKoBwmxF>w%ylXQdBbW}dBei7h%&5Mr)5z@_nJ^-q+9|oA7j`<) zbg}^N2^opIX|5x2p~&4R@;;%Jn^fd9@SH@1;#y*6pV{Y|+Uq$y+)RIk-CW2}%tsPi z&kvVy9%AbW=45klWY~6otOfGq%yt_$H@-bkyHo%GAOJ~3K~%(edToQy9)`thmWUHcTPqTgR$fw z^%wEX=A-k^Rtl64wA5e`@Y}UV zhZ_&}8fL$-EgkXRI}u!-^lyrqaW7k?RuCB#h5(w{YS7D)mMk+nX}~7J&I--yTqOf? z4Lmz|4b(z>vpZe$`5&QTn9a)y1=e9d^fh=^^O48M%#Kn3l0a?0p4>E@xL8SMr*aRP z8)Rqt{^TPeRdS&0b3R48Nq{9e!=!zQdR^xCKM;pdRv`EeEhFC43K`)!NH`B<<686; zvB0dU>!{cT*$ste6gYJ9RcXw9COy$EA132J0NoymCBytD9>kMjg{6W2@ia=qF@ZH2-eN!m{TbmiT|j)C zw>)NS=PNS81A@G#f1s;>unUw&NRv*7nL4>~1Kbx*#BZHRJ-gCJ9q6fj$!2>4a%hv; z2*?8NYC>l8nkrQVBRq#)PA=%a7MdkDF9$h%Nl8(q4C5M&mLexgV(A1Y9;dN^xcf${ zB9W|Qzz5&?Tv7_wt^W$4WVy0mW!Q&-VKC=7;en%tzHA$@mlC>39)rDss9`-xema$n zSTus{X(DX3k+}xN&j=4Gk2D@Gp0`07uiVX1ETb_`Z`{@uG>)Xq$46b0J0shN;-f>! z{{HmXfWN0Rd}?Rg#eM$iJ#14w1o=XqUfAWPNJMmyM~so}wSZj`L#Wi(SMZbHt)~KyIH33lZ;eHLz~=xayMO=9!7u zv8^p5NfY?qAJK*AOi<)B3P<0-6wi$U7rm?ieRk?6O>7`xIlBY$+LsO(j7HLaD9c3> zE)J$WUFOr<8gR$N;A9&s$u~zNLl_Goh+;9P^@cJE{F9mrQfQj$Sk-FabD61cP6k&m zbzGZ_GJSIoL68oD5aiz5GS;A@a&E%IjR?nN%nh4g47&}!yXwoBrV%*8(QirDrGu0X zYT#0O;uc!N?wrp^q|aRM%2dzGrS0D@ZeN+|-IS<1HrzyT(9PqC#p4MAmI3z@W9&|x zxWisv?RvXJyWwCaVg=JVd*rQ8OBP#u(ByA5-~fQR;;T^boeF61XLW@Pr@wJC$DsOW zu?&Mm{RJvm@SQ$)0%48})%QlNh_$7?uTJHtXG*OgdlDlnhE-q@7jbXYz_OPPOHAFQ zvk@@I*xq6-wizYv+`*QjwTjrwM^owLQ!#d-(|g=3V=p7d-P`(Ye=Sq?o?Z)L7>hx1ZYiMMIij!#Nfei<2wDbJYfV+5 zr%5y3SAS}UUZ?znF&S#)-;Al6?+HANq$mr$QwnXui-(6{ zU#d*vIk4d%Bkq4vc?&jv`Z2B|Vu3%BO{P}05r4m)8nPORibUUnaS40}!HEiBSz3_0 zhDcuU9c>I)zhT|SjP?X)T558k#nGo{X&D$TLdwLxL=UhcyVO)l0s*m$xL|E*(YlI~4MhcOsw;9ZRpD8+>cz^0UK74P zXWhp|xu5XjY5(}we-VfmqUJaM@*d?LjOsF9D-h3P7?^MrDqIM0q0wUjkR6EUt*97T zexhIOY0scv>`kF~fo6eV;lrqNQVs*g@G#&GUMJHraGWQh`L721U3In2WN3CaNf3?S z6@`lFV1DPokduIm`5ksX-63pyUw;PjoiC9}<9G@l{5rt!e&rahw&e2p4p!vv9*m8T zh6#lydR|Hd%~+dYS1N0?>WZpz6rqL11$iX@Y+S!FX9E-s_)dj3BfLhdhJ`m6bwbWG z)&jneEj-|l)v8L+oSiDf4#Ii3`@*7p(MQ%)nJkiJ555!Cpd=WB?@9=o5{1V5A>T>t z(P>fHSCiWVvP(~4OFf^(P>(bo-lh%juHQ-Af`kL3FT(Ie32NBgm5B}XB~N_qI=w5% zb`CAUquIV&r#l}{cdkhJa-8fiii4qL@U`+AjwqXfarRpg#a}+qMu0d#58->`M7%2n zc6;JccQWn=$CEMl;a#aW%RBz#^$FIkZ?QgI8`w7*#ZnuKN=ObDQ#{HUytNAEHi>9G zYNf`3-Pg*w6bOhd_QzWzPv^RqFLWOoi-_ZCQKnInSe8y=-ifelg{VO;+2(JaIS{8+ zXa7L+VAQZBVUD#_3aq=bc2=3+d46n7qP_9_ug%KeaG=iuW&uOTx3|{SYDu+)^JP8Rg3l77QLq~_3Y-NaC1e|uef zz)1ZN>(lLN%fj*YJLfu=PIpMi`&9S$3nS!|pFHJ#%-w}~pKGc%aB&78kZ12oCo20= z*dc>D7cC=!UwkBD7?^rScw!m}`~tQ0)$2HfkU276b3?#^!PpM0%T-K`pOkT&6E@F@kI*yP^vsGW)U?ZP z|9UVozAZMp58*IY9*xU#Y0Lttcbh;dM zEGik^@e1JB?2qZE#$DWeAWNq<1l5E=ON2`$-g+*W{rzOYk2Vnl*%dK!qrlk^^IGN( zMix(|7fz(F9AQH5xp$%S)zbFW`7KC6AYo805wOh3_i||qDQ2&355K(Li@zFL=1(^T z+;K43>a?`5GQW4l%$cZ}U`UQD{vs%X!a+M~$dR;(7@X@=TTFQ8_Bt1i_^_lAUXNM^ z*$fvGB1RY@e>wA{=%d+8nt4O5%F!Sd;rtc!nsU3f95g?-(|uv52h}XARMwSopT=2> zLm>ujYozZEYdJ@pqL=logWR7P!=BbCUlAfljWmnK|Idzu2mIf0$SF^Eb6^> z9aFijwq~N&aA8ONRd%-AE*$XsTMT+_C7e6`P*gdB?65H$5>V|NW5kCw7^Mt=0bD7t z&X*I>R7e3KfSAAWGnS$hHo<#*@%j6Z@9^Us1OJSUA=iO}frJ@I8$KS(SU&lYpTAF8 z66wAOW8hf8ZfzCXP?U}o@1a{~l>Ut8VNM6xd8-ia>lKYW#UPM8c|bD|&jmTdd(7Gb z+WT}hd9?;IWF+l?*}O0p%j?JJ<%u-lZs4;|SlIrKhLD21HKhn5*M9=%j_;``?+f+^ zY*q_$K4oXXLYVefnqvWX*1zv1k`ZzOP`m)FT*9%$#ZAilQMtgL1J=qeG@eK^U$?Ou zg_+58#p8lCm91ai|kh$ z1mbJ7s%kVaHPw~XxSUGz3(1k$NQe2CUwsLao|m7SUszCCU0I`1$$qs~x}~6KvhzDp zJZi!%%8HrvbBM0V%YmHXkl?i7G8nZ?;&3t`I8hCtJmMmW%U1#z{7PazgE?3a+s>_k zMpI5LI4I97Pq-#HF5HeJYtmjKyu6pfaYBaKZF(ILP`&@a_gGg~EYlJ0Ob7ODWmSa} zBrMhsKz6zVz$G$MX8FkoY`bWj_o9XHK)&Oqxp^{m`%LEGSaP5**3%V9x3{5oCrJjB zzjLAgKVF~wpLbKgJlIR}!S!SDRMHPclg0NChFdIG4DzyBm0%q1=y9w5X<>kD;a7_T z_*WU;d(*9GZ@A(y2_ySvC~)sW*OS@Kl?xpt36t4EZS2d%kykfIAfOKqw+zLN9iD0| zvY!|!g`-rYcs zBeVl>xi!V!l~BocZa#btt)BIGO_`>Ke6BJ|=7^3tw54%kuztAP4v~Vyg|=(5P;Q^; zym=~3a2PSp62&91 z`m@Bx)JWK`4qAqtYI{IW?3A(tRCkAsr*}A!iZ31YUq47wd@Cl>{+NYXTheA4%EkFb ztF0~{)PRHm#5v5k$kTV$6}L13?xY&1Ii+mYY5@B5cIVV?Ka|~>Jszl@NUIv*KYL@) zGhnY|jm)V`oj08O(qxz$1(x>A?=Ul%T5X10vugc;K`X^3Q{(PrYemdid2F~2uAkK? z)*%vOloVgi_4xhsaY&f&ri6-Nj}6r$+l~u~@8>djxY#O7r#YRsr(;t)?YlQMur|MV zAavto3{r7R+Dz^kOJkBjn6H_XIcP=5Z!O_=%AzmZl(Z6)zy^i5Y_DBop`o)*FH`>^ z?-G93%Js2Kr(nM%kXW{fPl&L?YCX>|IR-?CHv z;J5iXpHZ&O--wu+^5QRLevidvRL^clgJJAW2w*~rr!+2{NmBerT&a#oBp%4ZI`lg4 z=a0a8S8u9kQ%6^Cn)5(DOkvVt)w$$jAbDbKKGZmEZi3HcBiYnY*GTMez1!CU8-pf? z1BMUdHGt_#D2W-B8<7fx5=IqT&#vbH#z;B63Sa!=5n3U&7+`ubAc-7(p^5)*ow|B?bl@Xz}t)2GN zCbqQ-$*y=@#pWvNnsm$#oAlyJ&(m2DA%1g`O12n3-_D2`NsRo4H<=Je*4621)aBNi zoc+Cq$<5}SX+w5(#?0$PMZ+r9SwmrkzX8Yb7Yy&r^*{jW{1LAehmMlOn?mmo`w{nB z$2xQ{*Me3fHW-Nq=i3L{8+bwjTS!ge0#ir;M#Me2wQ(q8BZD5=J?vCLH{D=zKb}Mc znTgb4S%N>|=kn^-b`&xMg5EjX^<=L1=lk1MW_o^pwCk4#qr_&sTfsss;7)fS?R3P* zFuWs+#0QVWg?o9bMNoWC?P&$47=CXa^~1JrNn30U(&Is09D}x!JX1va6%dcHi0og9 zaW~0pCKZzZDuR#(y|dYf$t&qI(QrfnsI=XZwqk&ay455&a!A;1dV8ZL>a1d7 zxP3B4S<2#(HfVi<^)HTlXUDy~5`xh!H5=kBrBh=~oHQ`$=XX-u)P$T7R~?aLWQblr z7QAx?>1T?wlWI&ZMs=u|$20PlWitB)Wd7hg;?dhDqjU*SPQX{3-q&{HWCCa6^h7Y) zT20v=P9-v&S#^S^AUnYluEuhUfw0MnBO`XirWd|((bVQ`mb)A|yc-PgKWuIvoQpo1 zit|&T`I506moGCrekDS|;AB))#UvF2rcEZ$lRy|a7N+KnWX^Cvs;Y}gRzP?TC&K{F za%A;0(~^fxJY%(3rtnWG$+4X|-l#&d(*0@q-VPf>YGxK&`flc;TE{Z4L}O z<1>UlPgM@4qn4rlv0@!#2hSkw*p=&mdoGlboHsx`9{>xat|Z!*kTO}N%H(b?MIy-y zLw5PW`@dhq!;k*>(T9Khb) zeLm-KcPmaA;#G+SzI`_HV7m9k!tkFT?IzmyTPy5w}$`r{NTU+=^%&b%J~j7?-%xkqa^ACq3In+ zZYVPWHz^eCOS@m**z)?$HX5Mbt?YPxdm9wcRi!$(^@gz0ck7 zV7B+|t&txW2fn+&elG=W&E{aJvjs&BoB-*GG`QNR32iWd*E%hBR^zdu+OOMn23-{+ zJo6fn=n=1$Vj$!Vcvh{tVjw`cj#@p#`%s4s9XHDNE60-DaD>|&$ljSoFO2(oLK?UesceA}DK#&3X=u$Te)z`NM|GK*SuTS?9m;vFA&i&_y+sFEwTkZPBI!$A()^5|G zcNCqaQw4CRy_J(gwM$2dtMp#@rg^N(lJuziV#eM5Hui+zJMMXWs)!QM^8oIM0ug>> z`v`Hj!tLPSvDcPy5W1T+epl_$uUqLhA`kBJw{0|(ri9K`MO?^!299V0d#R0Fyc$!x(gR>~RH6*3(jah%!Fgxr(J;%^5U<8BSP_F0aO!1tk4-R%>h z`{$xhrV@}sffjA8i9;gCqLHV$FoxvNemeSO2EKB|0|X#C>m$01GiK|b6qW!*)5F{V}QX*1eDlf z@l1KLA49}VKvur3bcSFN`gREQu2=l`$CJzFIv>vT{cv;JudDmUw}p|lkmnAvlc>V| zfzDiq1GS*2kZC<1pspw{E+uHJ5azwGxRCc06c?eJWWZNxs$t>HwWhkp+S+<+c8b>< z_1WF5EM{}ouiLP$sJKx0nTj%Q3k)VLG(EU1s!B3vpxt3M@Gd14y??w7eCNbssE4;< z-3sT}7+wJl8gr8nOJXTSOGL}J}2bq+=zdQKy*7kpY zd6a;3y^R=QncsN~boQiLpHh9dw1qaJUmxuu4uMl=xW~a|FlRH-xbzM_x{!KuF~cl8H4(|~U|GfzeNHN#I9F|SnqzT7 z%2Ipg>&Cu_!9a5eQ^c%T5d3v?~;YIW_+g>dY?9+p$=+{TosvP{w>TbdJ<)L4`+wpL&kKVXu zhVeQLsbL7WF_E%9?GI}X4VW+Pagc(GB&H{7MKO&R*V|&)(On0MHP@@rYe#WBIZ5)V zqb{7dW0Ex`4B4W_z=d8u9WrCsanaG*Z0ZPFPi=SN2;-VN5X3E<#t>kyLZCvi29yPI zlzIctP(d)S6bV3uO?XkzpC5C~OUJhxx#6kNX1u;zJFK&N+}9?&S0{W-6;MWtMCW9j1;u zt!a`BP9vqKaXuPqHLw*hRIM|r)*IF9ane?nV?iRoAeTv;e-*rCY?mZaO)iBHdadN+ zS5>lrBRsi4Y7472ut7z#!Wn?@pqtqM03ZNKL_t(khH0H~{M>>wo=(@RBxn3z*Mslg$&?crsRb&zYB?9E+mXl@Wo$|NJE%A{5V@# zxD+^aC>JP{nktdEXP2uuW7+XSyuhA+{^=jt+4~OO6&s zd&YUDc#a%il`_bS44$dS{8qIB$e6R99ORcIL$HK~kHI*4aD9?;c@%%&^ZiTqKrAtU4* z*qzN>)ZLrw%(acyX1qTVG$u2<+v{>s&gXHqI9Xld63RBRIy@f7+1)ss!dLO%pG?tA z|8SOnVIzNedhpz#{!k=>aA#oa&i#|Kr{^E;I&vxAGg@P;FH;#RYjl;w#8g(1ht1^9 z+w!W4qB8!kq#B*OM#ZFW!qr6NpiXP8w_s<6v_U}0ZZ^L#f9?A95ckac@c1QV90}mN zPR;|ugc05})q(F4*Aw(`G`6#Th$A=h3s(ca%ls}?R`ggkG+6ZpIHTf*4-i9&!FRSDK_TnHt-AExHPIUq0$X(h3NamFtEF-*92Eqs* z^xJoC4#*DnYX7f~_q@Bm1F6qQ4;CuHcbcIjsm9Y3@JU`xf2W%YG}>(a4MGFb1lTX*->Pi$_moAO4|MoKMMP=kQB1|5?!v<9jh zou+hCu$m~buTw@{4MLR4&am+sVGk!#*CvyM31iem{Q}c6+GV?bIQqkqB=!GrYxLFi z{^#?(Ki%8*_dgx_>*}6&cZYwuKl(NL@vmmbc^;Fh zcyL%mG8gx^aaT9{ZE$nDIqD%yU*&I>92?e*T)cP~A$TW&=>xv26CNUYaYfO0$cp0B z4m%Kk>v))P`^ik^F2U^F+_Q^ELzEJ{@u^l|Q-1GQy_k-#5P|Bo6vQoYlOk{XxY$saBW-0FQsfkG- z85j*H_Y(&OZQDDod>^zmC3>B5`s(Ga*`(=L~2vWiG1-=HF}7k84B8P%wYd7xFZRt5cKv}fHaszj8RS~M!uZb*+3V>Rng zVM4z6hzXk6dF`4{%Zem+Mq3SUlUtOJrRWP}@+ji@i|}l!@-@{G6Sf|Es$N5RmT)g1 zI}<(1%WMfBcGIjH{fp23$o3U3o>yzukThAuW>u%oUB|yp-J1QdLynE7m1a#B^?tD14vMxJ;dyznFguwr z)w+wP(s#~v;TwE1H~8|#=$}^3F5G&waO2+W{PKnQl{0e>Cui=RoO^Wi;-iDp54Ing z3#5ij^>!AiWmPI_JBmt6%An;{RptCo!FLsrVJ6zc4dvi{ji#bng*?Bgv^1|Uf8E9n z)NHTcxE{W~xU@)_;>)v=8#8@{bruIvk?3LC+{!vSEIt4^6lFzB%!88KBVqdTcX72e zH`kj?+VavI3Pvg_i)si+z=~zmav3dpxOg<0!B8tnJ3YPanM{PF`y`V!gm{c59lARx z?ugz#5hJ~pswQ-7GkgAVA&sBjBY~PT;{lxU^ip0t5M+gQVpm{G4=PDdd(zL9ZVzng ziGIB$@$2(re||Jh^#=&PXC%t|6_&;ihB3U$c@XpR&YxCxg2I1$Hu3B-^?u3eeWccS z0CdZ|?1Va*0gy5s4#S7+5}?=t;RqO5gxsm5PdnV}RZQX@SsczGswE`n=FuwiJ$r%H4IWD8!WLjzV=V8BjOQ_6Cc z65y7GYEP4jUk{XF+NxZb`dTZ!T6(f1Ne|A1YUz<+dqFmt-)U;CD|Xcq6kc#=-4 zdxK<3XcpmMb#Ar{^lw?P%So%!v;B14&jiEodMPf zCt$RXcr-o9TF4yvSx>ZGJ3`P+;=*{KBcLV0961W9>z?N71~VlUd2m6A)=DOH8n`H# zx(3HG;kj|x2ayebg>v!nYzLVzY9v*EjCo{F;*DZ#=OuAh zL8J`f2UBCHKXG`p_J$3v29;4MIU!MiiCa}&%KXl;jcCg2Fx))WwmO~qk%jiT_Bve- zDo^TOQOIxyfIuFhIy^p776^0}r2NHM%hwXA&y9<+v#mGgA;Lp{JBr@*aE$ z7pM)ZPM%jsCZRAbY)6y8G`P>)EzAkD1DP|@zT^&snYh9FKqNuj3{t@shpWZg2Fgpc z0LUH^OO&8Iib)l{&htm!$>i>AZ2|pl&5iWI zHrX3ptu1Zgwr%|=u~LBh(wUCs^WFDn`c|(XzTWZkgYo61g~c1o^9%PbEj*gK{`lOr z)l*kiC+8m@x%BAh+|xs|kGCJa+SnSYs?n5`SC$YvP+kti!@$(&VP{lootocftx=~% zVP%xEa6VGBko>|`5HVbolb^djM}+gBJh~eA9EN>Ja}nM+8rdHpN@w6ru){8U+ypO?3`s5nofQ*o}a1JLL-=2{~TDWvi3sc>g! zoFrtD$iR2Pgh`4|C)`tG%}k@@j4vTdJJLotFcD5=!; zg!3;Jhkm-donicM&kyx=1_1r68H&^zY2?6w>VaE#K-a*?Gul6#-}ckPiPfva=wZH_ z?s&O4^!Q>I;?99gYdBzMy~)KOe`r?{PXF)EC;t51*k7LPdUb2dty9VQ$#xVq;Cq&z zA(2KdDvBH$r;~shv%AGOmeQUYX>c@Rp8(>^DFOD_RWjonvCiiJ0rmAv`mAJucmqem z?k)=y1WW}&NlGv#`fGRf*3r}~xhRJt9U%j|+4@=?`#L@V3WXMky?qw4f9XEO9(7=I z!_BAHo(2}?J!ZV?~D*BL+jS7JKG=3bhBms&mSlM{{6mRRz`ka z8UD-at|!+9*`r#GRZu!+T}8@oJUVEldK+5VBZ|0bhDspbtSx~?z#4;) zA9oK$-Y`^VQ`R zQMl;kP`1XJ>flmO_E} zkG}fy6VM+4C83q2==YJz6n(`D;J$=iuADJs=5VQV-UD+Xpuy{`(h-PHb%^wZHEBE< z{U;p{#DniJGZH=%@_5lK5@=370s2Mc^JpuhvV%=vtxrbUA_0HMOYDJH8l8BcSY!im zJGg+F9TfPvi7j(tbaD_b&`Q3I14X>ejws&lXmvC??5HOlE@ykXV`SUt)b#wlslJD^ z1CK5aKDs>kcy7zHtJ_{J?fmKf!KFJ7ZY(`mxc&Ibt><&MUQRE)xN!5uxf?&6y8dEv z{^`-V)gyCHCoVh)c5KmE8Y@(4Nhgr(G3Iv&_$rmQMy=CO=%+Ip^muE5d9xYVg*=fl zzp_jkLJA51dMr{o1^G}nCW{fqoC_A7ZyhW=HyNC2vUo^ESV)kX8IDR(I1tZtFX22& z5F6Q+{pHcWJsbbalih!Lx_9M5>h`&gbd-bx)HVN@-^m)IpRc9G>TS^g;v~iUTZ!j2 z93QFkwbla19K`H7DJO!yL`RGX5bZN-)hxIp8EkGMY|?rCaG*a?mvmPnDWT(ne8jV4 z^^E&_<1iR{TRp?O_@wywZeIn@KbivTb&dwj_KflT9^cgdAmlYYA?V84j>dgv{w~k2 z4ZK`LHad)V`pH}$`2Kuh@IPOl_>WhU@Xi1n*Z`-fnu7y$lDG~I z*?QWL%dTrA3b;|n-+~@72x1u|DvE3MLa(EMMA6^cSjKi21rh2=Xm`xC6i!K!nxmS6 zZ`6cTL`|a=K8R&B!Rd%7h0uBAk1+cIM@5^X!rf5fuoQE;;9vqhv7{3D02?#2+l4;; z>E+C`xeT6O$d-HO&|u&$OARciNUG z13zBx9nDx+rGn|CCg28;QC(la*v?%JdAulai2f&P#??@YXBFovHwwT#Xl~Kc`i=6v z2(b<4C^|(*a2Bmf`A;#@6!3lh+RxTdt5mcGJtEpiC=r46Psk4YP9sIcz?CpYsDiS3G^>M@paqe;wBE zU^=Oj4DY-uc|BDd-g9~!`0A_;7LYpK8OK;eEKF9tF5s@D!7$N7F=w$p91q}E64$HH z@m?+n7LJE()C|*lD8>okaVt8RRxf2B+#iT$hVeZ6{zkja=4fhmIY4vXHrkt<-e5g0 zBZo5(PxXJjZ_m-$$*EgYS0Bt=TA01ObbqG*;VkQ{A&`A_ei(3nzOdu<^7y+4hn7~J z-@3bc^WKYvl~>nRUeDiqeQD+G?DE^GJ8#b|y*|0{a`MWHWAjgsTwdLN{Y7J{o6AhReRh7D`q`V{#t5aENaamarB6zg* z8WsEuV`ROJU;~@2xq-hI-x=94q{-Ek{u2&DZ<}-+iV%oyLS^ZyY+N1iFhD$!lZ6HA z3k!3Y;vtAciC_O3Xg6oEWbJQom8=02TGijc;! za%l@`=C7A`^mhmF&2H-S$%MPI{mt^WSBryhZf~3TI-HEQp4gxH?>8s@>&>x$e|Z3i zf44HqS~U}QcyRy-xFe9SZ*7%08oJA+0HoO(bZJ^zY8?&>@q{NwtnmO<-PYzNX$2vM ziP{=*h^TV^F~8RvXacd->$}62^JC3d4tQB7a=U|un%*U*_}!Zt6F$T_DwHP;b&^~r ze0{BMdxw!m4pJ&Tb_1TzO9vw`9$Pc@9 z(~nrXDlX>t3Ms58W`*c!t{~5yf(vj8Dkew~pbc$!A@mNa8gH_q;MJ)O@yL-%qSze0-h zZ|+Ef^cPn$_71dxbYQ;9f@Fk_){!h!SS3x3NW%gw>ncR4ZrO z32vh8csBlCINS^y@GEh^+{;zQP3)|PT^4nw?xHg2a80u$nUaRqelKf z*#mQQImWTFb!EkCzWm}tSztnmeDue4Yq6(($gZ`rbPeYUWE#Ue+e=9bLo|t*NQrUh zCkw)El!lG0ZvFQ_JPmwM?b(1Z8==Y;iI)L(+0CMIVI2y4qjdiL0l5xKT_|~@#K)&ip2Nzs)?JGaLZN%wA>*mL~)@%h!0SDv1} z_7s}s?A(J3bIa3ncP`E?J(wMMcxm9#<)O#(TUM`(JiEUA#m${>?(X~L(b4-4SMNP| ze*598rSIO}`0m}pqjy)o`(^&&FPHAWn^}1`wfy$%((4n~f%s>WSDuBtw$f!+L%y7X?KMt;l>uC1(-TPD|8^Rw>Se&?rhB4H@9~Ip zd8&uS+JmXg^K1RDVdPiFUf`>?pipNVf6~9uee)j zDi@C{kL}G8GRy_a^EU3YeA{a}F;d?hRVut4W?Q3)9W0J~hIb|-upsVIH#V9m45908 zXQz2q?5QDYwXuLHoq4*siD2BTlic727O?ybRm4$2zQ^2#!Yhe`(Vm?daU)@vBcf;oeL)tLn*7r=U`Iit~*qgYAM3>4~Yt_Di zx&!^Shlgy$(h>hD9p76UZyX6eIGaGLj&7YAShyP8OqZef_W6K#8n?5CFIs9rZ90vA zUKxG2yzTYUmN&OX?wpF!=+YH7u^%Sf5tY%kLv5S^Z|)5L`bhBo=LaJ{-yh+x|6n?E z?I;dpy~txUWl-c~O!kM=yE2CHUhBkQ!-2v2gG2ROlX`ap@yi5(RU($u)Ku1}D@8fILsB-zo$-v%NTSikW>j99x zviQqSKN3+R;7&^_#T~$U?#3_jbH1ceg!=}F```ceU(wq@*C-!`isrYB_LP&DYVzTB zXz}KD1Q9)l3Um<5WT9f>&95-Q~eY^TYqd_qQt(zdk$t=<({^hcA~Oy}teA-L2JMZm#}%WA)dC z)nBhZ{&oJlUoSoQW#-)7~T9wJ7CvOsb541s1)wehsFg;0> zyky6Fd%MC{Fw`86-aDVVe?A3l(c*-728d_5I=$OFv)4B|82frC_V8jKyaBe%b30ve zj|L}aJm%Wb@1EL^36|QqsI)wvN}zRtLRp>f<@#>6iySK)F|+^@E{Lz>$k(1NJ-(!% zJhMD81~4;{UH~~mk^yg7{8BC`lADNhtRs{J_l4Mrd$}0-`#XIPXTCd^2+^6q;SxAJ+UFs!22nim!V1I-MdNe=;^2E7lRGR85TEdy$GZ&2 zx7H0Nq2ravc!xRU*18(2$OIO{Hxe38B^x%HKao67Zf&40l~I)aUT2%OJ)pZV=9t|d zL?6v>JDAReBm;h?wb?k)XPq2w-jcL#i)qg8_AZ_6VA<0ZHbRnQ!p4|e1Jy&dA$b^b z6FJ-W;#%+Om4V9>=!LpP?tOcZVD~pS``#=M-8tKSV5s5XP$N0L{>Ea01I?O3u|!hD zOu~5O23)M*JDp4@WcXJGtwdM54xrc5Ov3t?2+UkkbdYLr`;Qco#UObs1Yw>V58$!7 zd9s}dgqtVQiGY^+Q7q`}%74Z?YWOT(`uI zbTYhrJVH+_`dU(qFf?V;X5iVECJ6^lA@qDL4O6TTw%?uZ-Lu(#aGMJ;<#$sZ>@7l$ z@(ek~epOp@8AW|0Agx~RrhS344P^i2!8YD z%>>*FurAJ6f%Sj9B}ajC1w!fbPu}Mg;TGgQhIF=q2>Zx)MApLWgw_RQm*mK35KRj- zI%BEJ?Ic|i)24$N+}YFwHDPb$F%+|~G}MCx0d$W) z%nf#9txan*YYav>`YclqCsSjpH`Lm6R$H`Z`__r+edm_RTVpt3KHaN=-H6q2^ zr`vHh5m-ix2*I|KJ3Pa^*rNp8WoB=av0ac|u|a|F$n#O%#9~0a9UUZE9de1e62z8; zoV{t{4^x03`8hu=Z~y7uj=wXxKi%{5{n1|^?;@vV@nnaxp@n>JAUZfJo}oz!d~az{ zAfBE-X?L==`%Sw$3@3(bX~E`?|L6np8WI6RlckJNj@=sIuH1$fdmGCLwuOAaq1qQW z!vGxL+Qi>F+KSb)gc%3HA_7YKeVol^Vksy3>mgFcI*o^in;71&1MU$sTy~q=+?TKt zHh>!B*|h;I7x$;T0kxkWklvGK+wpKlbb-`EvQ+$WvG37r`phoZpdzqq0o) zZAYRu2Bo%di?gOOPopZ2xT?vm<4Sn6 zl&++MhQY9=CuA5OAi&xFY_1!HE1P8Y$v`~(3_%*h9cWh9vqwcF1KUn&Jo}+)HTvDgcYhsdB6{@O=YScu?Rgy14H733_XisDd)>>M6sL#}BwN*`)s)N1S z>l03r;zKPe(tWe#i#Q3O-SK<^?v(9Opb9O++Sa0z85v0og2)E5$RZ)}AY|wyVfZa9 zpprYUysUt$w0HwhSXG|OZ4;9l86@l15%%)Y2AWZ`bauHoq$H8FY6D6~bIk@~>_`Vg z`3{9bt_ywEstU2Bat0LUt(n&VwBy8Ui1Cj4WIA=IK#4k7iM-OF@o&Mkt4{Sy{b0y z8VDrdSmHuv!y2?9=foL$4NJs?~v0$0rp>K}tJ$Zw{`S_I=C$7Cbweafr zRe7L*`zvPZ^GmNU+<7~-{BCCX-R#P{ODpf@R{np+-u$b{d`XNkE_g5d{>KSrh~W5d>tO1yNKKD9T!F_M+Ub?XIrXr%#{r-@Kpi z6Sb_pcfb9v^<7yJ5JIZFp8L7(YuF!K-5+0lJ-NC!wX!q2{F292M)>>Xj~`S#5%^yD ze5z)9?(+V|?Z+Eit55b;HusmGA1pmTT-6&}XukSAGwGOT3S2fGk`n-y3_1zPlqZ=Lf*XueT=q%}SwIM7@22C%WP=u8s(aO56 ziI$=D)_WVR!yDHJ*O~@a`6ECNvt+Q?*aHLcye&e)FUrUHnBc6~LId%pWa%Sh>q}LI z5?w=tq_|RYv@DXbdd15F13cKfVtoSE74gE zw+-@v8*0G)!Hr}#V}sYMMfquk`64p@LQ#s4?oC%bxnDrF9yG2#AxNu=N=?yXP|8U+ zbkvv!o7ksWgk-**NLwcy4u_m~0tScz2Kq^D9c?AiJGJj>N@bx56RcGEl*s&!)s|_U z9jw^OW+Ai(-*L3+&{^i@*mAP0jPS@J5lyB$jE$8kL~*@dzI6EX>i4U)2*WYIz*)Z- zFR3dt6J%x~eas~I83UEv((ulc_anSOc{wM~CTl5*xp^TLl_Yi^wJJuhi?$lVvQuSg z<|ry#`Cs24`d5P-rijw?Xev9f$rNPBa~*s^#Pu?b-6(_9MnwmogN$96Le-IIW@xb> zbPVezO}6)1)B2knMd@+`Dk;VoSBm_}C^5*DypyX#1w@uU9m)ICdhOw6<991{>}l7A zioct~r&>*B*>Ybdv1PX|85H5C{5(Dn@jc32azPa{)`q<(eYr1}NKyRBH!pG1mV~aK0A9M52p{G^ z6X7WnWL=|yeFKp)t>sFtSeJ97TFV&TiM6rKcGxD{Y}7oBTtjx146JWGEFNgKRpk-e z6xvj2BEol}*A?b>B*6Q)iN@D&bfxJsE_K|;x0RWv7O3g zPm*Gf{GJXx7L|m|;9>>bS?xfnGaYlm0N<(iJ9Y9)2%OW$f5!-qCNebWcxd2pl6%jd zJ`xgmF3A5ZP22=PGO#nYLy@!UZW<^CkzSY>*hNR+3GiKdk;mD@GX6_)_~Vzb$P?ht35NwSHSe!lRFZoZ{HT+zH?`GPr~%q{quWZI%Dze}K zSDqg%ZyheZe7pGS?SgdXU%s6M<)6QudiG}GDc}6SP1o>4A#Da1*}lH)o!&-i(>?yY zV`Q^?e5?KbMtadDh0ZKj8K7|@VpW>tjKZ3BX-WIMbL@HN10LDdK5HL&!bPj~-guV>L{g|$QW76_(x8@3rpij6=uw-y?4iYa>x#X& z$i-pO=Tww9pHEfp%~g}qvv9{%kS3=NSf`1ySv9HXSW*qNJCziqTq#evb&0A>(G~)} z&)lTG)wysx9TsTuPR4i#MI!dm7Av;Tq2}cFnxv{iQS65;me+&#H9O0i=HRuFT?0`g z)HRIrSuT-?fJUCxYnt5v7mpVH&GRMn8cVV|ne;J}hTJg- z8HRVAR!(}1c#aBQ4D$T@m*-ezSM#IVOJtOEvtM;@U+HemcPa{9N{%x*GAC7DoT)6z zRDM&WhnA_zSJ_Q67#N+J;1^6r;lxY=@gj!=Q+UX!%Ji_h-01d-cr=S(*6i(!nj&p} zS}c^eAu-NrQBYR5HHBJ+_N9VlkK-oA&c~fOlPQsH<#?Az9OQMFmYUkLHKb_BFlk_kq9MW!{IUjWlTV^5Pm3p zGR)!Su4n?exX=AgHIy&SL`zv!#+0)hef-+-Hj&HFjb&OH}t^tMj5B~P^` z!*pNClQkB^wp~zSNrfwCTO;(2osNgn75!G7>6=^yQ8v^t36?xAs@M@e-C_AAC!SR> zTBDxJ#&ly4{;X_ESdk^TEG?qGIH9gUF?u~2yk>a+<4VopdhLM(?%@0WN<~e9JUZy8 z5VS;`smfCjIk)*BpS+ritXMV#{8A`?j7m}-*?B~FQUPNGY|32+cJ6l{B} zk2XF~9p}%=(a-y&ug__L>;d#+90g>Fqzd#uhqS@h&kLo6m*^J!gmU( z4S>4$mgIk-aYD9FtQg@l-kwnHCj_{|xd#ex=ijWq?-_h8$o5HploJpphidnRFyV48 z`uzBsz~i1CM{y)wbb->-N+b?MRLZTI}X@6dqA1aZ_i zx68$e4MFeBE+64JU(DKo3q$wBR#WesEvv{#2a-;ME(j}t$%~q{W`=q* zPAGx(>?tICXHAXXR0@vQCMK#966E2bp6ql3gM326{D`wBI*oEDYL(1pjnSaGSD!fE zltjr6DtOMrcA~ne>jUB~b*0wgLKnqPxjAXMxoO0cQ4#{gZ#^vA94lrnqvQbuL5@w- zI9y7mE1A$>cBjM);7a|bz|dWzr`vCNAQ!7D%h;uUA<`J{aFBw4IA@^VM7tX}GSr-U ztKN38MBGxq)sP)V&=^cTbPWW(=m{}vqzp2o@j3+W{jIq_Y&O2#Y60Sr)39ZIy^OuH zzOl+?vvLj4@b%ncFu%XYcZqqISQ=qu1>&i8DzM3}=gXQ3WM(}v`f*01Qt0CKac*!g z%hiHv0Jkezr)jGd4$jH^F9y(&5m2h-VAkQ?!2IR8#V za$#CD$t~S=Nnw71V4>Rx6eGc=>b7MoI$%B&c@2;KDp5?_6{U~?|@FN)V1W*gR4Xkq; zry}-U8KjO2NRZaqM#@cd+>XA@1>?{|R9`OH?R$#53W6?23_Hia1FQ$c`{Z z0JpTmoIVeR3QQkzV>+Yy2TUK^aAW%0hnwO|J%dXThjDvWI?(8In}_pH4;D7| z7oO}dtnVy5=w2BtT^=l5l^&PwmaaZ%T3vq$zB9#3`2GfbU*3MZwDZn=7PsI1LzEvE z+gI)w4u)4>3#?y};2u?_fcri6v0RWi@9Cojp|*72Z47c%SP~4+fb^B_s{+g0&e13K z>=M06Y@RiGVsHeq>%n(3_cx>zpoKT!10X;RI$nt4?Tqm{o};V5=_;iP8w>_?qw=T- zU;f7p2sjrCH5nfb7f&#m9{AJ87dTZz^@$VBCT6tp>xgF($q!+0LtfqT4S;JUc+x$^ z6IDjYaBF?`-a_q*aeM<5EaVV53F2tt0x7aLAFJUB_h&BY3K zws)`5jcJ8`9cn~hkur9J%L$>0lqTDVs~l;wjdeQut|i~Rn23W3Jtg=~sAP%-0!J`2 zqz9w6#T zhUY*$({!=fkNv94A{THkG7J#Q)Akpa>r@tIDpO797sE5GF-CnH*nu#di(grmnjjjL z%!kH4Xc?sCBnju(WfU`!Q+BUGk4>KdMNthpkhw5WSdtk}tp~OvCjIhUHSh%0?gn=z z_t#6j__{wmuK#|q>d9axQMx^KhJl9UR}%%~n-4c7&GtBposp6JBZRjN^<(_xx`Gta zk|?H5#Oz3YOd5iDL%>bKKFRDw30|KY)?F1hcsXIL$uLF-Y)1+WsPkOByCwRiH*LAs ziN%y=yY>Ez)xLC+1D1%r>~mo_dODnaUn=Swy=Gnz*+dz%ZCuKx#xJTaI}*|f`i@Es zWVJJ0X#}s2Ubkpv9+82^@yDV+A=(9-E`1;*@L=h}m+Le|wb$tLQhA?g2aF_&nZB@_ z7xiVX*t$X`HwTNoM2Y2KTRnUXvS0pwzT#lD=J0Xt-cn^|a&Tn8*X5ZpkB0IgixArs zIb|+W@OgU}o#yfwimfrG2H{u2Ug91Zg*IBJR;yy;6BOL*5Wge3RpWi7a9}TXEsM9v z+i_ zXOEmb_Iu`cU+*)X=T3N>J#qB-F>kL^*iBJM;tT>e*x=A@M1L$5v z64{v}XHR{7`oveqk9>~U@mC^&l2n<0=Ca{&@{7nI*2Ppfc@uNS58}nR3%G%J4w%jd zd65V@L41B|zCS+L<3~k$F!}F@IFBCrf^acz1(?~t`r zadMjTV&df79q|Oe55f|X(UlrDkj9kE;=IZmmpUd|ho7{MLQ{a|I~`+Nz`C?7-DO$I zc-ucG=5z@SQ7AGgAKYJq{$|g4C@}qrnA0aDOrI2({!W}1?`F2dnH5J+=Nvfn`4?{% zo*gbcJy?43dST=B-1yLJPtn|+;>G?F0q#TPD@!Y@o3GvYzWm}~W$Qh@FYmlt-hH>U z`y*#@=f@8y|8DN3`2KEQp1XvH$ZVbprOo)p!RY!va1VhqB3|?Uha_j?n&C~snJ&C>Qn8IB$fg(#b=k4NIAm==_roAf7EcW-hh;aIz1phNfT_+3Ka*r z!R$qmBoZkDXsXpRwC8R!s@be2WTxB^*;K4(J|BOpDzT$d(=W0KDNVLhCPnQIUaI?0 zH%%525jrj!>I-8j%_vCMaD~7yg>8{F0KHL%Ppbp#EZHPI< zGf5Zb{z~W_iy;QNCn;dgv%xo}Z2os#DDSh8&2h)zv=7?V7|#{jS+t8NHX22-Vse z&!4-UcJD?CKoc2sN~6LsC5h|hp$PJbx1?f;Tm($8k)a;NsbO;>LB%zGBdMb-2G7p@ zM(u-ZdN)PBc+)Y}YMHu`%nE(3D}|*ZJo`$I^ASY$9p|Hg4C+jQcphP9Mw(6c8bq=q z(E?b7pN`~G#mDe|F8H)KhLbAH4i;qpCR<*fDMLg*+-#cZwqtXBJd}sp_3iVkKRmv~4GqqwgZ0|> zi^fZZiicg!wY%9U=xYlx8H8QTl@;5=3~}%+!Nh-}fP`(wImnVvnZUv+E-o%6K2l`k zXh|2KhcD(FtU6%>i3%@NIs=z9nD{9EmZAlGD9EOKoOO%K784WU1KtT_k337d9IF?o z7{Fbt42%gshvT2ECMmm7VV(j0=WrGH`JQEpKYi*bwthb!5jBI8h@=`8q^wvO-u=Cf zp7UhGDwr9VZYF3R`2xmpimOEAKmatzv6!$^U@HgP=BZx zLF@C=MTW3+gv9>b*X#@^X2MIwiXH-ofCR2C#8`sk+zNo~cxB0@;evtQhPCR^FMs8I z_6u%7*c^PukRB0D)|EK)E0LxQH4_O{la%TzX{c%$xz@kZ@nEa<{>)6pYJ^otwQ1*QIG?1>oF$2Z@)VSVb^drY7D8Png* zz7*g)_XCi4;0~2;937Ux5B0 zV?O9FKJrxTX+NHc%{OBk{Axe1Z3O`(sW7ki&!=V;WA|c&XW^`6BxguLV`ECB-j=im zA&SQ(U>DL!B5UX@%hn>1#z=td*Y$e)-Xmj#9epY!uR;pcyjP&3g!7#oGzvOG)m z;F^KXwrOhV+gP<3dTX_JYIV&Q^rJ?&wwy5E?E&5O_sn9iiD%B26uP1S=z-7QH1uX+(v(Sqk zCV#Rc6}skTbz*n54rxdK74uM&Ww6N0ymDh@uML9`J!)55)xqtt5s(9yN z;r>zuxd{0C(e0qiTpufA8DLA%!Qiu@t(YKe?ja1D6WpDrp1d$N}AK+6bg7(IxC^+xvC(_Nwj z(PoV4s7>A+&1c!T(33{G7Djw9Q56GWdd83#%k2@=P-F-JQm5g>5U}Ik%(O)HR4JtT zx)h3;nAY#t>&7TAy+&Jwb-p`o9&m55OmSDyl1zLf0c5is)}>pHRSDnM`!hH0(czV~ zHju&Ug{()YIgAcO60HyBF7~9eM4?o#p+LrB8Q~D%P5?6VI~fDS&REnwkT6_tf&$=+ zrJThuUtFWo{2o~3kdaGsJ`Hm~SVy^nU}x6vIVsWQnIe{wo~F4TC&3KtOWDf8P!WT? zFG9ph57xP&~3jfexEQx1;^x{vIf2nAs&o zBPG{IISj~HoPzw0`TBXDIdj5WB#43Ryppr9`GJ0C!Be8pSk+K%3O@s0gO#8y;zjTp zs$CX=M8}88od8Ifaguwp!<6XkCGsT1j&AqR}$cZ9_9~hSx=w9_w;*S3_?s`op~HupXdTcbq+riDxWYi zq?V8~+$DVR`EPj{M2yio!a{sx6a+-Mov1lC*b zJ!u`@Y##;Of%TnRle@PW)n~B|0qgEjU0}MH);}55C0G}jE?^x@{{ZXLpHAy9f1KmI z5@(*X?LO}oUUA+Ed`A!S{BUXWVDZW8r6>DK>w9xEb5pmAW_ye0`b(DYRXmyL`u#KhZKe^@SSEW zYHV|IF$PQhDpVU%WQcXZYNR$quP3g7oJsEhUlB=$P!~~ftUM|uNlt_aH}dmcw&@NE zGmZUq`a73&9aTocCK0#Ttj3(2^y1>|3m0-LD{{+9bLy&d51zKX-M)#9es8{Jbs!h> zYKlo=PYgm~O**4qF9!g?O%|SjyG|Pm4Ps9U%W-b8t9_eDcyGB ztvPR^2V?m`rHG;=J(z%a4q6%@UJx~+omDh_8-=2#+8J`QLeWx6u9*(mCCdX|6;}nA zC1-MUakeTqO%Ae~Ov+-5pUEh1ER<8!*-#MOkT0vvjv--DqmIEcYD|pHbH-Jrhg~a> zwUsHc_}_2O%&@DFX6kjZys`b4)XV+AWj0~-h!OGqt_>9kj=sr6PdDQvi3LuJT&Iq% zE77y+#1VF@F6q0u5~ATrXC&K%gm=~(C^(Vm$U;s5?ubt?vbLAYhw8Q5H_UWchwF79 z``|^@gGSxNbt50d%7A7Gp(+s12+vJMca63(Q`UP)OI;sfWEXQ|X}Y*ksX|Cz=?Lwt zRNk!SQ!?sUX}Bh-V&t0XN?uI0D}3Ze@@%(*cz23b0e5!h6YaJPQz%X-ocbYw9zg*J z6TJih=yw(oH~21#4x~KmVS7qziF~vvi58u@A`Q6?T~*w%nQ_T3_N6}>5*@shMB-LM zKE!`V^q_mw6x`!$EqT-jahIHv5=p^csWX}dwTM)c1u5ha_|6a@k_bfTn^+@9(u;&0 ziK-^H%B+`9V;VwiBQ@WOO({>B@*{6nsT_Ktccf?BX(59%RHN|o^%lX9LINv81}>_o zVcQereiFEQv9*$gqn!vK1YF{X#a@EH0yiB)8jZF2@AxMig((VE}Yi z{|M_4>mR1|PhoxQ$Ju{`>*pS8-$Nygx`3*xV}3xHayvde=i@1 zUmPe~d)OuL{n^j+yBptEcYhS;TX9yt{b_~AU2#6adNI`h0`4K}CAbIi1?d0sa3$dO z;{6dk&pU7*^cVU|RQ7KDr4)()gU|N0`Ocg@vq;BQR7Y4Qc?>H2z1VN1M5)mGaV^o z*UgNUcWU*uB`HW^TrR8KW=u;HM0{Ck_BWOJK>UTW-1^%5KRs>!^Y%@Wff3b!(N9K; zF+kmuSjtp$91T!i&6Eq;pf}zcJx4~GMn~-Xj+md7#vXqIMm?V9i$)Ipr71UYO7sXF@q)_E? ztz1h0FKA^*lqVV39Lj+PmoWfi)Zk@0%B^F~0>?=ZqE(dvIo})z1u=R}kAoCsoa#)O zqMNiM^r|sn zCf28SubQuwY1=APEZc9^>f5WdGdJz*Ct%*;@wxJSzbba);QQ8S4i`4`Gc%pG%FHOV zE|`z#ipsXdU@yQ`i@iWW!vP&tfuel{LjVokf-8^mkQz-zCOax7P7H~UBC}Uy?Gk2C zX2+p=j@L|rCR975mdBZ6^m5>GU|?sWNBf9@6HZ1I7l3OiG6a1K(o&I|NM``|DB(dT zJUzttjG>7U*!P@3@Iaqq5;K0B5CROt+)v;f4h|4Ks5Cc4g<*(2OPrA`0#QvME~Eg@ zFNyAAa)+Zw`;?>&q%@T|9g>|mNi_8oiQqM5llk=*zhR9j5`*!$2A>dIP6x+1Q2$>_6b;M_i8ORk{q{Hig9uEtJzT5MiGuGO$fD00Z_i!rS!}wq z)Y!8q#`e2wErT0v60&!VZL>JNHMQ3>y?2LceSUvH;?|{o>EXRc60$={1M8fpZ$FYS zVqpKkt-E;`iC!15{vO$-vHio${?o#?`+UTAo(Qx>@3^!j;X5o1^ZUjg5I;A!GIbMt zFIv1?_IRx3+m)8p=O6L?%?Esc_W|F3TK)DHM}qsG{t?`R_>lEKA1*fTKYqCCxL@A8 z`E3d4C6pIyVQG+umuK0)_7!~ZMF}dFuA8>ZBCSEM#=A>8gUOKUw3G3W;((8G`g2*!#b{--d%w=UN4a@qx41hkVAj@>E(sHlGxk%+V8G!>? z=)PfW&{WXjw>4h;44@w^g42MlCi>=XLoz7eUvDDv?Di$&we!kvG9sN0eMX9kpkOE< zyN#X@j(~fs(B6C);RXLL$QeMHBGATCJ+!{?)4Ie?7@+5`fXkfXEG;N+F(;T!>}G}7 zMi`)UXeebIsFGM&2=&}NVS!wl7S?h;?#?9xanm$^aic)76c9g9tD@SwzfMO72r~A2 zwAwZ$lUmbOsYPCixPzlp%gn5HY1`o1lPF&sEZ}Zt{&wo?#R|QG;oXC-36n9-sF#0} z6*JbFOqw}t%+hW9(rw#llL1^Vv4=(nouHA9QM%9;-d|@JYOqXoII&{&UP*G8xx6FqC>829J zjSH&kteA!(1#PP<4DW+k++LuXg$NS;Esrn19H%!tp9|Zwho!_J#D*NN$%~7RIF00= zH$f@$hiSnojP@KoC?!q&%ET3rehkII49<=hQHqd?O3naY8wX@hR{IUtYxui-D#Z|D zH-!iJof2CppQG`@iOL4@oJ#Hs{i2EYkB{|5wGt6b0)ZzHzN|g@Cd}*zQGi0IbALoE zLg{#lkr_yZz2W;n(fIk|NvGW7NRU6q)YBk4_#TZViXE@qD>5dU+vNbyug(f$M1(TJ zv?MBhjp_i{7@~$nR&c0?=b5hoVo+72*07}I2ccOEU|v4SFD^<4BhP^89;d$y2{=J_ z2X_Ws9%vK+*?ActJ9!3(>p5hc5sh%{$nV`WJ>QnYrG>CxR=(^}IpWsg%;&%RwTLtj z=U@MsXc|(+7}&r162Z*BdYwDM4FqGmgzUV@Cqx-x@JW8(&#v{%U+Z0L>RY;wZD(-3 z?cS62k>_1wTip{V9mUpEAp6{FH?j{(^!j^b7h6*|vj0r4Km25C`f+jk9^BnyyTryw zgv?L#+wafcFUXRL&TSSvz*ZALPYxx;grsg6$k$9% z$)W_SNX<||s(h>|X}Zn2d^?T04{{3z>yvVGfORXu@pL~)`ba^+mzCvKmghs!6c#!W z#b2y+?W{CW;q;$B4F6@j^W{{<_Dtn8n)h27BR8z2S*i?c91zJdCB=jCc2VB}k|qN5 z9ORFzWW_qvg7DE;m}P3Lu=F;huxMrAg$jW1-5Ab!f#YVX^!d1Gtt0UUlpky~4>aPa zvf%#jsM1ws#$3*mH>$~(#wcdzIXj8|tybyR5@iWP+^!Bv@2H_8&SQrNpjBbp=<$DmW_G_m}Zssh8- z10+e=C}Fn73!BO{)w#0Pl32i(nVsl2a?R)h9BxjoFOJ9A53EbWsfZXet9<3ogdRu_c8W}sdV6MYBq;??BIw&aJc$-^jZT1>OF zZS)Tke6GP38qSdc)34g!31nPhUQWvDwuq#}LX z*q0E<->yoyS*fHe=2n%GUzx@$?7>C0utHlH*<|F_5%55z`{w<8{ITp#aku`kc@DmCr9(j;Uj1YK_3`x;n58w=@4DY zN&1ffWw1Ur9HQpLREu$-!3aeIQNuOB4|c^H9{DtWC4}vIRe)9*V9zzccAHe|foNbiV=|4^AbW`a36`kH+oh;Qwz4O{KK?F4ZcN14X!75~MJT*V zPJpE^?H~TWr@YS)*ekmCe9nGF&J5Qi*dZ<|a5CI35Xp<~kliMs?T{fb;}9&sI^YiT z1M8g-Yw)3&}2wtWpcBP|yb)M`4MJ6+Zoo&qbpMYg^PW zBJ$S*!d<{R;Epi=$XCBcCnM_jD1nkP;@x2e$Scv&AIEch=5yG2*ck2}qC>^1fN~EM z_gqdsyV1AQ(!bPlceQPBz5U*kt`YLnw{A_iGhz1nW>5;gm&CYbj-L=RLK5>!p8Xeu z%qJVvUySV%;r`S7tN(xa{)-X*_0r=#P=2uU>R?mG)a~NOW0%DI&Sv%fe)S*YJIMa` z=Oga_{6sK0KcD5@pZ@+V?f&#ZmLtY_!P~qP;-62s8cbX6085Fh*=g>ZPt7h)vWm0@ z17T|^X2I2DI7m6BH%&ScC`FWH;Wn8$BUnz$7+~T5)>?~r!Y(RW&w!OQh zaF(j>o{Ksx zV{leut&Y-+SoD;-_z*=*0Lspbg_@f+S~4dl+6Y(Rl9}35qe22Z+GL?Cb+U~JX!Cem zGG&dE9adPKrt`6FWeRqxHl2TZQgGKd2}6wp4;UXb8}D2(6lTO_TBFFWAtwM#CqS4( z2v@4!9|UhHR&-S;doLS%zEKR+8yVYS`E`mQeF8~sfo)~67^C>T*f4XR4Cit&+np_Y zyVXoF6RqgGlg0aMm)a|o>gcmE!N;S5j>#i{wzDyzIE10s#rhP>E+P=Zjae^aiv@rH zcYr%e>Rc6^j3~D|B_6?};8PuyN{x)~AovZg1h{$QqnOz}jcSCCfkthpQ5&X^`66K? z%~80Jq*7CcV)FE3!_NTv%;^9+GkcH#_oIyPq%EE~eJsH53<+Y=8uJ*qDbXw}NIeKS z&?&r=H2&i6`ksNihk1vSp?TF8$CLNbh)@rCloy&y2pR4bpw#Kq27(!xi70@V2do*B z0aHPv2ON(heIb^`?^#_Of=;1#LV)-0+<~P6?lwzE7R_9BV6~ z0z?yYY2k(dDxXy<3U`{J_!=^VaWMVM{}iEPpga(dY=+(sM34|fjP~5V2wo@*W=4|k z1hZ*?+&=6~8 z!$^SdNFIedN!p_d$>S%?45%kf?t-nJ-I7+RpKep#J5}lNmjuXr8U%`F>2D|+!NTt? zZtM;Bc7pE{Hw#xss=j;F_DI5a9v{7W^Jx3+quqDneEXv~e}nAb{q*S5^T}s_M)?n8 z{>t7@Kc8=ZT6P}^^aaXGv;6x(-p$o8$h()W>xUS)5X*z_cO%pcozce}3#t2VJ zkDY{{Oo!B<;viQUa)#{5^bA_g33Q_&%j(KZb00FxSh`v)lw0A2H7k`dQDNs=O5-7O zQO?n8O#K4ti^@Wa-462(iD9J}g!!`mI9!v0;9{J zhb!o;NML(;t-{<>s~KrY8Sij%4{@hP*Ia3Ct1(Zs+wn=V-^2a`djm&LLle3kVr^Q= zRo$12O!0(PGSoBC_gqe5pzf-(lA2JF&*BsXy)HXd<*+E7HX+l@NEfkXq}({u$R*YZ zvn%Z)$!fcV^;{V2rYPVZ&^INqm_l@VqoFw53c*#O7!#odwEd6E)vT zi!rV&C8*36T%HB4M$E zHA>vd9#y%qWS>1@t3ki+fD>ct@*T(64MaOy{K<4134*>e;zJ_@3YemuA znxIcFOpUl(t8BTDU{qm)@r(%eHY9|0SE*U&F7{+T9%6FOU%#8lZQ`@h{KKb>Z=PR+ zmf4*uV!yg}zbMTRoFESt#dQHkVVs%DBm9rj=0Razc<|X^pCi$5!BEV?_H~SPAA`9( z^c0cHfIC}Oz#SB0poZLl)*u_w>)c6+`xdMSY`ZR=NJt@mHS5F8h6uW+PoMn!$d|u5 zb@Vr2D{1U#2mQ`{DZXul2gnYXa`28ap)kW$nD8I z5Q_UaU$+g4YX&JU+ysE{VZmo)kzUds6_JcLgbYY}>}z+fz`wd93L;1u68KKG4D9(= z5y8jB@E&zm6+=3L7fP7-wkc7xeF75}*AmRkc-#`AJiI)PP{4$o@#`EQhFRcMcxuAVe z^vZtLe66LWW3at{v1@qa=E##DNoJy~Whymh-q#dWy z+WSNSl!EV7?LtKOcG7KD`mk1=k=CjbzDqKd_e)EG^@4o=<&k7F(q>iiC5b=2e6OMr z{ES;Di4cBv?qPS)TwmGhXzi=T=I=LdKH55X^!z~J`%4MmcO-n@b>sWb5Wn`_Pk(=Y zhWq~->wiZ1y`NG3;~@VJxSFSL-079Wq*pHNA*#VD1y@sC-DG!VC)-Hkw5DgKWn?=6 zcTr_73UAZczVc{yScrSe%wp-9!BEfk)#ajM)&glmj6Q?BMkPzuMG+J=-{n|Evexff z>(9LYO>z>Qc~(7rAmr5m@nsiss;Y`g%d)BMPEWTIGMtrV&&y3E6bz+JRk`c!&dtB> z-TwFQ``)~0qd|LPgxZ~aVocWW<)M^^QfJvHu)Z;gf{1ZyecJ4_K#a9odoStey_>(C z&e{z%-a?OSr9XS6KZhr9zHIjTnw;&mc1%FnYS8CBxtG5+S^9E{ZWcPY%U(PzL260m zW><}lL4K?~4SWad?_N#5M|gcx%FS9sQ)xm~c4UPs;?`x9IcAWZ-7jQ46TNUkN$MIT zm9$5J?{G)pFZ)>ZHb6W?yny&b=57h!4KlkarY19@uU0TKL=+%lgeA8n#g?Q-ev=+n zo)!kh0k~hvi7t1Bl{>>>W*{hPb7dyIEXAzk#>s9q@Hcq^#IqG3-m9tHNOAzb0uf#H z7mWC3jR^q=F;kPmQ}p!tMUrdArW8p@ZmO)dNX6=M=4LwSVB;NWwI!yK?8M7urtx+s zZA6=+c!tUOBI^w|6ZLqczZoIc$J+(0BZgs?U$`wKk1+M!wVHgVve+KlTuflHqQDlK zrf1xaBUx;`&3eDdSe~aU$&SxXjUg`{g(8Hz`w+8^>;!x%vWMkZLNm?5Sqb<@^p zfr3Kw{9Gn+^2HFnFqosM$4V+fDe~>QAB{DQ-r~{BnFu@eg-94e(y6U&^40(MTCGTcp_7b=rI@}|8pc(B9ugx zPZG{oAUl0hQ1g5NdsGyVKsvXxePF*^LBynfIIPd1l7@tpq6`M8sL1^ zSghq-Ezverq~B<4Xz!Wm9oy=C__A+u=gz~I{nI-Gv%4bMQG`3b9+FTV*b)%Gdho!F z^6QdXe1p8kH_r#sW=#>z}% zkVh2HEYG6=`m8jVceFIwq5>Cu&&ZKt<>~E9&q%S7Za}OJNzOV&WsZ8WJ8kn`&ens1 z@1{#Hmzs2XWm1xc_;_oI!Qn9Da;mH>EGl#n2S!5(5D(}>(*yTn#?MG8DRQjeFMa!} z{jcA4|M^855dwdDEMmVX0Qq*V>eXb)#=YFf_qZ|7rTUdz8e}tY>pafi&Jev2H&U>? zGvYlRF5(d!U+T?*?IH1IZ>|#EBuV08%h#GheIOSJrpx&rE(s!<4@P(`001BWNkliY13UPv)#6_8^X0j^3Ow(!URi`M&i)D=H%L9y;aY}iR5AL z*3wusMa?A&SBipo_q+9m``1h`<~OU`fyw0Bk^$zf?PuJG2b*H7+M^kAP8B;X;t^ zal*?}pg9{<4m(T^1UG~@6b)>Q7~6dX0Rm`}(#$AL3ZpyJ1-6IfEo%vrHc$~mqPBvZ<$nMH{t(K1MkXp}`ngjJ2h z6%qgTXID#fR|+(j3)J<6n))JbU4fd@RDZdnccN!(vwv!5U|Qh&z|^*Yc!BbJ_ZCG* z((v;B{gwSuQ2vqd`j3I~?tri-hZ4$T8j^rsqz(wwo8`PWsfs56{l`Ck0{U-%_OD77 zR^eimTuvCBaIwO_FD$Lk^_Q)V)NV}H@2+<2Y|aRLM4<=0iK`hxSA)})82V|JuA8N`%~=IS&P+hvW>2%F ziPlyD@tN7wny0!a_rju_y!^~OsY?s?#+8Zu(VmuO!Nf#Wsa74k)a#^Z?e%=={%Tcg zolQ*`8IkdX4J3)45Gb0GQigX2?@Tl?bK-C_amN<2j`>!dRl2Js$}0tOgd8`@Gq8ROC|u`us6j~8dc(Z_-K1(tw|S>ZLA;kl-OG>x}Y>jU9llNDX* zip)(4P)D3J$j)TwNjM1t-?0MVq$OJjK8HI4EH=0(OI?co%O-L$UyS8Vv|Ec^iXxYy zG)GlaY^W+Sl(-Tq@^u7w(RxZRF6(Q`K;~{`@`Uye?qI&1D|<<;)nWxv^3TT@-d*f1 zh!dFVsVGX5mD++?ka7j3 zft@EbfGcAOZxM~*(GdY5fnFrmk!U8JlSJa!5`(xK>!{X|mQ3GMQ*KyijV>v{&#Vq8 zw1kAq9$K%)deI(!BhJz59a>x{My?WWbc&kP8J@lR#4w)GN{-UOTln> z%H%`>5VjTUhx1d4L=Qd_6+wY&P-H|PB6nnw?3T5$=LoDvJ_J`o0Dv|j9K0h>22MP{ zTXatY)}bLju~FVo?SMN@R07;7!&5~I9VD7g{8`W}f`p;BOKe$Bf$Z#25kaz9<+BJt z{k(u(;YwwSXXlA-l_jSl%8RUEE`HABaJw;-+z6_>Vq-(8sP#I{R`x5TG6-^z<){?_ z%2+?8oD&!n5=>+bJv>1C5wQprI(J5FzAaLEXc-Q&dM;)G?>$OVmVl2iMo|`M(gYxN zC7Yfb1&f}Lh5*mAEK7gSLKRMi4Xtz|@;gZ`c?5+!I|JT_BVYcSbTDRit^wrL5J^V( zuyDX0{R3J|6g%8x@MRL?FA7%~+c|D4FN6&57(z_3^5q1c{_Ik|sx~*FCP!JDr>e_S z@yH)9=5m9qs>;^XmSi+vYwqr!yfe1(9^dEohKOXD+Z|fi8L<33Ez-(-U+yuLS{aE(p0^-*=KSTTnxc~ncq?^4{2I|xBc@e&=6#7H!aaMQ!3v455bhrOQ3?UsT0{L)IM_>@#DiTP<6sRZsr z+Q8N17G%N96clCW=V#{RrSn{Jx`8|@Lg|6 zFr%t8s;pK$(|UGJTAI^B$)9_E2j6q(W6BiG-5Kdt=o*Nc>})%Xd}mYscWcf6vETRO z?#=&mIQYL027cV@di$#FhiA>ZGjt*r5hs8N9z)Z?`sKGT+y3;VX^Tmp!sY3To$2zI zQxsnmfG@9zGaD(I@5!LV?#;6%c8}lBm#+>NJ8bxpj3OZ3l|nAW{}YMBE2p_(G=1_dK7iD$mzd7wfN-o2PE3V}N=(oQsT-+)7rd z1RN$M#+VbM%d!$EK4b}jc8D|9mO6Odv2Z5~<1U!~dbyIGqi<*FsxH|W%v`*kMkM3} zRf4Tj6lg1%Km69@0i+_XZ?9C^^?@+9tPp+AenF18F4nW9D5|wsmSYZX$dAJP#6Fe; z0;H3vW@4fu6BHDdB0mqOHa3j;oy{Bg9^o4m?!&-Nf^pZyM3*UqlbsaMRT86%Jtqq} ziQJyj59IUEL~KpCse&bs3HOc(M-=Ew@XouJt%r{S*yOEUBJEp9AY+c}p7~)VWq6lH-ua0PalpM7P7k0Juot zMVw@`P_V%IP{Jj$D#0pIy6Xdf|5p{b9T`Qkr<9g2zc zB~C&5pnqJ9HzW_V4B(EaM#TF23R=d;gOGzGK|W$_D~|6`CTL9@YYbm^

u}Al_jP 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 icSOYUt^9dhFg@H%3Vc|FZpFA`L{E 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

K^Xv>02Et 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 T_dHg*00000NkvXXu0mjfSFP%l literal 0 HcmV?d00001 diff --git a/docs/evidence/native-2026-09-19-052932/error.log.txt b/docs/evidence/native-2026-09-19-052932/error.log.txt new file mode 100644 index 0000000..156e7b1 --- /dev/null +++ b/docs/evidence/native-2026-09-19-052932/error.log.txt @@ -0,0 +1,135 @@ +--------------------------------------------- +Log Z:\tmp\erri-workbench-profile\logs\logs_2026-09-19_05-29-32\error.log started at 2026-09-19 05:29:34 (2026-09-19 03:29:34 UTC) + +05:29:34.244 INIT : Workbench startup +05:29:34.244 INIT : Workbench Init Engine +05:29:34.244 RESOURCES : ResourceDB: full scan +05:29:34.244 RESOURCES : processing files... +05:29:34.244 RESOURCES (W): resource not registered: @"$profile:rereintroduced.json". Setting null GUID +05:29:34.244 RESOURCES (W): resource not registered: @"$logs:launch-source-sha256.json". Setting null GUID +05:29:34.244 RESOURCES (W): resource not registered: @"$logs:launch-source.json". Setting null GUID +05:29:38.968 INIT : Workbench Create Game +05:29:38.968 SCRIPT : Compiling Game scripts +05:29:38.968 SCRIPT (W): @"Scripts/Game/Editor/Components/EditableEntity/SCR_EditableEntityComponent.c,785": 'GetPlayerPlatformKind' is obsolete +05:29:38.968 SCRIPT (W): @"Scripts/Game/Editor/Components/EditableEntity/SCR_EditableEntityComponent.c,786": 'GetPlayerPlatformId' is obsolete +05:29:39.225 SCRIPT (W): @"Scripts/Game/ERR/ERR_SiteService.c,140": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +05:29:39.234 SCRIPT (W): @"Scripts/Game/Workshop/SCR_AddonManager.c,876": 'GetRefCount' is obsolete: Will be removed +05:29:39.264 SCRIPT (W): @"Scripts/Game/Campaign/SCR_PlayerProfileManagerComponent.c,142": 'PlayerData' is obsolete +05:29:39.367 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,159": 'GetDSSession' is obsolete +05:29:39.367 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,162": 'RoomID' is obsolete +05:29:39.367 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,197": 'GetDSSession' is obsolete +05:29:39.367 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,201": 'RoomID' is obsolete +05:29:39.460 SCRIPT (W): @"Scripts/Game/DataCollection/SCR_DataCollectorComponent.c,481": 'GetStorage' is obsolete +05:29:39.460 SCRIPT (W): @"Scripts/Game/DataCollection/SCR_DataCollectorComponent.c,483": 'GetOnlineWritePrivilege' is obsolete +05:29:39.462 SCRIPT (W): @"Scripts/Game/Utilities/SCR_PlayerIdentityUtils.c,20": 'GetPlayerIdentityId' is obsolete +05:29:39.502 SCRIPT (W): @"Scripts/Game/ERR/ERR_ExtractionService.c,45": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +05:29:39.503 SCRIPT (W): @"Scripts/Game/ERR/ERR_ExtractionService.c,56": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +05:29:39.504 SCRIPT (W): @"Scripts/Game/UI/Menu/MainMenuUI.c,643": 'GetNotifyCount' is obsolete: Will be substitued by Notification Api. +05:29:39.504 SCRIPT (W): @"Scripts/Game/UI/Menu/MainMenuUI.c,645": 'GetNotifyItem' is obsolete: Will be substitued by Notification Api. +05:29:39.529 SCRIPT (W): @"Scripts/Game/ERR/ERR_NativeTransportProbe.c,82": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +05:29:39.560 SCRIPT (W): @"Scripts/Game/DataCollection/PlayerData/SCR_PlayerData.c,210": 'PlayerData' is obsolete +05:29:48.594 WORLD : CreateEntities +05:29:48.594 ENTITY : Create entity @"ENTITY:610406" ('StaticModelEntity','Assets/Structures/Infrastructure/Towers/TransmitterTower_01/TransmitterTower_01_small.xob') at <1931.796021 81.777000 5138.725098> @"{6A004A8F0571D456}Prefabs/Structures/Infrastructure/Towers/TransmitterTower_01/TransmitterTower_01_small.et" +05:29:48.594 ENTITY : CreateComponent 'ScriptedRadioComponent' +05:29:48.594 DEFAULT (W): World doesn't contain RadioManagerEntity to support any BaseRadioComponent. +05:30:04.390 DEFAULT (W): LogiLED: Cannot initialize! (service not running or no compatible device detected) +05:30:09.027 WORLD : Game::LoadEntities +05:30:09.027 WORLD : CreateEntities +05:30:09.027 WORLD : CreateEntities +05:30:09.027 ENTITY : Create entity @"ENTITY:610406" ('StaticModelEntity','Assets/Structures/Infrastructure/Towers/TransmitterTower_01/TransmitterTower_01_small.xob') at <1931.796021 81.777000 5138.725098> @"{6A004A8F0571D456}Prefabs/Structures/Infrastructure/Towers/TransmitterTower_01/TransmitterTower_01_small.et" +05:30:09.027 ENTITY : CreateComponent 'ScriptedRadioComponent' +05:30:09.027 DEFAULT (W): World doesn't contain RadioManagerEntity to support any BaseRadioComponent. +05:30:10.402 ENTITY : Create entity @"ENTITY:842066" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1080.213013 10.776751 6018.347168> +05:30:10.402 ENTITY : CreateComponent 'Hierarchy' +05:30:10.402 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842066" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1080.213013 10.776751 6018.347168>') +05:30:10.402 ENTITY : Create entity @"ENTITY:842068" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1082.185913 10.778749 6018.331055> +05:30:10.402 ENTITY : CreateComponent 'Hierarchy' +05:30:10.402 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842068" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1082.185913 10.778749 6018.331055>') +05:30:10.402 ENTITY : Create entity @"ENTITY:842070" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1084.190918 10.790751 6018.334961> +05:30:10.402 ENTITY : CreateComponent 'Hierarchy' +05:30:10.402 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842070" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1084.190918 10.790751 6018.334961>') +05:30:10.407 ENTITY : Create entity @"ENTITY:842333" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4425.594727 9.981750 11029.402344> +05:30:10.407 ENTITY : CreateComponent 'Hierarchy' +05:30:10.407 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842333" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4425.594727 9.981750 11029.402344>') +05:30:10.407 ENTITY : Create entity @"ENTITY:842335" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4426.584473 9.983749 11031.109375> +05:30:10.407 ENTITY : CreateComponent 'Hierarchy' +05:30:10.407 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842335" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4426.584473 9.983749 11031.109375>') +05:30:10.407 ENTITY : Create entity @"ENTITY:842337" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4427.572266 9.995750 11032.853516> +05:30:10.407 ENTITY : CreateComponent 'Hierarchy' +05:30:10.407 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842337" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4427.572266 9.995750 11032.853516>') +05:30:10.412 ENTITY : Create entity @"ENTITY:842591" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.946289 10.470250 1551.986084> +05:30:10.412 ENTITY : CreateComponent 'Hierarchy' +05:30:10.412 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842591" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.946289 10.470250 1551.986084>') +05:30:10.412 ENTITY : Create entity @"ENTITY:842593" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.430664 10.472250 1550.081421> +05:30:10.412 ENTITY : CreateComponent 'Hierarchy' +05:30:10.412 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842593" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.430664 10.472250 1550.081421>') +05:30:10.412 ENTITY : Create entity @"ENTITY:842595" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10008.926758 10.484250 1548.140869> +05:30:10.412 ENTITY : CreateComponent 'Hierarchy' +05:30:10.412 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842595" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10008.926758 10.484250 1548.140869>') +05:30:15.477 ENTITY : Create entity @"ENTITY:2305843009213693956" ('Factions', SCR_FactionManager) at <0.000000 0.000000 0.000000> @"{589540B35EBA8CDC}Prefabs/MP/Managers/Factions/FactionManager_USxUSSR.et" +05:30:15.477 RESOURCES : GetResourceObject @"{5168FEA3054D6D15}Prefabs/Vehicles/Wheeled/M151A2/M151A2_M2HB_MERDC.et" +05:30:15.477 WORLD : Entity prefab load @"{5168FEA3054D6D15}Prefabs/Vehicles/Wheeled/M151A2/M151A2_M2HB_MERDC.et" +05:30:15.477 RESOURCES : GetResourceObject @"{F6B23D17D5067C11}Prefabs/Vehicles/Wheeled/M151A2/M151A2_M2HB.et" +05:30:15.477 WORLD : Entity prefab load @"{F6B23D17D5067C11}Prefabs/Vehicles/Wheeled/M151A2/M151A2_M2HB.et" +05:30:15.477 RESOURCES : GetResourceObject @"{F649585ABB3706C4}Prefabs/Vehicles/Wheeled/M151A2/M151A2.et" +05:30:15.477 WORLD : Entity prefab load @"{F649585ABB3706C4}Prefabs/Vehicles/Wheeled/M151A2/M151A2.et" +05:30:15.477 WORLD (E): Unknown keyword/data 'SlidingTrackMaterial' at offset 19441(0x4bf1) +05:30:15.520 RESOURCES : GetResourceObject @"{F7B9B434FCFF00B3}Prefabs/Vehicles/Wheeled/Conflict_Variants/BRDM2_Conflict.et" +05:30:15.520 WORLD : Entity prefab load @"{F7B9B434FCFF00B3}Prefabs/Vehicles/Wheeled/Conflict_Variants/BRDM2_Conflict.et" +05:30:15.520 RESOURCES : GetResourceObject @"{254289B9C09904AB}Prefabs/Vehicles/Wheeled/BRDM2/BRDM2.et" +05:30:15.520 WORLD : Entity prefab load @"{254289B9C09904AB}Prefabs/Vehicles/Wheeled/BRDM2/BRDM2.et" +05:30:15.521 RESOURCES : GetResourceObject @"{532B5F3CF8496E59}Prefabs/Vehicles/Wheeled/BRDM2/BRDM2_base.et" +05:30:15.521 WORLD : Entity prefab load @"{532B5F3CF8496E59}Prefabs/Vehicles/Wheeled/BRDM2/BRDM2_base.et" +05:30:15.521 WORLD (E): Unknown keyword/data 'Parent' at offset 35955(0x8c73) +05:30:15.521 WORLD (E): Unknown keyword/data 'Parent' at offset 36915(0x9033) +05:30:15.522 RESOURCES : GetResourceObject @"{BD75A18920BD1278}Prefabs/Vehicles/Wheeled/Conflict_Variants/BTR70_Conflict.et" +05:30:15.522 WORLD : Entity prefab load @"{BD75A18920BD1278}Prefabs/Vehicles/Wheeled/Conflict_Variants/BTR70_Conflict.et" +05:30:15.522 RESOURCES : GetResourceObject @"{C012BB3488BEA0C2}Prefabs/Vehicles/Wheeled/BTR70/BTR70.et" +05:30:15.522 WORLD : Entity prefab load @"{C012BB3488BEA0C2}Prefabs/Vehicles/Wheeled/BTR70/BTR70.et" +05:30:15.522 RESOURCES : GetResourceObject @"{1C5FE7B7FF49BB8D}Prefabs/Vehicles/Wheeled/BTR70/BTR70_Base.et" +05:30:15.522 WORLD : Entity prefab load @"{1C5FE7B7FF49BB8D}Prefabs/Vehicles/Wheeled/BTR70/BTR70_Base.et" +05:30:15.522 WORLD (E): Unknown keyword/data 'Parent' at offset 42646(0xa696) +05:30:15.522 WORLD (E): Unknown keyword/data 'Parent' at offset 43645(0xaa7d) +05:30:15.522 WORLD (E): Unknown keyword/data 'Parent' at offset 44617(0xae49) +05:30:15.522 WORLD (E): Unknown keyword/data 'Parent' at offset 45590(0xb216) +05:30:17.805 WORLD : InitEntities 'world' +05:30:17.805 ENTITY : Init entity @"ENTITY:2305843009213693953" ('Rereintroduced', ERR_GameMode) at <1076.468018 51.000999 1325.246948> @"{978E045E53EF36C8}Prefabs/ERR/GameMode.et" +05:30:17.805 SCRIPT (W): SCR_PerceivedFactionManagerComponent trying to set fall back faction 'CIV' but this faction could not be found so it is null instead. +05:30:18.296 ENTITY : SpawnEntityPrefab @"{225E51284CC95CFA}Prefabs/Characters/Core/DefaultPlayerControllerMP.et" +05:30:18.297 ENTITY : Create entity @"ENTITY:4611686018427388381" ('SCR_PlayerController') at <0.000000 0.000000 0.000000> +05:30:18.297 ENTITY : EntityPrefabUse @"{225E51284CC95CFA}Prefabs/Characters/Core/DefaultPlayerControllerMP.et" +05:30:18.297 SCRIPT (W): Notification data in 'SCR_NotificationsLogDisplay' has duplicate notification info key: 'EDITOR_PERCEIVED_FACTION_PUNISHMENT_KILLING_SET'. There should only be one of each key! +05:30:18.297 SCRIPT (W): Notification data in 'SCR_NotificationsLogDisplay' has duplicate notification info key: 'EDITOR_PERCEIVED_FACTION_TYPE_DISABLED'. There should only be one of each key! +05:30:18.299 SCRIPT (W): Can't open config file "" +05:30:18.307 WORLD : InitEntities 'world' +05:30:18.307 ENTITY : Init entity @"ENTITY:4611686018427388381" ('SCR_PlayerController') at <0.000000 0.000000 0.000000> @"{225E51284CC95CFA}Prefabs/Characters/Core/DefaultPlayerControllerMP.et" +05:30:18.307 GUI : WidgetManager: CrateWidgets @"{3C9DCDD76AB83157}UI/layouts/HUD/HUDLayouts/HUDManager_Root.layout" +05:30:18.308 SCRIPT (W): Slot_WeaponInfo Has no Content! +05:30:18.308 SCRIPT (W): Slot_Chat Has no Content! +05:30:18.308 SCRIPT (W): Slot_VON Has no Content! +05:30:18.308 SCRIPT (W): Slot_AvailableActions Has no Content! +05:30:18.308 SCRIPT (W): Slot_Vehicle Has no Content! +05:30:18.308 SCRIPT (W): Slot_GameVersion Has no Content! +05:30:18.308 SCRIPT (W): Slot_Notifications Has no Content! +05:30:18.309 SCRIPT (W): Slot_Hints Has no Content! +05:30:18.323 SCRIPT (W): Ban Settings could not be loaded from BE Storage: Relying on default config +05:30:18.585 WORLD : UpdateEntities +05:30:18.585 WORLD : PostFrame +05:30:18.585 GUI : WidgetManager: CrateWidgets @"{D89BBA18F99053D6}UI/layouts/HUD/Chat/ChatHud.layout" +05:30:18.585 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +05:30:18.637 RESOURCES : GetResourceObject @"{20A6917D2114E29A}UI/layouts/HUD/Hint/HintInfoDisplay.layout" +05:30:18.637 GUI : Layout load @"{20A6917D2114E29A}UI/layouts/HUD/Hint/HintInfoDisplay.layout" +05:30:18.637 GUI : Widget prefab @"{EA1CC57D868E94F9}UI/layouts/HUD/Hint/Hint.layout" +05:30:18.637 GUI (W): Overridden prefab member (GUID: '{661AB14E0F471C66}' type: ButtonWidgetClass) no longer exists in prefab +05:30:51.964 GUI : WidgetManager: CrateWidgets @"{144919871D65F121}UI/layouts/HUD/GameOver/EndScreen/EndScreen.layout" +05:30:51.965 SCRIPT (W): Slot_Chat Has no Content! +05:30:51.965 SCRIPT (W): Slot_VON Has no Content! +05:30:51.965 SCRIPT (W): Slot_GameVersion Has no Content! +05:30:51.965 SCRIPT (W): Slot_Notifications Has no Content! +05:30:53.999 SCRIPT (W): SCR_ScriptedWidgetComponent.GetComponent: widget not found: SCR_InputButtonComponent Back +05:30:54.000 SCRIPT (W): SCR_ScriptedWidgetComponent.GetComponent: widget not found: SCR_InputButtonComponent ChatButton +05:30:54.004 GUI : WidgetManager: CrateWidgets @"{144919871D65F121}UI/layouts/HUD/GameOver/EndScreen/EndScreen.layout" +05:30:54.004 SCRIPT (W): Slot_Chat Has no Content! +05:30:54.004 SCRIPT (W): Slot_VON Has no Content! +05:30:54.004 SCRIPT (W): Slot_GameVersion Has no Content! +05:30:54.004 SCRIPT (W): Slot_Notifications Has no Content! diff --git a/docs/evidence/native-2026-09-19-052932/headless-launch.log.txt b/docs/evidence/native-2026-09-19-052932/headless-launch.log.txt new file mode 100644 index 0000000..3537998 --- /dev/null +++ b/docs/evidence/native-2026-09-19-052932/headless-launch.log.txt @@ -0,0 +1,150 @@ +[gamescope] [Info] console: gamescope version 3.16.28 (gcc 16.2.1) +No CAP_SYS_NICE, falling back to regular-priority compute and threads. +Performance will be affected. +[gamescope] [Info] scriptmgr: Loading scripts from: '/usr/share/gamescope/scripts' +[gamescope] [Info] scriptmgr: Loading scripts from: '/usr/share/gamescope/scripts/00-gamescope' +[gamescope] [Info] scriptmgr: Loading scripts from: '/usr/share/gamescope/scripts/00-gamescope/common' +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/common/inspect.lua' (id: 0) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/common/modegen.lua' (id: 1) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/common/util.lua' (id: 2) +[gamescope] [Info] scriptmgr: Loading scripts from: '/usr/share/gamescope/scripts/00-gamescope/displays' +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/asus.rogally.lcd.lua' (id: 3) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/deckhd.steamdeck.deckhd-lcd.lua' (id: 4) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/gpd.win4.lcd.lua' (id: 5) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/lenovo.legiongo.lcd.lua' (id: 6) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/lenovo.legiongos.lcd.lua' (id: 7) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/onexplayer.f1.oled.lua' (id: 8) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/valve.steamdeck.lcd.lua' (id: 9) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/valve.steamdeck.oled.lua' (id: 10) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/zotac.zone.oled.lua' (id: 11) +[gamescope] [Info] scriptmgr: Loading scripts from: '/etc/gamescope/scripts' +[gamescope] [Warn] scriptmgr: Directory '/etc/gamescope/scripts' does not exist +[gamescope] [Info] scriptmgr: Loading scripts from: '/home/jakub/.config/gamescope/scripts' +[gamescope] [Warn] scriptmgr: Directory '/home/jakub/.config/gamescope/scripts' does not exist +[gamescope] [Info] vulkan: selecting physical device 'AMD Radeon RX 6950 XT (RADV NAVI21)': queue family 1 (general queue family 0) +[gamescope] [Info] vulkan: physical device supports DRM format modifiers +[gamescope] [Info] wlserver: [backend/headless/backend.c:60] Creating headless backend +[gamescope] [Info] vulkan: supported DRM formats for sampling usage: +[gamescope] [Info] vulkan: AR24 (0x34325241) +[gamescope] [Info] vulkan: XR24 (0x34325258) +[gamescope] [Info] vulkan: AB24 (0x34324241) +[gamescope] [Info] vulkan: XB24 (0x34324258) +[gamescope] [Info] vulkan: RG16 (0x36314752) +[gamescope] [Info] vulkan: NV12 (0x3231564E) +[gamescope] [Info] vulkan: AB4H (0x48344241) +[gamescope] [Info] vulkan: XB4H (0x48344258) +[gamescope] [Info] vulkan: AB48 (0x38344241) +[gamescope] [Info] vulkan: XB48 (0x38344258) +[gamescope] [Info] vulkan: AB30 (0x30334241) +[gamescope] [Info] vulkan: XB30 (0x30334258) +[gamescope] [Info] vulkan: AR30 (0x30335241) +[gamescope] [Info] vulkan: XR30 (0x30335258) +[gamescope] [Info] wlserver: Using explicit sync when available +[gamescope] [Info] wlserver: Running compositor on wayland display 'gamescope-0' +[gamescope] [Info] wlserver: [backend/headless/backend.c:17] Starting headless backend +[gamescope] [Info] wlserver: Successfully initialized libei for input emulation! +[gamescope] [Error] wlserver: [xwayland/sockets.c:47] Failed to bind socket @/tmp/.X11-unix/X0: Address already in use +[gamescope] [Info] wlserver: [xwayland/server.c:108] Starting Xwayland on :2 +The XKEYBOARD keymap compiler (xkbcomp) reports: +> Warning: Multiple symbols for level 1/group 1 on key +> Using F23, ignoring XF86TouchpadOff +> Warning: Symbol map for key redefined +> Using last definition for conflicting fields +> Warning: Symbol map for key redefined +> Using last definition for conflicting fields +> Warning: Could not resolve keysym XF86ElectronicPrivacyScreenOn +> Warning: Could not resolve keysym XF86ElectronicPrivacyScreenOff +> Warning: Could not resolve keysym XF86ActionOnSelection +> Warning: Could not resolve keysym XF86ContextualInsert +> Warning: Could not resolve keysym XF86ContextualQuery +Errors from xkbcomp are not fatal to the X server +[gamescope] [Info] pipewire: stream state changed: connecting +[gamescope] [Info] pipewire: stream state changed: paused +[gamescope] [Info] pipewire: stream available on node ID: 101 +[gamescope] [Info] vblank: Using timerfd. +fsync: up and running. +[Gamescope WSI] No application info given. +[Gamescope WSI] Executable name: explorer.exe +ATTENTION: default value of option vk_wsi_force_swapchain_to_current_extent overridden by environment. +[Gamescope WSI] Application info: + pApplicationName: xalia.exe + applicationVersion: 0 + pEngineName: DXVK + engineVersion: 12587008 + apiVersion: 4206592 +[Gamescope WSI] Executable name: xalia.exe +ATTENTION: default value of option vk_wsi_force_swapchain_to_current_extent overridden by environment. +[Gamescope WSI] No application info given. +[Gamescope WSI] Application info: + pApplicationName: ArmaReforgerWorkbenchSteamDiag.exe + applicationVersion: 1 + pEngineName: DXVK + engineVersion: 12587008 + apiVersion: 4206592 +[Gamescope WSI] Executable name: ArmaReforgerWorkbenchSteamDiag.exe +ATTENTION: default value of option vk_wsi_force_swapchain_to_current_extent overridden by environment. +[Gamescope WSI] No application info given. +The XKEYBOARD keymap compiler (xkbcomp) reports: +> Warning: Unsupported maximum keycode 709, clipping. +> X11 cannot support keycodes above 255. +> Warning: Virtual modifier Hyper multiply defined +> Using 0, ignoring 0 +> Warning: Virtual modifier ScrollLock multiply defined +> Using 0, ignoring 0 +Errors from xkbcomp are not fatal to the X server +ATTENTION: default value of option vk_wsi_force_swapchain_to_current_extent overridden by environment. +[Gamescope WSI] Application info: + pApplicationName: ArmaReforgerWorkbenchSteamDiag.exe + applicationVersion: 0 + pEngineName: DXVK + engineVersion: 12587008 + apiVersion: 4206592 +ATTENTION: default value of option vk_wsi_force_swapchain_to_current_extent overridden by environment. +[Gamescope WSI] Application info: + pApplicationName: ArmaReforgerWorkbenchSteamDiag.exe + applicationVersion: 0 + pEngineName: vkd3d + engineVersion: 12587008 + apiVersion: 4206592 +[Gamescope WSI] Forcing on VK_EXT_swapchain_maintenance1. +ATTENTION: default value of option vk_wsi_force_swapchain_to_current_extent overridden by environment. +[Gamescope WSI] No application info given. +ATTENTION: default value of option vk_wsi_force_swapchain_to_current_extent overridden by environment. +[Gamescope WSI] Application info: + pApplicationName: ArmaReforgerWorkbenchSteamDiag.exe + applicationVersion: 0 + pEngineName: vkd3d + engineVersion: 12587008 + apiVersion: 4206592 +[Gamescope WSI] Forcing on VK_EXT_swapchain_maintenance1. +[Gamescope WSI] Creating Gamescope surface: xid: 0x1a001a4 +[Gamescope WSI] Atom of T was wrong type. Expected XCB_ATOM_CARDINAL. +[Gamescope WSI] Made gamescope surface for xid: 0x1a001a4 +[Gamescope WSI] Surface state: + steam app id: 1874910 + window xid: 0x1a001a4 + wayland surface res id: 5 + layer client flags: 0x4 + server hdr output enabled: false + hdr formats exposed to client: false +[Gamescope WSI] Creating Gamescope surface: xid: 0x1a003a4 +[Gamescope WSI] Atom of T was wrong type. Expected XCB_ATOM_CARDINAL. +[Gamescope WSI] Made gamescope surface for xid: 0x1a003a4 +[Gamescope WSI] Surface state: + steam app id: 1874910 + window xid: 0x1a003a4 + wayland surface res id: 10 + layer client flags: 0x4 + server hdr output enabled: false + hdr formats exposed to client: false +[Gamescope WSI] Creating swapchain for xid: 0x1a003a4 - oldSwapchain: (nil) - provided minImageCount: 3 - minImageCount: 3 - format: VK_FORMAT_B8G8R8A8_UNORM - colorspace: VK_COLOR_SPACE_SRGB_NONLINEAR_KHR - flip: false +[Gamescope WSI] Created swapchain for xid: 0x1a003a4 swapchain: 0x55557e817b90 - imageCount: 4 +[Gamescope WSI] Destroying swapchain: 0x55557e817b90 +[Gamescope WSI] Destroyed swapchain: 0x55557e817b90 +[Gamescope WSI] Creating swapchain for xid: 0x1a003a4 - oldSwapchain: (nil) - provided minImageCount: 3 - minImageCount: 3 - format: VK_FORMAT_B8G8R8A8_UNORM - colorspace: VK_COLOR_SPACE_SRGB_NONLINEAR_KHR - flip: false +[Gamescope WSI] Created swapchain for xid: 0x1a003a4 swapchain: 0x55557e817b90 - imageCount: 4 +[Gamescope WSI] Destroying swapchain: 0x55557e817b90 +[Gamescope WSI] Destroyed swapchain: 0x55557e817b90 +[Gamescope WSI] Creating swapchain for xid: 0x1a003a4 - oldSwapchain: (nil) - provided minImageCount: 3 - minImageCount: 3 - format: VK_FORMAT_B8G8R8A8_UNORM - colorspace: VK_COLOR_SPACE_SRGB_NONLINEAR_KHR - flip: false +[Gamescope WSI] Created swapchain for xid: 0x1a003a4 swapchain: 0x55557e817b90 - imageCount: 4 +[gamescope] [Info] launch: Primary child shut down! diff --git a/docs/evidence/native-2026-09-19-052932/launch-source-sha256.json b/docs/evidence/native-2026-09-19-052932/launch-source-sha256.json new file mode 100644 index 0000000..7ae978c --- /dev/null +++ b/docs/evidence/native-2026-09-19-052932/launch-source-sha256.json @@ -0,0 +1,118 @@ +{ + "addons/ai/Prefabs/ERR/MortarCrew.et": "05d3e7353ff9fe5523218a1487b31b7b742b0be8adbcb060c7099978cf008bce", + "addons/ai/Prefabs/ERR/MortarCrew.et.meta": "fdfd4fcd21a67c3d698fa4aadc4e5c76e665cebf4be86013bc389e493fab63cc", + "addons/ai/Scripts/Game/ERR/ERR_HQ.c": "ceafd6740ed277748744ce56ac0f0bb3a8521fcc060dafb2cdb99896aedf405a", + "addons/ai/Scripts/Game/ERR/ERR_HQJournal.c": "b3e402cfe92d415f37f666045afb062e6e11670ba03a0ca6f2d9fd4fc3520ac1", + "addons/ai/Scripts/Game/ERR/ERR_HQNetwork.c": "92ff2caca52e94c2cc9642dfc8509ce6e9349b257012bade8650bace9231128c", + "addons/ai/Scripts/Game/ERR/ERR_HQObservation.c": "36c978ec5f052213ac1236e1398d85063efbfd7ef60fe04f1fc11447fefe1d68", + "addons/ai/Scripts/Game/ERR/ERR_HQReport.c": "c4d16ccb571db4d9444c0a8d2be7318845d25ff90238b6d304e96a9ea19f1a08", + "addons/ai/Scripts/Game/ERR/ERR_HelicopterAvailability.c": "60eaef2f6d4b2fd44861c5a4434ef97e732e40a5ff7401e2da451ed2dd9c2762", + "addons/ai/Scripts/Game/ERR/ERR_MortarBattery.c": "66b8f16b692a0f75fc9d920f5224d9292a0f1dc7dd8b2dde912e676fa80ddc9c", + "addons/ai/Scripts/Game/ERR/ERR_MortarFiring.c": "657e96d1112b68c8ced37793e99f88e6078b38a579190e63d00b1f9a9a032e26", + "addons/ai/Scripts/Game/ERR/ERR_MortarPrediction.c": "470dd196ed64800c697d24c09d1344bacd2502587fac76af4ee0edae2563092d", + "addons/ai/Scripts/Game/ERR/ERR_MortarSalvo.c": "697c01f479df6c505a41d984a29c02002e3052114dafa2ec6252ae55e2979a2b", + "addons/ai/Scripts/Game/ERR/ERR_MortarSystem.c": "12d8fc39d47e03c3838e0642aa9e4a80baf60f250357493bff812d5c75812c86", + "addons/ai/Scripts/Game/ERR/ERR_SettlementSafety.c": "e5c0ebc95521a9a33a3f7d9cca6c551dda862a08b7af20b017877aba9584795b", + "addons/ai/Scripts/Game/ERR/ERR_SupportScenario.c": "71757018ec9716c4dc24f62a292a214919d3fd5daed3c16e03e56abd208e9f03", + "addons/ai/addon.gproj": "5f559db8f526700db11e6ae763f5245f19b7006fc68c56e4c09fb6f940bdf2a1", + "addons/chat/Missions/ERR_Everon.conf": "76f3ac0d21b585654beac7ddd68e3c8cbdd66dbfe909b17b04838fa813a7c29b", + "addons/chat/Missions/ERR_Everon.conf.meta": "0a23c98bf83873536c65fa17d38dea33a1d7b9e4ab210f90633ff688abcc551f", + "addons/chat/Scripts/Game/ERR/ERR_AdminCommands.c": "7ea6d6b240524cf0193c86fcab861fbdef9adca780acff11ee73f9ed0e99ce7b", + "addons/chat/Scripts/Game/ERR/ERR_NativeMortarProbe.c": "ddb892141500c192c0787b011d57dd8c07dd8c9a3ca5fdc407f6c271897bde0a", + "addons/chat/Scripts/Game/ERR/ERR_NativeRadioProbe.c": "84524163c63402755b4f834f74dfe6d8e5c397dc26031f532593c6f79f5a93b1", + "addons/chat/Scripts/Game/ERR/ERR_NativeSmoke.c": "0ab2fed95dcaa0442cf7feb25743308060d58497e347f17dbd25c8e970a9f81f", + "addons/chat/Scripts/WorkbenchGame/ERR/ERR_ValidateWorldPlugin.c": "81c92d408ce88cc9f98d6053f1d0c863427693ba748f00df9f1bf8079015ef94", + "addons/chat/addon.gproj": "ea1587e0174cf795334d306c71d99b06797fc891427cd57b6cab6e21cf0e4e0e", + "addons/core/Configs/ERR/EveronSites.conf": "2edb2c6983eb627800b65d9e244b9b228e0b82282e089c7b12e5a8921a2ea7bf", + "addons/core/Configs/ERR/EveronSites.conf.meta": "d5fe68025ef4e7c1e16082cf5873b7c7172eacbfaef4ab29b7e0e3c98f8dca56", + "addons/core/Configs/ERR/GameOverScreens.conf": "45231061911a1462d45fb6db0fecc2b0793f17b5ae71017174954ff4fbd20236", + "addons/core/Configs/ERR/GameOverScreens.conf.meta": "eb654b745c0b97b41c991694569ef4877a3c2315e0826f9556337cd68690843e", + "addons/core/Configs/ERR/VanillaFactions.conf": "f8b8b9898a16b4a4a55ab3c12d2547bef2dc433732c7643df980cb3aca715212", + "addons/core/Configs/ERR/VanillaFactions.conf.meta": "ac77725c0c21974991ef47a466b88122e939de8b46fd23e68889e7674cbb2bfd", + "addons/core/Missions/ERR_Everon_Base.conf": "1e6a0e9a756d15495201f71121626890f01efe6b00154c561672d4ec157960bd", + "addons/core/Missions/ERR_Everon_Base.conf.meta": "9b16267c644d815bcf98a3a3aaff30b93d7224fb24d3a2bac66730a28011f317", + "addons/core/Prefabs/ERR/Extraction.et": "1aa286ef253c5410f09fa641e4be91a7be8ec834487a7fbb74cfb45cab60ee1e", + "addons/core/Prefabs/ERR/Extraction.et.meta": "c2a838633001e2e3a202d39cb33aa744ebcd996017ad032359069641b5d13853", + "addons/core/Prefabs/ERR/FieldCover.et": "20f8095e69dbfe3db74ff19078e528ea75405362b335e03560ccd61f8df2e7f3", + "addons/core/Prefabs/ERR/FieldCover.et.meta": "83461ffa76244e1d69f20b053a9741ccdf7d127009182bd540a7e5ba6150c3d9", + "addons/core/Prefabs/ERR/GameMode.et": "385c97a5b8067091d92aa60c2d4fcf02002cf606b95523866ead65c96b8c0029", + "addons/core/Prefabs/ERR/GameMode.et.meta": "106769cd34525c9d440057072836cb7401a6752148c40edd7fe61c03bd58328c", + "addons/core/Prefabs/ERR/ObjectiveDocument.et": "2e72270bf186654af12d2c3ff9bf940690b03fb17fca44f873c1fde5d11384c0", + "addons/core/Prefabs/ERR/ObjectiveDocument.et.meta": "eaba9903be147b98a1106e2273e2270773df73b9b22f2cd4e20136a8e281382e", + "addons/core/Prefabs/ERR/Patrol.et": "c5685a8bc311cc5563fb3334beec9408d3d7a1069152fddeeb7df4f1b7f9e6ce", + "addons/core/Prefabs/ERR/Patrol.et.meta": "7c5da568fa2fcf0709ee2959253cb068d7c7ed7c2467af3b247a7e70efd96b69", + "addons/core/Prefabs/ERR/Prison.et": "1503db1441d8cd7a4f0b45c27ba9623b9fa39f0f81016e180bd2aa1379e1f42a", + "addons/core/Prefabs/ERR/Prison.et.meta": "2e426ef3de68f4107907854b51e818bc11d84649a01c538e3f18dd9ebec766bb", + "addons/core/Prefabs/ERR/PrisonDoor.et": "fc66be9d36f1f01084de59f1b0a1e8817f9e46547ead33d4fafaac0107446c40", + "addons/core/Prefabs/ERR/PrisonDoor.et.meta": "b8f3db52bf186426026668fbb9d633c3cbd4d438ab301fba880398f6a0e781c2", + "addons/core/Prefabs/ERR/PrisonWall.et": "8009d19365ae72a4749d7ad4fa04662575b06c65c6bf06507d380d57258b5eed", + "addons/core/Prefabs/ERR/PrisonWall.et.meta": "0294bc5dbb56f90f8153d62459bb0a6ad91d76a479812bbec9c7db182fdb58d6", + "addons/core/Prefabs/ERR/Radio.et": "b4b5cfe125b39019855816c9a1c508ca4d65d435b5546fdaa6c1fa3c8c9b1165", + "addons/core/Prefabs/ERR/Radio.et.meta": "bc91137b68ba550217914fb8892bb44d7e1920e4a1086f3e506623832a44212f", + "addons/core/Prefabs/ERR/SpectatorCamera.et": "b5b87d5b7b707f3745741aebe7c923067c8a74f8fbb2a4711834bab03bb5a812", + "addons/core/Prefabs/ERR/SpectatorCamera.et.meta": "2a16558f93915e31908a674509e9c89976470f78a84a1174a64b94b68b8f77ad", + "addons/core/Prefabs/ERR/SupplyCache.et": "bccf7afbaae97cfcdd78dd6dbbf4be5b2c045d348f50fe4581962e556c0044d7", + "addons/core/Prefabs/ERR/SupplyCache.et.meta": "2f5de3a4aab1e9d0e35521f48dc57b95bd6e449c383dec4f1c258e10295904cb", + "addons/core/Prefabs/ERR/SupplySite.et": "dc5decce5cabf39b6116e8794ec3960cb1e35761854fdbe69740da118787ded4", + "addons/core/Prefabs/ERR/SupplySite.et.meta": "b41944b12eb3528ff7a3ac94258b18c66ef161aa6a38894aee300a1ac4798630", + "addons/core/Scripts/Game/ERR/ERR_Actions.c": "adf93245e6d78c59b9839599d157a0d2b2b93ea93b3d1ae52e2904dd6c288266", + "addons/core/Scripts/Game/ERR/ERR_Actors.c": "b3c5aabb05f7cf35167bc09b5db51a4ffd89a46658805d6eedbfb80eee30273d", + "addons/core/Scripts/Game/ERR/ERR_AdminService.c": "047c14ce60cc0b167e202438f8f2b1063590e69ef88ea55b54598aea5f99c505", + "addons/core/Scripts/Game/ERR/ERR_DiscoveryMap.c": "2f4ea342fea0530061456be9cdce002d5e7a282e4e27eb88f3860e79f93612bf", + "addons/core/Scripts/Game/ERR/ERR_DiscoveryService.c": "6b5679447fe4a6d7d54c0545881ab56284f871556b3159207d421247f419eada", + "addons/core/Scripts/Game/ERR/ERR_DocumentComponent.c": "17bb76b80ebd3357e46d553c44674f602c7bd6901c92aec53ac8214194aa4ff2", + "addons/core/Scripts/Game/ERR/ERR_EscapeGameOverScreenInfo.c": "b1e1afb7795cb77c0bad94c85abf705b26b9dc2a9400905d80eafd56bdd009d3", + "addons/core/Scripts/Game/ERR/ERR_ExtractionService.c": "91357099b4e0401196b67d48963be54be30e56bdba57cdac67dc20b8ebb883e9", + "addons/core/Scripts/Game/ERR/ERR_FactionCatalog.c": "a5a8c53acf21259e14f59cb919535910f30dabff5a9179c664bc6a7a4d744d6e", + "addons/core/Scripts/Game/ERR/ERR_GameMode.c": "d766d1639378070bea64eef38baa4667f8b9f5f1a2a7b170f0fc5e8fd557917d", + "addons/core/Scripts/Game/ERR/ERR_Location.c": "d2035f56ded35743312ec6ca91a67f8623a466c91255e1893c570edf0954ff24", + "addons/core/Scripts/Game/ERR/ERR_MissionRules.c": "f7abc38ad8fdc375ce7fa63a65f0bade027d22b37e09de5e3f94ba8c3c63cc41", + "addons/core/Scripts/Game/ERR/ERR_NativeBaseSmoke.c": "e1790bca83feb52dc1093eced0624fc5bf0b3050b831a0fb8b3731759e84710f", + "addons/core/Scripts/Game/ERR/ERR_NativeContractsProbe.c": "d1556df885171cf967e96eef5d8981a2e9ee4e3938b7d32fdd0426f647bbabc0", + "addons/core/Scripts/Game/ERR/ERR_NativeDefinitionProbe.c": "d05ef8368ef5afa68e29f45843cb1878b5a09be768f8abdff2f4115c23759b01", + "addons/core/Scripts/Game/ERR/ERR_NativeExtractionProbe.c": "4b09385f73206de004f4f3c38a6192fd658a0d2012482dc5a84dff1599ceb972", + "addons/core/Scripts/Game/ERR/ERR_NativeLifecycleProbe.c": "89620ec1cc94e260ef72460b32c3291ffcc84cfe51afa907954b10229a711b2b", + "addons/core/Scripts/Game/ERR/ERR_NativeObjectiveProbe.c": "a4d4fe506cd0150ac63511f143fb479c7a872f0c64462964d33dd79919d71e1b", + "addons/core/Scripts/Game/ERR/ERR_NativeRadioDefenceProbe.c": "cad54f0b43cefd72df74697dfc7e93725ff0acac6d311e963ce4f817428c272c", + "addons/core/Scripts/Game/ERR/ERR_NativeResultProbe.c": "b9a117eef2d5f65fbd792041a2b3e59e38e201bda8e0df8c503e1a1242cfc415", + "addons/core/Scripts/Game/ERR/ERR_NativeSiteSurvey.c": "ac0203753ade0cdff6d483132797a80e4520f14546c3f9dea288281cd4cd9c4f", + "addons/core/Scripts/Game/ERR/ERR_NativeStationTeardownDiagnostic.c": "c01cbdbfe25fd38916fa74f2c02333baaacd5228686fd6e40b33c27b3cea8ed8", + "addons/core/Scripts/Game/ERR/ERR_NativeTimeProbe.c": "c93d049785971e51246fcc07cf24804270a752a655505f2c38e48c80df5255ae", + "addons/core/Scripts/Game/ERR/ERR_NativeTransportProbe.c": "63ec0c5ce698114daa6314b2a6e3c3e98e76094117c477f9d0d072260686d193", + "addons/core/Scripts/Game/ERR/ERR_NativeTransportSurvey.c": "3e94493bf54d15be2bceb106ad18873e14e6755af09c05f07db7fb26fb7adff5", + "addons/core/Scripts/Game/ERR/ERR_ObjectiveDetails.c": "628ebd166dcb5544c2d18dce489619984887ee18296cf2446fc6d894f89dd5bf", + "addons/core/Scripts/Game/ERR/ERR_ObjectiveText.c": "bbb29949194637e6781316836c895e2c0fa7ccdb547d4d944a717da2ad73b0a2", + "addons/core/Scripts/Game/ERR/ERR_Objectives.c": "88d95a52fcba103483ea751571e1afeae0e6fc82115ed50d6fc195424726960f", + "addons/core/Scripts/Game/ERR/ERR_Observer.c": "b719e723369ab4f403950c85226e1336eb48e3c127e84530ac1c695eb86bd0f9", + "addons/core/Scripts/Game/ERR/ERR_PlayerAdminCommands.c": "a084d7dc097dfcde3d6cd9c2e326b9e2f8f2a519f77b30c4f56ab7a1429aa721", + "addons/core/Scripts/Game/ERR/ERR_PlayerEscapeResult.c": "3124ab4d2d6d471409a47aba0af528790734df53243c03fe0cdac3e407047c14", + "addons/core/Scripts/Game/ERR/ERR_PlayerGuide.c": "2c9c365b88651f8b12618443638bf52c04e497221592bd483c33447e30468f36", + "addons/core/Scripts/Game/ERR/ERR_PlayerRoster.c": "a737ba739b3f73a91cd05d808a1d45070e83b5152c003c3164e29842dda51995", + "addons/core/Scripts/Game/ERR/ERR_RadioDefenceService.c": "85eb9c1b65d5987799927b6d8786b7299fcff849bcb15b91f8a4d1aa95823fd1", + "addons/core/Scripts/Game/ERR/ERR_Resources.c": "8a5314944f75b23982c6b99697045e3c0538aa2137b2c947a5b2411e6076ac03", + "addons/core/Scripts/Game/ERR/ERR_ScenarioComponent.c": "abba03af68323d5715ba1e2497fc66f3c706e6a6a983c3a386228abdfddeec89", + "addons/core/Scripts/Game/ERR/ERR_Settings.c": "2aee784e44c732e09f59150896491ab325ef5e62aa6bad725be1fda955a3f614", + "addons/core/Scripts/Game/ERR/ERR_SiteDefinition.c": "75b5121ceab77f0956f0dc34bd077b11af5586350de52321800427f18cc94477", + "addons/core/Scripts/Game/ERR/ERR_SiteService.c": "7ba02712562b3c8cd8de9851b6f26fed85020faacceef0767408b300b935c110", + "addons/core/Scripts/Game/ERR/ERR_SpawnFinalization.c": "2e295b0f225208c5414728ba83333e5e0ab6eef3a708ce39eb1dfce5400c94c9", + "addons/core/Scripts/Game/ERR/ERR_SpawnLogic.c": "64c2cef62d8a435eea396f057255b269d457935bf5d261221700739bf37240b8", + "addons/core/Scripts/Game/ERR/ERR_SpawnPlacement.c": "284db0d4a5ecd38f9c658c91ce943f4c0c30dcf4d31bb3edeea92e4ab0b1436a", + "addons/core/Scripts/Game/ERR/ERR_Supplies.c": "752e8a56b0b8cde33cf532032cb0a203553017b686faac2e19bee06f7a9c0713", + "addons/core/Scripts/Game/ERR/ERR_TimeService.c": "d9f481b7da01e08d2c982a948c18ba6bde76889d7cc9d26d510708f4ba479453", + "addons/core/Scripts/WorkbenchGame/ERR/ERR_ValidateBaseWorldPlugin.c": "7f44aa64ea7b4f8b3640a37a4b781c43bf6adb80e4a3a702d9491131698056f6", + "addons/core/Worlds/ERR_Everon.ent": "22324bc7eb0d80dec8a1f3bd61a9df9201b72f749f4e751766b0c9d0b7d46b87", + "addons/core/Worlds/ERR_Everon.ent.meta": "19d1903ca72baa326b4724a6791d0da1104a1e53f3f31dc1ca41a856efd68e83", + "addons/core/Worlds/ERR_Everon_Layers/default.layer": "f1a058bd315c7d01d464715ac9f4e18ae3d2432551d094a9afbd4c9c5a2a9416", + "addons/core/addon.gproj": "231274e6b62302f32c65f9ff31de2ce8a9e51e1c8d12c87deeec82ae1f40de46", + "addons/intel/Scripts/Game/ERR/ERR_IntelService.c": "482839434b94e7f8c345d5fd96490aeebb765f3dd0c1bb25fceea2f435c0e722", + "addons/intel/addon.gproj": "d0ced242cefb220a5cccd6779d61fda9bc55581701b9f78bcf13c09d92ddbcbe", + "addons/map/Materials/ERRM_MapRenderTarget.emat": "9877c5b175c5f30dd80bea36c711b21ab38219aa7075adf9ae79932e1d4c76bc", + "addons/map/Materials/ERRM_MapRenderTarget.emat.meta": "5ee1a705f8011a44020ca2691f5ccc17d44bf596fef9a36e98d1f267eb58fab0", + "addons/map/Prefabs/Items/Equipment/ERRM_SharedFieldMap.et": "30dee8e9eab459ea32a7d835a9fb89d43df47708057cab829f067b25a24cd581", + "addons/map/Prefabs/Items/Equipment/ERRM_SharedFieldMap.et.meta": "59093e9072c50d99c86da7609c87541016da5bcf92b98d99db4c524e1c8e0e8d", + "addons/map/Scripts/Game/ERR/ERR_ScenarioMap.c": "75fa1d742129ef7f33c005cd48f56db7f49ee7bde3c5428532b0b501b032b0a3", + "addons/map/Scripts/Game/ERRMap/ERRM_SharedMapComponent.c": "fc1a0c7df4fc96da446d7542a45a10fbec1eda1e543ba2f0581cb772277a47c5", + "addons/map/UI/layouts/ERRMap/SharedMapRenderTarget.layout": "49a2da4181b94d42174f58c7f9b6bf2207116c99427d61ff1c212092ac7db4d2", + "addons/map/UI/layouts/ERRMap/SharedMapRenderTarget.layout.meta": "5c846445cc089e2e08899ba703059d4adb805ff30ab5a16409a3cd59718cbd54", + "addons/map/addon.gproj": "1b371e5e01ea9fa46e76570fecb8aaa3a9298e34cba7ccca8a6bdb5ca86eb46a" +} diff --git a/docs/evidence/native-2026-09-19-052932/launch-source.json b/docs/evidence/native-2026-09-19-052932/launch-source.json new file mode 100644 index 0000000..0b6881b --- /dev/null +++ b/docs/evidence/native-2026-09-19-052932/launch-source.json @@ -0,0 +1,44 @@ +{ + "schema_version": 1, + "launch_id": "bfb410c4-2f0e-4ce0-91a9-7b0b166e670d", + "captured_unix": 1789788570.9531937, + "source_root": "/home/jakub/devel/escapistsrereintroduced", + "command": [ + "gamescope", + "--backend", + "headless", + "-W", + "1280", + "-H", + "720", + "-w", + "1280", + "-h", + "720", + "-r", + "30", + "--", + "/home/jakub/.local/share/Steam/steamapps/common/Proton - Experimental/proton", + "run", + "/home/jakub/.local/share/Steam/steamapps/common/Arma Reforger Tools/Workbench/ArmaReforgerWorkbenchSteamDiag.exe", + "-gproj", + "Z:/home/jakub/devel/escapistsrereintroduced/addons/chat/addon.gproj", + "-addonsDir", + "Z:/home/jakub/devel/escapistsrereintroduced/addons", + "-profile", + "Z:/tmp/erri-workbench-profile", + "-logconsole", + "-wbModule=WorldEditor", + "-load", + "Worlds/ERR_Everon.ent", + "-plugin=ERR_ValidateWorldPlugin", + "-errPlay", + "1", + "-errSmoke", + "1", + "-errSmokeOutcome", + "player-death", + "-noThrow" + ], + "manifest_sha256": "065012aaa330fa6b9fdb442c1304913e4df4263dcf5a1c8d2073da26ced335ae" +} diff --git a/docs/evidence/native-2026-09-19-052932/report.json b/docs/evidence/native-2026-09-19-052932/report.json new file mode 100644 index 0000000..1b0b155 --- /dev/null +++ b/docs/evidence/native-2026-09-19-052932/report.json @@ -0,0 +1,17 @@ +{ + "log": "docs/evidence/native-2026-09-19-052932/console.log.txt", + "smoke_completions": 1, + "assertions_passed": 32, + "script_or_runtime_failures": [], + "engine_errors": [ + "05:30:15.477 WORLD (E): Unknown keyword/data 'SlidingTrackMaterial' at offset 19441(0x4bf1)", + "05:30:15.521 WORLD (E): Unknown keyword/data 'Parent' at offset 35955(0x8c73)", + "05:30:15.521 WORLD (E): Unknown keyword/data 'Parent' at offset 36915(0x9033)", + "05:30:15.522 WORLD (E): Unknown keyword/data 'Parent' at offset 42646(0xa696)", + "05:30:15.522 WORLD (E): Unknown keyword/data 'Parent' at offset 43645(0xaa7d)", + "05:30:15.522 WORLD (E): Unknown keyword/data 'Parent' at offset 44617(0xae49)", + "05:30:15.522 WORLD (E): Unknown keyword/data 'Parent' at offset 45590(0xb216)" + ], + "missing_end_screen": [], + "scope": "scripted local Workbench integration only; no multiplayer, piloting or FPS claim" +} diff --git a/docs/evidence/native-2026-09-19-052932/rereintroduced-hq.log.txt b/docs/evidence/native-2026-09-19-052932/rereintroduced-hq.log.txt new file mode 100644 index 0000000..25e7ec0 --- /dev/null +++ b/docs/evidence/native-2026-09-19-052932/rereintroduced-hq.log.txt @@ -0,0 +1,14 @@ +#1 t=1.5s M0 REGISTER group 1 [session=1789788617-1] +#2 t=1.5s M0 MORTAR DEPLOY site=1 order=0 radio=M0 source=M0 position=<6000,202.788,7000>; authored gun and four-person crew; finite ammunition initialization pending [session=1789788617-1] +#3 t=3.5s M0 REGISTER group 2 [session=1789788617-1] +#4 t=3.5s M0 REGISTER group 3 [session=1789788617-1] +#5 t=3.5s M0 REGISTER group 4 [session=1789788617-1] +#6 t=3.5s M0 REGISTER group 5 [session=1789788617-1] +#7 t=3.5s M0 REGISTER group 6 [session=1789788617-1] +#8 t=3.5s M0 REGISTER group 7 [session=1789788617-1] +#9 t=11.8s M0 MORTAR CREW ACTIVATE site=1 order=0 radio=M0 source=M0 position=<6000,202.788,7000>; startup delay elapsed; activating and equipping crew [session=1789788617-1] +#10 t=11.8s M0 MORTAR EQUIP site=1 order=0 radio=M0 source=M0 position=<6000,202.788,7000>; crew=SCR_ChimeraCharacter<0x00000000D4BBE030> @"ENTITY:4611686018427389121" ('SCR_ChimeraCharacter','Assets/Characters/Basebody/Basebody_Male_01.xob') at <6000.000000 203.316498 7004.000000> @"{86E565387A634103}Prefabs/Characters/Campaign/Final/OPFOR/USSR_Army/Regular/Campaign_USSR_Player_MortarCrew.et" inventory HE=9 requested=9 radio capability=1 (0=none) [session=1789788617-1] +#11 t=11.8s M0 MORTAR EQUIP site=1 order=0 radio=M0 source=M0 position=<6000,202.788,7000>; crew=SCR_ChimeraCharacter<0x00000000D4C05EB0> @"ENTITY:4611686018427389375" ('SCR_ChimeraCharacter','Assets/Characters/Basebody/Basebody_Male_01.xob') at <6003.000000 202.817322 7001.000000> @"{86E565387A634103}Prefabs/Characters/Campaign/Final/OPFOR/USSR_Army/Regular/Campaign_USSR_Player_MortarCrew.et" inventory HE=9 requested=9 radio capability=1 (0=none) [session=1789788617-1] +#12 t=11.8s M0 MORTAR EQUIP site=1 order=0 radio=M0 source=M0 position=<6000,202.788,7000>; crew=SCR_ChimeraCharacter<0x00000000D4C13670> @"ENTITY:4611686018427389858" ('SCR_ChimeraCharacter','Assets/Characters/Basebody/Basebody_Male_01.xob') at <5997.000000 202.910233 7001.000000> @"{86E565387A634103}Prefabs/Characters/Campaign/Final/OPFOR/USSR_Army/Regular/Campaign_USSR_Player_MortarCrew.et" inventory HE=9 requested=9 radio capability=1 (0=none) [session=1789788617-1] +#13 t=11.8s M0 MORTAR RADIO EQUIP site=1 order=0 radio=M0 source=M0 position=<6000,202.788,7000>; operator=SCR_ChimeraCharacter<0x00000000D4BDF530> @"ENTITY:4611686018427390185" ('SCR_ChimeraCharacter','Assets/Characters/Basebody/Basebody_Male_01.xob') at <6006.000000 202.378967 6998.000000> @"{612F43A4D5AE765F}Prefabs/Characters/Factions/OPFOR/USSR_Army/Character_USSR_RTO.et" capability=2 (2=physical manpack); next HQ radio index verifies route [session=1789788617-1] +#14 t=32.9s M0 STOP HQ stopped; tactical orders released [session=1789788617-1] diff --git a/docs/evidence/native-2026-09-19-052932/runner.json.txt b/docs/evidence/native-2026-09-19-052932/runner.json.txt new file mode 100644 index 0000000..da6d25f --- /dev/null +++ b/docs/evidence/native-2026-09-19-052932/runner.json.txt @@ -0,0 +1,19 @@ +{ + "stopped_unix": 1789788658.5761166, + "console_sha256": "1907a93843d24748ad23218bf07ea3112a9868b2b28004fd61c809304bb8d466", + "end_source_sha256": "065012aaa330fa6b9fdb442c1304913e4df4263dcf5a1c8d2073da26ced335ae", + "source_unchanged_after_run": true, + "source_provenance": "launch_snapshot", + "launch_id": "bfb410c4-2f0e-4ce0-91a9-7b0b166e670d", + "launch_source_manifest": "launch-source-sha256.json", + "launch_source_metadata": "launch-source.json", + "launch_source_sha256": "065012aaa330fa6b9fdb442c1304913e4df4263dcf5a1c8d2073da26ced335ae", + "started_unix": 1789788570.9532704, + "result": "smoke-completed", + "session": "/tmp/erri-workbench-profile/logs/logs_2026-09-19_05-29-32", + "rounds_required": 1, + "project": "chat", + "display": "headless Gamescope 1280x720/30Hz", + "dedicated_server": false, + "audio": "silent sink and per-test-stream mute" +} diff --git a/docs/evidence/native-2026-09-19-052932/script.log.txt b/docs/evidence/native-2026-09-19-052932/script.log.txt new file mode 100644 index 0000000..de37ca2 --- /dev/null +++ b/docs/evidence/native-2026-09-19-052932/script.log.txt @@ -0,0 +1,161 @@ +--------------------------------------------- +Log Z:\tmp\erri-workbench-profile\logs\logs_2026-09-19_05-29-32\script.log started at 2026-09-19 05:29:35 (2026-09-19 03:29:35 UTC) + +05:29:35.365 SCRIPT : SCRIPT : Initializing scripts +05:29:35.365 SCRIPT : SCRIPT : ScriptProjectManager init +05:29:37.652 SCRIPT : SCRIPT : Compiling GameLib scripts +05:29:37.719 SCRIPT : Module: Workbench; loaded 18x files; 36x classes; used 125K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE"; CRC32: 90ce0460 +05:29:37.719 SCRIPT : Module: GameLib; loaded 465x files; 648x classes; used 828K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE"; CRC32: 4507af04 +05:29:37.720 SCRIPT : SCRIPT : Compiling Game scripts +05:29:38.968 SCRIPT : Compiling Game scripts +05:29:38.968 SCRIPT (W): @"Scripts/Game/Editor/Components/EditableEntity/SCR_EditableEntityComponent.c,785": 'GetPlayerPlatformKind' is obsolete +05:29:38.968 SCRIPT (W): @"Scripts/Game/Editor/Components/EditableEntity/SCR_EditableEntityComponent.c,786": 'GetPlayerPlatformId' is obsolete +05:29:39.225 SCRIPT (W): @"Scripts/Game/ERR/ERR_SiteService.c,140": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +05:29:39.234 SCRIPT (W): @"Scripts/Game/Workshop/SCR_AddonManager.c,876": 'GetRefCount' is obsolete: Will be removed +05:29:39.264 SCRIPT (W): @"Scripts/Game/Campaign/SCR_PlayerProfileManagerComponent.c,142": 'PlayerData' is obsolete +05:29:39.367 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,159": 'GetDSSession' is obsolete +05:29:39.367 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,162": 'RoomID' is obsolete +05:29:39.367 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,197": 'GetDSSession' is obsolete +05:29:39.367 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,201": 'RoomID' is obsolete +05:29:39.460 SCRIPT (W): @"Scripts/Game/DataCollection/SCR_DataCollectorComponent.c,481": 'GetStorage' is obsolete +05:29:39.460 SCRIPT (W): @"Scripts/Game/DataCollection/SCR_DataCollectorComponent.c,483": 'GetOnlineWritePrivilege' is obsolete +05:29:39.462 SCRIPT (W): @"Scripts/Game/Utilities/SCR_PlayerIdentityUtils.c,20": 'GetPlayerIdentityId' is obsolete +05:29:39.502 SCRIPT (W): @"Scripts/Game/ERR/ERR_ExtractionService.c,45": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +05:29:39.503 SCRIPT (W): @"Scripts/Game/ERR/ERR_ExtractionService.c,56": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +05:29:39.504 SCRIPT (W): @"Scripts/Game/UI/Menu/MainMenuUI.c,643": 'GetNotifyCount' is obsolete: Will be substitued by Notification Api. +05:29:39.504 SCRIPT (W): @"Scripts/Game/UI/Menu/MainMenuUI.c,645": 'GetNotifyItem' is obsolete: Will be substitued by Notification Api. +05:29:39.529 SCRIPT (W): @"Scripts/Game/ERR/ERR_NativeTransportProbe.c,82": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +05:29:39.560 SCRIPT (W): @"Scripts/Game/DataCollection/PlayerData/SCR_PlayerData.c,210": 'PlayerData' is obsolete +05:29:39.848 SCRIPT : Module: WorkbenchGame; loaded 172x files; 617x classes; used 2483K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE"; CRC32: e963af0e +05:29:39.855 SCRIPT : Module: Game; loaded 5724x files; 11232x classes; used 32751K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE,ENABLE_BASE_DESTRUCTION,BUDGET_OPTIMIZATION_CHECKS,SHOW_DISCLAIMER,DEBUG,RESPAWN_TIMER_COMPONENT_DEBUG,GAME_MODE_DEBUG,DEBUG_CONFIGURABLE_DIALOGS,DISABLE_WEAPON_SWITCHING,SCRIPTED_AIM_MODIFIER_DEBUG"; CRC32: cc6cb952 +05:29:40.799 SCRIPT : Unable to register a script command due keyword duplicity: ban +05:29:40.799 SCRIPT : Unable to register a script command due keyword duplicity: kick +05:30:01.070 SCRIPT : ERR VALIDATION: prison terrain=211.344, radio terrain=159.656, extraction terrain=65.1562 +05:30:01.070 SCRIPT : ERR TERRAIN: x=6084 z=7154 y=211.531 +05:30:01.070 SCRIPT : ERR TERRAIN: x=6084 z=7157 y=211.516 +05:30:01.071 SCRIPT : ERR TERRAIN: x=6084 z=7160 y=211.5 +05:30:01.071 SCRIPT : ERR TERRAIN: x=6084 z=7163 y=211.453 +05:30:01.071 SCRIPT : ERR TERRAIN: x=6084 z=7166 y=211.406 +05:30:01.071 SCRIPT : ERR TERRAIN: x=6087 z=7154 y=211.438 +05:30:01.071 SCRIPT : ERR TERRAIN: x=6087 z=7157 y=211.438 +05:30:01.071 SCRIPT : ERR TERRAIN: x=6087 z=7160 y=211.422 +05:30:01.071 SCRIPT : ERR TERRAIN: x=6087 z=7163 y=211.391 +05:30:01.071 SCRIPT : ERR TERRAIN: x=6087 z=7166 y=211.344 +05:30:01.072 SCRIPT : ERR TERRAIN: x=6090 z=7154 y=211.344 +05:30:01.072 SCRIPT : ERR TERRAIN: x=6090 z=7157 y=211.344 +05:30:01.072 SCRIPT : ERR TERRAIN: x=6090 z=7160 y=211.344 +05:30:01.072 SCRIPT : ERR TERRAIN: x=6090 z=7163 y=211.328 +05:30:01.072 SCRIPT : ERR TERRAIN: x=6090 z=7166 y=211.281 +05:30:01.072 SCRIPT : ERR TERRAIN: x=6093 z=7154 y=211.25 +05:30:01.072 SCRIPT : ERR TERRAIN: x=6093 z=7157 y=211.281 +05:30:01.072 SCRIPT : ERR TERRAIN: x=6093 z=7160 y=211.25 +05:30:01.072 SCRIPT : ERR TERRAIN: x=6093 z=7163 y=211.234 +05:30:01.072 SCRIPT : ERR TERRAIN: x=6093 z=7166 y=211.188 +05:30:01.073 SCRIPT : ERR TERRAIN: x=6096 z=7154 y=211.156 +05:30:01.073 SCRIPT : ERR TERRAIN: x=6096 z=7157 y=211.172 +05:30:01.073 SCRIPT : ERR TERRAIN: x=6096 z=7160 y=211.156 +05:30:01.073 SCRIPT : ERR TERRAIN: x=6096 z=7163 y=211.141 +05:30:01.073 SCRIPT : ERR TERRAIN: x=6096 z=7166 y=211.094 +05:30:01.094 SCRIPT : ERR SITE CANDIDATE: position=<6090,211.344,7160> elevationRange=0.640625 +05:30:04.387 SCRIPT : Unable to register a script command due keyword duplicity: ban +05:30:04.387 SCRIPT : Unable to register a script command due keyword duplicity: kick +05:30:17.805 SCRIPT (W): SCR_PerceivedFactionManagerComponent trying to set fall back faction 'CIV' but this faction could not be found so it is null instead. +05:30:17.829 SCRIPT : ERR SMOKE: scripted integration test enabled; gameplay acceptance remains separate +05:30:18.297 SCRIPT (W): Notification data in 'SCR_NotificationsLogDisplay' has duplicate notification info key: 'EDITOR_PERCEIVED_FACTION_PUNISHMENT_KILLING_SET'. There should only be one of each key! +05:30:18.297 SCRIPT (W): Notification data in 'SCR_NotificationsLogDisplay' has duplicate notification info key: 'EDITOR_PERCEIVED_FACTION_TYPE_DISABLED'. There should only be one of each key! +05:30:18.299 SCRIPT (W): Can't open config file "" +05:30:18.308 SCRIPT (W): Slot_WeaponInfo Has no Content! +05:30:18.308 SCRIPT (W): Slot_Chat Has no Content! +05:30:18.308 SCRIPT (W): Slot_VON Has no Content! +05:30:18.308 SCRIPT (W): Slot_AvailableActions Has no Content! +05:30:18.308 SCRIPT (W): Slot_Vehicle Has no Content! +05:30:18.308 SCRIPT (W): Slot_GameVersion Has no Content! +05:30:18.309 SCRIPT (W): Slot_Notifications Has no Content! +05:30:18.309 SCRIPT (W): Slot_Hints Has no Content! +05:30:18.323 SCRIPT (W): Ban Settings could not be loaded from BE Storage: Relying on default config +05:30:18.378 SCRIPT : ScenarioFramework: Available tasks are empty, no new tasks will be generated. +05:30:18.392 SCRIPT : SCR_BaseGameMode::OnGameStateChanged = GAME +05:30:18.585 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +05:30:20.148 SCRIPT : Rereintroduced [sites]: cache clearance position=<6086,211.538,7160> clear=1 +05:30:20.168 SCRIPT : Rereintroduced [sites]: authored everon-prison-1 at <6090,211.444,7160> +05:30:20.168 SCRIPT : Rereintroduced [sites]: cache clearance position=<6150,203.288,7050> clear=1 +05:30:20.199 SCRIPT : Rereintroduced [sites]: authored everon-supply-1 at <6150,203.288,7050> +05:30:20.201 SCRIPT : Rereintroduced [sites]: authored everon-radio-1 at <6500,159.756,7200> +05:30:20.251 SCRIPT : Rereintroduced [sites]: authored everon-extraction-1 at <7000,65.2562,7500> +05:30:20.251 SCRIPT : Rereintroduced [sites]: cache clearance position=<5960,220.256,7220> clear=1 +05:30:20.256 SCRIPT : Rereintroduced [sites]: transport parking=<5960,220.256,7212> radius=4 terrainRange=0.8125 obstructed=0 clear=1 +05:30:20.304 SCRIPT : Rereintroduced [sites]: authored everon-supply-2 at <5960,220.256,7220> +05:30:20.304 SCRIPT : Rereintroduced [sites]: cache clearance position=<6340,175.788,7400> clear=1 +05:30:20.306 SCRIPT : Rereintroduced [sites]: authored everon-medical-1 at <6340,175.788,7400> +05:30:20.307 SCRIPT : Rereintroduced [sites]: cache clearance position=<6740,140.6,7300> clear=1 +05:30:20.310 SCRIPT : Rereintroduced [sites]: cache clearance position=<6740,140.913,7296> clear=1 +05:30:20.312 SCRIPT : Rereintroduced [sites]: cache clearance position=<6736,140.975,7300> clear=1 +05:30:20.312 SCRIPT : Rereintroduced [sites]: cache clearance position=<6744,140.288,7300> clear=1 +05:30:20.313 SCRIPT : Rereintroduced [sites]: authored everon-outpost-1 at <6740,140.6,7300> +05:30:20.400 SCRIPT : Rereintroduced [sites]: 7 sites and 117 physical stock items ready +05:30:20.411 SCRIPT : Rereintroduced [time]: started at 14:00 with 1x progression +05:30:20.411 SCRIPT : Rereintroduced [mission]: phase 0 -> 1 +05:30:20.646 SCRIPT : INFO: Faction: player jakub (playerID = 1 | UUID = 00000000-0000-0000-0000-000000000000) has joined faction #AR-Faction_US (US) +05:30:20.731 SCRIPT : Rereintroduced [spawn]: player 1 at <6087,211.438,7157> +05:30:20.731 SCRIPT : ERR SMOKE PASS: new identity may enter prison +05:30:20.731 SCRIPT : ERR SMOKE PASS: spawn consumes identity life +05:30:20.731 SCRIPT : ERR SMOKE PASS: disconnect retains living actor and clears connection +05:30:20.731 SCRIPT : ERR SMOKE PASS: reconnected identity retains spent life +05:30:20.731 SCRIPT : ERR SMOKE PASS: duplicate active identity rejected +05:30:20.732 SCRIPT : ERR SMOKE PASS: recycled connection receives independent life and extraction admission policy +05:30:20.732 SCRIPT : ERR SMOKE PASS: base contracts catalog resolves hostile vanilla factions and successful preparation +05:30:20.732 SCRIPT : ERR SMOKE PASS: base contracts physical prisoner matches injected faction and resource +05:30:20.732 SCRIPT : ERR SMOKE PASS: base contracts physical guard squad comes from injected catalog +05:30:20.732 SCRIPT : ERR SMOKE PASS: base contracts same-side factions rejected +05:30:20.733 SCRIPT : ERR SMOKE PASS: base contracts unknown world faction rejected +05:30:20.733 SCRIPT : ERR SMOKE PASS: base contracts missing prisoner resource rejected +05:30:20.733 SCRIPT : ERR SMOKE PASS: base contracts isolated catalog restored without mutating live configuration +05:30:20.733 SCRIPT : ERR SMOKE PASS: base contracts unauthorized settings request rejected +05:30:20.733 SCRIPT : ERR SMOKE PASS: base contracts partially numeric input rejected without mutation +05:30:20.733 SCRIPT : ERR SMOKE PASS: base contracts out-of-range duration rejected without mutation +05:30:20.736 SCRIPT : ERR SMOKE PASS: base contracts normalized base command saves validated duration +05:30:20.736 SCRIPT : ERR SMOKE PASS: base contracts base command reads saved duration +05:30:20.736 SCRIPT : ERR SMOKE PASS: base contracts base settings listing available +05:30:20.736 SCRIPT : ERR SMOKE PASS: base contracts base mission status available before companions +05:30:20.739 SCRIPT : ERR SMOKE PASS: base contracts test setting restored +05:30:20.739 SCRIPT : ERR SMOKE PASS: companion command retained: hq interval show +05:30:20.739 SCRIPT : ERR SMOKE PASS: companion command retained: hq squads show +05:30:20.739 SCRIPT : ERR SMOKE PASS: companion command retained: hq radius show +05:30:20.739 SCRIPT : ERR SMOKE PASS: companion command retained: intel carrying show +05:30:20.739 SCRIPT : ERR SMOKE PASS: companion command retained: intel reveal show +05:30:20.739 SCRIPT : ERR SMOKE PASS: companion journal is behind Core admin authorization +05:30:20.740 SCRIPT : ERR SMOKE PASS: companion HQ status uses the shared command service +05:30:20.741 SCRIPT : INFO: KILL SUICIDE: jakub (playerID = 1 | UUID = 00000000-0000-0000-0000-000000000000) from US faction at <6087, 211.438, 7157> killed himself! +05:30:24.774 SCRIPT : ERR SMOKE PASS: native damage kills prisoner +05:30:24.774 SCRIPT : ERR SMOKE PASS: death selects spectator without another life +05:30:24.774 SCRIPT : ERR SMOKE PASS: spectator camera activates after native death +05:30:51.848 SCRIPT : Rereintroduced [mission]: phase 1 -> 6 +05:30:51.849 SCRIPT : ERR SMOKE PASS: death exhausts round life and reaches defeat after spectator grace +05:30:51.849 SCRIPT : ERR SMOKE COMPLETE: terminal=6 lostHelicopterCase=0 playerDeathCase=1 +05:30:51.962 SCRIPT : SCR_BaseGameMode::OnGameStateChanged = POSTGAME +05:30:51.965 SCRIPT (W): Slot_Chat Has no Content! +05:30:51.965 SCRIPT (W): Slot_VON Has no Content! +05:30:51.965 SCRIPT (W): Slot_GameVersion Has no Content! +05:30:51.965 SCRIPT (W): Slot_Notifications Has no Content! +05:30:53.999 SCRIPT (W): SCR_ScriptedWidgetComponent.GetComponent: widget not found: SCR_InputButtonComponent Back +05:30:54.000 SCRIPT : -- Stack trace -- +05:30:54.000 SCRIPT : GetComponent() Scripts/Game/UI/Components/WidgetLibrary/SCR_ScriptedWidgetComponent.c : 43 +05:30:54.000 SCRIPT : GetInputButtonComponent() Scripts/Game/UI/Components/WidgetLibrary/SCR_InputButton/SCR_InputButtonComponent.c : 1214 +05:30:54.000 SCRIPT : OnMenuOpen() Scripts/Game/UI/GameOverScreen/SCR_GameOverScreenInput.c : 15 +05:30:54.000 SCRIPT : OpenGameOverScreen() Scripts/Game/GameOverScreen/SCR_GameOverScreenManagerComponent.c : 447 +05:30:54.000 SCRIPT : ShowGameOverScreen() Scripts/Game/GameOverScreen/SCR_GameOverScreenManagerComponent.c : 177 +05:30:54.000 SCRIPT : OnUpdate() Scripts/Game/game.c : 885 +05:30:54.000 SCRIPT : ----------------- +05:30:54.000 SCRIPT (W): SCR_ScriptedWidgetComponent.GetComponent: widget not found: SCR_InputButtonComponent ChatButton +05:30:54.001 SCRIPT : -- Stack trace -- +05:30:54.001 SCRIPT : GetComponent() Scripts/Game/UI/Components/WidgetLibrary/SCR_ScriptedWidgetComponent.c : 43 +05:30:54.001 SCRIPT : GetInputButtonComponent() Scripts/Game/UI/Components/WidgetLibrary/SCR_InputButton/SCR_InputButtonComponent.c : 1214 +05:30:54.001 SCRIPT : OnMenuOpen() Scripts/Game/UI/GameOverScreen/SCR_GameOverScreenInput.c : 21 +05:30:54.001 SCRIPT : OpenGameOverScreen() Scripts/Game/GameOverScreen/SCR_GameOverScreenManagerComponent.c : 447 +05:30:54.001 SCRIPT : ShowGameOverScreen() Scripts/Game/GameOverScreen/SCR_GameOverScreenManagerComponent.c : 177 +05:30:54.001 SCRIPT : OnUpdate() Scripts/Game/game.c : 885 +05:30:54.001 SCRIPT : ----------------- +05:30:54.004 SCRIPT (W): Slot_Chat Has no Content! +05:30:54.004 SCRIPT (W): Slot_VON Has no Content! +05:30:54.004 SCRIPT (W): Slot_GameVersion Has no Content! +05:30:54.004 SCRIPT (W): Slot_Notifications Has no Content! diff --git a/docs/evidence/native-2026-09-19-052932/source-provenance.json b/docs/evidence/native-2026-09-19-052932/source-provenance.json new file mode 100644 index 0000000..5fa4cc7 --- /dev/null +++ b/docs/evidence/native-2026-09-19-052932/source-provenance.json @@ -0,0 +1,4 @@ +{ + "schema_version": 1, + "kind": "launch_snapshot" +} diff --git a/docs/evidence/native-2026-09-19-052932/source-sha256.json b/docs/evidence/native-2026-09-19-052932/source-sha256.json new file mode 100644 index 0000000..7ae978c --- /dev/null +++ b/docs/evidence/native-2026-09-19-052932/source-sha256.json @@ -0,0 +1,118 @@ +{ + "addons/ai/Prefabs/ERR/MortarCrew.et": "05d3e7353ff9fe5523218a1487b31b7b742b0be8adbcb060c7099978cf008bce", + "addons/ai/Prefabs/ERR/MortarCrew.et.meta": "fdfd4fcd21a67c3d698fa4aadc4e5c76e665cebf4be86013bc389e493fab63cc", + "addons/ai/Scripts/Game/ERR/ERR_HQ.c": "ceafd6740ed277748744ce56ac0f0bb3a8521fcc060dafb2cdb99896aedf405a", + "addons/ai/Scripts/Game/ERR/ERR_HQJournal.c": "b3e402cfe92d415f37f666045afb062e6e11670ba03a0ca6f2d9fd4fc3520ac1", + "addons/ai/Scripts/Game/ERR/ERR_HQNetwork.c": "92ff2caca52e94c2cc9642dfc8509ce6e9349b257012bade8650bace9231128c", + "addons/ai/Scripts/Game/ERR/ERR_HQObservation.c": "36c978ec5f052213ac1236e1398d85063efbfd7ef60fe04f1fc11447fefe1d68", + "addons/ai/Scripts/Game/ERR/ERR_HQReport.c": "c4d16ccb571db4d9444c0a8d2be7318845d25ff90238b6d304e96a9ea19f1a08", + "addons/ai/Scripts/Game/ERR/ERR_HelicopterAvailability.c": "60eaef2f6d4b2fd44861c5a4434ef97e732e40a5ff7401e2da451ed2dd9c2762", + "addons/ai/Scripts/Game/ERR/ERR_MortarBattery.c": "66b8f16b692a0f75fc9d920f5224d9292a0f1dc7dd8b2dde912e676fa80ddc9c", + "addons/ai/Scripts/Game/ERR/ERR_MortarFiring.c": "657e96d1112b68c8ced37793e99f88e6078b38a579190e63d00b1f9a9a032e26", + "addons/ai/Scripts/Game/ERR/ERR_MortarPrediction.c": "470dd196ed64800c697d24c09d1344bacd2502587fac76af4ee0edae2563092d", + "addons/ai/Scripts/Game/ERR/ERR_MortarSalvo.c": "697c01f479df6c505a41d984a29c02002e3052114dafa2ec6252ae55e2979a2b", + "addons/ai/Scripts/Game/ERR/ERR_MortarSystem.c": "12d8fc39d47e03c3838e0642aa9e4a80baf60f250357493bff812d5c75812c86", + "addons/ai/Scripts/Game/ERR/ERR_SettlementSafety.c": "e5c0ebc95521a9a33a3f7d9cca6c551dda862a08b7af20b017877aba9584795b", + "addons/ai/Scripts/Game/ERR/ERR_SupportScenario.c": "71757018ec9716c4dc24f62a292a214919d3fd5daed3c16e03e56abd208e9f03", + "addons/ai/addon.gproj": "5f559db8f526700db11e6ae763f5245f19b7006fc68c56e4c09fb6f940bdf2a1", + "addons/chat/Missions/ERR_Everon.conf": "76f3ac0d21b585654beac7ddd68e3c8cbdd66dbfe909b17b04838fa813a7c29b", + "addons/chat/Missions/ERR_Everon.conf.meta": "0a23c98bf83873536c65fa17d38dea33a1d7b9e4ab210f90633ff688abcc551f", + "addons/chat/Scripts/Game/ERR/ERR_AdminCommands.c": "7ea6d6b240524cf0193c86fcab861fbdef9adca780acff11ee73f9ed0e99ce7b", + "addons/chat/Scripts/Game/ERR/ERR_NativeMortarProbe.c": "ddb892141500c192c0787b011d57dd8c07dd8c9a3ca5fdc407f6c271897bde0a", + "addons/chat/Scripts/Game/ERR/ERR_NativeRadioProbe.c": "84524163c63402755b4f834f74dfe6d8e5c397dc26031f532593c6f79f5a93b1", + "addons/chat/Scripts/Game/ERR/ERR_NativeSmoke.c": "0ab2fed95dcaa0442cf7feb25743308060d58497e347f17dbd25c8e970a9f81f", + "addons/chat/Scripts/WorkbenchGame/ERR/ERR_ValidateWorldPlugin.c": "81c92d408ce88cc9f98d6053f1d0c863427693ba748f00df9f1bf8079015ef94", + "addons/chat/addon.gproj": "ea1587e0174cf795334d306c71d99b06797fc891427cd57b6cab6e21cf0e4e0e", + "addons/core/Configs/ERR/EveronSites.conf": "2edb2c6983eb627800b65d9e244b9b228e0b82282e089c7b12e5a8921a2ea7bf", + "addons/core/Configs/ERR/EveronSites.conf.meta": "d5fe68025ef4e7c1e16082cf5873b7c7172eacbfaef4ab29b7e0e3c98f8dca56", + "addons/core/Configs/ERR/GameOverScreens.conf": "45231061911a1462d45fb6db0fecc2b0793f17b5ae71017174954ff4fbd20236", + "addons/core/Configs/ERR/GameOverScreens.conf.meta": "eb654b745c0b97b41c991694569ef4877a3c2315e0826f9556337cd68690843e", + "addons/core/Configs/ERR/VanillaFactions.conf": "f8b8b9898a16b4a4a55ab3c12d2547bef2dc433732c7643df980cb3aca715212", + "addons/core/Configs/ERR/VanillaFactions.conf.meta": "ac77725c0c21974991ef47a466b88122e939de8b46fd23e68889e7674cbb2bfd", + "addons/core/Missions/ERR_Everon_Base.conf": "1e6a0e9a756d15495201f71121626890f01efe6b00154c561672d4ec157960bd", + "addons/core/Missions/ERR_Everon_Base.conf.meta": "9b16267c644d815bcf98a3a3aaff30b93d7224fb24d3a2bac66730a28011f317", + "addons/core/Prefabs/ERR/Extraction.et": "1aa286ef253c5410f09fa641e4be91a7be8ec834487a7fbb74cfb45cab60ee1e", + "addons/core/Prefabs/ERR/Extraction.et.meta": "c2a838633001e2e3a202d39cb33aa744ebcd996017ad032359069641b5d13853", + "addons/core/Prefabs/ERR/FieldCover.et": "20f8095e69dbfe3db74ff19078e528ea75405362b335e03560ccd61f8df2e7f3", + "addons/core/Prefabs/ERR/FieldCover.et.meta": "83461ffa76244e1d69f20b053a9741ccdf7d127009182bd540a7e5ba6150c3d9", + "addons/core/Prefabs/ERR/GameMode.et": "385c97a5b8067091d92aa60c2d4fcf02002cf606b95523866ead65c96b8c0029", + "addons/core/Prefabs/ERR/GameMode.et.meta": "106769cd34525c9d440057072836cb7401a6752148c40edd7fe61c03bd58328c", + "addons/core/Prefabs/ERR/ObjectiveDocument.et": "2e72270bf186654af12d2c3ff9bf940690b03fb17fca44f873c1fde5d11384c0", + "addons/core/Prefabs/ERR/ObjectiveDocument.et.meta": "eaba9903be147b98a1106e2273e2270773df73b9b22f2cd4e20136a8e281382e", + "addons/core/Prefabs/ERR/Patrol.et": "c5685a8bc311cc5563fb3334beec9408d3d7a1069152fddeeb7df4f1b7f9e6ce", + "addons/core/Prefabs/ERR/Patrol.et.meta": "7c5da568fa2fcf0709ee2959253cb068d7c7ed7c2467af3b247a7e70efd96b69", + "addons/core/Prefabs/ERR/Prison.et": "1503db1441d8cd7a4f0b45c27ba9623b9fa39f0f81016e180bd2aa1379e1f42a", + "addons/core/Prefabs/ERR/Prison.et.meta": "2e426ef3de68f4107907854b51e818bc11d84649a01c538e3f18dd9ebec766bb", + "addons/core/Prefabs/ERR/PrisonDoor.et": "fc66be9d36f1f01084de59f1b0a1e8817f9e46547ead33d4fafaac0107446c40", + "addons/core/Prefabs/ERR/PrisonDoor.et.meta": "b8f3db52bf186426026668fbb9d633c3cbd4d438ab301fba880398f6a0e781c2", + "addons/core/Prefabs/ERR/PrisonWall.et": "8009d19365ae72a4749d7ad4fa04662575b06c65c6bf06507d380d57258b5eed", + "addons/core/Prefabs/ERR/PrisonWall.et.meta": "0294bc5dbb56f90f8153d62459bb0a6ad91d76a479812bbec9c7db182fdb58d6", + "addons/core/Prefabs/ERR/Radio.et": "b4b5cfe125b39019855816c9a1c508ca4d65d435b5546fdaa6c1fa3c8c9b1165", + "addons/core/Prefabs/ERR/Radio.et.meta": "bc91137b68ba550217914fb8892bb44d7e1920e4a1086f3e506623832a44212f", + "addons/core/Prefabs/ERR/SpectatorCamera.et": "b5b87d5b7b707f3745741aebe7c923067c8a74f8fbb2a4711834bab03bb5a812", + "addons/core/Prefabs/ERR/SpectatorCamera.et.meta": "2a16558f93915e31908a674509e9c89976470f78a84a1174a64b94b68b8f77ad", + "addons/core/Prefabs/ERR/SupplyCache.et": "bccf7afbaae97cfcdd78dd6dbbf4be5b2c045d348f50fe4581962e556c0044d7", + "addons/core/Prefabs/ERR/SupplyCache.et.meta": "2f5de3a4aab1e9d0e35521f48dc57b95bd6e449c383dec4f1c258e10295904cb", + "addons/core/Prefabs/ERR/SupplySite.et": "dc5decce5cabf39b6116e8794ec3960cb1e35761854fdbe69740da118787ded4", + "addons/core/Prefabs/ERR/SupplySite.et.meta": "b41944b12eb3528ff7a3ac94258b18c66ef161aa6a38894aee300a1ac4798630", + "addons/core/Scripts/Game/ERR/ERR_Actions.c": "adf93245e6d78c59b9839599d157a0d2b2b93ea93b3d1ae52e2904dd6c288266", + "addons/core/Scripts/Game/ERR/ERR_Actors.c": "b3c5aabb05f7cf35167bc09b5db51a4ffd89a46658805d6eedbfb80eee30273d", + "addons/core/Scripts/Game/ERR/ERR_AdminService.c": "047c14ce60cc0b167e202438f8f2b1063590e69ef88ea55b54598aea5f99c505", + "addons/core/Scripts/Game/ERR/ERR_DiscoveryMap.c": "2f4ea342fea0530061456be9cdce002d5e7a282e4e27eb88f3860e79f93612bf", + "addons/core/Scripts/Game/ERR/ERR_DiscoveryService.c": "6b5679447fe4a6d7d54c0545881ab56284f871556b3159207d421247f419eada", + "addons/core/Scripts/Game/ERR/ERR_DocumentComponent.c": "17bb76b80ebd3357e46d553c44674f602c7bd6901c92aec53ac8214194aa4ff2", + "addons/core/Scripts/Game/ERR/ERR_EscapeGameOverScreenInfo.c": "b1e1afb7795cb77c0bad94c85abf705b26b9dc2a9400905d80eafd56bdd009d3", + "addons/core/Scripts/Game/ERR/ERR_ExtractionService.c": "91357099b4e0401196b67d48963be54be30e56bdba57cdac67dc20b8ebb883e9", + "addons/core/Scripts/Game/ERR/ERR_FactionCatalog.c": "a5a8c53acf21259e14f59cb919535910f30dabff5a9179c664bc6a7a4d744d6e", + "addons/core/Scripts/Game/ERR/ERR_GameMode.c": "d766d1639378070bea64eef38baa4667f8b9f5f1a2a7b170f0fc5e8fd557917d", + "addons/core/Scripts/Game/ERR/ERR_Location.c": "d2035f56ded35743312ec6ca91a67f8623a466c91255e1893c570edf0954ff24", + "addons/core/Scripts/Game/ERR/ERR_MissionRules.c": "f7abc38ad8fdc375ce7fa63a65f0bade027d22b37e09de5e3f94ba8c3c63cc41", + "addons/core/Scripts/Game/ERR/ERR_NativeBaseSmoke.c": "e1790bca83feb52dc1093eced0624fc5bf0b3050b831a0fb8b3731759e84710f", + "addons/core/Scripts/Game/ERR/ERR_NativeContractsProbe.c": "d1556df885171cf967e96eef5d8981a2e9ee4e3938b7d32fdd0426f647bbabc0", + "addons/core/Scripts/Game/ERR/ERR_NativeDefinitionProbe.c": "d05ef8368ef5afa68e29f45843cb1878b5a09be768f8abdff2f4115c23759b01", + "addons/core/Scripts/Game/ERR/ERR_NativeExtractionProbe.c": "4b09385f73206de004f4f3c38a6192fd658a0d2012482dc5a84dff1599ceb972", + "addons/core/Scripts/Game/ERR/ERR_NativeLifecycleProbe.c": "89620ec1cc94e260ef72460b32c3291ffcc84cfe51afa907954b10229a711b2b", + "addons/core/Scripts/Game/ERR/ERR_NativeObjectiveProbe.c": "a4d4fe506cd0150ac63511f143fb479c7a872f0c64462964d33dd79919d71e1b", + "addons/core/Scripts/Game/ERR/ERR_NativeRadioDefenceProbe.c": "cad54f0b43cefd72df74697dfc7e93725ff0acac6d311e963ce4f817428c272c", + "addons/core/Scripts/Game/ERR/ERR_NativeResultProbe.c": "b9a117eef2d5f65fbd792041a2b3e59e38e201bda8e0df8c503e1a1242cfc415", + "addons/core/Scripts/Game/ERR/ERR_NativeSiteSurvey.c": "ac0203753ade0cdff6d483132797a80e4520f14546c3f9dea288281cd4cd9c4f", + "addons/core/Scripts/Game/ERR/ERR_NativeStationTeardownDiagnostic.c": "c01cbdbfe25fd38916fa74f2c02333baaacd5228686fd6e40b33c27b3cea8ed8", + "addons/core/Scripts/Game/ERR/ERR_NativeTimeProbe.c": "c93d049785971e51246fcc07cf24804270a752a655505f2c38e48c80df5255ae", + "addons/core/Scripts/Game/ERR/ERR_NativeTransportProbe.c": "63ec0c5ce698114daa6314b2a6e3c3e98e76094117c477f9d0d072260686d193", + "addons/core/Scripts/Game/ERR/ERR_NativeTransportSurvey.c": "3e94493bf54d15be2bceb106ad18873e14e6755af09c05f07db7fb26fb7adff5", + "addons/core/Scripts/Game/ERR/ERR_ObjectiveDetails.c": "628ebd166dcb5544c2d18dce489619984887ee18296cf2446fc6d894f89dd5bf", + "addons/core/Scripts/Game/ERR/ERR_ObjectiveText.c": "bbb29949194637e6781316836c895e2c0fa7ccdb547d4d944a717da2ad73b0a2", + "addons/core/Scripts/Game/ERR/ERR_Objectives.c": "88d95a52fcba103483ea751571e1afeae0e6fc82115ed50d6fc195424726960f", + "addons/core/Scripts/Game/ERR/ERR_Observer.c": "b719e723369ab4f403950c85226e1336eb48e3c127e84530ac1c695eb86bd0f9", + "addons/core/Scripts/Game/ERR/ERR_PlayerAdminCommands.c": "a084d7dc097dfcde3d6cd9c2e326b9e2f8f2a519f77b30c4f56ab7a1429aa721", + "addons/core/Scripts/Game/ERR/ERR_PlayerEscapeResult.c": "3124ab4d2d6d471409a47aba0af528790734df53243c03fe0cdac3e407047c14", + "addons/core/Scripts/Game/ERR/ERR_PlayerGuide.c": "2c9c365b88651f8b12618443638bf52c04e497221592bd483c33447e30468f36", + "addons/core/Scripts/Game/ERR/ERR_PlayerRoster.c": "a737ba739b3f73a91cd05d808a1d45070e83b5152c003c3164e29842dda51995", + "addons/core/Scripts/Game/ERR/ERR_RadioDefenceService.c": "85eb9c1b65d5987799927b6d8786b7299fcff849bcb15b91f8a4d1aa95823fd1", + "addons/core/Scripts/Game/ERR/ERR_Resources.c": "8a5314944f75b23982c6b99697045e3c0538aa2137b2c947a5b2411e6076ac03", + "addons/core/Scripts/Game/ERR/ERR_ScenarioComponent.c": "abba03af68323d5715ba1e2497fc66f3c706e6a6a983c3a386228abdfddeec89", + "addons/core/Scripts/Game/ERR/ERR_Settings.c": "2aee784e44c732e09f59150896491ab325ef5e62aa6bad725be1fda955a3f614", + "addons/core/Scripts/Game/ERR/ERR_SiteDefinition.c": "75b5121ceab77f0956f0dc34bd077b11af5586350de52321800427f18cc94477", + "addons/core/Scripts/Game/ERR/ERR_SiteService.c": "7ba02712562b3c8cd8de9851b6f26fed85020faacceef0767408b300b935c110", + "addons/core/Scripts/Game/ERR/ERR_SpawnFinalization.c": "2e295b0f225208c5414728ba83333e5e0ab6eef3a708ce39eb1dfce5400c94c9", + "addons/core/Scripts/Game/ERR/ERR_SpawnLogic.c": "64c2cef62d8a435eea396f057255b269d457935bf5d261221700739bf37240b8", + "addons/core/Scripts/Game/ERR/ERR_SpawnPlacement.c": "284db0d4a5ecd38f9c658c91ce943f4c0c30dcf4d31bb3edeea92e4ab0b1436a", + "addons/core/Scripts/Game/ERR/ERR_Supplies.c": "752e8a56b0b8cde33cf532032cb0a203553017b686faac2e19bee06f7a9c0713", + "addons/core/Scripts/Game/ERR/ERR_TimeService.c": "d9f481b7da01e08d2c982a948c18ba6bde76889d7cc9d26d510708f4ba479453", + "addons/core/Scripts/WorkbenchGame/ERR/ERR_ValidateBaseWorldPlugin.c": "7f44aa64ea7b4f8b3640a37a4b781c43bf6adb80e4a3a702d9491131698056f6", + "addons/core/Worlds/ERR_Everon.ent": "22324bc7eb0d80dec8a1f3bd61a9df9201b72f749f4e751766b0c9d0b7d46b87", + "addons/core/Worlds/ERR_Everon.ent.meta": "19d1903ca72baa326b4724a6791d0da1104a1e53f3f31dc1ca41a856efd68e83", + "addons/core/Worlds/ERR_Everon_Layers/default.layer": "f1a058bd315c7d01d464715ac9f4e18ae3d2432551d094a9afbd4c9c5a2a9416", + "addons/core/addon.gproj": "231274e6b62302f32c65f9ff31de2ce8a9e51e1c8d12c87deeec82ae1f40de46", + "addons/intel/Scripts/Game/ERR/ERR_IntelService.c": "482839434b94e7f8c345d5fd96490aeebb765f3dd0c1bb25fceea2f435c0e722", + "addons/intel/addon.gproj": "d0ced242cefb220a5cccd6779d61fda9bc55581701b9f78bcf13c09d92ddbcbe", + "addons/map/Materials/ERRM_MapRenderTarget.emat": "9877c5b175c5f30dd80bea36c711b21ab38219aa7075adf9ae79932e1d4c76bc", + "addons/map/Materials/ERRM_MapRenderTarget.emat.meta": "5ee1a705f8011a44020ca2691f5ccc17d44bf596fef9a36e98d1f267eb58fab0", + "addons/map/Prefabs/Items/Equipment/ERRM_SharedFieldMap.et": "30dee8e9eab459ea32a7d835a9fb89d43df47708057cab829f067b25a24cd581", + "addons/map/Prefabs/Items/Equipment/ERRM_SharedFieldMap.et.meta": "59093e9072c50d99c86da7609c87541016da5bcf92b98d99db4c524e1c8e0e8d", + "addons/map/Scripts/Game/ERR/ERR_ScenarioMap.c": "75fa1d742129ef7f33c005cd48f56db7f49ee7bde3c5428532b0b501b032b0a3", + "addons/map/Scripts/Game/ERRMap/ERRM_SharedMapComponent.c": "fc1a0c7df4fc96da446d7542a45a10fbec1eda1e543ba2f0581cb772277a47c5", + "addons/map/UI/layouts/ERRMap/SharedMapRenderTarget.layout": "49a2da4181b94d42174f58c7f9b6bf2207116c99427d61ff1c212092ac7db4d2", + "addons/map/UI/layouts/ERRMap/SharedMapRenderTarget.layout.meta": "5c846445cc089e2e08899ba703059d4adb805ff30ab5a16409a3cd59718cbd54", + "addons/map/addon.gproj": "1b371e5e01ea9fa46e76570fecb8aaa3a9298e34cba7ccca8a6bdb5ca86eb46a" +} diff --git a/docs/evidence/native-2026-09-19-053124/console.log.txt b/docs/evidence/native-2026-09-19-053124/console.log.txt new file mode 100644 index 0000000..c7c2896 --- /dev/null +++ b/docs/evidence/native-2026-09-19-053124/console.log.txt @@ -0,0 +1,443 @@ +--------------------------------------------- +Log Z:\tmp\erri-workbench-profile\logs\logs_2026-09-19_05-31-24\console.log started at 2026-09-19 05:31:24 (2026-09-19 03:31:24 UTC) + +05:31:24.637 ENGINE : FileSystem: Adding relative directory 'Z:\tmp\erri-workbench-profile\logs\logs_2026-09-19_05-31-24' to filesystem under name logs +05:31:24.637 ENGINE : FileSystem: Adding relative directory 'Z:\tmp\erri-workbench-profile\profile' to filesystem under name profile +05:31:24.637 ENGINE : FileSystem: Current working directory: 'Z:\home\jakub\.local\share\Steam\steamapps\common\Arma Reforger Tools\Workbench\' +05:31:24.639 PROFILING : Workbench Create Engine took: 9.175100 ms +05:31:25.675 INIT : INIT : Workbench Init Engine +05:31:25.675 ENGINE : Initializing engine, version 192142 +05:31:25.675 ENGINE : CLI Params: -gproj Z:/home/jakub/devel/escapistsrereintroduced/addons/core/addon.gproj -addonsDir Z:/home/jakub/devel/escapistsrereintroduced/addons -profile Z:/tmp/erri-workbench-profile -logconsole -wbModule WorldEditor -load Worlds/ERR_Everon.ent -plugin ERR_ValidateBaseWorldPlugin -errPlay 1 -errBaseSmoke 1 -errSmokeOutcome objective-ui -noThrow +05:31:25.686 ENGINE : Addon dirs: +05:31:25.686 ENGINE : dir: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/core/' +05:31:25.686 ENGINE : dir: 'Z:/home/jakub/devel/escapistsrereintroduced/addons' +05:31:25.686 ENGINE : dir: './addons' +05:31:25.686 ENGINE : dir: 'Z:/tmp/erri-workbench-profile/addons' +05:31:25.686 ENGINE : Available addons: +05:31:25.686 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/core/addon.gproj' guid: '2528466DE220D91C' +05:31:25.686 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/ai/addon.gproj' guid: '5192138CB9D5B911' +05:31:25.686 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/chat/addon.gproj' guid: 'FA804F411BDDF2C6' +05:31:25.686 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/intel/addon.gproj' guid: 'D31039C7C53E348A' +05:31:25.686 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/map/addon.gproj' guid: '9AAEE9041D79809E' +05:31:25.686 ENGINE : gproj: './addons/core/core.gproj' guid: '5614BBCCBB55ED1C' (packed) +05:31:25.686 ENGINE : gproj: 'Z:/tmp/erri-workbench-profile/addons/ArmaReforger/ArmaReforger.gproj' guid: '58D0FB3206B6F859' (packed) +05:31:25.687 ENGINE : FileSystem: Adding relative directory 'Z:\home\jakub\devel\escapistsrereintroduced\addons\core' to filesystem under name ERR_Core +05:31:25.811 ENGINE : FileSystem: Adding package 'Z:/tmp/erri-workbench-profile/addons/ArmaReforger/' (pak count: 14) to filesystem under name ArmaReforger +05:31:25.815 ENGINE : FileSystem: Adding package './addons/core/' (pak count: 2) to filesystem under name core +05:31:25.815 ENGINE : CPU vendor : AuthenticAMD +05:31:25.815 ENGINE : CPU type : 2 +05:31:25.815 ENGINE : CPU name : AMD Ryzen 7 3800XT 8-Core Processor +05:31:25.815 ENGINE : CPU cache info : L1 [Inst 32KB, Data 32KB], L2 [Unif 512KB], L3 [Unif 16384KB] +05:31:25.815 ENGINE : CPU count logical : 16 +05:31:25.815 ENGINE : CPU count physical : 8 +05:31:25.815 ENGINE : CPU features : mmx sse sse2 sse3 ssse3 sse4_1 sse4_2 popcnt aesni pclmulqdq osxsave avx sha avx2 +05:31:25.815 RESOURCES : ResourceDB: loading cache (id=0 name=ERR_Core path=Z:\home\jakub\devel\escapistsrereintroduced\addons\core/resourceDatabase.rdb) +05:31:25.816 RESOURCES : ResourceDB: loading cache (id=1 name=ArmaReforger path=Z:/tmp/erri-workbench-profile/addons/ArmaReforger/resourceDatabase.rdb) +05:31:25.943 RESOURCES : ResourceDB: loading cache (id=2 name=core path=./addons/core/resourceDatabase.rdb) +05:31:25.944 RESOURCES : ResourceDB: loading cache (id=3 name=profile path=Z:\tmp\erri-workbench-profile\profile/resourceDatabase.rdb) +05:31:25.944 RESOURCES : ResourceDB: loading cache (id=4 name=logs path=Z:\tmp\erri-workbench-profile\logs\logs_2026-09-19_05-31-24/resourceDatabase.rdb) +05:31:26.092 RESOURCES : RESOURCES : ResourceDB: full scan +05:31:26.096 RESOURCES : RESOURCES : scanning... +05:31:26.096 RESOURCES : RESOURCES : scanning @"ERR_Core" +05:31:26.099 RESOURCES : RESOURCES : scanning @"ArmaReforger" +05:31:26.232 RESOURCES : RESOURCES : scanning @"core" +05:31:26.236 RESOURCES : RESOURCES : scanning @"profile" +05:31:26.236 RESOURCES : RESOURCES : scanning @"logs" +05:31:26.237 RESOURCES : RESOURCES : processing meta-files... +05:31:26.296 RESOURCES : RESOURCES : processing files... +05:31:26.309 INIT : Workbench startup +05:31:26.309 INIT : Workbench Init Engine +05:31:26.309 RESOURCES : ResourceDB: full scan +05:31:26.309 RESOURCES : processing files... +05:31:26.309 RESOURCES (W): resource not registered: @"$profile:rereintroduced.json". Setting null GUID +05:31:26.309 RESOURCES (W): resource not registered: @"$logs:launch-source-sha256.json". Setting null GUID +05:31:26.309 RESOURCES (W): resource not registered: @"$logs:launch-source.json". Setting null GUID +05:31:26.309 RESOURCES : RESOURCES : processing folders... +05:31:26.315 RESOURCES : RESOURCES : creating GUID-item mapping... +05:31:26.331 RESOURCES : RESOURCES : building tree... +05:31:26.387 PROFILING : ResourceDB: full scan took: 295.150800 ms +05:31:26.388 RESOURCES : ResourceDB: saving cache (id=0 name=ERR_Core path=Z:\home\jakub\devel\escapistsrereintroduced\addons\core/resourceDatabase.rdb) +05:31:26.390 RESOURCES : ResourceDB: written 4000/4000 bytes +05:31:26.390 RESOURCES : ResourceDB: cache successfully saved +05:31:26.390 RESOURCES : ResourceDB: saving cache (id=3 name=profile path=Z:\tmp\erri-workbench-profile\profile/resourceDatabase.rdb) +05:31:26.391 RESOURCES : ResourceDB: written 206/206 bytes +05:31:26.391 RESOURCES : ResourceDB: cache successfully saved +05:31:26.391 RESOURCES : ResourceDB: saving cache (id=4 name=logs path=Z:\tmp\erri-workbench-profile\logs\logs_2026-09-19_05-31-24/resourceDatabase.rdb) +05:31:26.393 RESOURCES : ResourceDB: written 162/162 bytes +05:31:26.393 RESOURCES : ResourceDB: cache successfully saved +05:31:26.393 ENGINE : GameProject load +05:31:26.393 ENGINE : Loaded addons: +05:31:26.393 ENGINE : gproj: './addons/core/core.gproj' guid: '5614BBCCBB55ED1C' +05:31:26.393 ENGINE : gproj: 'Z:/tmp/erri-workbench-profile/addons/ArmaReforger/ArmaReforger.gproj' guid: '58D0FB3206B6F859' +05:31:26.393 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/core/addon.gproj' guid: '2528466DE220D91C' +05:31:26.394 ENGINE : Loading custom engine user config '$profile:.save/app1874910_user76561198020202999/settings/ReforgerEngineSettings.conf' +05:31:26.395 INIT : GameProject engine user settings load @"$profile:.save/app1874910_user76561198020202999/settings/ReforgerEngineSettings.conf" +05:31:26.395 ENGINE : Engine user settings config loaded +05:31:26.395 PROFILING : Settings changed took: 0.001600 ms +05:31:26.500 RENDER : (OK) Adapter 'AMD Radeon RX 6950 XT (RADV NAVI21)' supports feature level 12_0 +05:31:26.501 RENDER : Basic screen setup: +05:31:26.501 RENDER : Back buffer format : TEXFMT_R8G8B8A8_SRGB (29) +05:31:26.501 RENDER : MSAA : none +05:31:26.513 RENDER : AMD AGS library initialized, version 6.1.0 x DLL 6.1.0 +05:31:26.513 RENDER : Extendeded AMD info for AMD Radeon RX 6950 XT (RADV NAVI21) (primary device) +05:31:26.513 RENDER : * architecture RDNA2, 80 CUs, 40 WGPs (for RDNA), 64 ROPs +05:31:26.513 RENDER : * core clocks 2720 MHz, memory 1124 MHz +05:31:26.513 RENDER : * TFlops 27.9, memory bandwidth (562.0 GB/s) +05:31:26.513 RENDER : AMD AGS correctly initialized +05:31:26.513 RENDER : GPU_ATI (0x1002) (AMD Radeon RX 6950 XT (RADV NAVI21)) with 1 GPU detected, VRAM 16128MB (fast 0MB), shared 64362MB, driver version 99.19.02-230831a-396538C-AMD-Software-Adrenalin-Edition +05:31:26.513 RENDER : Detected output devices: +05:31:26.513 RENDER : * 1 device/s connected to AMD Radeon RX 6950 XT (RADV NAVI21): +05:31:26.513 RENDER : Generic Non-PnP Monitor (\\.\DISPLAY1), 1280x720 (offset 0x0), 30Hz +05:31:26.513 RENDER : Concurrent frames limit 2 +05:31:26.588 RENDER : DX12 device successfully created by AMD AGS library +05:31:26.588 RENDER : * user markers not supported in this version AMD SW +05:31:26.588 RENDER : Graphics device features +05:31:26.588 RENDER : Needed: +05:31:26.588 RENDER : * Highest supported shader model: 6.8 (6.0 needed) +05:31:26.588 RENDER : Optional: +05:31:26.588 RENDER : * Allow tearing (VSYNC) : 1 +05:31:26.588 RENDER : * 16 bits : 1 +05:31:26.588 RENDER : * Resource heap tier : 3 +05:31:26.588 RENDER : * Persistent heaps (DRED) : 1 +05:31:26.588 RENDER : * DRED 1.2 is supported by compiler +05:31:26.608 RENDER : Main RT format setup. +05:31:26.608 RENDER : Main RT format for quality 0 : TEXFMT_R11G11B10_FLOAT (26) +05:31:26.608 RENDER : Main RT format for quality 1 : TEXFMT_R16G16B16A16_FLOAT (10) +05:31:26.609 ENGINE : Job system settings: coreCount=16, shortJobContextCount=16, shortJobThreadCount=15, longJobThreadCount=16 +05:31:26.635 PROFILING : Settings changed took: 0.014500 ms +05:31:27.061 AUDIO : Endpoint: Speakers (PulseAudio Output) +05:31:27.061 AUDIO : Format: Channels: 2, Sample rate: 48kHz, Avg. bytes: 384kB, Sample bits: 32, Block align: 8B +05:31:27.061 AUDIO : Audio client: +05:31:27.061 AUDIO : Format: Channels: 2, Sample rate: 48kHz, Buffer size: 1536B, Frame: 512 +05:31:27.064 RENDER : RENDER : Reload shaders +05:31:27.064 RENDER : Enfusion shader version 13 +05:31:27.064 INIT : INIT : ShaderListReload +05:31:27.064 PROFILING : ShaderListReload took: 0.000500 ms +05:31:27.207 AUDIO : Endpoint: Speakers (PulseAudio Output) +05:31:27.207 AUDIO : Format: Channels: 2, Sample rate: 48kHz, Avg. bytes: 384kB, Sample bits: 32, Block align: 8B +05:31:27.207 AUDIO : Audio client: +05:31:27.208 AUDIO : Format: Channels: 2, Sample rate: 48kHz, Buffer size: 1536B, Frame: 512 +05:31:27.316 RENDER : Loaded 3752 newer shader binaries +05:31:27.316 PROFILING : Reload shaders took: 252.075700 ms +05:31:27.316 ENGINE : Initializing inputs. +05:31:27.331 NETWORK : Initializing networking. +05:31:27.331 NETWORK : Using new GameRplScheduler. +05:31:27.331 SCRIPT : SCRIPT : Initializing scripts +05:31:27.331 SCRIPT : SCRIPT : ScriptProjectManager init +05:31:28.177 PROFILING : ScriptProjectManager init took: 845.706800 ms +05:31:28.213 PROFILING : Initializing scripts took: 881.564900 ms +05:31:28.229 ENGINE : Enfusion engine successfully created. +05:31:28.230 PROFILING : Workbench Init Engine took: 2554.415900 ms +05:31:28.230 INIT : INIT : Workbench Create Game +05:31:28.239 GUI : Using default language (en_us) +05:31:28.239 GUI : Loading 'en_us' localization file. +05:31:28.239 INIT : INIT : Loading StringTable +05:31:28.262 PROFILING : Loading StringTable took: 22.714700 ms +05:31:28.262 SCRIPT : SCRIPT : Compiling GameLib scripts +05:31:28.319 SCRIPT : Module: Workbench; loaded 18x files; 36x classes; used 125K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE"; CRC32: 90ce0460 +05:31:28.320 SCRIPT : Module: GameLib; loaded 465x files; 648x classes; used 828K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE"; CRC32: 4507af04 +05:31:28.320 PROFILING : Compiling GameLib scripts took: 58.134900 ms +05:31:28.320 SCRIPT : SCRIPT : Compiling Game scripts +05:31:29.428 INIT : Workbench Create Game +05:31:29.428 SCRIPT : Compiling Game scripts +05:31:29.428 SCRIPT (W): @"Scripts/Game/Editor/Components/EditableEntity/SCR_EditableEntityComponent.c,785": 'GetPlayerPlatformKind' is obsolete +05:31:29.428 SCRIPT (W): @"Scripts/Game/Editor/Components/EditableEntity/SCR_EditableEntityComponent.c,786": 'GetPlayerPlatformId' is obsolete +05:31:29.679 SCRIPT (W): @"Scripts/Game/ERR/ERR_SiteService.c,140": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +05:31:29.690 SCRIPT (W): @"Scripts/Game/Workshop/SCR_AddonManager.c,876": 'GetRefCount' is obsolete: Will be removed +05:31:29.720 SCRIPT (W): @"Scripts/Game/Campaign/SCR_PlayerProfileManagerComponent.c,142": 'PlayerData' is obsolete +05:31:29.819 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,159": 'GetDSSession' is obsolete +05:31:29.819 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,162": 'RoomID' is obsolete +05:31:29.819 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,197": 'GetDSSession' is obsolete +05:31:29.819 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,201": 'RoomID' is obsolete +05:31:29.914 SCRIPT (W): @"Scripts/Game/DataCollection/SCR_DataCollectorComponent.c,481": 'GetStorage' is obsolete +05:31:29.914 SCRIPT (W): @"Scripts/Game/DataCollection/SCR_DataCollectorComponent.c,483": 'GetOnlineWritePrivilege' is obsolete +05:31:29.915 SCRIPT (W): @"Scripts/Game/Utilities/SCR_PlayerIdentityUtils.c,20": 'GetPlayerIdentityId' is obsolete +05:31:29.957 SCRIPT (W): @"Scripts/Game/ERR/ERR_ExtractionService.c,45": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +05:31:29.957 SCRIPT (W): @"Scripts/Game/ERR/ERR_ExtractionService.c,56": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +05:31:29.959 SCRIPT (W): @"Scripts/Game/UI/Menu/MainMenuUI.c,643": 'GetNotifyCount' is obsolete: Will be substitued by Notification Api. +05:31:29.959 SCRIPT (W): @"Scripts/Game/UI/Menu/MainMenuUI.c,645": 'GetNotifyItem' is obsolete: Will be substitued by Notification Api. +05:31:29.984 SCRIPT (W): @"Scripts/Game/ERR/ERR_NativeTransportProbe.c,82": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +05:31:30.014 SCRIPT (W): @"Scripts/Game/DataCollection/PlayerData/SCR_PlayerData.c,210": 'PlayerData' is obsolete +05:31:30.284 SCRIPT : Module: WorkbenchGame; loaded 171x files; 616x classes; used 2478K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE"; CRC32: db6febb9 +05:31:30.292 SCRIPT : Module: Game; loaded 5704x files; 11180x classes; used 32545K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE,ENABLE_BASE_DESTRUCTION,BUDGET_OPTIMIZATION_CHECKS,SHOW_DISCLAIMER,DEBUG,RESPAWN_TIMER_COMPONENT_DEBUG,GAME_MODE_DEBUG,DEBUG_CONFIGURABLE_DIALOGS,DISABLE_WEAPON_SWITCHING,SCRIPTED_AIM_MODIFIER_DEBUG"; CRC32: a749b02d +05:31:30.331 PROFILING : Compiling Game scripts took: 2010.436600 ms +05:31:30.336 INIT : Creating game instance(ArmaReforgerScripted), version 1.8.0.13 built 2026-08-21 14:30:18 UTC. +05:31:30.375 ENGINE : Game successfully created. +05:31:30.377 PROFILING : Workbench Create Game took: 2147.050400 ms +05:31:30.384 DEFAULT : Using thumbnail cache directory: C:/users/steamuser/AppData/Local/Temp/Arma Reforger Workbench/Projects/ERR_Core/thumbnails +05:31:31.174 INIT : INIT : Workbench Reload Game +05:31:31.176 ENGINE : Game destroyed. +05:31:31.181 GUI : Using default language (en_us) +05:31:31.181 GUI : Loading 'en_us' localization file. +05:31:31.181 INIT : INIT : Loading StringTable +05:31:31.192 PROFILING : Loading StringTable took: 11.008100 ms +05:31:31.192 INIT : Creating game instance(ArmaReforgerScripted), version 1.8.0.13 built 2026-08-21 14:30:18 UTC. +05:31:31.200 SCRIPT : Unable to register a script command due keyword duplicity: ban +05:31:31.200 SCRIPT : Unable to register a script command due keyword duplicity: kick +05:31:31.201 ENGINE : Game successfully created. +05:31:31.201 ENGINE : Game successfully initialized. +05:31:31.201 PROFILING : Workbench Reload Game took: 26.940400 ms +05:31:31.885 WORLD : WORLD : Entities load '$ERR_Core:Worlds/ERR_Everon.ent' +05:31:32.928 PROFILING : Entities load took: 1042.451900 ms +05:31:32.938 WORLD : WORLD : CreateEntities +05:31:32.943 WORLD : WORLD : NotifyBeforeEntitiesCreated +05:31:32.943 PROFILING : NotifyBeforeEntitiesCreated took: 0.003100 ms +05:31:32.943 WORLD : WORLD : Wait for preloading data +05:31:32.943 PROFILING : Wait for preloading data took: 0.002800 ms +05:31:33.058 ENTITY : Create entity @"ENTITY:2" ('Eden', GenericTerrainEntity) at <0.000000 0.000000 0.000000> @"{5AD924374E8C7AF6}Prefabs/World/Game/Eden/GenericTerrain_Eden.et" +05:31:33.058 PROFILING : PROFILING : Terrain load +05:31:34.644 PROFILING : Terrain load took: 1585.498700 ms +05:31:38.618 WORLD : CreateEntities +05:31:38.619 ENTITY : Create entity @"ENTITY:610406" ('StaticModelEntity','Assets/Structures/Infrastructure/Towers/TransmitterTower_01/TransmitterTower_01_small.xob') at <1931.796021 81.777000 5138.725098> @"{6A004A8F0571D456}Prefabs/Structures/Infrastructure/Towers/TransmitterTower_01/TransmitterTower_01_small.et" +05:31:38.619 ENTITY : CreateComponent 'ScriptedRadioComponent' +05:31:38.619 DEFAULT (W): World doesn't contain RadioManagerEntity to support any BaseRadioComponent. +05:31:48.202 WORLD : WORLD : NotifyBeforeEntitiesInitialized +05:31:48.202 PROFILING : NotifyBeforeEntitiesInitialized took: 0.006400 ms +05:31:48.629 WORLD : WORLD : NotifyEntitiesInitialized +05:31:48.630 TERRAIN : TERRAIN : Initializing road networks... +05:31:48.632 PROFILING : Initializing road networks... took: 2.394300 ms +05:31:48.632 PROFILING : NotifyEntitiesInitialized took: 2.932100 ms +05:31:48.633 PROFILING : CreateEntities took: 15693.663900 ms +05:31:48.818 PROFILING : * WorldEditor: LoadWorld: 16938.688400 ms +05:31:50.274 TERRAIN : Loading tile map config (worlds/Eden/Eden/tileMap.conf) +05:31:50.275 TERRAIN : Loading minimap config (worlds/Eden/Eden/miniMap.conf) +05:31:50.276 TERRAIN : The default minimap texture ('worlds/Eden/EdenRasterized.edds') not found. Trying 'worlds/Eden/Eden.edds'... +05:31:50.276 TERRAIN : The default minimap texture ('worlds/Eden/Eden.edds') not found. Skipping... +05:31:50.365 SCRIPT : ERR SITE SURVEY: supply=6150/7050 elevationRange=0.625 min=202.875 max=203.5 +05:31:50.392 BACKEND : Attempting online Game Config instead. +05:31:53.582 INIT : INIT : Workbench Reload Game +05:31:53.584 ENGINE : Game destroyed. +05:31:53.591 GUI : Using default language (en_us) +05:31:53.592 GUI : Loading 'en_us' localization file. +05:31:53.592 INIT : INIT : Loading StringTable +05:31:53.612 PROFILING : Loading StringTable took: 20.520100 ms +05:31:53.613 INIT : Creating game instance(ArmaReforgerScripted), version 1.8.0.13 built 2026-08-21 14:30:18 UTC. +05:31:53.620 SCRIPT : Unable to register a script command due keyword duplicity: ban +05:31:53.620 SCRIPT : Unable to register a script command due keyword duplicity: kick +05:31:53.620 ENGINE : Game successfully created. +05:31:53.620 ENGINE : Game successfully initialized. +05:31:53.621 PROFILING : Workbench Reload Game took: 38.849200 ms +05:31:53.623 DEFAULT (W): LogiLED: Cannot initialize! (service not running or no compatible device detected) +05:31:53.671 PLATFORM : Save data from container 'settings' have been loaded +05:31:53.763 PLATFORM : Save data from container 'sessions' have been loaded +05:31:53.764 PLATFORM : GameProject user settings load from profile @"ReforgerGameSettings.conf" +05:31:53.764 ENGINE : Game user settings config loaded +05:31:53.861 DEFAULT : [SaveGameManager] Starting new playthrough nr.0 '' for mission '{B6C516F86302C679}Worlds/ERR_Everon.ent'. +05:31:53.867 WORLD : WORLD : Game::LoadEntities +05:31:53.867 WORLD : WORLD : Initializing world systems @"{1C60D2EDA2B468B8}Configs/Systems/BaseGameModeSystems.conf" +05:31:53.869 NETWORK : Enabled lag compensation, 29 frames with 100 FPS and 280 ms rewind limits. +05:31:53.869 WORLD : WORLD : CreateEntities +05:31:53.869 WORLD : WORLD : CreateEntities +05:31:53.869 WORLD : WORLD : NotifyBeforeEntitiesCreated +05:31:53.874 RESOURCES : Loaded mission headers from 7 addon(s)! +05:31:53.874 PROFILING : NotifyBeforeEntitiesCreated took: 4.860800 ms +05:31:53.874 WORLD : WORLD : Wait for preloading data +05:31:53.874 PROFILING : Wait for preloading data took: 0.000700 ms +05:31:58.218 WORLD : Game::LoadEntities +05:31:58.218 WORLD : CreateEntities +05:31:58.218 WORLD : CreateEntities +05:31:58.218 ENTITY : Create entity @"ENTITY:610406" ('StaticModelEntity','Assets/Structures/Infrastructure/Towers/TransmitterTower_01/TransmitterTower_01_small.xob') at <1931.796021 81.777000 5138.725098> @"{6A004A8F0571D456}Prefabs/Structures/Infrastructure/Towers/TransmitterTower_01/TransmitterTower_01_small.et" +05:31:58.218 ENTITY : CreateComponent 'ScriptedRadioComponent' +05:31:58.218 DEFAULT (W): World doesn't contain RadioManagerEntity to support any BaseRadioComponent. +05:31:59.647 ENTITY : Create entity @"ENTITY:842066" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1080.213013 10.776751 6018.347168> +05:31:59.647 ENTITY : CreateComponent 'Hierarchy' +05:31:59.647 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842066" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1080.213013 10.776751 6018.347168>') +05:31:59.647 ENTITY : Create entity @"ENTITY:842068" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1082.185913 10.778749 6018.331055> +05:31:59.647 ENTITY : CreateComponent 'Hierarchy' +05:31:59.647 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842068" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1082.185913 10.778749 6018.331055>') +05:31:59.647 ENTITY : Create entity @"ENTITY:842070" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1084.190918 10.790751 6018.334961> +05:31:59.647 ENTITY : CreateComponent 'Hierarchy' +05:31:59.647 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842070" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1084.190918 10.790751 6018.334961>') +05:31:59.654 ENTITY : Create entity @"ENTITY:842333" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4425.594727 9.981750 11029.402344> +05:31:59.654 ENTITY : CreateComponent 'Hierarchy' +05:31:59.654 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842333" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4425.594727 9.981750 11029.402344>') +05:31:59.654 ENTITY : Create entity @"ENTITY:842335" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4426.584473 9.983749 11031.109375> +05:31:59.654 ENTITY : CreateComponent 'Hierarchy' +05:31:59.654 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842335" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4426.584473 9.983749 11031.109375>') +05:31:59.655 ENTITY : Create entity @"ENTITY:842337" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4427.572266 9.995750 11032.853516> +05:31:59.655 ENTITY : CreateComponent 'Hierarchy' +05:31:59.655 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842337" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4427.572266 9.995750 11032.853516>') +05:31:59.660 ENTITY : Create entity @"ENTITY:842591" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.946289 10.470250 1551.986084> +05:31:59.660 ENTITY : CreateComponent 'Hierarchy' +05:31:59.660 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842591" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.946289 10.470250 1551.986084>') +05:31:59.660 ENTITY : Create entity @"ENTITY:842593" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.430664 10.472250 1550.081421> +05:31:59.660 ENTITY : CreateComponent 'Hierarchy' +05:31:59.660 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842593" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.430664 10.472250 1550.081421>') +05:31:59.660 ENTITY : Create entity @"ENTITY:842595" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10008.926758 10.484250 1548.140869> +05:31:59.660 ENTITY : CreateComponent 'Hierarchy' +05:31:59.660 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842595" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10008.926758 10.484250 1548.140869>') +05:32:04.107 ENTITY : Create entity @"ENTITY:2305843009213693956" ('Factions', SCR_FactionManager) at <0.000000 0.000000 0.000000> @"{589540B35EBA8CDC}Prefabs/MP/Managers/Factions/FactionManager_USxUSSR.et" +05:32:04.107 RESOURCES : GetResourceObject @"{5168FEA3054D6D15}Prefabs/Vehicles/Wheeled/M151A2/M151A2_M2HB_MERDC.et" +05:32:04.107 WORLD : Entity prefab load @"{5168FEA3054D6D15}Prefabs/Vehicles/Wheeled/M151A2/M151A2_M2HB_MERDC.et" +05:32:04.107 RESOURCES : GetResourceObject @"{F6B23D17D5067C11}Prefabs/Vehicles/Wheeled/M151A2/M151A2_M2HB.et" +05:32:04.107 WORLD : Entity prefab load @"{F6B23D17D5067C11}Prefabs/Vehicles/Wheeled/M151A2/M151A2_M2HB.et" +05:32:04.107 RESOURCES : GetResourceObject @"{F649585ABB3706C4}Prefabs/Vehicles/Wheeled/M151A2/M151A2.et" +05:32:04.107 WORLD : Entity prefab load @"{F649585ABB3706C4}Prefabs/Vehicles/Wheeled/M151A2/M151A2.et" +05:32:04.107 WORLD (E): Unknown keyword/data 'SlidingTrackMaterial' at offset 19441(0x4bf1) +05:32:04.147 RESOURCES : GetResourceObject @"{F7B9B434FCFF00B3}Prefabs/Vehicles/Wheeled/Conflict_Variants/BRDM2_Conflict.et" +05:32:04.147 WORLD : Entity prefab load @"{F7B9B434FCFF00B3}Prefabs/Vehicles/Wheeled/Conflict_Variants/BRDM2_Conflict.et" +05:32:04.147 RESOURCES : GetResourceObject @"{254289B9C09904AB}Prefabs/Vehicles/Wheeled/BRDM2/BRDM2.et" +05:32:04.147 WORLD : Entity prefab load @"{254289B9C09904AB}Prefabs/Vehicles/Wheeled/BRDM2/BRDM2.et" +05:32:04.147 RESOURCES : GetResourceObject @"{532B5F3CF8496E59}Prefabs/Vehicles/Wheeled/BRDM2/BRDM2_base.et" +05:32:04.147 WORLD : Entity prefab load @"{532B5F3CF8496E59}Prefabs/Vehicles/Wheeled/BRDM2/BRDM2_base.et" +05:32:04.147 WORLD (E): Unknown keyword/data 'Parent' at offset 35955(0x8c73) +05:32:04.147 WORLD (E): Unknown keyword/data 'Parent' at offset 36915(0x9033) +05:32:04.148 RESOURCES : GetResourceObject @"{BD75A18920BD1278}Prefabs/Vehicles/Wheeled/Conflict_Variants/BTR70_Conflict.et" +05:32:04.148 WORLD : Entity prefab load @"{BD75A18920BD1278}Prefabs/Vehicles/Wheeled/Conflict_Variants/BTR70_Conflict.et" +05:32:04.148 RESOURCES : GetResourceObject @"{C012BB3488BEA0C2}Prefabs/Vehicles/Wheeled/BTR70/BTR70.et" +05:32:04.148 WORLD : Entity prefab load @"{C012BB3488BEA0C2}Prefabs/Vehicles/Wheeled/BTR70/BTR70.et" +05:32:04.148 RESOURCES : GetResourceObject @"{1C5FE7B7FF49BB8D}Prefabs/Vehicles/Wheeled/BTR70/BTR70_Base.et" +05:32:04.148 WORLD : Entity prefab load @"{1C5FE7B7FF49BB8D}Prefabs/Vehicles/Wheeled/BTR70/BTR70_Base.et" +05:32:04.148 WORLD (E): Unknown keyword/data 'Parent' at offset 42646(0xa696) +05:32:04.148 WORLD (E): Unknown keyword/data 'Parent' at offset 43645(0xaa7d) +05:32:04.148 WORLD (E): Unknown keyword/data 'Parent' at offset 44617(0xae49) +05:32:04.148 WORLD (E): Unknown keyword/data 'Parent' at offset 45590(0xb216) +05:32:04.464 WORLD : WORLD : NotifyBeforeEntitiesInitialized +05:32:04.464 PROFILING : NotifyBeforeEntitiesInitialized took: 0.056100 ms +05:32:06.410 WORLD : InitEntities 'world' +05:32:06.410 ENTITY : Init entity @"ENTITY:2305843009213693953" ('Rereintroduced', ERR_GameMode) at <1076.468018 51.000999 1325.246948> @"{978E045E53EF36C8}Prefabs/ERR/GameMode.et" +05:32:06.410 SCRIPT (W): SCR_PerceivedFactionManagerComponent trying to set fall back faction 'CIV' but this faction could not be found so it is null instead. +05:32:06.442 WORLD : InitEntities 'world' +05:32:06.442 ENTITY : Init entity @"ENTITY:2305843009213693953" ('Rereintroduced', ERR_GameMode) at <1076.468018 51.000999 1325.246948> @"{978E045E53EF36C8}Prefabs/ERR/GameMode.et" +05:32:06.442 SCRIPT : ERR BASE SMOKE: core-only scripted escape; not manual or multiplayer acceptance +05:32:06.443 WORLD : WORLD : NotifyEntitiesInitialized +05:32:06.443 TERRAIN : TERRAIN : Initializing road networks... +05:32:06.446 PROFILING : Initializing road networks... took: 2.767400 ms +05:32:06.446 DEFAULT : DEFAULT : WorldVolumesCollection +05:32:06.505 PROFILING : WorldVolumesCollection took: 59.591100 ms +05:32:06.505 INIT : INIT : SoundWorldInit +05:32:06.521 PROFILING : SoundWorldInit took: 15.367500 ms +05:32:06.521 PROFILING : NotifyEntitiesInitialized took: 77.991100 ms +05:32:06.521 PROFILING : CreateEntities took: 12651.895100 ms +05:32:06.521 PROFILING : CreateEntities took: 12652.101800 ms +05:32:06.522 WORLD : WORLD : Wait for preloading data around camera +05:32:06.522 PROFILING : Wait for preloading data around camera took: 0.001000 ms +05:32:06.522 WORLD : WORLD : EOnActivate +05:32:06.558 PROFILING : EOnActivate took: 36.698500 ms +05:32:06.559 PROFILING : Game::LoadEntities took: 12691.135900 ms +05:32:06.841 DEFAULT : Entered offline game state. +05:32:06.944 NETWORK : Player connected: connectionID=2147483646 +05:32:06.944 NETWORK : ### Connecting player: connectionID=2147483646, Name= +05:32:06.944 NETWORK : ### Creating player: PlayerId=1, Name=jakub +05:32:06.948 ENTITY : SpawnEntityPrefab @"{225E51284CC95CFA}Prefabs/Characters/Core/DefaultPlayerControllerMP.et" +05:32:06.948 ENTITY : Create entity @"ENTITY:4611686018427388381" ('SCR_PlayerController') at <0.000000 0.000000 0.000000> +05:32:06.949 ENTITY : EntityPrefabUse @"{225E51284CC95CFA}Prefabs/Characters/Core/DefaultPlayerControllerMP.et" +05:32:06.949 SCRIPT (W): Notification data in 'SCR_NotificationsLogDisplay' has duplicate notification info key: 'EDITOR_PERCEIVED_FACTION_PUNISHMENT_KILLING_SET'. There should only be one of each key! +05:32:06.949 SCRIPT (W): Notification data in 'SCR_NotificationsLogDisplay' has duplicate notification info key: 'EDITOR_PERCEIVED_FACTION_TYPE_DISABLED'. There should only be one of each key! +05:32:06.951 SCRIPT (W): Can't open config file "" +05:32:06.956 WORLD : InitEntities 'world' +05:32:06.956 ENTITY : Init entity @"ENTITY:4611686018427388381" ('SCR_PlayerController') at <0.000000 0.000000 0.000000> @"{225E51284CC95CFA}Prefabs/Characters/Core/DefaultPlayerControllerMP.et" +05:32:06.956 GUI : WidgetManager: CrateWidgets @"{3C9DCDD76AB83157}UI/layouts/HUD/HUDLayouts/HUDManager_Root.layout" +05:32:06.956 SCRIPT (W): Slot_WeaponInfo Has no Content! +05:32:06.957 SCRIPT (W): Slot_Chat Has no Content! +05:32:06.957 SCRIPT (W): Slot_VON Has no Content! +05:32:06.957 SCRIPT (W): Slot_AvailableActions Has no Content! +05:32:06.957 SCRIPT (W): Slot_Vehicle Has no Content! +05:32:06.957 SCRIPT (W): Slot_GameVersion Has no Content! +05:32:06.957 SCRIPT (W): Slot_Notifications Has no Content! +05:32:06.957 SCRIPT (W): Slot_Hints Has no Content! +05:32:06.970 NETWORK : ### Updating player: PlayerId=1, Name=jakub, rplIdentity=0xFFFFFFFE, IdentityId=00000000-0000-0000-0000-000000000000 +05:32:06.970 SCRIPT (W): Ban Settings could not be loaded from BE Storage: Relying on default config +05:32:06.971 NETWORK : Players connecting: 0 +05:32:06.971 NETWORK : Players connected: 1 / 1 +05:32:06.999 DEFAULT : Using autosave directory: C:/users/steamuser/AppData/Local/Temp/Arma Reforger Workbench/Projects/ERR_Core/autosaves +05:32:07.001 PROFILING : Workbench startup took: 42423.363600 ms +05:32:07.025 WORLD : Frame start +05:32:07.025 SCRIPT : ScenarioFramework: Available tasks are empty, no new tasks will be generated. +05:32:07.039 WORLD : UpdateEntities +05:32:07.039 WORLD : Frame +05:32:07.039 SCRIPT : SCR_BaseGameMode::OnGameStateChanged = GAME +05:32:07.215 WORLD : UpdateEntities +05:32:07.215 WORLD : PostFrame +05:32:07.216 GUI : WidgetManager: CrateWidgets @"{D89BBA18F99053D6}UI/layouts/HUD/Chat/ChatHud.layout" +05:32:07.216 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +05:32:07.260 RESOURCES : GetResourceObject @"{20A6917D2114E29A}UI/layouts/HUD/Hint/HintInfoDisplay.layout" +05:32:07.260 GUI : Layout load @"{20A6917D2114E29A}UI/layouts/HUD/Hint/HintInfoDisplay.layout" +05:32:07.260 GUI : Widget prefab @"{EA1CC57D868E94F9}UI/layouts/HUD/Hint/Hint.layout" +05:32:07.261 GUI (W): Overridden prefab member (GUID: '{661AB14E0F471C66}' type: ButtonWidgetClass) no longer exists in prefab +05:32:07.417 RENDER : RENDER : ObjectsHeightMap::Build +05:32:07.418 RENDER : RENDER : MeshOccupancyGridManager::GenerateAllForWorld +05:32:07.591 PROFILING : MeshOccupancyGridManager::GenerateAllForWorld took: 172.896300 ms +05:32:07.599 PROFILING : ObjectsHeightMap::Build took: 180.925900 ms +05:32:08.771 SCRIPT : Rereintroduced [sites]: cache clearance position=<6086,211.538,7160> clear=1 +05:32:08.789 SCRIPT : Rereintroduced [sites]: authored everon-prison-1 at <6090,211.444,7160> +05:32:08.790 SCRIPT : Rereintroduced [sites]: cache clearance position=<6150,203.288,7050> clear=1 +05:32:08.817 SCRIPT : Rereintroduced [sites]: authored everon-supply-1 at <6150,203.288,7050> +05:32:08.819 SCRIPT : Rereintroduced [sites]: authored everon-radio-1 at <6500,159.756,7200> +05:32:08.868 SCRIPT : Rereintroduced [sites]: authored everon-extraction-1 at <7000,65.2562,7500> +05:32:08.868 SCRIPT : Rereintroduced [sites]: cache clearance position=<5960,220.256,7220> clear=1 +05:32:08.873 SCRIPT : Rereintroduced [sites]: transport parking=<5960,220.256,7212> radius=4 terrainRange=0.8125 obstructed=0 clear=1 +05:32:08.919 SCRIPT : Rereintroduced [sites]: authored everon-supply-2 at <5960,220.256,7220> +05:32:08.919 SCRIPT : Rereintroduced [sites]: cache clearance position=<6340,175.788,7400> clear=1 +05:32:08.921 SCRIPT : Rereintroduced [sites]: authored everon-medical-1 at <6340,175.788,7400> +05:32:08.922 SCRIPT : Rereintroduced [sites]: cache clearance position=<6740,140.6,7300> clear=1 +05:32:08.925 SCRIPT : Rereintroduced [sites]: cache clearance position=<6740,140.913,7296> clear=1 +05:32:08.926 SCRIPT : Rereintroduced [sites]: cache clearance position=<6736,140.975,7300> clear=1 +05:32:08.926 SCRIPT : Rereintroduced [sites]: cache clearance position=<6744,140.288,7300> clear=1 +05:32:08.927 SCRIPT : Rereintroduced [sites]: authored everon-outpost-1 at <6740,140.6,7300> +05:32:09.019 SCRIPT : Rereintroduced [sites]: 7 sites and 117 physical stock items ready +05:32:09.020 SCRIPT : Rereintroduced [time]: started at 14:00 with 1x progression +05:32:09.020 SCRIPT : Rereintroduced [mission]: phase 0 -> 1 +05:32:09.273 SCRIPT : INFO: Faction: player jakub (playerID = 1 | UUID = 00000000-0000-0000-0000-000000000000) has joined faction #AR-Faction_US (US) +05:32:09.351 SCRIPT : Rereintroduced [spawn]: player 1 at <6087,211.538,7157> +05:32:09.456 SCRIPT : ERR SMOKE PASS: objective UI current native task exists +05:32:09.459 SCRIPT : ERR SMOKE PASS: objective UI native list and detail layouts created +05:32:09.459 SCRIPT : ERR SMOKE PASS: objective UI native handlers attached +05:32:09.460 SCRIPT : ERR SMOKE PASS: objective UI open list and details contain current title and instructions +05:32:09.460 SCRIPT : ERR SMOKE PASS: objective UI list-only task cannot expose an undiscovered map position +05:32:09.460 SCRIPT : ERR SMOKE PASS: objective UI actual local player receives the active objective +05:32:09.460 SCRIPT : ERR SMOKE PASS: objective UI extraction instructions follow a nondefault boundary +05:32:09.460 SCRIPT : ERR SMOKE PASS: objective UI rebinding keeps one subscription to each native task event +05:32:09.461 SCRIPT : ERR SMOKE PASS: objective UI closing native widget uses production detach and releases its task +05:32:09.461 SCRIPT : ERR SMOKE PASS: objective UI closed native widget receives no task callbacks +05:32:10.464 SCRIPT : ERR SMOKE PASS: objective UI closed native widget has no delayed overflow callbacks +05:32:10.464 SCRIPT : ERR SMOKE PASS: objective UI current native task exists +05:32:10.466 SCRIPT : ERR SMOKE PASS: objective UI native list and detail layouts created +05:32:10.467 SCRIPT : ERR SMOKE PASS: objective UI native handlers attached +05:32:10.467 SCRIPT : ERR SMOKE PASS: objective UI open list and details contain current title and instructions +05:32:10.467 SCRIPT : ERR SMOKE PASS: objective UI list-only task cannot expose an undiscovered map position +05:32:10.467 SCRIPT : ERR SMOKE PASS: objective UI actual local player receives the active objective +05:32:10.467 SCRIPT : ERR SMOKE PASS: objective UI extraction instructions follow a nondefault boundary +05:32:10.468 SCRIPT : ERR SMOKE PASS: objective UI details reopen through native layout and current objective binding +05:32:10.468 SCRIPT : ERR SMOKE PASS: objective UI isolated deletion has a native task system, mission task and local executor +05:32:10.469 SCRIPT : ERR SMOKE PASS: objective UI deletion fixture owns a separate native task +05:32:10.469 SCRIPT : ERR SMOKE PASS: objective UI isolated task has an actual local assignee +05:32:10.471 SCRIPT : ERR SMOKE PASS: objective UI isolated native details layout created +05:32:10.471 SCRIPT : ERR SMOKE PASS: objective UI isolated native details handler attached +05:32:10.472 SCRIPT : ERR SMOKE PASS: objective UI native task deletion clears both task and bound-widget weak references +05:32:10.472 SCRIPT : ERR SMOKE PASS: objective UI deleted-task panel closes through production detach +05:32:10.472 SCRIPT : ERR SMOKE PASS: objective UI real mission objective survives isolated deletion and assignment is restored +05:32:11.473 SCRIPT : ERR SMOKE PASS: objective UI deleted-task panel has no delayed callbacks after weak references clear +05:32:11.473 SCRIPT : ERR SMOKE PASS: objective UI real mission objective remains intact after delayed teardown check +05:32:11.473 SCRIPT : Rereintroduced [mission]: phase 1 -> 6 +05:32:11.474 SCRIPT : ERR SMOKE PASS: base objective UI fixture finished before explicit test reset +05:32:11.474 SCRIPT : ERR SMOKE COMPLETE: native objective UI close, reopen and deleted-task cleanup; reset requested by fixture +05:32:11.513 SCRIPT : SCR_BaseGameMode::OnGameStateChanged = POSTGAME +05:32:11.515 GUI : WidgetManager: CrateWidgets @"{144919871D65F121}UI/layouts/HUD/GameOver/EndScreen/EndScreen.layout" +05:32:11.515 SCRIPT (W): Slot_Chat Has no Content! +05:32:11.515 SCRIPT (W): Slot_VON Has no Content! +05:32:11.515 SCRIPT (W): Slot_GameVersion Has no Content! +05:32:11.516 SCRIPT (W): Slot_Notifications Has no Content! +05:32:13.510 SCRIPT (W): SCR_ScriptedWidgetComponent.GetComponent: widget not found: SCR_InputButtonComponent Back +05:32:13.510 SCRIPT : -- Stack trace -- +05:32:13.510 SCRIPT : GetComponent() Scripts/Game/UI/Components/WidgetLibrary/SCR_ScriptedWidgetComponent.c : 43 +05:32:13.510 SCRIPT : GetInputButtonComponent() Scripts/Game/UI/Components/WidgetLibrary/SCR_InputButton/SCR_InputButtonComponent.c : 1214 +05:32:13.510 SCRIPT : OnMenuOpen() Scripts/Game/UI/GameOverScreen/SCR_GameOverScreenInput.c : 15 +05:32:13.510 SCRIPT : OpenGameOverScreen() Scripts/Game/GameOverScreen/SCR_GameOverScreenManagerComponent.c : 447 +05:32:13.510 SCRIPT : ShowGameOverScreen() Scripts/Game/GameOverScreen/SCR_GameOverScreenManagerComponent.c : 177 +05:32:13.511 SCRIPT : OnUpdate() Scripts/Game/game.c : 885 +05:32:13.511 SCRIPT : ----------------- +05:32:13.511 SCRIPT (W): SCR_ScriptedWidgetComponent.GetComponent: widget not found: SCR_InputButtonComponent ChatButton +05:32:13.511 SCRIPT : -- Stack trace -- +05:32:13.511 SCRIPT : GetComponent() Scripts/Game/UI/Components/WidgetLibrary/SCR_ScriptedWidgetComponent.c : 43 +05:32:13.511 SCRIPT : GetInputButtonComponent() Scripts/Game/UI/Components/WidgetLibrary/SCR_InputButton/SCR_InputButtonComponent.c : 1214 +05:32:13.511 SCRIPT : OnMenuOpen() Scripts/Game/UI/GameOverScreen/SCR_GameOverScreenInput.c : 21 +05:32:13.512 SCRIPT : OpenGameOverScreen() Scripts/Game/GameOverScreen/SCR_GameOverScreenManagerComponent.c : 447 +05:32:13.512 SCRIPT : ShowGameOverScreen() Scripts/Game/GameOverScreen/SCR_GameOverScreenManagerComponent.c : 177 +05:32:13.512 SCRIPT : OnUpdate() Scripts/Game/game.c : 885 +05:32:13.512 SCRIPT : ----------------- +05:32:13.513 GUI : WidgetManager: CrateWidgets @"{144919871D65F121}UI/layouts/HUD/GameOver/EndScreen/EndScreen.layout" +05:32:13.513 SCRIPT (W): Slot_Chat Has no Content! +05:32:13.514 SCRIPT (W): Slot_VON Has no Content! +05:32:13.514 SCRIPT (W): Slot_GameVersion Has no Content! +05:32:13.514 SCRIPT (W): Slot_Notifications Has no Content! diff --git a/docs/evidence/native-2026-09-19-053124/error.log.txt b/docs/evidence/native-2026-09-19-053124/error.log.txt new file mode 100644 index 0000000..fbb9b6e --- /dev/null +++ b/docs/evidence/native-2026-09-19-053124/error.log.txt @@ -0,0 +1,135 @@ +--------------------------------------------- +Log Z:\tmp\erri-workbench-profile\logs\logs_2026-09-19_05-31-24\error.log started at 2026-09-19 05:31:26 (2026-09-19 03:31:26 UTC) + +05:31:26.309 INIT : Workbench startup +05:31:26.309 INIT : Workbench Init Engine +05:31:26.309 RESOURCES : ResourceDB: full scan +05:31:26.309 RESOURCES : processing files... +05:31:26.309 RESOURCES (W): resource not registered: @"$profile:rereintroduced.json". Setting null GUID +05:31:26.309 RESOURCES (W): resource not registered: @"$logs:launch-source-sha256.json". Setting null GUID +05:31:26.309 RESOURCES (W): resource not registered: @"$logs:launch-source.json". Setting null GUID +05:31:29.428 INIT : Workbench Create Game +05:31:29.428 SCRIPT : Compiling Game scripts +05:31:29.428 SCRIPT (W): @"Scripts/Game/Editor/Components/EditableEntity/SCR_EditableEntityComponent.c,785": 'GetPlayerPlatformKind' is obsolete +05:31:29.428 SCRIPT (W): @"Scripts/Game/Editor/Components/EditableEntity/SCR_EditableEntityComponent.c,786": 'GetPlayerPlatformId' is obsolete +05:31:29.679 SCRIPT (W): @"Scripts/Game/ERR/ERR_SiteService.c,140": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +05:31:29.690 SCRIPT (W): @"Scripts/Game/Workshop/SCR_AddonManager.c,876": 'GetRefCount' is obsolete: Will be removed +05:31:29.720 SCRIPT (W): @"Scripts/Game/Campaign/SCR_PlayerProfileManagerComponent.c,142": 'PlayerData' is obsolete +05:31:29.819 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,159": 'GetDSSession' is obsolete +05:31:29.819 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,162": 'RoomID' is obsolete +05:31:29.819 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,197": 'GetDSSession' is obsolete +05:31:29.819 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,201": 'RoomID' is obsolete +05:31:29.914 SCRIPT (W): @"Scripts/Game/DataCollection/SCR_DataCollectorComponent.c,481": 'GetStorage' is obsolete +05:31:29.914 SCRIPT (W): @"Scripts/Game/DataCollection/SCR_DataCollectorComponent.c,483": 'GetOnlineWritePrivilege' is obsolete +05:31:29.915 SCRIPT (W): @"Scripts/Game/Utilities/SCR_PlayerIdentityUtils.c,20": 'GetPlayerIdentityId' is obsolete +05:31:29.957 SCRIPT (W): @"Scripts/Game/ERR/ERR_ExtractionService.c,45": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +05:31:29.957 SCRIPT (W): @"Scripts/Game/ERR/ERR_ExtractionService.c,56": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +05:31:29.959 SCRIPT (W): @"Scripts/Game/UI/Menu/MainMenuUI.c,643": 'GetNotifyCount' is obsolete: Will be substitued by Notification Api. +05:31:29.959 SCRIPT (W): @"Scripts/Game/UI/Menu/MainMenuUI.c,645": 'GetNotifyItem' is obsolete: Will be substitued by Notification Api. +05:31:29.984 SCRIPT (W): @"Scripts/Game/ERR/ERR_NativeTransportProbe.c,82": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +05:31:30.014 SCRIPT (W): @"Scripts/Game/DataCollection/PlayerData/SCR_PlayerData.c,210": 'PlayerData' is obsolete +05:31:38.618 WORLD : CreateEntities +05:31:38.619 ENTITY : Create entity @"ENTITY:610406" ('StaticModelEntity','Assets/Structures/Infrastructure/Towers/TransmitterTower_01/TransmitterTower_01_small.xob') at <1931.796021 81.777000 5138.725098> @"{6A004A8F0571D456}Prefabs/Structures/Infrastructure/Towers/TransmitterTower_01/TransmitterTower_01_small.et" +05:31:38.619 ENTITY : CreateComponent 'ScriptedRadioComponent' +05:31:38.619 DEFAULT (W): World doesn't contain RadioManagerEntity to support any BaseRadioComponent. +05:31:53.623 DEFAULT (W): LogiLED: Cannot initialize! (service not running or no compatible device detected) +05:31:58.218 WORLD : Game::LoadEntities +05:31:58.218 WORLD : CreateEntities +05:31:58.218 WORLD : CreateEntities +05:31:58.218 ENTITY : Create entity @"ENTITY:610406" ('StaticModelEntity','Assets/Structures/Infrastructure/Towers/TransmitterTower_01/TransmitterTower_01_small.xob') at <1931.796021 81.777000 5138.725098> @"{6A004A8F0571D456}Prefabs/Structures/Infrastructure/Towers/TransmitterTower_01/TransmitterTower_01_small.et" +05:31:58.218 ENTITY : CreateComponent 'ScriptedRadioComponent' +05:31:58.218 DEFAULT (W): World doesn't contain RadioManagerEntity to support any BaseRadioComponent. +05:31:59.647 ENTITY : Create entity @"ENTITY:842066" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1080.213013 10.776751 6018.347168> +05:31:59.647 ENTITY : CreateComponent 'Hierarchy' +05:31:59.647 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842066" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1080.213013 10.776751 6018.347168>') +05:31:59.647 ENTITY : Create entity @"ENTITY:842068" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1082.185913 10.778749 6018.331055> +05:31:59.647 ENTITY : CreateComponent 'Hierarchy' +05:31:59.647 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842068" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1082.185913 10.778749 6018.331055>') +05:31:59.647 ENTITY : Create entity @"ENTITY:842070" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1084.190918 10.790751 6018.334961> +05:31:59.647 ENTITY : CreateComponent 'Hierarchy' +05:31:59.647 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842070" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1084.190918 10.790751 6018.334961>') +05:31:59.654 ENTITY : Create entity @"ENTITY:842333" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4425.594727 9.981750 11029.402344> +05:31:59.654 ENTITY : CreateComponent 'Hierarchy' +05:31:59.654 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842333" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4425.594727 9.981750 11029.402344>') +05:31:59.654 ENTITY : Create entity @"ENTITY:842335" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4426.584473 9.983749 11031.109375> +05:31:59.654 ENTITY : CreateComponent 'Hierarchy' +05:31:59.654 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842335" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4426.584473 9.983749 11031.109375>') +05:31:59.655 ENTITY : Create entity @"ENTITY:842337" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4427.572266 9.995750 11032.853516> +05:31:59.655 ENTITY : CreateComponent 'Hierarchy' +05:31:59.655 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842337" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4427.572266 9.995750 11032.853516>') +05:31:59.660 ENTITY : Create entity @"ENTITY:842591" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.946289 10.470250 1551.986084> +05:31:59.660 ENTITY : CreateComponent 'Hierarchy' +05:31:59.660 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842591" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.946289 10.470250 1551.986084>') +05:31:59.660 ENTITY : Create entity @"ENTITY:842593" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.430664 10.472250 1550.081421> +05:31:59.660 ENTITY : CreateComponent 'Hierarchy' +05:31:59.660 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842593" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.430664 10.472250 1550.081421>') +05:31:59.660 ENTITY : Create entity @"ENTITY:842595" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10008.926758 10.484250 1548.140869> +05:31:59.660 ENTITY : CreateComponent 'Hierarchy' +05:31:59.660 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842595" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10008.926758 10.484250 1548.140869>') +05:32:04.107 ENTITY : Create entity @"ENTITY:2305843009213693956" ('Factions', SCR_FactionManager) at <0.000000 0.000000 0.000000> @"{589540B35EBA8CDC}Prefabs/MP/Managers/Factions/FactionManager_USxUSSR.et" +05:32:04.107 RESOURCES : GetResourceObject @"{5168FEA3054D6D15}Prefabs/Vehicles/Wheeled/M151A2/M151A2_M2HB_MERDC.et" +05:32:04.107 WORLD : Entity prefab load @"{5168FEA3054D6D15}Prefabs/Vehicles/Wheeled/M151A2/M151A2_M2HB_MERDC.et" +05:32:04.107 RESOURCES : GetResourceObject @"{F6B23D17D5067C11}Prefabs/Vehicles/Wheeled/M151A2/M151A2_M2HB.et" +05:32:04.107 WORLD : Entity prefab load @"{F6B23D17D5067C11}Prefabs/Vehicles/Wheeled/M151A2/M151A2_M2HB.et" +05:32:04.107 RESOURCES : GetResourceObject @"{F649585ABB3706C4}Prefabs/Vehicles/Wheeled/M151A2/M151A2.et" +05:32:04.107 WORLD : Entity prefab load @"{F649585ABB3706C4}Prefabs/Vehicles/Wheeled/M151A2/M151A2.et" +05:32:04.107 WORLD (E): Unknown keyword/data 'SlidingTrackMaterial' at offset 19441(0x4bf1) +05:32:04.147 RESOURCES : GetResourceObject @"{F7B9B434FCFF00B3}Prefabs/Vehicles/Wheeled/Conflict_Variants/BRDM2_Conflict.et" +05:32:04.147 WORLD : Entity prefab load @"{F7B9B434FCFF00B3}Prefabs/Vehicles/Wheeled/Conflict_Variants/BRDM2_Conflict.et" +05:32:04.147 RESOURCES : GetResourceObject @"{254289B9C09904AB}Prefabs/Vehicles/Wheeled/BRDM2/BRDM2.et" +05:32:04.147 WORLD : Entity prefab load @"{254289B9C09904AB}Prefabs/Vehicles/Wheeled/BRDM2/BRDM2.et" +05:32:04.147 RESOURCES : GetResourceObject @"{532B5F3CF8496E59}Prefabs/Vehicles/Wheeled/BRDM2/BRDM2_base.et" +05:32:04.147 WORLD : Entity prefab load @"{532B5F3CF8496E59}Prefabs/Vehicles/Wheeled/BRDM2/BRDM2_base.et" +05:32:04.147 WORLD (E): Unknown keyword/data 'Parent' at offset 35955(0x8c73) +05:32:04.147 WORLD (E): Unknown keyword/data 'Parent' at offset 36915(0x9033) +05:32:04.148 RESOURCES : GetResourceObject @"{BD75A18920BD1278}Prefabs/Vehicles/Wheeled/Conflict_Variants/BTR70_Conflict.et" +05:32:04.148 WORLD : Entity prefab load @"{BD75A18920BD1278}Prefabs/Vehicles/Wheeled/Conflict_Variants/BTR70_Conflict.et" +05:32:04.148 RESOURCES : GetResourceObject @"{C012BB3488BEA0C2}Prefabs/Vehicles/Wheeled/BTR70/BTR70.et" +05:32:04.148 WORLD : Entity prefab load @"{C012BB3488BEA0C2}Prefabs/Vehicles/Wheeled/BTR70/BTR70.et" +05:32:04.148 RESOURCES : GetResourceObject @"{1C5FE7B7FF49BB8D}Prefabs/Vehicles/Wheeled/BTR70/BTR70_Base.et" +05:32:04.148 WORLD : Entity prefab load @"{1C5FE7B7FF49BB8D}Prefabs/Vehicles/Wheeled/BTR70/BTR70_Base.et" +05:32:04.148 WORLD (E): Unknown keyword/data 'Parent' at offset 42646(0xa696) +05:32:04.148 WORLD (E): Unknown keyword/data 'Parent' at offset 43645(0xaa7d) +05:32:04.148 WORLD (E): Unknown keyword/data 'Parent' at offset 44617(0xae49) +05:32:04.148 WORLD (E): Unknown keyword/data 'Parent' at offset 45590(0xb216) +05:32:06.410 WORLD : InitEntities 'world' +05:32:06.410 ENTITY : Init entity @"ENTITY:2305843009213693953" ('Rereintroduced', ERR_GameMode) at <1076.468018 51.000999 1325.246948> @"{978E045E53EF36C8}Prefabs/ERR/GameMode.et" +05:32:06.410 SCRIPT (W): SCR_PerceivedFactionManagerComponent trying to set fall back faction 'CIV' but this faction could not be found so it is null instead. +05:32:06.948 ENTITY : SpawnEntityPrefab @"{225E51284CC95CFA}Prefabs/Characters/Core/DefaultPlayerControllerMP.et" +05:32:06.948 ENTITY : Create entity @"ENTITY:4611686018427388381" ('SCR_PlayerController') at <0.000000 0.000000 0.000000> +05:32:06.949 ENTITY : EntityPrefabUse @"{225E51284CC95CFA}Prefabs/Characters/Core/DefaultPlayerControllerMP.et" +05:32:06.949 SCRIPT (W): Notification data in 'SCR_NotificationsLogDisplay' has duplicate notification info key: 'EDITOR_PERCEIVED_FACTION_PUNISHMENT_KILLING_SET'. There should only be one of each key! +05:32:06.949 SCRIPT (W): Notification data in 'SCR_NotificationsLogDisplay' has duplicate notification info key: 'EDITOR_PERCEIVED_FACTION_TYPE_DISABLED'. There should only be one of each key! +05:32:06.951 SCRIPT (W): Can't open config file "" +05:32:06.956 WORLD : InitEntities 'world' +05:32:06.956 ENTITY : Init entity @"ENTITY:4611686018427388381" ('SCR_PlayerController') at <0.000000 0.000000 0.000000> @"{225E51284CC95CFA}Prefabs/Characters/Core/DefaultPlayerControllerMP.et" +05:32:06.956 GUI : WidgetManager: CrateWidgets @"{3C9DCDD76AB83157}UI/layouts/HUD/HUDLayouts/HUDManager_Root.layout" +05:32:06.956 SCRIPT (W): Slot_WeaponInfo Has no Content! +05:32:06.957 SCRIPT (W): Slot_Chat Has no Content! +05:32:06.957 SCRIPT (W): Slot_VON Has no Content! +05:32:06.957 SCRIPT (W): Slot_AvailableActions Has no Content! +05:32:06.957 SCRIPT (W): Slot_Vehicle Has no Content! +05:32:06.957 SCRIPT (W): Slot_GameVersion Has no Content! +05:32:06.957 SCRIPT (W): Slot_Notifications Has no Content! +05:32:06.957 SCRIPT (W): Slot_Hints Has no Content! +05:32:06.970 SCRIPT (W): Ban Settings could not be loaded from BE Storage: Relying on default config +05:32:07.215 WORLD : UpdateEntities +05:32:07.215 WORLD : PostFrame +05:32:07.216 GUI : WidgetManager: CrateWidgets @"{D89BBA18F99053D6}UI/layouts/HUD/Chat/ChatHud.layout" +05:32:07.216 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +05:32:07.260 RESOURCES : GetResourceObject @"{20A6917D2114E29A}UI/layouts/HUD/Hint/HintInfoDisplay.layout" +05:32:07.260 GUI : Layout load @"{20A6917D2114E29A}UI/layouts/HUD/Hint/HintInfoDisplay.layout" +05:32:07.260 GUI : Widget prefab @"{EA1CC57D868E94F9}UI/layouts/HUD/Hint/Hint.layout" +05:32:07.261 GUI (W): Overridden prefab member (GUID: '{661AB14E0F471C66}' type: ButtonWidgetClass) no longer exists in prefab +05:32:11.515 GUI : WidgetManager: CrateWidgets @"{144919871D65F121}UI/layouts/HUD/GameOver/EndScreen/EndScreen.layout" +05:32:11.515 SCRIPT (W): Slot_Chat Has no Content! +05:32:11.515 SCRIPT (W): Slot_VON Has no Content! +05:32:11.515 SCRIPT (W): Slot_GameVersion Has no Content! +05:32:11.516 SCRIPT (W): Slot_Notifications Has no Content! +05:32:13.510 SCRIPT (W): SCR_ScriptedWidgetComponent.GetComponent: widget not found: SCR_InputButtonComponent Back +05:32:13.511 SCRIPT (W): SCR_ScriptedWidgetComponent.GetComponent: widget not found: SCR_InputButtonComponent ChatButton +05:32:13.513 GUI : WidgetManager: CrateWidgets @"{144919871D65F121}UI/layouts/HUD/GameOver/EndScreen/EndScreen.layout" +05:32:13.513 SCRIPT (W): Slot_Chat Has no Content! +05:32:13.514 SCRIPT (W): Slot_VON Has no Content! +05:32:13.514 SCRIPT (W): Slot_GameVersion Has no Content! +05:32:13.514 SCRIPT (W): Slot_Notifications Has no Content! diff --git a/docs/evidence/native-2026-09-19-053124/headless-launch.log.txt b/docs/evidence/native-2026-09-19-053124/headless-launch.log.txt new file mode 100644 index 0000000..ac31e83 --- /dev/null +++ b/docs/evidence/native-2026-09-19-053124/headless-launch.log.txt @@ -0,0 +1,150 @@ +[gamescope] [Info] console: gamescope version 3.16.28 (gcc 16.2.1) +No CAP_SYS_NICE, falling back to regular-priority compute and threads. +Performance will be affected. +[gamescope] [Info] scriptmgr: Loading scripts from: '/usr/share/gamescope/scripts' +[gamescope] [Info] scriptmgr: Loading scripts from: '/usr/share/gamescope/scripts/00-gamescope' +[gamescope] [Info] scriptmgr: Loading scripts from: '/usr/share/gamescope/scripts/00-gamescope/common' +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/common/inspect.lua' (id: 0) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/common/modegen.lua' (id: 1) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/common/util.lua' (id: 2) +[gamescope] [Info] scriptmgr: Loading scripts from: '/usr/share/gamescope/scripts/00-gamescope/displays' +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/asus.rogally.lcd.lua' (id: 3) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/deckhd.steamdeck.deckhd-lcd.lua' (id: 4) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/gpd.win4.lcd.lua' (id: 5) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/lenovo.legiongo.lcd.lua' (id: 6) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/lenovo.legiongos.lcd.lua' (id: 7) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/onexplayer.f1.oled.lua' (id: 8) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/valve.steamdeck.lcd.lua' (id: 9) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/valve.steamdeck.oled.lua' (id: 10) +[gamescope] [Info] scriptmgr: Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/zotac.zone.oled.lua' (id: 11) +[gamescope] [Info] scriptmgr: Loading scripts from: '/etc/gamescope/scripts' +[gamescope] [Warn] scriptmgr: Directory '/etc/gamescope/scripts' does not exist +[gamescope] [Info] scriptmgr: Loading scripts from: '/home/jakub/.config/gamescope/scripts' +[gamescope] [Warn] scriptmgr: Directory '/home/jakub/.config/gamescope/scripts' does not exist +[gamescope] [Info] vulkan: selecting physical device 'AMD Radeon RX 6950 XT (RADV NAVI21)': queue family 1 (general queue family 0) +[gamescope] [Info] vulkan: physical device supports DRM format modifiers +[gamescope] [Info] wlserver: [backend/headless/backend.c:60] Creating headless backend +[gamescope] [Info] vulkan: supported DRM formats for sampling usage: +[gamescope] [Info] vulkan: AR24 (0x34325241) +[gamescope] [Info] vulkan: XR24 (0x34325258) +[gamescope] [Info] vulkan: AB24 (0x34324241) +[gamescope] [Info] vulkan: XB24 (0x34324258) +[gamescope] [Info] vulkan: RG16 (0x36314752) +[gamescope] [Info] vulkan: NV12 (0x3231564E) +[gamescope] [Info] vulkan: AB4H (0x48344241) +[gamescope] [Info] vulkan: XB4H (0x48344258) +[gamescope] [Info] vulkan: AB48 (0x38344241) +[gamescope] [Info] vulkan: XB48 (0x38344258) +[gamescope] [Info] vulkan: AB30 (0x30334241) +[gamescope] [Info] vulkan: XB30 (0x30334258) +[gamescope] [Info] vulkan: AR30 (0x30335241) +[gamescope] [Info] vulkan: XR30 (0x30335258) +[gamescope] [Info] wlserver: Using explicit sync when available +[gamescope] [Info] wlserver: Running compositor on wayland display 'gamescope-0' +[gamescope] [Info] wlserver: [backend/headless/backend.c:17] Starting headless backend +[gamescope] [Info] wlserver: Successfully initialized libei for input emulation! +[gamescope] [Error] wlserver: [xwayland/sockets.c:47] Failed to bind socket @/tmp/.X11-unix/X0: Address already in use +[gamescope] [Info] wlserver: [xwayland/server.c:108] Starting Xwayland on :2 +The XKEYBOARD keymap compiler (xkbcomp) reports: +> Warning: Multiple symbols for level 1/group 1 on key +> Using F23, ignoring XF86TouchpadOff +> Warning: Symbol map for key redefined +> Using last definition for conflicting fields +> Warning: Symbol map for key redefined +> Using last definition for conflicting fields +> Warning: Could not resolve keysym XF86ElectronicPrivacyScreenOn +> Warning: Could not resolve keysym XF86ElectronicPrivacyScreenOff +> Warning: Could not resolve keysym XF86ActionOnSelection +> Warning: Could not resolve keysym XF86ContextualInsert +> Warning: Could not resolve keysym XF86ContextualQuery +Errors from xkbcomp are not fatal to the X server +[gamescope] [Info] pipewire: stream state changed: connecting +[gamescope] [Info] pipewire: stream state changed: paused +[gamescope] [Info] pipewire: stream available on node ID: 101 +[gamescope] [Info] vblank: Using timerfd. +fsync: up and running. +[Gamescope WSI] No application info given. +[Gamescope WSI] Executable name: explorer.exe +ATTENTION: default value of option vk_wsi_force_swapchain_to_current_extent overridden by environment. +[Gamescope WSI] Application info: + pApplicationName: xalia.exe + applicationVersion: 0 + pEngineName: DXVK + engineVersion: 12587008 + apiVersion: 4206592 +[Gamescope WSI] Executable name: xalia.exe +ATTENTION: default value of option vk_wsi_force_swapchain_to_current_extent overridden by environment. +[Gamescope WSI] No application info given. +[Gamescope WSI] Application info: + pApplicationName: ArmaReforgerWorkbenchSteamDiag.exe + applicationVersion: 1 + pEngineName: DXVK + engineVersion: 12587008 + apiVersion: 4206592 +[Gamescope WSI] Executable name: ArmaReforgerWorkbenchSteamDiag.exe +ATTENTION: default value of option vk_wsi_force_swapchain_to_current_extent overridden by environment. +[Gamescope WSI] No application info given. +The XKEYBOARD keymap compiler (xkbcomp) reports: +> Warning: Unsupported maximum keycode 709, clipping. +> X11 cannot support keycodes above 255. +> Warning: Virtual modifier Hyper multiply defined +> Using 0, ignoring 0 +> Warning: Virtual modifier ScrollLock multiply defined +> Using 0, ignoring 0 +Errors from xkbcomp are not fatal to the X server +ATTENTION: default value of option vk_wsi_force_swapchain_to_current_extent overridden by environment. +[Gamescope WSI] Application info: + pApplicationName: ArmaReforgerWorkbenchSteamDiag.exe + applicationVersion: 0 + pEngineName: DXVK + engineVersion: 12587008 + apiVersion: 4206592 +ATTENTION: default value of option vk_wsi_force_swapchain_to_current_extent overridden by environment. +[Gamescope WSI] Application info: + pApplicationName: ArmaReforgerWorkbenchSteamDiag.exe + applicationVersion: 0 + pEngineName: vkd3d + engineVersion: 12587008 + apiVersion: 4206592 +[Gamescope WSI] Forcing on VK_EXT_swapchain_maintenance1. +ATTENTION: default value of option vk_wsi_force_swapchain_to_current_extent overridden by environment. +[Gamescope WSI] No application info given. +ATTENTION: default value of option vk_wsi_force_swapchain_to_current_extent overridden by environment. +[Gamescope WSI] Application info: + pApplicationName: ArmaReforgerWorkbenchSteamDiag.exe + applicationVersion: 0 + pEngineName: vkd3d + engineVersion: 12587008 + apiVersion: 4206592 +[Gamescope WSI] Forcing on VK_EXT_swapchain_maintenance1. +[Gamescope WSI] Creating Gamescope surface: xid: 0x1a001a4 +[Gamescope WSI] Atom of T was wrong type. Expected XCB_ATOM_CARDINAL. +[Gamescope WSI] Made gamescope surface for xid: 0x1a001a4 +[Gamescope WSI] Surface state: + steam app id: 1874910 + window xid: 0x1a001a4 + wayland surface res id: 5 + layer client flags: 0x4 + server hdr output enabled: false + hdr formats exposed to client: false +[Gamescope WSI] Creating Gamescope surface: xid: 0x1a003a4 +[Gamescope WSI] Atom of T was wrong type. Expected XCB_ATOM_CARDINAL. +[Gamescope WSI] Made gamescope surface for xid: 0x1a003a4 +[Gamescope WSI] Surface state: + steam app id: 1874910 + window xid: 0x1a003a4 + wayland surface res id: 10 + layer client flags: 0x4 + server hdr output enabled: false + hdr formats exposed to client: false +[Gamescope WSI] Creating swapchain for xid: 0x1a003a4 - oldSwapchain: (nil) - provided minImageCount: 3 - minImageCount: 3 - format: VK_FORMAT_B8G8R8A8_UNORM - colorspace: VK_COLOR_SPACE_SRGB_NONLINEAR_KHR - flip: false +[Gamescope WSI] Created swapchain for xid: 0x1a003a4 swapchain: 0x5555791cbff0 - imageCount: 4 +[Gamescope WSI] Destroying swapchain: 0x5555791cbff0 +[Gamescope WSI] Destroyed swapchain: 0x5555791cbff0 +[Gamescope WSI] Creating swapchain for xid: 0x1a003a4 - oldSwapchain: (nil) - provided minImageCount: 3 - minImageCount: 3 - format: VK_FORMAT_B8G8R8A8_UNORM - colorspace: VK_COLOR_SPACE_SRGB_NONLINEAR_KHR - flip: false +[Gamescope WSI] Created swapchain for xid: 0x1a003a4 swapchain: 0x5555791cbff0 - imageCount: 4 +[Gamescope WSI] Destroying swapchain: 0x5555791cbff0 +[Gamescope WSI] Destroyed swapchain: 0x5555791cbff0 +[Gamescope WSI] Creating swapchain for xid: 0x1a003a4 - oldSwapchain: (nil) - provided minImageCount: 3 - minImageCount: 3 - format: VK_FORMAT_B8G8R8A8_UNORM - colorspace: VK_COLOR_SPACE_SRGB_NONLINEAR_KHR - flip: false +[Gamescope WSI] Created swapchain for xid: 0x1a003a4 swapchain: 0x5555791f3d50 - imageCount: 4 +[gamescope] [Info] launch: Primary child shut down! diff --git a/docs/evidence/native-2026-09-19-053124/launch-source-sha256.json b/docs/evidence/native-2026-09-19-053124/launch-source-sha256.json new file mode 100644 index 0000000..ceadcab --- /dev/null +++ b/docs/evidence/native-2026-09-19-053124/launch-source-sha256.json @@ -0,0 +1,118 @@ +{ + "addons/ai/Prefabs/ERR/MortarCrew.et": "05d3e7353ff9fe5523218a1487b31b7b742b0be8adbcb060c7099978cf008bce", + "addons/ai/Prefabs/ERR/MortarCrew.et.meta": "fdfd4fcd21a67c3d698fa4aadc4e5c76e665cebf4be86013bc389e493fab63cc", + "addons/ai/Scripts/Game/ERR/ERR_HQ.c": "ceafd6740ed277748744ce56ac0f0bb3a8521fcc060dafb2cdb99896aedf405a", + "addons/ai/Scripts/Game/ERR/ERR_HQJournal.c": "b3e402cfe92d415f37f666045afb062e6e11670ba03a0ca6f2d9fd4fc3520ac1", + "addons/ai/Scripts/Game/ERR/ERR_HQNetwork.c": "92ff2caca52e94c2cc9642dfc8509ce6e9349b257012bade8650bace9231128c", + "addons/ai/Scripts/Game/ERR/ERR_HQObservation.c": "36c978ec5f052213ac1236e1398d85063efbfd7ef60fe04f1fc11447fefe1d68", + "addons/ai/Scripts/Game/ERR/ERR_HQReport.c": "c4d16ccb571db4d9444c0a8d2be7318845d25ff90238b6d304e96a9ea19f1a08", + "addons/ai/Scripts/Game/ERR/ERR_HelicopterAvailability.c": "60eaef2f6d4b2fd44861c5a4434ef97e732e40a5ff7401e2da451ed2dd9c2762", + "addons/ai/Scripts/Game/ERR/ERR_MortarBattery.c": "66b8f16b692a0f75fc9d920f5224d9292a0f1dc7dd8b2dde912e676fa80ddc9c", + "addons/ai/Scripts/Game/ERR/ERR_MortarFiring.c": "657e96d1112b68c8ced37793e99f88e6078b38a579190e63d00b1f9a9a032e26", + "addons/ai/Scripts/Game/ERR/ERR_MortarPrediction.c": "470dd196ed64800c697d24c09d1344bacd2502587fac76af4ee0edae2563092d", + "addons/ai/Scripts/Game/ERR/ERR_MortarSalvo.c": "697c01f479df6c505a41d984a29c02002e3052114dafa2ec6252ae55e2979a2b", + "addons/ai/Scripts/Game/ERR/ERR_MortarSystem.c": "12d8fc39d47e03c3838e0642aa9e4a80baf60f250357493bff812d5c75812c86", + "addons/ai/Scripts/Game/ERR/ERR_SettlementSafety.c": "e5c0ebc95521a9a33a3f7d9cca6c551dda862a08b7af20b017877aba9584795b", + "addons/ai/Scripts/Game/ERR/ERR_SupportScenario.c": "71757018ec9716c4dc24f62a292a214919d3fd5daed3c16e03e56abd208e9f03", + "addons/ai/addon.gproj": "5f559db8f526700db11e6ae763f5245f19b7006fc68c56e4c09fb6f940bdf2a1", + "addons/chat/Missions/ERR_Everon.conf": "76f3ac0d21b585654beac7ddd68e3c8cbdd66dbfe909b17b04838fa813a7c29b", + "addons/chat/Missions/ERR_Everon.conf.meta": "0a23c98bf83873536c65fa17d38dea33a1d7b9e4ab210f90633ff688abcc551f", + "addons/chat/Scripts/Game/ERR/ERR_AdminCommands.c": "7ea6d6b240524cf0193c86fcab861fbdef9adca780acff11ee73f9ed0e99ce7b", + "addons/chat/Scripts/Game/ERR/ERR_NativeMortarProbe.c": "ddb892141500c192c0787b011d57dd8c07dd8c9a3ca5fdc407f6c271897bde0a", + "addons/chat/Scripts/Game/ERR/ERR_NativeRadioProbe.c": "84524163c63402755b4f834f74dfe6d8e5c397dc26031f532593c6f79f5a93b1", + "addons/chat/Scripts/Game/ERR/ERR_NativeSmoke.c": "0ab2fed95dcaa0442cf7feb25743308060d58497e347f17dbd25c8e970a9f81f", + "addons/chat/Scripts/WorkbenchGame/ERR/ERR_ValidateWorldPlugin.c": "81c92d408ce88cc9f98d6053f1d0c863427693ba748f00df9f1bf8079015ef94", + "addons/chat/addon.gproj": "ea1587e0174cf795334d306c71d99b06797fc891427cd57b6cab6e21cf0e4e0e", + "addons/core/Configs/ERR/EveronSites.conf": "2edb2c6983eb627800b65d9e244b9b228e0b82282e089c7b12e5a8921a2ea7bf", + "addons/core/Configs/ERR/EveronSites.conf.meta": "d5fe68025ef4e7c1e16082cf5873b7c7172eacbfaef4ab29b7e0e3c98f8dca56", + "addons/core/Configs/ERR/GameOverScreens.conf": "45231061911a1462d45fb6db0fecc2b0793f17b5ae71017174954ff4fbd20236", + "addons/core/Configs/ERR/GameOverScreens.conf.meta": "eb654b745c0b97b41c991694569ef4877a3c2315e0826f9556337cd68690843e", + "addons/core/Configs/ERR/VanillaFactions.conf": "f8b8b9898a16b4a4a55ab3c12d2547bef2dc433732c7643df980cb3aca715212", + "addons/core/Configs/ERR/VanillaFactions.conf.meta": "ac77725c0c21974991ef47a466b88122e939de8b46fd23e68889e7674cbb2bfd", + "addons/core/Missions/ERR_Everon_Base.conf": "1e6a0e9a756d15495201f71121626890f01efe6b00154c561672d4ec157960bd", + "addons/core/Missions/ERR_Everon_Base.conf.meta": "9b16267c644d815bcf98a3a3aaff30b93d7224fb24d3a2bac66730a28011f317", + "addons/core/Prefabs/ERR/Extraction.et": "1aa286ef253c5410f09fa641e4be91a7be8ec834487a7fbb74cfb45cab60ee1e", + "addons/core/Prefabs/ERR/Extraction.et.meta": "c2a838633001e2e3a202d39cb33aa744ebcd996017ad032359069641b5d13853", + "addons/core/Prefabs/ERR/FieldCover.et": "20f8095e69dbfe3db74ff19078e528ea75405362b335e03560ccd61f8df2e7f3", + "addons/core/Prefabs/ERR/FieldCover.et.meta": "83461ffa76244e1d69f20b053a9741ccdf7d127009182bd540a7e5ba6150c3d9", + "addons/core/Prefabs/ERR/GameMode.et": "385c97a5b8067091d92aa60c2d4fcf02002cf606b95523866ead65c96b8c0029", + "addons/core/Prefabs/ERR/GameMode.et.meta": "106769cd34525c9d440057072836cb7401a6752148c40edd7fe61c03bd58328c", + "addons/core/Prefabs/ERR/ObjectiveDocument.et": "2e72270bf186654af12d2c3ff9bf940690b03fb17fca44f873c1fde5d11384c0", + "addons/core/Prefabs/ERR/ObjectiveDocument.et.meta": "eaba9903be147b98a1106e2273e2270773df73b9b22f2cd4e20136a8e281382e", + "addons/core/Prefabs/ERR/Patrol.et": "c5685a8bc311cc5563fb3334beec9408d3d7a1069152fddeeb7df4f1b7f9e6ce", + "addons/core/Prefabs/ERR/Patrol.et.meta": "7c5da568fa2fcf0709ee2959253cb068d7c7ed7c2467af3b247a7e70efd96b69", + "addons/core/Prefabs/ERR/Prison.et": "1503db1441d8cd7a4f0b45c27ba9623b9fa39f0f81016e180bd2aa1379e1f42a", + "addons/core/Prefabs/ERR/Prison.et.meta": "2e426ef3de68f4107907854b51e818bc11d84649a01c538e3f18dd9ebec766bb", + "addons/core/Prefabs/ERR/PrisonDoor.et": "fc66be9d36f1f01084de59f1b0a1e8817f9e46547ead33d4fafaac0107446c40", + "addons/core/Prefabs/ERR/PrisonDoor.et.meta": "b8f3db52bf186426026668fbb9d633c3cbd4d438ab301fba880398f6a0e781c2", + "addons/core/Prefabs/ERR/PrisonWall.et": "8009d19365ae72a4749d7ad4fa04662575b06c65c6bf06507d380d57258b5eed", + "addons/core/Prefabs/ERR/PrisonWall.et.meta": "0294bc5dbb56f90f8153d62459bb0a6ad91d76a479812bbec9c7db182fdb58d6", + "addons/core/Prefabs/ERR/Radio.et": "b4b5cfe125b39019855816c9a1c508ca4d65d435b5546fdaa6c1fa3c8c9b1165", + "addons/core/Prefabs/ERR/Radio.et.meta": "bc91137b68ba550217914fb8892bb44d7e1920e4a1086f3e506623832a44212f", + "addons/core/Prefabs/ERR/SpectatorCamera.et": "b5b87d5b7b707f3745741aebe7c923067c8a74f8fbb2a4711834bab03bb5a812", + "addons/core/Prefabs/ERR/SpectatorCamera.et.meta": "2a16558f93915e31908a674509e9c89976470f78a84a1174a64b94b68b8f77ad", + "addons/core/Prefabs/ERR/SupplyCache.et": "bccf7afbaae97cfcdd78dd6dbbf4be5b2c045d348f50fe4581962e556c0044d7", + "addons/core/Prefabs/ERR/SupplyCache.et.meta": "2f5de3a4aab1e9d0e35521f48dc57b95bd6e449c383dec4f1c258e10295904cb", + "addons/core/Prefabs/ERR/SupplySite.et": "dc5decce5cabf39b6116e8794ec3960cb1e35761854fdbe69740da118787ded4", + "addons/core/Prefabs/ERR/SupplySite.et.meta": "b41944b12eb3528ff7a3ac94258b18c66ef161aa6a38894aee300a1ac4798630", + "addons/core/Scripts/Game/ERR/ERR_Actions.c": "adf93245e6d78c59b9839599d157a0d2b2b93ea93b3d1ae52e2904dd6c288266", + "addons/core/Scripts/Game/ERR/ERR_Actors.c": "b3c5aabb05f7cf35167bc09b5db51a4ffd89a46658805d6eedbfb80eee30273d", + "addons/core/Scripts/Game/ERR/ERR_AdminService.c": "047c14ce60cc0b167e202438f8f2b1063590e69ef88ea55b54598aea5f99c505", + "addons/core/Scripts/Game/ERR/ERR_DiscoveryMap.c": "2f4ea342fea0530061456be9cdce002d5e7a282e4e27eb88f3860e79f93612bf", + "addons/core/Scripts/Game/ERR/ERR_DiscoveryService.c": "6b5679447fe4a6d7d54c0545881ab56284f871556b3159207d421247f419eada", + "addons/core/Scripts/Game/ERR/ERR_DocumentComponent.c": "17bb76b80ebd3357e46d553c44674f602c7bd6901c92aec53ac8214194aa4ff2", + "addons/core/Scripts/Game/ERR/ERR_EscapeGameOverScreenInfo.c": "b1e1afb7795cb77c0bad94c85abf705b26b9dc2a9400905d80eafd56bdd009d3", + "addons/core/Scripts/Game/ERR/ERR_ExtractionService.c": "91357099b4e0401196b67d48963be54be30e56bdba57cdac67dc20b8ebb883e9", + "addons/core/Scripts/Game/ERR/ERR_FactionCatalog.c": "a5a8c53acf21259e14f59cb919535910f30dabff5a9179c664bc6a7a4d744d6e", + "addons/core/Scripts/Game/ERR/ERR_GameMode.c": "d766d1639378070bea64eef38baa4667f8b9f5f1a2a7b170f0fc5e8fd557917d", + "addons/core/Scripts/Game/ERR/ERR_Location.c": "d2035f56ded35743312ec6ca91a67f8623a466c91255e1893c570edf0954ff24", + "addons/core/Scripts/Game/ERR/ERR_MissionRules.c": "f7abc38ad8fdc375ce7fa63a65f0bade027d22b37e09de5e3f94ba8c3c63cc41", + "addons/core/Scripts/Game/ERR/ERR_NativeBaseSmoke.c": "e1790bca83feb52dc1093eced0624fc5bf0b3050b831a0fb8b3731759e84710f", + "addons/core/Scripts/Game/ERR/ERR_NativeContractsProbe.c": "d1556df885171cf967e96eef5d8981a2e9ee4e3938b7d32fdd0426f647bbabc0", + "addons/core/Scripts/Game/ERR/ERR_NativeDefinitionProbe.c": "d05ef8368ef5afa68e29f45843cb1878b5a09be768f8abdff2f4115c23759b01", + "addons/core/Scripts/Game/ERR/ERR_NativeExtractionProbe.c": "4b09385f73206de004f4f3c38a6192fd658a0d2012482dc5a84dff1599ceb972", + "addons/core/Scripts/Game/ERR/ERR_NativeLifecycleProbe.c": "89620ec1cc94e260ef72460b32c3291ffcc84cfe51afa907954b10229a711b2b", + "addons/core/Scripts/Game/ERR/ERR_NativeObjectiveProbe.c": "71fbd2479a70048f83d8b262ad1452f427be2c0afc8b071ef13bff477b9dc29b", + "addons/core/Scripts/Game/ERR/ERR_NativeRadioDefenceProbe.c": "cad54f0b43cefd72df74697dfc7e93725ff0acac6d311e963ce4f817428c272c", + "addons/core/Scripts/Game/ERR/ERR_NativeResultProbe.c": "b9a117eef2d5f65fbd792041a2b3e59e38e201bda8e0df8c503e1a1242cfc415", + "addons/core/Scripts/Game/ERR/ERR_NativeSiteSurvey.c": "ac0203753ade0cdff6d483132797a80e4520f14546c3f9dea288281cd4cd9c4f", + "addons/core/Scripts/Game/ERR/ERR_NativeStationTeardownDiagnostic.c": "c01cbdbfe25fd38916fa74f2c02333baaacd5228686fd6e40b33c27b3cea8ed8", + "addons/core/Scripts/Game/ERR/ERR_NativeTimeProbe.c": "c93d049785971e51246fcc07cf24804270a752a655505f2c38e48c80df5255ae", + "addons/core/Scripts/Game/ERR/ERR_NativeTransportProbe.c": "63ec0c5ce698114daa6314b2a6e3c3e98e76094117c477f9d0d072260686d193", + "addons/core/Scripts/Game/ERR/ERR_NativeTransportSurvey.c": "3e94493bf54d15be2bceb106ad18873e14e6755af09c05f07db7fb26fb7adff5", + "addons/core/Scripts/Game/ERR/ERR_ObjectiveDetails.c": "628ebd166dcb5544c2d18dce489619984887ee18296cf2446fc6d894f89dd5bf", + "addons/core/Scripts/Game/ERR/ERR_ObjectiveText.c": "bbb29949194637e6781316836c895e2c0fa7ccdb547d4d944a717da2ad73b0a2", + "addons/core/Scripts/Game/ERR/ERR_Objectives.c": "88d95a52fcba103483ea751571e1afeae0e6fc82115ed50d6fc195424726960f", + "addons/core/Scripts/Game/ERR/ERR_Observer.c": "b719e723369ab4f403950c85226e1336eb48e3c127e84530ac1c695eb86bd0f9", + "addons/core/Scripts/Game/ERR/ERR_PlayerAdminCommands.c": "a084d7dc097dfcde3d6cd9c2e326b9e2f8f2a519f77b30c4f56ab7a1429aa721", + "addons/core/Scripts/Game/ERR/ERR_PlayerEscapeResult.c": "3124ab4d2d6d471409a47aba0af528790734df53243c03fe0cdac3e407047c14", + "addons/core/Scripts/Game/ERR/ERR_PlayerGuide.c": "2c9c365b88651f8b12618443638bf52c04e497221592bd483c33447e30468f36", + "addons/core/Scripts/Game/ERR/ERR_PlayerRoster.c": "a737ba739b3f73a91cd05d808a1d45070e83b5152c003c3164e29842dda51995", + "addons/core/Scripts/Game/ERR/ERR_RadioDefenceService.c": "85eb9c1b65d5987799927b6d8786b7299fcff849bcb15b91f8a4d1aa95823fd1", + "addons/core/Scripts/Game/ERR/ERR_Resources.c": "8a5314944f75b23982c6b99697045e3c0538aa2137b2c947a5b2411e6076ac03", + "addons/core/Scripts/Game/ERR/ERR_ScenarioComponent.c": "abba03af68323d5715ba1e2497fc66f3c706e6a6a983c3a386228abdfddeec89", + "addons/core/Scripts/Game/ERR/ERR_Settings.c": "2aee784e44c732e09f59150896491ab325ef5e62aa6bad725be1fda955a3f614", + "addons/core/Scripts/Game/ERR/ERR_SiteDefinition.c": "75b5121ceab77f0956f0dc34bd077b11af5586350de52321800427f18cc94477", + "addons/core/Scripts/Game/ERR/ERR_SiteService.c": "7ba02712562b3c8cd8de9851b6f26fed85020faacceef0767408b300b935c110", + "addons/core/Scripts/Game/ERR/ERR_SpawnFinalization.c": "2e295b0f225208c5414728ba83333e5e0ab6eef3a708ce39eb1dfce5400c94c9", + "addons/core/Scripts/Game/ERR/ERR_SpawnLogic.c": "64c2cef62d8a435eea396f057255b269d457935bf5d261221700739bf37240b8", + "addons/core/Scripts/Game/ERR/ERR_SpawnPlacement.c": "284db0d4a5ecd38f9c658c91ce943f4c0c30dcf4d31bb3edeea92e4ab0b1436a", + "addons/core/Scripts/Game/ERR/ERR_Supplies.c": "752e8a56b0b8cde33cf532032cb0a203553017b686faac2e19bee06f7a9c0713", + "addons/core/Scripts/Game/ERR/ERR_TimeService.c": "d9f481b7da01e08d2c982a948c18ba6bde76889d7cc9d26d510708f4ba479453", + "addons/core/Scripts/WorkbenchGame/ERR/ERR_ValidateBaseWorldPlugin.c": "7f44aa64ea7b4f8b3640a37a4b781c43bf6adb80e4a3a702d9491131698056f6", + "addons/core/Worlds/ERR_Everon.ent": "22324bc7eb0d80dec8a1f3bd61a9df9201b72f749f4e751766b0c9d0b7d46b87", + "addons/core/Worlds/ERR_Everon.ent.meta": "19d1903ca72baa326b4724a6791d0da1104a1e53f3f31dc1ca41a856efd68e83", + "addons/core/Worlds/ERR_Everon_Layers/default.layer": "f1a058bd315c7d01d464715ac9f4e18ae3d2432551d094a9afbd4c9c5a2a9416", + "addons/core/addon.gproj": "231274e6b62302f32c65f9ff31de2ce8a9e51e1c8d12c87deeec82ae1f40de46", + "addons/intel/Scripts/Game/ERR/ERR_IntelService.c": "482839434b94e7f8c345d5fd96490aeebb765f3dd0c1bb25fceea2f435c0e722", + "addons/intel/addon.gproj": "d0ced242cefb220a5cccd6779d61fda9bc55581701b9f78bcf13c09d92ddbcbe", + "addons/map/Materials/ERRM_MapRenderTarget.emat": "9877c5b175c5f30dd80bea36c711b21ab38219aa7075adf9ae79932e1d4c76bc", + "addons/map/Materials/ERRM_MapRenderTarget.emat.meta": "5ee1a705f8011a44020ca2691f5ccc17d44bf596fef9a36e98d1f267eb58fab0", + "addons/map/Prefabs/Items/Equipment/ERRM_SharedFieldMap.et": "30dee8e9eab459ea32a7d835a9fb89d43df47708057cab829f067b25a24cd581", + "addons/map/Prefabs/Items/Equipment/ERRM_SharedFieldMap.et.meta": "59093e9072c50d99c86da7609c87541016da5bcf92b98d99db4c524e1c8e0e8d", + "addons/map/Scripts/Game/ERR/ERR_ScenarioMap.c": "75fa1d742129ef7f33c005cd48f56db7f49ee7bde3c5428532b0b501b032b0a3", + "addons/map/Scripts/Game/ERRMap/ERRM_SharedMapComponent.c": "fc1a0c7df4fc96da446d7542a45a10fbec1eda1e543ba2f0581cb772277a47c5", + "addons/map/UI/layouts/ERRMap/SharedMapRenderTarget.layout": "49a2da4181b94d42174f58c7f9b6bf2207116c99427d61ff1c212092ac7db4d2", + "addons/map/UI/layouts/ERRMap/SharedMapRenderTarget.layout.meta": "5c846445cc089e2e08899ba703059d4adb805ff30ab5a16409a3cd59718cbd54", + "addons/map/addon.gproj": "1b371e5e01ea9fa46e76570fecb8aaa3a9298e34cba7ccca8a6bdb5ca86eb46a" +} diff --git a/docs/evidence/native-2026-09-19-053124/launch-source.json b/docs/evidence/native-2026-09-19-053124/launch-source.json new file mode 100644 index 0000000..d513e0c --- /dev/null +++ b/docs/evidence/native-2026-09-19-053124/launch-source.json @@ -0,0 +1,44 @@ +{ + "schema_version": 1, + "launch_id": "25461395-13fb-4cb5-9cbe-c88c42b42f2f", + "captured_unix": 1789788683.0158038, + "source_root": "/home/jakub/devel/escapistsrereintroduced", + "command": [ + "gamescope", + "--backend", + "headless", + "-W", + "1280", + "-H", + "720", + "-w", + "1280", + "-h", + "720", + "-r", + "30", + "--", + "/home/jakub/.local/share/Steam/steamapps/common/Proton - Experimental/proton", + "run", + "/home/jakub/.local/share/Steam/steamapps/common/Arma Reforger Tools/Workbench/ArmaReforgerWorkbenchSteamDiag.exe", + "-gproj", + "Z:/home/jakub/devel/escapistsrereintroduced/addons/core/addon.gproj", + "-addonsDir", + "Z:/home/jakub/devel/escapistsrereintroduced/addons", + "-profile", + "Z:/tmp/erri-workbench-profile", + "-logconsole", + "-wbModule=WorldEditor", + "-load", + "Worlds/ERR_Everon.ent", + "-plugin=ERR_ValidateBaseWorldPlugin", + "-errPlay", + "1", + "-errBaseSmoke", + "1", + "-errSmokeOutcome", + "objective-ui", + "-noThrow" + ], + "manifest_sha256": "fe31c2473656c3f59830c4895b5fb96c7fcc71228be32ba950c5731b61073ade" +} diff --git a/docs/evidence/native-2026-09-19-053124/report.json b/docs/evidence/native-2026-09-19-053124/report.json new file mode 100644 index 0000000..09abf6f --- /dev/null +++ b/docs/evidence/native-2026-09-19-053124/report.json @@ -0,0 +1,17 @@ +{ + "log": "docs/evidence/native-2026-09-19-053124/console.log.txt", + "smoke_completions": 1, + "assertions_passed": 30, + "script_or_runtime_failures": [], + "engine_errors": [ + "05:32:04.107 WORLD (E): Unknown keyword/data 'SlidingTrackMaterial' at offset 19441(0x4bf1)", + "05:32:04.147 WORLD (E): Unknown keyword/data 'Parent' at offset 35955(0x8c73)", + "05:32:04.147 WORLD (E): Unknown keyword/data 'Parent' at offset 36915(0x9033)", + "05:32:04.148 WORLD (E): Unknown keyword/data 'Parent' at offset 42646(0xa696)", + "05:32:04.148 WORLD (E): Unknown keyword/data 'Parent' at offset 43645(0xaa7d)", + "05:32:04.148 WORLD (E): Unknown keyword/data 'Parent' at offset 44617(0xae49)", + "05:32:04.148 WORLD (E): Unknown keyword/data 'Parent' at offset 45590(0xb216)" + ], + "missing_end_screen": [], + "scope": "scripted local Workbench integration only; no multiplayer, piloting or FPS claim" +} diff --git a/docs/evidence/native-2026-09-19-053124/runner.json.txt b/docs/evidence/native-2026-09-19-053124/runner.json.txt new file mode 100644 index 0000000..1dd4b27 --- /dev/null +++ b/docs/evidence/native-2026-09-19-053124/runner.json.txt @@ -0,0 +1,19 @@ +{ + "stopped_unix": 1789788738.2855854, + "console_sha256": "d9089dae7ccfaf9e17667c0a0f9a36f0eaea5881661fb8f6e380711c815f9d1f", + "end_source_sha256": "fe31c2473656c3f59830c4895b5fb96c7fcc71228be32ba950c5731b61073ade", + "source_unchanged_after_run": true, + "source_provenance": "launch_snapshot", + "launch_id": "25461395-13fb-4cb5-9cbe-c88c42b42f2f", + "launch_source_manifest": "launch-source-sha256.json", + "launch_source_metadata": "launch-source.json", + "launch_source_sha256": "fe31c2473656c3f59830c4895b5fb96c7fcc71228be32ba950c5731b61073ade", + "started_unix": 1789788683.0158615, + "result": "smoke-completed", + "session": "/tmp/erri-workbench-profile/logs/logs_2026-09-19_05-31-24", + "rounds_required": 1, + "project": "core", + "display": "headless Gamescope 1280x720/30Hz", + "dedicated_server": false, + "audio": "silent sink and per-test-stream mute" +} diff --git a/docs/evidence/native-2026-09-19-053124/script.log.txt b/docs/evidence/native-2026-09-19-053124/script.log.txt new file mode 100644 index 0000000..aa25724 --- /dev/null +++ b/docs/evidence/native-2026-09-19-053124/script.log.txt @@ -0,0 +1,132 @@ +--------------------------------------------- +Log Z:\tmp\erri-workbench-profile\logs\logs_2026-09-19_05-31-24\script.log started at 2026-09-19 05:31:27 (2026-09-19 03:31:27 UTC) + +05:31:27.331 SCRIPT : SCRIPT : Initializing scripts +05:31:27.331 SCRIPT : SCRIPT : ScriptProjectManager init +05:31:28.262 SCRIPT : SCRIPT : Compiling GameLib scripts +05:31:28.319 SCRIPT : Module: Workbench; loaded 18x files; 36x classes; used 125K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE"; CRC32: 90ce0460 +05:31:28.320 SCRIPT : Module: GameLib; loaded 465x files; 648x classes; used 828K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE"; CRC32: 4507af04 +05:31:28.320 SCRIPT : SCRIPT : Compiling Game scripts +05:31:29.428 SCRIPT : Compiling Game scripts +05:31:29.428 SCRIPT (W): @"Scripts/Game/Editor/Components/EditableEntity/SCR_EditableEntityComponent.c,785": 'GetPlayerPlatformKind' is obsolete +05:31:29.428 SCRIPT (W): @"Scripts/Game/Editor/Components/EditableEntity/SCR_EditableEntityComponent.c,786": 'GetPlayerPlatformId' is obsolete +05:31:29.679 SCRIPT (W): @"Scripts/Game/ERR/ERR_SiteService.c,140": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +05:31:29.690 SCRIPT (W): @"Scripts/Game/Workshop/SCR_AddonManager.c,876": 'GetRefCount' is obsolete: Will be removed +05:31:29.720 SCRIPT (W): @"Scripts/Game/Campaign/SCR_PlayerProfileManagerComponent.c,142": 'PlayerData' is obsolete +05:31:29.819 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,159": 'GetDSSession' is obsolete +05:31:29.819 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,162": 'RoomID' is obsolete +05:31:29.819 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,197": 'GetDSSession' is obsolete +05:31:29.819 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,201": 'RoomID' is obsolete +05:31:29.914 SCRIPT (W): @"Scripts/Game/DataCollection/SCR_DataCollectorComponent.c,481": 'GetStorage' is obsolete +05:31:29.914 SCRIPT (W): @"Scripts/Game/DataCollection/SCR_DataCollectorComponent.c,483": 'GetOnlineWritePrivilege' is obsolete +05:31:29.915 SCRIPT (W): @"Scripts/Game/Utilities/SCR_PlayerIdentityUtils.c,20": 'GetPlayerIdentityId' is obsolete +05:31:29.957 SCRIPT (W): @"Scripts/Game/ERR/ERR_ExtractionService.c,45": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +05:31:29.957 SCRIPT (W): @"Scripts/Game/ERR/ERR_ExtractionService.c,56": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +05:31:29.959 SCRIPT (W): @"Scripts/Game/UI/Menu/MainMenuUI.c,643": 'GetNotifyCount' is obsolete: Will be substitued by Notification Api. +05:31:29.959 SCRIPT (W): @"Scripts/Game/UI/Menu/MainMenuUI.c,645": 'GetNotifyItem' is obsolete: Will be substitued by Notification Api. +05:31:29.984 SCRIPT (W): @"Scripts/Game/ERR/ERR_NativeTransportProbe.c,82": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly. +05:31:30.014 SCRIPT (W): @"Scripts/Game/DataCollection/PlayerData/SCR_PlayerData.c,210": 'PlayerData' is obsolete +05:31:30.285 SCRIPT : Module: WorkbenchGame; loaded 171x files; 616x classes; used 2478K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE"; CRC32: db6febb9 +05:31:30.292 SCRIPT : Module: Game; loaded 5704x files; 11180x classes; used 32545K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE,ENABLE_BASE_DESTRUCTION,BUDGET_OPTIMIZATION_CHECKS,SHOW_DISCLAIMER,DEBUG,RESPAWN_TIMER_COMPONENT_DEBUG,GAME_MODE_DEBUG,DEBUG_CONFIGURABLE_DIALOGS,DISABLE_WEAPON_SWITCHING,SCRIPTED_AIM_MODIFIER_DEBUG"; CRC32: a749b02d +05:31:31.200 SCRIPT : Unable to register a script command due keyword duplicity: ban +05:31:31.200 SCRIPT : Unable to register a script command due keyword duplicity: kick +05:31:50.365 SCRIPT : ERR SITE SURVEY: supply=6150/7050 elevationRange=0.625 min=202.875 max=203.5 +05:31:53.620 SCRIPT : Unable to register a script command due keyword duplicity: ban +05:31:53.620 SCRIPT : Unable to register a script command due keyword duplicity: kick +05:32:06.410 SCRIPT (W): SCR_PerceivedFactionManagerComponent trying to set fall back faction 'CIV' but this faction could not be found so it is null instead. +05:32:06.442 SCRIPT : ERR BASE SMOKE: core-only scripted escape; not manual or multiplayer acceptance +05:32:06.949 SCRIPT (W): Notification data in 'SCR_NotificationsLogDisplay' has duplicate notification info key: 'EDITOR_PERCEIVED_FACTION_PUNISHMENT_KILLING_SET'. There should only be one of each key! +05:32:06.949 SCRIPT (W): Notification data in 'SCR_NotificationsLogDisplay' has duplicate notification info key: 'EDITOR_PERCEIVED_FACTION_TYPE_DISABLED'. There should only be one of each key! +05:32:06.951 SCRIPT (W): Can't open config file "" +05:32:06.956 SCRIPT (W): Slot_WeaponInfo Has no Content! +05:32:06.957 SCRIPT (W): Slot_Chat Has no Content! +05:32:06.957 SCRIPT (W): Slot_VON Has no Content! +05:32:06.957 SCRIPT (W): Slot_AvailableActions Has no Content! +05:32:06.957 SCRIPT (W): Slot_Vehicle Has no Content! +05:32:06.957 SCRIPT (W): Slot_GameVersion Has no Content! +05:32:06.957 SCRIPT (W): Slot_Notifications Has no Content! +05:32:06.957 SCRIPT (W): Slot_Hints Has no Content! +05:32:06.970 SCRIPT (W): Ban Settings could not be loaded from BE Storage: Relying on default config +05:32:07.025 SCRIPT : ScenarioFramework: Available tasks are empty, no new tasks will be generated. +05:32:07.039 SCRIPT : SCR_BaseGameMode::OnGameStateChanged = GAME +05:32:07.216 SCRIPT (W): EditBoxFilterComponent used on invalid widget type. +05:32:08.771 SCRIPT : Rereintroduced [sites]: cache clearance position=<6086,211.538,7160> clear=1 +05:32:08.789 SCRIPT : Rereintroduced [sites]: authored everon-prison-1 at <6090,211.444,7160> +05:32:08.790 SCRIPT : Rereintroduced [sites]: cache clearance position=<6150,203.288,7050> clear=1 +05:32:08.817 SCRIPT : Rereintroduced [sites]: authored everon-supply-1 at <6150,203.288,7050> +05:32:08.819 SCRIPT : Rereintroduced [sites]: authored everon-radio-1 at <6500,159.756,7200> +05:32:08.868 SCRIPT : Rereintroduced [sites]: authored everon-extraction-1 at <7000,65.2562,7500> +05:32:08.868 SCRIPT : Rereintroduced [sites]: cache clearance position=<5960,220.256,7220> clear=1 +05:32:08.873 SCRIPT : Rereintroduced [sites]: transport parking=<5960,220.256,7212> radius=4 terrainRange=0.8125 obstructed=0 clear=1 +05:32:08.919 SCRIPT : Rereintroduced [sites]: authored everon-supply-2 at <5960,220.256,7220> +05:32:08.919 SCRIPT : Rereintroduced [sites]: cache clearance position=<6340,175.788,7400> clear=1 +05:32:08.921 SCRIPT : Rereintroduced [sites]: authored everon-medical-1 at <6340,175.788,7400> +05:32:08.922 SCRIPT : Rereintroduced [sites]: cache clearance position=<6740,140.6,7300> clear=1 +05:32:08.925 SCRIPT : Rereintroduced [sites]: cache clearance position=<6740,140.913,7296> clear=1 +05:32:08.926 SCRIPT : Rereintroduced [sites]: cache clearance position=<6736,140.975,7300> clear=1 +05:32:08.926 SCRIPT : Rereintroduced [sites]: cache clearance position=<6744,140.288,7300> clear=1 +05:32:08.927 SCRIPT : Rereintroduced [sites]: authored everon-outpost-1 at <6740,140.6,7300> +05:32:09.019 SCRIPT : Rereintroduced [sites]: 7 sites and 117 physical stock items ready +05:32:09.020 SCRIPT : Rereintroduced [time]: started at 14:00 with 1x progression +05:32:09.020 SCRIPT : Rereintroduced [mission]: phase 0 -> 1 +05:32:09.273 SCRIPT : INFO: Faction: player jakub (playerID = 1 | UUID = 00000000-0000-0000-0000-000000000000) has joined faction #AR-Faction_US (US) +05:32:09.351 SCRIPT : Rereintroduced [spawn]: player 1 at <6087,211.538,7157> +05:32:09.456 SCRIPT : ERR SMOKE PASS: objective UI current native task exists +05:32:09.459 SCRIPT : ERR SMOKE PASS: objective UI native list and detail layouts created +05:32:09.459 SCRIPT : ERR SMOKE PASS: objective UI native handlers attached +05:32:09.460 SCRIPT : ERR SMOKE PASS: objective UI open list and details contain current title and instructions +05:32:09.460 SCRIPT : ERR SMOKE PASS: objective UI list-only task cannot expose an undiscovered map position +05:32:09.460 SCRIPT : ERR SMOKE PASS: objective UI actual local player receives the active objective +05:32:09.460 SCRIPT : ERR SMOKE PASS: objective UI extraction instructions follow a nondefault boundary +05:32:09.461 SCRIPT : ERR SMOKE PASS: objective UI rebinding keeps one subscription to each native task event +05:32:09.461 SCRIPT : ERR SMOKE PASS: objective UI closing native widget uses production detach and releases its task +05:32:09.461 SCRIPT : ERR SMOKE PASS: objective UI closed native widget receives no task callbacks +05:32:10.464 SCRIPT : ERR SMOKE PASS: objective UI closed native widget has no delayed overflow callbacks +05:32:10.464 SCRIPT : ERR SMOKE PASS: objective UI current native task exists +05:32:10.466 SCRIPT : ERR SMOKE PASS: objective UI native list and detail layouts created +05:32:10.467 SCRIPT : ERR SMOKE PASS: objective UI native handlers attached +05:32:10.467 SCRIPT : ERR SMOKE PASS: objective UI open list and details contain current title and instructions +05:32:10.467 SCRIPT : ERR SMOKE PASS: objective UI list-only task cannot expose an undiscovered map position +05:32:10.467 SCRIPT : ERR SMOKE PASS: objective UI actual local player receives the active objective +05:32:10.467 SCRIPT : ERR SMOKE PASS: objective UI extraction instructions follow a nondefault boundary +05:32:10.468 SCRIPT : ERR SMOKE PASS: objective UI details reopen through native layout and current objective binding +05:32:10.468 SCRIPT : ERR SMOKE PASS: objective UI isolated deletion has a native task system, mission task and local executor +05:32:10.469 SCRIPT : ERR SMOKE PASS: objective UI deletion fixture owns a separate native task +05:32:10.469 SCRIPT : ERR SMOKE PASS: objective UI isolated task has an actual local assignee +05:32:10.471 SCRIPT : ERR SMOKE PASS: objective UI isolated native details layout created +05:32:10.471 SCRIPT : ERR SMOKE PASS: objective UI isolated native details handler attached +05:32:10.472 SCRIPT : ERR SMOKE PASS: objective UI native task deletion clears both task and bound-widget weak references +05:32:10.472 SCRIPT : ERR SMOKE PASS: objective UI deleted-task panel closes through production detach +05:32:10.472 SCRIPT : ERR SMOKE PASS: objective UI real mission objective survives isolated deletion and assignment is restored +05:32:11.473 SCRIPT : ERR SMOKE PASS: objective UI deleted-task panel has no delayed callbacks after weak references clear +05:32:11.473 SCRIPT : ERR SMOKE PASS: objective UI real mission objective remains intact after delayed teardown check +05:32:11.473 SCRIPT : Rereintroduced [mission]: phase 1 -> 6 +05:32:11.474 SCRIPT : ERR SMOKE PASS: base objective UI fixture finished before explicit test reset +05:32:11.474 SCRIPT : ERR SMOKE COMPLETE: native objective UI close, reopen and deleted-task cleanup; reset requested by fixture +05:32:11.513 SCRIPT : SCR_BaseGameMode::OnGameStateChanged = POSTGAME +05:32:11.515 SCRIPT (W): Slot_Chat Has no Content! +05:32:11.515 SCRIPT (W): Slot_VON Has no Content! +05:32:11.515 SCRIPT (W): Slot_GameVersion Has no Content! +05:32:11.516 SCRIPT (W): Slot_Notifications Has no Content! +05:32:13.510 SCRIPT (W): SCR_ScriptedWidgetComponent.GetComponent: widget not found: SCR_InputButtonComponent Back +05:32:13.510 SCRIPT : -- Stack trace -- +05:32:13.510 SCRIPT : GetComponent() Scripts/Game/UI/Components/WidgetLibrary/SCR_ScriptedWidgetComponent.c : 43 +05:32:13.510 SCRIPT : GetInputButtonComponent() Scripts/Game/UI/Components/WidgetLibrary/SCR_InputButton/SCR_InputButtonComponent.c : 1214 +05:32:13.510 SCRIPT : OnMenuOpen() Scripts/Game/UI/GameOverScreen/SCR_GameOverScreenInput.c : 15 +05:32:13.510 SCRIPT : OpenGameOverScreen() Scripts/Game/GameOverScreen/SCR_GameOverScreenManagerComponent.c : 447 +05:32:13.510 SCRIPT : ShowGameOverScreen() Scripts/Game/GameOverScreen/SCR_GameOverScreenManagerComponent.c : 177 +05:32:13.511 SCRIPT : OnUpdate() Scripts/Game/game.c : 885 +05:32:13.511 SCRIPT : ----------------- +05:32:13.511 SCRIPT (W): SCR_ScriptedWidgetComponent.GetComponent: widget not found: SCR_InputButtonComponent ChatButton +05:32:13.511 SCRIPT : -- Stack trace -- +05:32:13.511 SCRIPT : GetComponent() Scripts/Game/UI/Components/WidgetLibrary/SCR_ScriptedWidgetComponent.c : 43 +05:32:13.511 SCRIPT : GetInputButtonComponent() Scripts/Game/UI/Components/WidgetLibrary/SCR_InputButton/SCR_InputButtonComponent.c : 1214 +05:32:13.511 SCRIPT : OnMenuOpen() Scripts/Game/UI/GameOverScreen/SCR_GameOverScreenInput.c : 21 +05:32:13.512 SCRIPT : OpenGameOverScreen() Scripts/Game/GameOverScreen/SCR_GameOverScreenManagerComponent.c : 447 +05:32:13.512 SCRIPT : ShowGameOverScreen() Scripts/Game/GameOverScreen/SCR_GameOverScreenManagerComponent.c : 177 +05:32:13.512 SCRIPT : OnUpdate() Scripts/Game/game.c : 885 +05:32:13.512 SCRIPT : ----------------- +05:32:13.513 SCRIPT (W): Slot_Chat Has no Content! +05:32:13.514 SCRIPT (W): Slot_VON Has no Content! +05:32:13.514 SCRIPT (W): Slot_GameVersion Has no Content! +05:32:13.514 SCRIPT (W): Slot_Notifications Has no Content! diff --git a/docs/evidence/native-2026-09-19-053124/source-provenance.json b/docs/evidence/native-2026-09-19-053124/source-provenance.json new file mode 100644 index 0000000..5fa4cc7 --- /dev/null +++ b/docs/evidence/native-2026-09-19-053124/source-provenance.json @@ -0,0 +1,4 @@ +{ + "schema_version": 1, + "kind": "launch_snapshot" +} diff --git a/docs/evidence/native-2026-09-19-053124/source-sha256.json b/docs/evidence/native-2026-09-19-053124/source-sha256.json new file mode 100644 index 0000000..ceadcab --- /dev/null +++ b/docs/evidence/native-2026-09-19-053124/source-sha256.json @@ -0,0 +1,118 @@ +{ + "addons/ai/Prefabs/ERR/MortarCrew.et": "05d3e7353ff9fe5523218a1487b31b7b742b0be8adbcb060c7099978cf008bce", + "addons/ai/Prefabs/ERR/MortarCrew.et.meta": "fdfd4fcd21a67c3d698fa4aadc4e5c76e665cebf4be86013bc389e493fab63cc", + "addons/ai/Scripts/Game/ERR/ERR_HQ.c": "ceafd6740ed277748744ce56ac0f0bb3a8521fcc060dafb2cdb99896aedf405a", + "addons/ai/Scripts/Game/ERR/ERR_HQJournal.c": "b3e402cfe92d415f37f666045afb062e6e11670ba03a0ca6f2d9fd4fc3520ac1", + "addons/ai/Scripts/Game/ERR/ERR_HQNetwork.c": "92ff2caca52e94c2cc9642dfc8509ce6e9349b257012bade8650bace9231128c", + "addons/ai/Scripts/Game/ERR/ERR_HQObservation.c": "36c978ec5f052213ac1236e1398d85063efbfd7ef60fe04f1fc11447fefe1d68", + "addons/ai/Scripts/Game/ERR/ERR_HQReport.c": "c4d16ccb571db4d9444c0a8d2be7318845d25ff90238b6d304e96a9ea19f1a08", + "addons/ai/Scripts/Game/ERR/ERR_HelicopterAvailability.c": "60eaef2f6d4b2fd44861c5a4434ef97e732e40a5ff7401e2da451ed2dd9c2762", + "addons/ai/Scripts/Game/ERR/ERR_MortarBattery.c": "66b8f16b692a0f75fc9d920f5224d9292a0f1dc7dd8b2dde912e676fa80ddc9c", + "addons/ai/Scripts/Game/ERR/ERR_MortarFiring.c": "657e96d1112b68c8ced37793e99f88e6078b38a579190e63d00b1f9a9a032e26", + "addons/ai/Scripts/Game/ERR/ERR_MortarPrediction.c": "470dd196ed64800c697d24c09d1344bacd2502587fac76af4ee0edae2563092d", + "addons/ai/Scripts/Game/ERR/ERR_MortarSalvo.c": "697c01f479df6c505a41d984a29c02002e3052114dafa2ec6252ae55e2979a2b", + "addons/ai/Scripts/Game/ERR/ERR_MortarSystem.c": "12d8fc39d47e03c3838e0642aa9e4a80baf60f250357493bff812d5c75812c86", + "addons/ai/Scripts/Game/ERR/ERR_SettlementSafety.c": "e5c0ebc95521a9a33a3f7d9cca6c551dda862a08b7af20b017877aba9584795b", + "addons/ai/Scripts/Game/ERR/ERR_SupportScenario.c": "71757018ec9716c4dc24f62a292a214919d3fd5daed3c16e03e56abd208e9f03", + "addons/ai/addon.gproj": "5f559db8f526700db11e6ae763f5245f19b7006fc68c56e4c09fb6f940bdf2a1", + "addons/chat/Missions/ERR_Everon.conf": "76f3ac0d21b585654beac7ddd68e3c8cbdd66dbfe909b17b04838fa813a7c29b", + "addons/chat/Missions/ERR_Everon.conf.meta": "0a23c98bf83873536c65fa17d38dea33a1d7b9e4ab210f90633ff688abcc551f", + "addons/chat/Scripts/Game/ERR/ERR_AdminCommands.c": "7ea6d6b240524cf0193c86fcab861fbdef9adca780acff11ee73f9ed0e99ce7b", + "addons/chat/Scripts/Game/ERR/ERR_NativeMortarProbe.c": "ddb892141500c192c0787b011d57dd8c07dd8c9a3ca5fdc407f6c271897bde0a", + "addons/chat/Scripts/Game/ERR/ERR_NativeRadioProbe.c": "84524163c63402755b4f834f74dfe6d8e5c397dc26031f532593c6f79f5a93b1", + "addons/chat/Scripts/Game/ERR/ERR_NativeSmoke.c": "0ab2fed95dcaa0442cf7feb25743308060d58497e347f17dbd25c8e970a9f81f", + "addons/chat/Scripts/WorkbenchGame/ERR/ERR_ValidateWorldPlugin.c": "81c92d408ce88cc9f98d6053f1d0c863427693ba748f00df9f1bf8079015ef94", + "addons/chat/addon.gproj": "ea1587e0174cf795334d306c71d99b06797fc891427cd57b6cab6e21cf0e4e0e", + "addons/core/Configs/ERR/EveronSites.conf": "2edb2c6983eb627800b65d9e244b9b228e0b82282e089c7b12e5a8921a2ea7bf", + "addons/core/Configs/ERR/EveronSites.conf.meta": "d5fe68025ef4e7c1e16082cf5873b7c7172eacbfaef4ab29b7e0e3c98f8dca56", + "addons/core/Configs/ERR/GameOverScreens.conf": "45231061911a1462d45fb6db0fecc2b0793f17b5ae71017174954ff4fbd20236", + "addons/core/Configs/ERR/GameOverScreens.conf.meta": "eb654b745c0b97b41c991694569ef4877a3c2315e0826f9556337cd68690843e", + "addons/core/Configs/ERR/VanillaFactions.conf": "f8b8b9898a16b4a4a55ab3c12d2547bef2dc433732c7643df980cb3aca715212", + "addons/core/Configs/ERR/VanillaFactions.conf.meta": "ac77725c0c21974991ef47a466b88122e939de8b46fd23e68889e7674cbb2bfd", + "addons/core/Missions/ERR_Everon_Base.conf": "1e6a0e9a756d15495201f71121626890f01efe6b00154c561672d4ec157960bd", + "addons/core/Missions/ERR_Everon_Base.conf.meta": "9b16267c644d815bcf98a3a3aaff30b93d7224fb24d3a2bac66730a28011f317", + "addons/core/Prefabs/ERR/Extraction.et": "1aa286ef253c5410f09fa641e4be91a7be8ec834487a7fbb74cfb45cab60ee1e", + "addons/core/Prefabs/ERR/Extraction.et.meta": "c2a838633001e2e3a202d39cb33aa744ebcd996017ad032359069641b5d13853", + "addons/core/Prefabs/ERR/FieldCover.et": "20f8095e69dbfe3db74ff19078e528ea75405362b335e03560ccd61f8df2e7f3", + "addons/core/Prefabs/ERR/FieldCover.et.meta": "83461ffa76244e1d69f20b053a9741ccdf7d127009182bd540a7e5ba6150c3d9", + "addons/core/Prefabs/ERR/GameMode.et": "385c97a5b8067091d92aa60c2d4fcf02002cf606b95523866ead65c96b8c0029", + "addons/core/Prefabs/ERR/GameMode.et.meta": "106769cd34525c9d440057072836cb7401a6752148c40edd7fe61c03bd58328c", + "addons/core/Prefabs/ERR/ObjectiveDocument.et": "2e72270bf186654af12d2c3ff9bf940690b03fb17fca44f873c1fde5d11384c0", + "addons/core/Prefabs/ERR/ObjectiveDocument.et.meta": "eaba9903be147b98a1106e2273e2270773df73b9b22f2cd4e20136a8e281382e", + "addons/core/Prefabs/ERR/Patrol.et": "c5685a8bc311cc5563fb3334beec9408d3d7a1069152fddeeb7df4f1b7f9e6ce", + "addons/core/Prefabs/ERR/Patrol.et.meta": "7c5da568fa2fcf0709ee2959253cb068d7c7ed7c2467af3b247a7e70efd96b69", + "addons/core/Prefabs/ERR/Prison.et": "1503db1441d8cd7a4f0b45c27ba9623b9fa39f0f81016e180bd2aa1379e1f42a", + "addons/core/Prefabs/ERR/Prison.et.meta": "2e426ef3de68f4107907854b51e818bc11d84649a01c538e3f18dd9ebec766bb", + "addons/core/Prefabs/ERR/PrisonDoor.et": "fc66be9d36f1f01084de59f1b0a1e8817f9e46547ead33d4fafaac0107446c40", + "addons/core/Prefabs/ERR/PrisonDoor.et.meta": "b8f3db52bf186426026668fbb9d633c3cbd4d438ab301fba880398f6a0e781c2", + "addons/core/Prefabs/ERR/PrisonWall.et": "8009d19365ae72a4749d7ad4fa04662575b06c65c6bf06507d380d57258b5eed", + "addons/core/Prefabs/ERR/PrisonWall.et.meta": "0294bc5dbb56f90f8153d62459bb0a6ad91d76a479812bbec9c7db182fdb58d6", + "addons/core/Prefabs/ERR/Radio.et": "b4b5cfe125b39019855816c9a1c508ca4d65d435b5546fdaa6c1fa3c8c9b1165", + "addons/core/Prefabs/ERR/Radio.et.meta": "bc91137b68ba550217914fb8892bb44d7e1920e4a1086f3e506623832a44212f", + "addons/core/Prefabs/ERR/SpectatorCamera.et": "b5b87d5b7b707f3745741aebe7c923067c8a74f8fbb2a4711834bab03bb5a812", + "addons/core/Prefabs/ERR/SpectatorCamera.et.meta": "2a16558f93915e31908a674509e9c89976470f78a84a1174a64b94b68b8f77ad", + "addons/core/Prefabs/ERR/SupplyCache.et": "bccf7afbaae97cfcdd78dd6dbbf4be5b2c045d348f50fe4581962e556c0044d7", + "addons/core/Prefabs/ERR/SupplyCache.et.meta": "2f5de3a4aab1e9d0e35521f48dc57b95bd6e449c383dec4f1c258e10295904cb", + "addons/core/Prefabs/ERR/SupplySite.et": "dc5decce5cabf39b6116e8794ec3960cb1e35761854fdbe69740da118787ded4", + "addons/core/Prefabs/ERR/SupplySite.et.meta": "b41944b12eb3528ff7a3ac94258b18c66ef161aa6a38894aee300a1ac4798630", + "addons/core/Scripts/Game/ERR/ERR_Actions.c": "adf93245e6d78c59b9839599d157a0d2b2b93ea93b3d1ae52e2904dd6c288266", + "addons/core/Scripts/Game/ERR/ERR_Actors.c": "b3c5aabb05f7cf35167bc09b5db51a4ffd89a46658805d6eedbfb80eee30273d", + "addons/core/Scripts/Game/ERR/ERR_AdminService.c": "047c14ce60cc0b167e202438f8f2b1063590e69ef88ea55b54598aea5f99c505", + "addons/core/Scripts/Game/ERR/ERR_DiscoveryMap.c": "2f4ea342fea0530061456be9cdce002d5e7a282e4e27eb88f3860e79f93612bf", + "addons/core/Scripts/Game/ERR/ERR_DiscoveryService.c": "6b5679447fe4a6d7d54c0545881ab56284f871556b3159207d421247f419eada", + "addons/core/Scripts/Game/ERR/ERR_DocumentComponent.c": "17bb76b80ebd3357e46d553c44674f602c7bd6901c92aec53ac8214194aa4ff2", + "addons/core/Scripts/Game/ERR/ERR_EscapeGameOverScreenInfo.c": "b1e1afb7795cb77c0bad94c85abf705b26b9dc2a9400905d80eafd56bdd009d3", + "addons/core/Scripts/Game/ERR/ERR_ExtractionService.c": "91357099b4e0401196b67d48963be54be30e56bdba57cdac67dc20b8ebb883e9", + "addons/core/Scripts/Game/ERR/ERR_FactionCatalog.c": "a5a8c53acf21259e14f59cb919535910f30dabff5a9179c664bc6a7a4d744d6e", + "addons/core/Scripts/Game/ERR/ERR_GameMode.c": "d766d1639378070bea64eef38baa4667f8b9f5f1a2a7b170f0fc5e8fd557917d", + "addons/core/Scripts/Game/ERR/ERR_Location.c": "d2035f56ded35743312ec6ca91a67f8623a466c91255e1893c570edf0954ff24", + "addons/core/Scripts/Game/ERR/ERR_MissionRules.c": "f7abc38ad8fdc375ce7fa63a65f0bade027d22b37e09de5e3f94ba8c3c63cc41", + "addons/core/Scripts/Game/ERR/ERR_NativeBaseSmoke.c": "e1790bca83feb52dc1093eced0624fc5bf0b3050b831a0fb8b3731759e84710f", + "addons/core/Scripts/Game/ERR/ERR_NativeContractsProbe.c": "d1556df885171cf967e96eef5d8981a2e9ee4e3938b7d32fdd0426f647bbabc0", + "addons/core/Scripts/Game/ERR/ERR_NativeDefinitionProbe.c": "d05ef8368ef5afa68e29f45843cb1878b5a09be768f8abdff2f4115c23759b01", + "addons/core/Scripts/Game/ERR/ERR_NativeExtractionProbe.c": "4b09385f73206de004f4f3c38a6192fd658a0d2012482dc5a84dff1599ceb972", + "addons/core/Scripts/Game/ERR/ERR_NativeLifecycleProbe.c": "89620ec1cc94e260ef72460b32c3291ffcc84cfe51afa907954b10229a711b2b", + "addons/core/Scripts/Game/ERR/ERR_NativeObjectiveProbe.c": "71fbd2479a70048f83d8b262ad1452f427be2c0afc8b071ef13bff477b9dc29b", + "addons/core/Scripts/Game/ERR/ERR_NativeRadioDefenceProbe.c": "cad54f0b43cefd72df74697dfc7e93725ff0acac6d311e963ce4f817428c272c", + "addons/core/Scripts/Game/ERR/ERR_NativeResultProbe.c": "b9a117eef2d5f65fbd792041a2b3e59e38e201bda8e0df8c503e1a1242cfc415", + "addons/core/Scripts/Game/ERR/ERR_NativeSiteSurvey.c": "ac0203753ade0cdff6d483132797a80e4520f14546c3f9dea288281cd4cd9c4f", + "addons/core/Scripts/Game/ERR/ERR_NativeStationTeardownDiagnostic.c": "c01cbdbfe25fd38916fa74f2c02333baaacd5228686fd6e40b33c27b3cea8ed8", + "addons/core/Scripts/Game/ERR/ERR_NativeTimeProbe.c": "c93d049785971e51246fcc07cf24804270a752a655505f2c38e48c80df5255ae", + "addons/core/Scripts/Game/ERR/ERR_NativeTransportProbe.c": "63ec0c5ce698114daa6314b2a6e3c3e98e76094117c477f9d0d072260686d193", + "addons/core/Scripts/Game/ERR/ERR_NativeTransportSurvey.c": "3e94493bf54d15be2bceb106ad18873e14e6755af09c05f07db7fb26fb7adff5", + "addons/core/Scripts/Game/ERR/ERR_ObjectiveDetails.c": "628ebd166dcb5544c2d18dce489619984887ee18296cf2446fc6d894f89dd5bf", + "addons/core/Scripts/Game/ERR/ERR_ObjectiveText.c": "bbb29949194637e6781316836c895e2c0fa7ccdb547d4d944a717da2ad73b0a2", + "addons/core/Scripts/Game/ERR/ERR_Objectives.c": "88d95a52fcba103483ea751571e1afeae0e6fc82115ed50d6fc195424726960f", + "addons/core/Scripts/Game/ERR/ERR_Observer.c": "b719e723369ab4f403950c85226e1336eb48e3c127e84530ac1c695eb86bd0f9", + "addons/core/Scripts/Game/ERR/ERR_PlayerAdminCommands.c": "a084d7dc097dfcde3d6cd9c2e326b9e2f8f2a519f77b30c4f56ab7a1429aa721", + "addons/core/Scripts/Game/ERR/ERR_PlayerEscapeResult.c": "3124ab4d2d6d471409a47aba0af528790734df53243c03fe0cdac3e407047c14", + "addons/core/Scripts/Game/ERR/ERR_PlayerGuide.c": "2c9c365b88651f8b12618443638bf52c04e497221592bd483c33447e30468f36", + "addons/core/Scripts/Game/ERR/ERR_PlayerRoster.c": "a737ba739b3f73a91cd05d808a1d45070e83b5152c003c3164e29842dda51995", + "addons/core/Scripts/Game/ERR/ERR_RadioDefenceService.c": "85eb9c1b65d5987799927b6d8786b7299fcff849bcb15b91f8a4d1aa95823fd1", + "addons/core/Scripts/Game/ERR/ERR_Resources.c": "8a5314944f75b23982c6b99697045e3c0538aa2137b2c947a5b2411e6076ac03", + "addons/core/Scripts/Game/ERR/ERR_ScenarioComponent.c": "abba03af68323d5715ba1e2497fc66f3c706e6a6a983c3a386228abdfddeec89", + "addons/core/Scripts/Game/ERR/ERR_Settings.c": "2aee784e44c732e09f59150896491ab325ef5e62aa6bad725be1fda955a3f614", + "addons/core/Scripts/Game/ERR/ERR_SiteDefinition.c": "75b5121ceab77f0956f0dc34bd077b11af5586350de52321800427f18cc94477", + "addons/core/Scripts/Game/ERR/ERR_SiteService.c": "7ba02712562b3c8cd8de9851b6f26fed85020faacceef0767408b300b935c110", + "addons/core/Scripts/Game/ERR/ERR_SpawnFinalization.c": "2e295b0f225208c5414728ba83333e5e0ab6eef3a708ce39eb1dfce5400c94c9", + "addons/core/Scripts/Game/ERR/ERR_SpawnLogic.c": "64c2cef62d8a435eea396f057255b269d457935bf5d261221700739bf37240b8", + "addons/core/Scripts/Game/ERR/ERR_SpawnPlacement.c": "284db0d4a5ecd38f9c658c91ce943f4c0c30dcf4d31bb3edeea92e4ab0b1436a", + "addons/core/Scripts/Game/ERR/ERR_Supplies.c": "752e8a56b0b8cde33cf532032cb0a203553017b686faac2e19bee06f7a9c0713", + "addons/core/Scripts/Game/ERR/ERR_TimeService.c": "d9f481b7da01e08d2c982a948c18ba6bde76889d7cc9d26d510708f4ba479453", + "addons/core/Scripts/WorkbenchGame/ERR/ERR_ValidateBaseWorldPlugin.c": "7f44aa64ea7b4f8b3640a37a4b781c43bf6adb80e4a3a702d9491131698056f6", + "addons/core/Worlds/ERR_Everon.ent": "22324bc7eb0d80dec8a1f3bd61a9df9201b72f749f4e751766b0c9d0b7d46b87", + "addons/core/Worlds/ERR_Everon.ent.meta": "19d1903ca72baa326b4724a6791d0da1104a1e53f3f31dc1ca41a856efd68e83", + "addons/core/Worlds/ERR_Everon_Layers/default.layer": "f1a058bd315c7d01d464715ac9f4e18ae3d2432551d094a9afbd4c9c5a2a9416", + "addons/core/addon.gproj": "231274e6b62302f32c65f9ff31de2ce8a9e51e1c8d12c87deeec82ae1f40de46", + "addons/intel/Scripts/Game/ERR/ERR_IntelService.c": "482839434b94e7f8c345d5fd96490aeebb765f3dd0c1bb25fceea2f435c0e722", + "addons/intel/addon.gproj": "d0ced242cefb220a5cccd6779d61fda9bc55581701b9f78bcf13c09d92ddbcbe", + "addons/map/Materials/ERRM_MapRenderTarget.emat": "9877c5b175c5f30dd80bea36c711b21ab38219aa7075adf9ae79932e1d4c76bc", + "addons/map/Materials/ERRM_MapRenderTarget.emat.meta": "5ee1a705f8011a44020ca2691f5ccc17d44bf596fef9a36e98d1f267eb58fab0", + "addons/map/Prefabs/Items/Equipment/ERRM_SharedFieldMap.et": "30dee8e9eab459ea32a7d835a9fb89d43df47708057cab829f067b25a24cd581", + "addons/map/Prefabs/Items/Equipment/ERRM_SharedFieldMap.et.meta": "59093e9072c50d99c86da7609c87541016da5bcf92b98d99db4c524e1c8e0e8d", + "addons/map/Scripts/Game/ERR/ERR_ScenarioMap.c": "75fa1d742129ef7f33c005cd48f56db7f49ee7bde3c5428532b0b501b032b0a3", + "addons/map/Scripts/Game/ERRMap/ERRM_SharedMapComponent.c": "fc1a0c7df4fc96da446d7542a45a10fbec1eda1e543ba2f0581cb772277a47c5", + "addons/map/UI/layouts/ERRMap/SharedMapRenderTarget.layout": "49a2da4181b94d42174f58c7f9b6bf2207116c99427d61ff1c212092ac7db4d2", + "addons/map/UI/layouts/ERRMap/SharedMapRenderTarget.layout.meta": "5c846445cc089e2e08899ba703059d4adb805ff30ab5a16409a3cd59718cbd54", + "addons/map/addon.gproj": "1b371e5e01ea9fa46e76570fecb8aaa3a9298e34cba7ccca8a6bdb5ca86eb46a" +} diff --git a/docs/evidence/native-error-audit-2026-09-19/source-hashes.json b/docs/evidence/native-error-audit-2026-09-19/source-hashes.json new file mode 100644 index 0000000..5f007e8 --- /dev/null +++ b/docs/evidence/native-error-audit-2026-09-19/source-hashes.json @@ -0,0 +1,9 @@ +{ + "Prefabs/Vehicles/Wheeled/M151A2/M151A2.et": "8b4f1410e93fdf417e3085e6f47fb40ebff04c309a74f04bdb5e33c3aacad246", + "Prefabs/Vehicles/Wheeled/BRDM2/BRDM2_base.et": "1c05da25aadf3f02c64d9efc2b26950a85209a3de34405ec9f1a6ebb25c54a79", + "Prefabs/Vehicles/Wheeled/BTR70/BTR70_Base.et": "fdc8aa679406ed54f595c322b7598ee79e47d7c14549eca5428d6f8417ec9c51", + "scripts/Game/Vehicle/SCR_VehicleDustPerWheelComponent.c": "7dcc7da464b97cbe58bcb5b67d63c8a600b7120a440eaec1c267f350ecd271d7", + "scripts/Game/Components/SupportStation/SCR_BaseItemSupportStationComponent.c": "13c5186ad3ab9fc668a6641ef55ee24962457fdbf5da99a605f9922e53669df5", + "scripts/Game/Components/SupportStation/SCR_BaseSupportStationComponent.c": "01431283e118c0e371a639eb60747f211d22712f1eb98c5a15916a15dafdb1a4", + "Prefabs/MP/Modes/GameMode_Base.et": "ae2e166f704ef86e7c466b0b35bc5efa220683a689cb39a70f311f53040a03e9" +} diff --git a/docs/ground-transport.md b/docs/ground-transport.md new file mode 100644 index 0000000..0d0b189 --- /dev/null +++ b/docs/ground-transport.md @@ -0,0 +1,23 @@ +# Finite ground transport + +The western supply site's optional `Transport` definition owns one vanilla UAZ. It is created once by `ERR_SiteService.Begin`, tracked alongside the site's crates and scenery, and transferred to the existing mission owner when preparation succeeds. Destruction, fuel depletion, repeated `Prepare`, and later service ticks do not spawn a replacement or refill it. Terminal stop prevents reinitialization; preparation failure rolls the vehicle back with the other authored contents. + +The vehicle is optional ground transport for the route, not a guarantee that all twelve prisoners can travel simultaneously. Losing it does not defeat the mission or remove the walking route. It is not registered as an HQ response asset. + +## Authoring + +Only depot and outpost sites accept a `Transport ERR_SiteTransport` block. One vehicle is permitted per site and at most four per scenario. `Prefab`, ground-relative `Offset`, `Heading`, `ClearanceRadius`, and `MaximumTerrainRange` are authored in `EveronSites.conf`. Offset magnitude is capped at 60 m and vertical offsets are forbidden. Parking clearance radius must be 2–8 m and the allowed terrain elevation range 0–1.5 m. + +Before spawning, the service samples a 3×3 terrain grid across the parking square, rejects water, steep ground and objects with native geometry, and logs the result. It never removes terrain scenery or searches for another spawn point. Preparation additionally requires a live wheeled vehicle, fuel, native driver and passenger positions, and a vehicle bounding box fitting inside the surveyed footprint with a 0.5 m margin. The persistent handbrake is set at creation. + +The initial 5960/7232 candidate was rejected by native geometry checks. A bounded [parking survey](evidence/native-2026-09-19-043631-parking-survey/report.json) found 43 clear candidates. The selected parking position is **5960/7212**, offset 0/0/-8 from the western cache, heading 180°, final clearance radius 4 m and maximum terrain range 1 m. The initial six-metre-square survey sampled a 0.625 m range; the final native run rechecks the larger eight-metre square. The readiness check compares actual vehicle bounds to this surveyed center, rather than a possibly displaced current origin. Manual route navigation remains unverified. + +## Asset audit + +The vehicle reference is `{259EE7B78C51B624}Prefabs/Vehicles/Wheeled/UAZ469/UAZ469.et`, independently checked against the installed vanilla `resourceDatabase.rdb`. This is already in `docs/vanilla-resources.json`. Its vanilla base config defines two 39 L tanks initially containing 29.25 L each, hence 58.5 L total initial fuel. The successor does not set or regenerate that fuel. The [044205 native run](evidence/native-2026-09-19-044205/report.json) observes 58.5 L initially, 78 L total capacity and five usable driver/passenger seats. No original Escapists code, composition or asset is used. + +## Native fixture + +`ERR_NativeTransportProbe` is WORKBENCH-only and opt-in. Its `Tick(now)` helper uses the actual authored UAZ and two isolated scripted prisoner characters. It checks ownership, native pilot/passenger compartments, physical occupancy and ordinary native engine startup. It then deliberately drains fuel, waits, queries preparation, deletes the vehicle and queries preparation again, verifies initialization cannot repeat, and stops the site service. This destructive fixture therefore belongs in its own smoke branch followed by a round reset. + +The linked native run passes all 23 checks with no script/VM exceptions; seven inherited vehicle schema errors remain. The fixture is not manual driving, normal boarding-action validation, road navigation, fuel-range balancing, remote-client replication, or multiplayer proof. Neither it nor repository validation should be reported as those checks. diff --git a/docs/native-errors.md b/docs/native-errors.md new file mode 100644 index 0000000..cc6cb02 --- /dev/null +++ b/docs/native-errors.md @@ -0,0 +1,45 @@ +# Native error investigation, 2026-09-19 + +Read-only investigation of installed vanilla assets, their actual script implementations, and successor archived runtime logs. No engine launched, installed resource altered, existing mission edited, or logs suppressed. + +## Seven vehicle schema errors: actual source identified + +The 04:12:33 two-round early-helicopter-loss archive traces all seven errors to faction resource initialization, before GameMode initialization. See `docs/evidence/native-2026-09-19-041233/console.log.txt` lines 265–290 in the successor repository. + +| Count | Source asset, extracted line | Invalid property | Logged offset | +| --- | --- | --- | --- | +| 1 | `Prefabs/Vehicles/Wheeled/M151A2/M151A2.et:548` | `SCR_VehicleDustPerWheel.SlidingTrackMaterial` | 19441 | +| 2 | `Prefabs/Vehicles/Wheeled/BRDM2/BRDM2_base.et:1044,1068` | `Wheel.Parent` | 35955, 36915 | +| 4 | `Prefabs/Vehicles/Wheeled/BTR70/BTR70_Base.et:1273,1307,1340,1373` | `Wheel.Parent` | 42646, 43645, 44617, 45590 | + +**Correct previous attribution: the SlidingTrackMaterial error is M151A2, not Mi8.** The load chain is FactionManager_USxUSSR → M151A2_M2HB_MERDC → M151A2_M2HB → M151A2. The six wheel errors load through BRDM2_Conflict and BTR70_Conflict variants. Actual extracted property byte positions match the logged parser offsets (the error points just after the keyword). + +Installed `scripts/Game/Vehicle/SCR_VehicleDustPerWheelComponent.c` declares no SlidingTrackMaterial attribute in either its class-data or component class. This is an actual mismatch between installed vanilla resource data and script schema. M151's field concerns wheel dust/track appearance; it is not an extraction seat or flight setting. The BRDM/BTR fields concern wheel differential parent references; do not call them harmless without vehicle-driving validation. Engine internals for the Wheel type are not script source, so the exact replacement field is not established here. + +There is no justified successor code change that repairs these installed base-prefab fields. Adding dummy script attributes, overriding a global vehicle base asset, or excluding errors from the parser would hide the failure rather than validate compatibility. An independently authored narrower faction catalog may eventually avoid loading unneeded vehicles; that would need intentional catalog scope, inherited reference removal, and a real native test. It would not establish those vanilla vehicles as compatible. Keep clean-runtime acceptance failed in the meantime. + +## Intermittent resupply error: teardown validation path exists + +The same archive emits exactly two `SCR_BaseResupplySupportStationComponent needs a entity catalog manager!` errors at 04:13:53.548/.553, immediately before `Starting new playthrough` at .653 and before the new world's entity load. They do not occur during that round's startup/play assertions. + +Actual class name is `SCR_BaseItemSupportStationComponent`; the printed class name is stale in vanilla source. Its `InitValidSetup` at line 30 reads cached `m_EntityCatalogManager` and prints this error if absent. `DelayedInit` at line 17 obtains the manager using `SCR_EntityCatalogManagerComponent.GetInstance()`. + +Crucially, `SCR_BaseSupportStationComponent.OnDelete` at line 1187 also calls virtual `InitValidSetup()` before unsubscribing damage/support events. Thus teardown after the catalog manager has been destroyed can produce the same error as bad initialization. The successor already inherits `SCR_EntityCatalogManagerComponent` through `GameMode_Base.et:58`; adding a second manager is incorrect. + +**Inference requiring a diagnostic runtime test:** dependent support-station deletion occurs after the old round's catalog manager is gone, invalidating the cached reference. The archive timing plus actual OnDelete implementation supports this explanation, but the logs do not name the station owner or call site, so they cannot yet prove it. A delayed-init callback crossing teardown is another possibility: vanilla EOnInit queues DelayedInit, while OnDelete does not explicitly cancel it. + +The opt-in WORKBENCH diagnostic is `ERR_NativeStationTeardownDiagnostic`, enabled by `--station-teardown-diagnostics`. It logs station owner/prefab, `OnDelete` entry and manager availability before calling super unchanged, capped at 64 lines. A two-round restart is required to observe this teardown path. Do not guard-return the error away. If the deletion ordering is confirmed for successor-owned site assets, arrange their disposal in an explicit pre-restart lifecycle step while the game mode manager still exists, and verify site cleanup, extraction result retention, startup rollback, and two restarts. Do not delete extraction occupants or their helicopter on ordinary victory merely to silence teardown. + +Only if source-level teardown correction is necessary should an addon-scoped class fix be considered: initialization must still reject a missing manager during play; OnDelete should cancel its pending DelayedInit and release subscriptions based on what was actually initialized, instead of revalidating destroyed dependencies. This is larger and needs full native lifecycle checks, so no untested override is supplied as a fix. + +## Installed runtime / dedicated server inventory + +The inspected log reports Workbench engine 192142 and game version 1.8.0.13, built 2026-08-21 14:30:18 UTC. Steam manifests currently report game build 24903726 and Tools build 24870687. Those are separate app build IDs and by themselves do not prove a version mismatch. + +The single configured Steam library is `/home/jakub/.local/share/Steam`. Read-only filename inventory of its installed common directory, `/home/jakub/devel`, `/opt`, and `/usr/local/bin` found no ArmaReforgerServer/ReforgerServer/server executable. The installed Reforger runtimes are Windows client and client diagnostic executables, plus Workbench. There are Arma 3 server executables, which are unrelated. Experimental game/tools are installed but were neither opened nor changed. There is no local dedicated-server executable established for the successor's required dedicated/network test. + +Source extraction hashes are in [the audit manifest](evidence/native-error-audit-2026-09-19/source-hashes.json). Extractions in `/tmp/erri-vanilla` came directly from the installed Arma Reforger data PAKs through the existing read-only extractor. + +## Observed diagnostic restart + +[050515](evidence/native-2026-09-19-050515/report.json) completes two Core rounds. At05:08:52 the opt-in diagnostic identifies the US and USSR medical-kit prefabs in the `OnDelete/InitValidSetup` path. Both cached and global catalog references are still valid, while the current game mode is absent. No catalog error occurs. This confirms the relevant teardown call path but does not reproduce the missing-manager condition; the intermittent issue remains open. diff --git a/docs/objective-widget-lifecycle.md b/docs/objective-widget-lifecycle.md new file mode 100644 index 0000000..2f03ff1 --- /dev/null +++ b/docs/objective-widget-lifecycle.md @@ -0,0 +1,21 @@ +# Native objective widget lifecycle + +`ERR_ObjectiveDetails.c` extends vanilla task details only while bound to this scenario's `erri-mission-` tasks. It refreshes open instructions when native display data changes. Before rebinding or detaching it removes that display subscription and cancels pending native `CheckOverflow` callbacks, whose assignee label widgets are about to be deleted. Assignment refreshes cancel earlier overflow work before replacing labels too. + +These native invokers are static on `SCR_Task` and survive entity deletion. Ownership is tracked separately from weak task references. On successor detail-widget detach, the production handler removes the five vanilla global task-event subscriptions (assignee added/removed, UI visibility, visibility and ownership), removes the task-entry visual-change route when present, and releases its task. The installed vanilla detach path handles the remaining widget and manager callbacks. Other task types continue through the native behavior; this is not a global task UI replacement. + +The WORKBENCH-only `ERR_NativeObjectiveProbe` runs with the existing explicit Core smoke opt-in. Its close/reopen check binds and rebinds an actual mission objective using the native layouts, emits unchanged state through the five native task event invokers, and checks one callback per event. It then removes the widget through its normal hierarchy lifecycle with no probe-only unsubscribe helper. A retained test handler records any late native task or overflow calls; such calls fail the fixture before they can dereference deleted widgets. This instrumentation does not repair subscriptions or cancel callbacks. + +After one normal 500ms smoke tick, exceeding the native overflow delay of 100ms, the fixture verifies no delayed callback reached the closed handler. It reopens native details and checks current title, instructions, task assignment and hidden map control. `BeginRound` clears static probe failure state once per smoke round; ordinary cleanup preserves failures. The added check consumes approximately one second including resuming the existing smoke sequence and stays within its unchanged 210-second deadline. + +This is a bounded local lifecycle regression. Rebinding uses the same current task; normal mission progression separately recreates the widget for each new objective. Unchanged-state event emissions are synthetic, and these checks do not establish remote client replication or manual UI acceptance. Native validation is recorded below. + +## Short task-deletion regression + +The explicit Core smoke outcome `objective-ui` runs the normal close/reopen check and then creates its own `erri-mission-probe-teardown` native BaseTask. It assigns the local executor and initializes a hidden native details panel, causing native assignee overflow work to be scheduled. Vanilla allows one assigned task per executor, so this briefly moves the local assignment; the fixture restores the real mission objective immediately after deleting its isolated task and also during failure cleanup. The real task is never deleted. + +The fixture calls native `SCR_TaskSystem.DeleteTask` and asserts that both the fixture's task reference and the details handler's native task reference actually become null. It then closes the panel through production detach and waits 500ms for any leaked overflow callback. No fixture code clears those references before the assertion or cancels the overflow work. It verifies the real objective and its restored assignment again, then requests an explicit test reset at smoke step 902. This case adds two short asynchronous waits and avoids the radio/extraction sequence. The ownership flag in production keeps cancellation active after weak entity references disappear. + +Runner integration: add `objective-ui` to the existing `--smoke-outcome` choices and map it to the Core smoke world with `-errBaseSmoke 1 -errSmokeOutcome objective-ui`. Treat its terminal DEFEAT as a fixture-requested reset only when the dedicated step-902 completion assertion passes. Native compilation and execution of this additional case remain pending. + +The final [053124](evidence/native-2026-09-19-053124/report.json) fixture passes 30 assertions with no script/VM exceptions and verified launch/stopped-source/log hashes. It confirms actual task deletion clears weak references, detaches the panel, restores the real objective assignment and leaves no late callbacks after 500ms. The critical five invokers are static and are removed without requiring a surviving task entity. Seven inherited vanilla resource errors remain; manual and remote-client UI acceptance remain pending. Earlier failed callback and diagnostic iterations remain in the validation archive. diff --git a/docs/original-feature-coverage.json b/docs/original-feature-coverage.json index b040329..ca8eda5 100644 --- a/docs/original-feature-coverage.json +++ b/docs/original-feature-coverage.json @@ -59,7 +59,7 @@ "addons/core/Scripts/Game/ERR/ERR_TimeService.c", "docs/mission-time.md" ], - "remaining": "Local native start clock, saved 1\u201324x progression and migration checks pass. Remote clock agreement, date/weather choices, lighting and long-running day/night transitions still require validation." + "remaining": "Local native start clock, saved 1–24x progression and migration checks pass. Remote clock agreement, date/weather choices, lighting and long-running day/night transitions still require validation." }, { "id": "presentation_audio", @@ -301,9 +301,11 @@ "replacement_files": [ "addons/core/Scripts/Game/ERR/ERR_Objectives.c", "addons/core/Scripts/Game/ERR/ERR_DiscoveryService.c", - "addons/core/Scripts/Game/ERR/ERR_DiscoveryMap.c" + "addons/core/Scripts/Game/ERR/ERR_DiscoveryMap.c", + "addons/core/Scripts/Game/ERR/ERR_RadioDefenceService.c", + "addons/core/Scripts/Game/ERR/ERR_ObjectiveDetails.c" ], - "remaining": "Validate visible task/map presentation, simultaneous actions, discovery replication and complete manual objective route." + "remaining": "Independent radio defence and native task-detail refresh are implemented. Validate visible task/map usability, simultaneous real clients, discovery replication and complete manual objective route." }, { "id": "scavenging", @@ -345,7 +347,7 @@ "id": "vehicles", "title": "Usable vehicles, locks, alarms and navigation", "scope": "first-release", - "status": "pending", + "status": "partial", "original_scripts": [ "Scripts/Game/Actions/ESCT_BreakIntoVehicleAction.c", "Scripts/Game/Actions/ESCT_CompartmentHoldAction.c", @@ -365,8 +367,11 @@ "Scripts/Game/Utility/ESCT_RoadNavigation.c", "Scripts/Game/Vehicle/ESCT_VehicleControllerComponent.c" ], - "replacement_files": [], - "remaining": "Author finite vehicles and usable routes; integrate vanilla entry/storage/repair with independent access and alarm behavior where required." + "replacement_files": [ + "addons/core/Scripts/Game/ERR/ERR_SiteService.c", + "docs/ground-transport.md" + ], + "remaining": "Finite optional vanilla ground transport passes native parking, seats, engine, fuel depletion and loss checks. Manual driving/access, route navigation, repair, alarms and remote vehicle ownership remain validation/integration work." }, { "id": "population", @@ -437,9 +442,11 @@ ], "replacement_files": [ "addons/core/Scripts/Game/ERR/ERR_PlayerRoster.c", - "addons/core/Scripts/Game/ERR/ERR_SpawnLogic.c" + "addons/core/Scripts/Game/ERR/ERR_SpawnLogic.c", + "addons/core/Scripts/Game/ERR/ERR_SpawnPlacement.c", + "addons/core/Scripts/Game/ERR/ERR_SpawnFinalization.c" ], - "remaining": "Real dedicated-server joining, reconnects, connection-ID reuse, spent lives, late extraction arrivals and spectator transitions." + "remaining": "Native local slot reservations, final-assignment guards and owned pending cleanup pass. Real dedicated-server concurrent joins, preload races, reconnects, connection-ID reuse, spent lives, late arrivals and spectator streaming remain." }, { "id": "setup", diff --git a/docs/original-feature-coverage.md b/docs/original-feature-coverage.md index f848f17..bfe4609 100644 --- a/docs/original-feature-coverage.md +++ b/docs/original-feature-coverage.md @@ -8,19 +8,19 @@ The first release remains vanilla Everon, prison start and twelve players. Alter | --- | --- | ---: | --- | | Helicopter-crash and hideout starts | pending (later) | 4 | Author separate layouts and progression rules after the prison release. | | Spectators and follow cameras | partial (first-release) | 10 | Verify remote streaming, target changes, death/reconnect and camera presentation on real clients. | -| Time, weather, lights and night options | partial (first-release) | 10 | Server-owned start clock and 1–24x progression are implemented. Local native clock checks pass; remote agreement, date/weather choices, lighting and long-running day/night transitions remain. | +| Time, weather, lights and night options | partial (first-release) | 10 | Local native start clock, saved 1–24x progression and migration checks pass. Remote clock agreement, date/weather choices, lighting and long-running day/night transitions still require validation. | | Voice, music, feedback and effects | pending (later) | 14 | Review which feedback is required for clear play; author replacements without importing original audio or UI assets. | | Health, unconsciousness and casualty handling | partial (first-release) | 11 | Vanilla health/casualty systems are the basis. Verify unconsciousness, revival, transport, bleedout and their mission consequences. | | Enemy coordination, support and threat assessment | partial (first-release) | 48 | HQ alone coordinates physical forces. Complete support scheduling, mortar firing, aircraft, transport/rearming and losses without spawning responses. | | Ambient patrols, vehicles and civilians | pending (first-release) | 16 | Author bounded initial population and routes, integrate reports with HQ, and measure runtime cost; no alert-driven population duplication. | | Faction, group and asset catalogs | partial (first-release) | 16 | Validate injected vanilla catalog and asset affiliation. Alternative faction packs remain later scope. | | Prison layout, locks and initial equipment | partial (first-release) | 12 | Manual access, equipment for twelve players, layouts, threat balance and start placement need validation. | -| Extraction vehicle and round results | partial (first-release) | 5 | Physical twelve-seat occupancy and isolated identity/partial-result cases are implemented. Local native result-widget checks pass; manual piloting/boarding, real remote reconnect and empty-server flight, casualty loading and network loss/restart acceptance remain. | -| Radio objectives, tasks and discovery | partial (first-release) | 21 | Validate visible task/map presentation, simultaneous actions, discovery replication and complete manual objective route. | +| Extraction vehicle and round results | partial (first-release) | 5 | Physical twelve-character occupancy, isolated identity/partial results and local native result-widget checks pass. Manual piloting/boarding, real remote reconnect and empty-server flight, casualty loading and network loss/restart acceptance remain. | +| Radio objectives, tasks and discovery | partial (first-release) | 21 | Independent radio defence and native task-detail refresh are implemented. Validate visible task/map usability, simultaneous real clients, discovery replication and complete manual objective route. | | Physical equipment, storage and scavenging | partial (first-release) | 23 | Two independent clue caches and optional medical/outpost stock are authored. Manual access, route balance, medical treatment, destruction and network ownership remain unverified; finite stock replaces refill systems. | -| Usable vehicles, locks, alarms and navigation | pending (first-release) | 17 | Author finite vehicles and usable routes; integrate vanilla entry/storage/repair with independent access and alarm behavior where required. | +| Usable vehicles, locks, alarms and navigation | partial (first-release) | 17 | Finite optional vanilla ground transport passes native parking, seats, engine, fuel depletion and loss checks. Manual driving/access, route navigation, repair, alarms and remote vehicle ownership remain validation/integration work. | | Locations, compositions and population ownership | partial (first-release) | 32 | Seven sites and bounded proximity/discovery events are implemented. Expand towns/checkpoints and turret population, validate authored static cover, loss retention, manual access and multiplayer cleanup. | -| Player identity, spawning and reconnect | partial (first-release) | 14 | Real dedicated-server joining, reconnects, connection-ID reuse, spent lives, late extraction arrivals and spectator transitions. | +| Player identity, spawning and reconnect | partial (first-release) | 14 | Native local slot reservations, final-assignment guards and owned pending cleanup pass. Real dedicated-server concurrent joins, preload races, reconnects, connection-ID reuse, spent lives, late arrivals and spectator streaming remain. | | Mission setup, configuration and administration | partial (first-release) | 16 | Core commands and startup status need native and remote validation; complete player-facing pre-round setup and environment/difficulty choices. | | Mission state, restart and base framework | partial (first-release) | 7 | Separate remaining objective/lifecycle policies, test mission failure reporting and multiplayer restart/cleanup. | | General helpers, editor labels and shared types | partial (review) | 23 | Use vanilla utilities or small independent helpers as each consumer is replaced. A filename match does not establish equivalent behavior. | diff --git a/docs/performance-comparison.md b/docs/performance-comparison.md new file mode 100644 index 0000000..bc5ef1f --- /dev/null +++ b/docs/performance-comparison.md @@ -0,0 +1,91 @@ +# Equivalent-workload performance comparison + +`tools/compare_performance.py` validates and summarizes supplied CSV recordings. It does not collect frames, run an engine, authenticate measurements, demonstrate a faster successor, or grant acceptance. No real measurements accompany this tool. Its regression inputs are explicitly synthetic and exist only in temporary test directories. + +Run: + +```sh +python3 tools/compare_performance.py path/to/comparison.json > path/to/comparison-report.json +python3 tests/test_performance_comparison.py +``` + +Invalid or incomplete input exits with status 2 and a reason on stderr. A valid arithmetic report exits 0, with `acceptance: "not_evaluated"` regardless of measured/synthetic origin or positive/negative differences. Do not overwrite your manifest or CSV inputs by redirecting output to them. + +## Collect real recordings later + +Use the same hardware, engine version, capture tool/version, renderer/display mode, settings, map, timed route, player count, physical AI count, vehicle count and total entity count for both variants. Record the original scenario and successor's addon IDs and exact revision/build identity separately. Keep other workloads stable and document relevant drivers, CPU/power settings, resolution, graphics quality, VSync, frame cap, simulation settings, network topology and server settings in the settings object. Version the route specification, camera path and timing; use that stable route ID in metadata. A shared route name without a reproducible route is insufficient evidence. + +Collect at least three independently executed paired repeats, alternating which variant runs first. Each capture must include at least 30 seconds of warm-up and 60 seconds of measurement, with identical declared durations across all runs. Hold declared populations constant during warm-up and measurement. Record every frame/tick, elapsed interval, current populations and AI simulation duration using the same profiler/instrumentation. Preserve raw capture files, full logs and collection notes next to the normalized CSVs. If the available profiler cannot export AI load and populations with each interval, add or choose suitable instrumentation before using this schema; do not fill the columns with guesses, interpolate missing frames, or manufacture stable counts. + +Client frame-time comparisons and dedicated server tick comparisons are separate datasets. Their interval rates are both expressed per second in the report, but server tick rate is not rendered client FPS. Headless Workbench may only be compared against identically configured headless Workbench; such results cannot establish ordinary-client performance. The current scripted hidden fixtures teleport actors and use a capped renderer, so their existing logs are not suitable benchmark inputs. + +An offline metadata check cannot prove that two captures are authentic or that all meaningful conditions were held constant. Review raw captures, population traces, route adherence, variance and repeatability before any performance acceptance decision. Positive deltas alone do not establish statistical significance. Keep the performance acceptance gate pending until real equivalent workloads have been measured and reviewed. + +## Manifest schema, version 1 + +The top-level JSON object has exactly `schema_version` (integer 1), `sample_origin` (`"synthetic"` or `"measured"`) and `runs` (array). Each repeat ID must appear exactly twice: once as `baseline`, once as `successor`; at least three paired IDs are required. Use `"measured"` only for actual captured intervals. Duplicate JSON keys, non-finite values, missing/extra schema fields, reused CSV paths, changing build/addon identities within a variant and unequal conditions are rejected. + +Each entry in `runs` has this shape. This is an illustrative record, **not a measurement or a complete accepted manifest**; replace placeholders with collection records and supply all six or more independent run entries: + +```json +{ + "variant": "baseline", + "repeat_id": "pair-01", + "artifact_id": "RECORD_EXACT_BUILD_OR_REVISION", + "addon_ids": ["RECORD_LOADED_ADDON_IDS"], + "engine_version": "RECORD_ENGINE_VERSION", + "hardware": { + "cpu": "RECORD_CPU", + "gpu": "RECORD_GPU_OR_NO_GPU_FOR_SERVER", + "ram_gib": 32, + "os": "RECORD_OS_BUILD", + "driver": "RECORD_DRIVER_OR_SERVER_NOT_APPLICABLE" + }, + "workload": { + "map": "RECORD_MAP_RESOURCE_ID", + "route": "RECORD_VERSIONED_ROUTE_SPECIFICATION", + "players": 12, + "ai": 36, + "vehicles": 4, + "entities": 1000, + "settings": { + "RECORD_ALL_RELEVANT_SETTINGS": "replace this placeholder" + }, + "warmup_seconds": 30, + "duration_seconds": 60 + }, + "capture": { + "kind": "client_frame", + "environment": "client", + "tool": "RECORD_PROFILER_OR_INSTRUMENTATION", + "version": "RECORD_CAPTURE_TOOL_VERSION" + }, + "sample_file": "baseline-pair-01.csv" +} +``` + +Paths resolve relative to the manifest (absolute paths also work). `artifact_id` and `addon_ids` identify the intentional difference between baseline and successor; each variant keeps its own identity fixed through all repeats. `engine_version`, `hardware`, `workload` and `capture` must match exactly across every recording, including warm-up/duration. `settings` is a nonempty JSON object whose internal field names are collector-defined; document all relevant settings rather than relying on this nonempty-object check for completeness. `players` is a positive integer, the other populations are nonnegative integers, and total entities must cover at least declared players + AI + vehicles. Use a consistent entity-count definition excluding no populations silently. + +Capture kinds are `client_frame` and `server_tick`. Environments are `client`, `dedicated_server` and `workbench_headless`. A dedicated server cannot provide client frames. Hardware fields must be recorded even if one is explicitly not applicable. JSON whitespace and object-key order do not affect equality. + +## CSV schema + +The exact header and column order are: + +```text +frame_index,elapsed_ms,frame_time_ms,players,ai,vehicles,entities,ai_simulation_ms +``` + +- `frame_index` starts at 1 and increases by one without gaps or duplicates. +- `elapsed_ms` is the cumulative endpoint of the frame/tick, relative to the start of capture at 0; it must strictly increase. +- `frame_time_ms` is that entire interval's duration, finite and at least 0.001 ms. Its difference from adjacent elapsed endpoints, and cumulative total versus elapsed, must agree within 0.1 ms. Preserve sufficient precision when normalizing raw exports. +- Population columns are integer observations and must match declared counts in every row, including warm-up. Entity count includes the actors/vehicles. +- `ai_simulation_ms` is finite nonnegative AI profiling time for that interval. It may exceed wall interval time if the documented profiler sums concurrent worker durations. Baseline and successor must use the same definition/instrumentation. + +Record through the first frame endpoint at or beyond `warmup_seconds + duration_seconds`; include that final boundary-crossing frame and stop there. Ending early or adding rows after that endpoint is rejected. Only whole frames starting at/after warm-up and ending at/before the measurement boundary contribute metrics. Boundary-crossing intervals remain in the raw capture but are excluded symmetrically from metrics. At least 120 complete measured intervals must cover **at least 99% of the declared measurement duration**. A stall crossing either warm-up or the final boundary that leaves lower coverage rejects the entire comparison; a short fragment cannot stand in for the declared workload. The report exposes `measurement_coverage_fraction` and each excluded boundary interval's full duration and overlap with the measurement window, alongside included sample counts and seconds. Preserve rejected captures as evidence of the stall; do not trim or move boundaries after seeing results merely to make a recording qualify. + +## Report interpretation + +Each repeated run reports median, p95 and p99 frame/tick duration in milliseconds; median, p05 and p01 interval FPS/rate; throughput (`included interval count / included interval seconds`); and median/p95 AI profiling milliseconds. FPS/rate percentiles are computed directly from `1000 / frame_time_ms`, not the reciprocal of mean duration. Percentiles use nearest rank (`ceil(percentile × sample count)`); medians use the conventional midpoint average for even counts. Thus reciprocal upper duration and lower FPS ranks may differ by one observation. Throughput is a different statistic from median instantaneous rate. + +Variant aggregates are the **median of each per-run metric**, giving repeats equal weight; they are not pooled-frame percentiles. Paired repeat deltas report median-frame reduction, p99-frame reduction, and throughput-rate increase as percentages of baseline. Positive values indicate the named numerical reduction/increase within those supplied samples, negative values indicate regression. The final delta summary is the median of paired deltas. No confidence interval, significance test or automatic performance pass is produced. Input manifest and CSV SHA-256 hashes retain provenance for review, but hashes do not authenticate the origin of recordings. diff --git a/docs/player-lifecycle.md b/docs/player-lifecycle.md new file mode 100644 index 0000000..abbc665 --- /dev/null +++ b/docs/player-lifecycle.md @@ -0,0 +1,29 @@ +# Player lifecycle and pending admission + +The successor keeps one round-owned life record per authenticated account. A connection number is only the current binding to that record. A new life can enter during prison, radio search or radio defence; extraction and terminal phases refuse new admission. Successful initial assignment spends the life. Cancelling an unassigned preload never restores or spends a life. + +Native reconnect reservation and handoff remain separate from new-character admission. A returning account may reclaim its surviving reserved actor through Reforger's reconnect system. A dead actor remains a spent life; unconsciousness is not death. Reserved living actors remain participants while their connections are absent. These policies are implemented, but real remote reconnect and reservation-expiry acceptance remains unfinished. + +## Placement + +Prison placement uses 25 candidates on a 5×5 grid, spaced 1.5m apart and bounded to 3m from the authored prison center. Candidates remain inside the existing enclosure. Terrain height and slope, physical scene/character occupancy, and pending reservations can reject a slot. Connection IDs 1 and 13 receive no special or shared position. Disconnected physical bodies still obstruct the native query. + +If every candidate is occupied or pending, admission waits and retries. Lack of a clear slot does not consume the native spawn-failure budget. Later arrivals first search bounded clear ground near a conscious friendly survivor outside a vehicle, with terrain-height and line-of-sight checks, then try the same prison grid. Placement does not imply a navigable route or safe proximity to enemies. + +A nominal 25-point grid does not prove 12-player physical capacity. Native scene bounds can reduce capacity; the opt-in fixture requires at least 11 additional available positions around one actual controlled prisoner. Manual crowding, movement, collision and spawn usability are still required. + +## Finalization and cleanup + +The server records each initial free-spawn admission in a ticket bound to the mission instance, account, connection, controller, native request, exact request data object and created actor. Immediately before native assignment it rechecks current phase, account binding, connection, spent life, controller and request ownership, absence of another controlled entity, actor health and placement. Horizontal drift is limited to 0.6m and vertical drift to 1m, allowing ordinary settling while refusing displaced or fallen preloads. The reserved location is checked against current terrain and physical occupancy again. + +A refused ticket permits cleanup only of its owned unpossessed actor. An unknown or repeated request cannot claim an arbitrary actor for deletion. Stop, disconnect and closed-admission phases remove reservations, cancel the native repeated finalization callback and remove their pending actors. Pending/retry metadata is cleared before cancellation emits a response, so the response's failure callback cannot schedule a fresh admission. Cleanup rechecks actual player control: `ERR_Actors.DeleteSpawned` refuses any entity currently controlled by a player, regardless of its original ownership. + +The native handler interception applies only to successor game modes or an existing handler whose owning respawn system still carries successor spawn logic during teardown. Other scenarios retain vanilla behavior. Delayed entity-loss observation also checks the captured controller and ignores a living actor that was reacquired before the callback runs. + +## Validation status + +`python3 tools/check.py` includes `tests/test_player_admission_policy.py`. It executes the actual source-local finalization and life-policy bodies plus the actual reservation rejection predicate through the existing C++ policy harness. Coverage includes every phase/life/connectivity/controller/request/identity combination, missing identities, displacement boundaries, radial distance, vertical reservation separation and own-reservation exclusion. The harness substitutes vector arithmetic and opaque identity equality; it does not emulate Enfusion collision, replication, native spawning or reconnect behavior. + +`ERR_NativeLifecycleProbe` is an opt-in WORKBENCH fixture integrated by the central runner as `-errBaseSmoke 1 -errSmokeOutcome lifecycle`. It checks native prison capacity, physical character occupancy, actual local-controller handler rejection, exact request ownership, deferred deletion, cancellation without another life, delayed observer metadata protection and a native displaced actor. Movement checks wait 750ms and deletion checks wait 1000ms rather than assuming immediate native updates. Synthetic ticket creation is confined to WORKBENCH and never changes the real prisoner's life record or possession. + +The native lifecycle fixture in [050403](evidence/native-2026-09-19-050403/report.json) completes 54 assertions, including an ordinary initial prisoner spawn. It finds 20 remaining clear positions around that prisoner. No script/VM exception occurs; seven inherited vanilla resource errors remain. Earlier reserved member-name and reflected-container failures are preserved in the validation archive. Normal Core/companion escape and restart regression remains a separate check. Remote 12-player concurrent join, slow client preload, disconnect during preload, recycled connection IDs, reconnect reservation handoff/expiry and spectator streaming cleanup remain separate multiplayer acceptance work. diff --git a/docs/radio-defence.md b/docs/radio-defence.md new file mode 100644 index 0000000..933a17a --- /dev/null +++ b/docs/radio-defence.md @@ -0,0 +1,33 @@ +# Radio defence objective + +Core's `ERR_RadioDefenceService` owns radio authorization, physical defender selection, continuous transmission time and completion. `ERR_GameMode` wires its events into mission progression; companion addons do not advance the objective. The service runs only on the server. Native tasks remain the replicated presentation of its progress. + +A radio can be tuned once during `RADIO_SEARCH`, only if it is registered with the mission, is a radio site, has been identified, and a conscious prisoner is within five metres. The prisoner must be the current body of a connected, already-spawned round participant and belong to the configured player faction. An AI character, reserved disconnected body, spectator, hostile controlled character or replacement body outside the roster cannot authorize a transmission. + +Once tuned, at least one eligible conscious prisoner must remain strictly inside the 60-metre radius. The service samples native player/character state on the existing one-second server tick. Multiple defenders share one timer: losing one defender does not reset progress while another remains. Losing the last eligible defender resets all accumulated time. Death, unconsciousness, distance, faction, current connection/roster identity and an empty server are checked on each sample. Backward or invalid sample times cannot manufacture completion. + +The existing `/esc mission radio show|set N` command and 30–1800 second bounds are unchanged. Unlike the next-round mission clock settings, this duration remains live: increasing it preserves elapsed continuous occupancy and lengthens the remaining time; lowering it can complete a sufficiently long current transmission at the next server sample. A settings-save failure keeps the old value. + +## Interface and events + +The service exposes `State`, `Location`, `Occupied`, `DefenderCount`, `Since`, `DurationSeconds`, `SecondsRemaining(now)`, `DefenceRadius()` and `TuneRadius()`. GameMode retains its `TuneRadio`, `DefenceOccupied` and `DefenceSecondsRemaining` forwarding methods. These service/progress methods are server-side; clients consume the native replicated task description rather than reading the service. + +- `OnStarted(location)` fires once when a validated radio begins. GameMode changes the phase to `RADIO_DEFENCE`; if that transition fails it stops the service. +- `OnProgressChanged(service)` fires when state, defender count, start timestamp or configured duration changes. Ordinary elapsed ticks do not emit redundant events. Consumers read the snapshot through the service getters. +- `OnCompleted(location)` fires once after the service latches completion. GameMode verifies the completed service and current phase, reveals the extraction site and changes to `EXTRACTION`. + +The completion latch is set before either observer event runs. Nested ticks, repeated ticks or repeated tuning therefore cannot emit another completion. Mission stop and phase changes beyond radio defence cancel an incomplete service; a stopped service cannot restart. Completed state remains latched through cleanup. + +## Validation scope + +`tests/test_radio_defence_policy.py` runs the actual Enforce policy bodies in the existing C++ harness. It covers the phase/discovery/authorization matrix, exact five- and 60-metre boundaries, defender handover, interruption, zero eligible defenders, backward time and exact duration completion. These local checks and the existing repository checks pass; they are not Enforce compilation. + +`ERR_NativeRadioDefenceProbe` is a WORKBENCH-only asynchronous fixture run before normal Core smoke tuning. Construct it with the current mode, real controlled prisoner and identified radio. `Tick(now)` returns `0` while pending, `1` only after all assertions and physical restoration pass, or `-1` on failure. The caller must invoke `Stop()` on cancellation, timeout and mission stop. Stop is idempotent: it detaches the fixture's event listeners, stops its isolated services, restores the saved radio duration and the real player's original transform/consciousness, and deletes its own second character. No fixture-owned recurring callqueue survives cancellation. + +The fixture keeps native world advancement separate from its deterministic service samples. Teleports, consciousness changes, faction changes and death are followed by a minimum 750 ms wait before querying physical state. Recovery additionally polls the actual living/conscious controller state for at most twelve seconds per recovery step, without repeating the state-change command or changing health to force success. Those deadlines do not move when another poll is scheduled. Normal success waits for deferred player restoration to settle and verifies the restored setting, controller state and position. + +One character is the actual local player's body. The second is a newly spawned physical character whose connection membership is simulated by a WORKBENCH-only defender source. Its sampled connection count is also simulated for the empty-server case. Both actors use native faction, controller, damage and position queries. They occupy separate positions to avoid overlapping bodies during knockdown and recovery. Diagnostics record actual radio/player positions and measured distance, controller life state and unconsciousness, plus the current phase, registered radio, roster binding, faction and authorization result. The five-metre tuning limit is checked against observed positions. Physical defence exclusion requests 60.5 metres and verifies at least 60 metres; the exact 60-metre policy boundary remains covered by the policy regression. + +The isolated service tests ordinary AI and unregistered/hostile rejection, multiple defenders sharing one interval, unconscious/dead defender loss, empty-server reset, live duration changes, stop/terminal cancellation and duplicate or re-entrant completion. Its explicit timestamps test exact timer boundaries; they are not evidence of elapsed multiplayer or real-time transmission duration. The production service and the live mission phase are unchanged by the isolated probes. After successful cleanup, normal Core smoke tunes the live radio and performs the existing real delayed transmission, interruption and recovery sequence. + +Recent native runs exposed fixture timing failures after physical mutation and during recovery. Those failures remain archived. The archived [050515](evidence/native-2026-09-19-050515/report.json) run completes the asynchronous radio fixture and ordinary escape twice, with 340 total assertions and no script/VM exceptions. Seven inherited resource errors still prevent a clean runtime pass. Scripted controller changes are not medical-treatment or revive validation. The fixture does not demonstrate two remote clients, real disconnection/reconnect timing, remote task synchronization or long-duration multiplayer behavior. diff --git a/docs/release-qualification.md b/docs/release-qualification.md new file mode 100644 index 0000000..5b5e6ea --- /dev/null +++ b/docs/release-qualification.md @@ -0,0 +1,57 @@ +# Release qualification audit + +Run `python3 tools/release_check.py`. The command is read-only and returns **1** when any release gate is missing, malformed, failed, pending or lacks valid evidence. A passing audit returns **0**. It does not change acceptance status, create a package, publish an addon or prove the contents of a human-written test report. + +The current repository is intentionally refused: all seventeen first-release acceptance cases remain pending and `development_checks.clean_native_runtime` remains failed. Scripted development successes cannot override either condition. The existing vehicle schema errors must remain visible until resolved and a current clean run is recorded. + +## Required ledger entries + +The checker requires every existing first-release case by its stable name, from `independent_native_build` through `own_identity_release_package`. Removing a difficult case cannot qualify a release. Unknown case names are rejected rather than accepted as replacements. Valid statuses are exactly `pending`, `passed` and `failed`; missing statuses and malformed entries are errors throughout both `cases` and `development_checks`. + +Every required first-release case and the `clean_native_runtime` development gate must be `passed` with a nonempty evidence list. Evidence paths must identify nonempty regular files inside this repository using canonical relative POSIX paths. Absolute paths, traversal, symlinks, directories, missing files, duplicate paths and whitespace-only evidence are refused. Duplicate JSON keys and nonstandard JSON numbers are refused too. + +Other development checks may remain pending or failed, including intentionally failed historical fixtures. Historical passed checks still need safe nonempty evidence, but their source manifests are not required to match today's sources. Older failures and older passing evidence should remain archived rather than being rewritten to satisfy the gate. + +## Explicit native qualification + +Both `cases.independent_native_build` and `development_checks.clean_native_runtime` require two additional explicit fields when passed: + +```json +{ + "status": "pending", + "evidence": [ + "docs/evidence/QUALIFYING-RUN/report.json", + "docs/evidence/QUALIFYING-RUN/source-sha256.json" + ], + "native_report": "docs/evidence/QUALIFYING-RUN/report.json", + "source_manifest": "docs/evidence/QUALIFYING-RUN/source-sha256.json" +} +``` + +This is an illustrative shape, not an acceptance update; the placeholder files do not exist. Only record passed status after the corresponding acceptance work has actually passed. + +The report and manifest must belong to the same evidence archive. Future native qualification also requires the fixed `source-provenance.json`, `launch-source-sha256.json`, `launch-source.json`, `runner.json.txt` and `console.log.txt` files beside them. The explicit paths must also appear in that entry's evidence list. The report must name a nonempty raw native log in the same archive. The checker independently analyzes that log with the shared native report parser and rejects missing metrics, type changes, fabricated counters or error lists that disagree with the raw log. Qualification requires every round requested by the successfully completed runner and at least one passing assertion, with no captured script/runtime, engine-severity `(E)` or missing end-screen errors. These are local native prerequisites; the separate multiplayer, gameplay, workload and packaging cases remain mandatory. + +The source manifest must match the complete current authored addon file set and each SHA-256 hash. Changed files, added files, missing files and extra stale manifest entries all invalidate qualification. The shared `tools/source_manifest.py` helper is also used by `tools/archive_native.py`, so archival and qualification use the same inventory. Unknown resource file formats are included automatically. Generated addon-root resource databases, `.pak`/`.log` files, and `.build`, `.local`, `__pycache__`, `profiles` directories are excluded; these locations are build/runtime state and must not contain authored source resources. Source symlinks are refused. + +## Launch and stopped-run provenance + +The hidden runner captures the complete addon manifest **before starting the engine process**. When its new native session directory appears, it writes the already captured bytes as `launch-source-sha256.json` plus `launch-source.json` metadata. The metadata records a unique launch ID, source root, command, capture timestamp and SHA-256 of the exact manifest bytes. It never reconstructs launch source state from files encountered later. + +After terminating its owned processes, the runner hashes the final addon tree and exact raw `console.log` bytes. Its `runner.json` binds the launch ID/manifest hash, process start and stop timestamps, final source digest, raw log digest and completion result. A changed final source tree makes the runner fail as `source-changed`; captured engine failures remain preserved separately. + +Archive only a stopped run. `archive_native.py` validates launch metadata against runner metadata, rejects source changes between launch and stop or between launch and archival, verifies the stopped raw log digest, and copies the original launch manifest bytes into `source-sha256.json`. It also retains the launch files and writes `source-provenance.json` with `kind: "launch_snapshot"`. Qualification verifies all those relationships again, requires the report to analyze that exact sealed `console.log.txt`, and rejects a recomputed clean report attached to a different raw log. + +For a session created by an older runner without launch metadata, an explicit historical import is available: + +```sh +python3 tools/archive_native.py /path/to/stopped-old-session historical-name --allow-legacy-archive-time-source +``` + +That import writes `kind: "archive_time_only"` and `qualification: "historical_only"`; its manifest describes the files at archive time, without asserting they were loaded by the old session. Such evidence cannot satisfy future native qualification, even if its current-source hashes and smoke counters happen to match. Missing/partial/corrupt launch evidence cannot be downgraded to legacy by this flag. Already existing historical archives and their native reports remain unchanged and readable; historical development entries still do not require current launch provenance. + +These checks prevent accidental stale-source and old-log mixing. They are not cryptographic authentication or continuous filesystem surveillance: edits made and reverted entirely between the start/stop snapshots cannot be detected, and a person can still alter all evidence consistently. Do not edit tested sources while the process runs; preserve collection records and review semantic acceptance. The checker makes no release-readiness claim merely from an existing screenshot, report filename or old source manifest. + +## Regression checks + +`python3 tests/test_release_check.py` exercises forty-six focused cases in temporary directories, including a fully qualifying synthetic ledger, omitted requirements, a failed clean-runtime gate despite all cases being passed, malformed structures/statuses, empty files, unsafe paths and symlinks, changed/added/deleted addon files, stale manifests, falsified report metrics, retained native errors, truncated logs, historical evidence, launch/stop/raw-log binding, source mutation, explicit legacy import and read-only behavior. Synthetic test fixtures are never copied into the real acceptance ledger. diff --git a/docs/runtime-testing.md b/docs/runtime-testing.md index 56c3d09..c9f2273 100644 --- a/docs/runtime-testing.md +++ b/docs/runtime-testing.md @@ -79,3 +79,23 @@ Use `--project core --smoke extraction-capacity --rounds 1` for twelve physical Use `--project core --smoke early-helicopter-loss --rounds 2` for helicopter loss during prison while a living player remains, then automatic restart. `extraction-startup-failure` substitutes an unsuitable vanilla transport in memory; `extraction-boundary-failure` uses a zero boundary radius with the real helicopter. Both startup cases require `--rounds 1`, withhold players, and verify authored population/stock/scenery rollback. Their deliberate startup errors remain in the report. The ordinary Core victory fixture also validates the mission clock. To test nondefault startup values, first stop the private runner, snapshot all three private-profile settings files (`profile/rereintroduced.json`, `.bak`, `.tmp`) byte-for-byte, then seed a valid primary settings file with `startTimeMinutes: 375` and `timeMultiplier: 4`. Complete two rounds, archive the input and results, and restore all three files exactly after the runner stops. Never modify a live or user profile. The default run separately checks that saving different next-round values does not alter the running clock. Remote clock agreement and long day/night transitions remain acceptance work. + +## Radio service, task details and finite ground transport + +The normal Core victory/cache-loss flow includes an isolated radio-service probe before actual tuning. It creates one additional physical character but simulates its connection membership and advances explicit service timestamps to exercise handover, unconsciousness/death, hostile affiliation, empty-server reset, live duration changes and duplicate completion. It restores the live character/configuration before the ordinary real-tick defence sequence. This is not two connected clients. + +The Core fixture also opens hidden native task list/detail widgets and checks their text through prison, discovery, transmission/interruption and extraction. An existing details panel must refresh as the underlying task description changes. Local widget text is not remote replication or manual UI usability acceptance. + +Use `--project core --smoke transport-loss --rounds 1` for physical UAZ driver/passenger occupancy, engine start, fuel depletion and permanent loss. The fixture then stops the site service and explicitly requests its own test reset. `--smoke transport-survey --rounds 1` temporarily omits vehicles only in its in-memory fixture definition, then surveys nearby terrain/geometry without removing scenery; it is authoring diagnostics, not a playable mission configuration. + +Add `--station-teardown-diagnostics` to the hidden runner for bounded Workbench-only logging of support-station deletion validation. It forwards `-errStationTeardownDiag 1`, preserves all vanilla validation/errors, and neither repairs nor suppresses the catalog issue. [Native error investigation](native-errors.md) records the established resource mismatch and unconfirmed teardown hypothesis. + +The offline [performance comparison tool](performance-comparison.md) checks paired captures and equivalent workloads before computing frame-time/FPS differences. It has only synthetic regression coverage so far; no real benchmark results have been collected. [Release qualification](release-qualification.md) now checks current native source hashes and raw logs as well as the acceptance ledger. Both tools leave current release/performance acceptance pending. + +## Pending player admission + +Use `--project core --smoke lifecycle --rounds 1` for the bounded physical slot, delayed finalization and cleanup probe. The fixture uses the real local controller plus explicitly owned synthetic pending actors; it does not create remote connections or grant/reset lives. See [player lifecycle](player-lifecycle.md). + +## Objective panel destruction + +Use `--project core --smoke objective-ui --rounds 1` for the short native close/rebind/reopen and isolated task-deletion check. It restores the actual mission task assignment and requests its own terminal test reset. See [objective widget lifecycle](objective-widget-lifecycle.md). Every new headless session captures pre-launch addon hashes and a stopped log seal; archive it before changing addon sources. diff --git a/docs/validation.md b/docs/validation.md index ab01e17..1cbf8fb 100644 --- a/docs/validation.md +++ b/docs/validation.md @@ -4,7 +4,7 @@ ## Repository checks -`python3 tools/check.py` passes: five-addon isolation, acyclic dependencies, twenty source resource identities, exact successor/vanilla GUID references, production mission-rule boundaries, physical radio paths and failure handling, settings conversion, helicopter availability policy and mortar salvo policy. The latter two are helper tests, not operational support-controller evidence. +`python3 tools/check.py` passes: five-addon isolation, acyclic dependencies, twenty-two source resource identities, exact successor/vanilla GUID references, production mission-rule boundaries, physical radio paths and failure handling, settings conversion, helicopter availability policy and mortar salvo policy. The latter two are helper tests, not operational support-controller evidence. The reference guard verified all 533 original workspace source/resource files against the pre-test snapshot. Existing missions were not edited or saved. Native tests use a separate profile and only the successor projects plus vanilla dependencies. Earlier successful visible runs were measured on the right display. A later launch restored an oversized main Workbench window despite placement rules; those tests were stopped. Automated tests now run on an isolated headless display and create no physical-desktop windows. @@ -22,8 +22,8 @@ The original prison prototype had an unsuitable slope and a gate-opening mismatc The run is not a clean runtime pass. The report preserves errors rather than suppressing them: -- During restart, vanilla US and USSR medical-kit catalog objects at world origin are destroyed without an initialized entity-catalog reference. Their inherited `SCR_BaseItemSupportStationComponent.OnDelete` path logs two catalog-manager errors. The diagnostic identifies the objects; it does not alter vanilla cleanup behavior. -- Vanilla vehicle resources emit unsupported fields: Mi8 `SlidingTrackMaterial`, and catalog-loaded BRDM2/BTR70 `Parent` entries. Validate the installed game/Tools resource compatibility before release. +- Some restarts emit two catalog-manager errors associated with vanilla US and USSR medical-kit catalog objects. Read-only source inspection identified an inherited `SCR_BaseItemSupportStationComponent.OnDelete` validation path; the opt-in diagnostic now records the actual owner and manager state. The missing-manager teardown cause remains an inference until reproduced with that diagnostic. +- Vanilla vehicle resources emit unsupported fields: M151A2 `SlidingTrackMaterial`, and catalog-loaded BRDM2/BTR70 `Parent` entries. Validate the installed game/Tools resource compatibility before release. - Vanilla UI slot/button warnings occur during end-screen setup, and inherited Everon initialization reports a radio-manager ordering warning. The successor creates its radio manager, but these warnings still need evaluation. The shared-map destruction exception and unsupported runtime destructible-wall errors from earlier prototypes no longer occur in the archived repeated-round run. @@ -44,7 +44,7 @@ Four catalog-manager errors were recorded across the two restarts, alongside the ## Player death, identity roster and spectator restart -[native-2026-09-19-011025](evidence/native-2026-09-19-011025/report.json) contains two completed death rounds with 20 passing assertions and no script/runtime exceptions. The fixture exercises native character death, transition into the local spectator camera, the all-dead grace interval, defeat and automatic restart. An isolated roster with a real living actor checks spent-life retention, disconnected survivor retention, duplicate identity rejection and reused connection IDs. It does not simulate an actual remote disconnect/reconnect. Seven inherited helicopter schema errors still fail the overall native report. +[native-2026-09-19-011025](evidence/native-2026-09-19-011025/report.json) contains two completed death rounds with 20 passing assertions and no script/runtime exceptions. The fixture exercises native character death, transition into the local spectator camera, the all-dead grace interval, defeat and automatic restart. An isolated roster with a real living actor checks spent-life retention, disconnected survivor retention, duplicate identity rejection and reused connection IDs. It does not simulate an actual remote disconnect/reconnect. Seven inherited vehicle schema errors still fail the overall native report. This test ran on headless Gamescope at 1280×720/30Hz using a cloned disposable Proton prefix. The physical desktop contained only the user's pre-existing editor. `tools/headless_workbench.py` provides a bounded version of this runner, stopping on failure, timeout or the requested number of completions and preserving engine errors in its exit status. @@ -119,7 +119,7 @@ The first expanded-route native compile failed on Enforce's unsupported compound [034556](evidence/native-2026-09-19-034556/report.json) completed the expanded guard-radio regression and death/defeat sequence with 37 passing assertions and no script/VM exceptions. All six physical six-person squads had manpacks; the selected production uplink/downlink delivered and deleting the receiver's actual radio interrupted an in-flight HQ order. The fixture also checked native death, local spectator activation and all-dead defeat. This does not prove every multi-hop route. Seven inherited vehicle schema errors remain. -The final three archives (033719, 034344 and 034556) match all 99 current addon source/resource files. All test processes were stopped. Source/resource checks pass for five isolated addons and 22 unique resources; the 533-file original-workspace reference guard remains unchanged. Manual gameplay, medical treatment, multiplayer, performance and clean-runtime release gates remain open. +The three archives (033719, 034344 and 034556) match the 99 addon source/resource files at that historical checkpoint. All test processes were stopped. Source/resource checks pass for five isolated addons and 22 unique resources; the 533-file original-workspace reference guard remains unchanged. Manual gameplay, medical treatment, multiplayer, performance and clean-runtime release gates remain open. ## Independent extraction and mission clock @@ -138,3 +138,49 @@ These hidden, muted local tests establish the exercised service and native-objec [042046](evidence/native-2026-09-19-042046/report.json) completed one companion-loaded escape with 48 assertions and no script/VM exceptions. Core, HQ, Intel, Chat and Map compile together; existing command aliases, physical documents, interrupted defence, extraction and the personal winner title still work. Seven inherited vehicle schema errors remain. Archives 040928, 041233, 041445 and 042046 match all 105 addon source/resource files at this checkpoint. Tests ran on the private hidden display with muted test audio and were stopped afterward. The original workspace's 533 tracked reference source/resource files remain unchanged. Repository policy/resource checks pass; clean-runtime, manual-play, multiplayer and performance release requirements remain open. + +## Base radio separation, native objective details and ground transport + +[042945](evidence/native-2026-09-19-042945-ui-refresh-failure/report.json) retained a real presentation failure: the native task description changed after radio discovery, while its already-open details widget remained stale. The list/details initialized correctly and showed no hidden task position. The successor now subscribes only its own open objective details to native display-data changes, with removal on task switch/detach. The later 044330 and 044608 runs pass the already-open detail update after discovery; their separate new radio fixture fails before completing the round, so whole-loop validation remains separate. + +[043410](evidence/native-2026-09-19-043410-parking-failure/report.json) rejected the first ground-transport parking position at 5960/7232 due to a native geometry obstruction. Preparation rolled back; the error was not suppressed. [043631](evidence/native-2026-09-19-043631-parking-survey/report.json) then surveyed 120 nearby positions with the transport temporarily omitted only in its fixture definition, finding 43 clear candidates without removing scenery. The selected southern position, 5960/7212, has a 0.625 m sampled terrain range over its six-metre square. This is placement evidence, not driving or navigation acceptance. + +[043806](evidence/native-2026-09-19-043806-transport-readiness-failure/report.json) retained a subsequent readiness failure after the parking point itself passed. The bounded diagnostic in [044028](evidence/native-2026-09-19-044028-transport-bounds-failure/report.json) showed native vehicle bounds extending 3.25 m from the surveyed center, exceeding the original 2.5 m allowance; actual origin displacement was only about 0.06 m. The configuration now requires an eight-metre cleared square and retains a 0.5 m margin around full native bounds. + +[044205](evidence/native-2026-09-19-044205/report.json) passes 23 native transport checks with no script/VM exceptions. Parking, five native driver/passenger positions, actual two-character occupancy, ordinary engine startup and finite fuel work. Native fuel starts at 58.5 L with 78 L capacity. Depleting fuel and deleting transport do not refill or recreate it, including repeated preparation/initialization queries. The fixture stops its site service and explicitly requests test reset. Seven inherited vehicle schema errors remain; this is not manual driving, road access or multiplayer acceptance. + +[044330](evidence/native-2026-09-19-044330-radio-fixture-failure/report.json) and [044608](evidence/native-2026-09-19-044608-radio-position-fixture-failure/report.json) preserve failures in a new radio-service fixture that immediately checked distance after moving its character. Switching to the native character teleport API alone did not resolve the check; the fixture is being made asynchronous so it observes applied native state before asserting it. These runs do not count as completed Core regressions. + +[044924](evidence/native-2026-09-19-044924/report.json) independently completes the established companion-loaded escape with 48 passing assertions and no script/VM exceptions. The production radio service accepts the identified nearby player, resets on departure, completes real-time continuous occupancy and advances to physical helicopter extraction. Existing command aliases, document recovery and personal results still work. Seven inherited vehicle schema errors remain. + +The offline performance comparator passes fifteen synthetic regressions and does not produce real benchmark evidence. Release qualification passes 46 validation regressions and correctly refuses the current ledger: all first-release cases remain pending and clean native runtime remains failed. Neither tool changes acceptance or publishes a package. + +[045450](evidence/native-2026-09-19-045450-radio-recovery-fixture-failure/report.json) confirms that deferred native movement resolves the distance assertions: the measured out-of-range position is 6.005 m from the radio and unconscious tuning is rejected. The next assertion fails during recovery. The test is being corrected to separate its overlapping characters and await native consciousness; no production authorization rule was weakened. + +[050158](evidence/native-2026-09-19-050158-lifecycle-compile-failure/report.json) preserves a compiler rejection of two ticket member names that collide with native type names. The members were renamed before further testing. + +[050240](evidence/native-2026-09-19-050240-lifecycle-reflection-failure/report.json) preserves the next integration failure: the WORKBENCH-only spawn-logic override needed to repeat its native container metadata. The corrected reflected class loads and starts an ordinary prisoner in [050403](evidence/native-2026-09-19-050403/report.json), which completes 54 lifecycle assertions without script/VM exceptions. Native geometry leaves 20 clear prison positions around the real prisoner; reserved slots remain distinct and inside the enclosure. A physical unowned body blocks its slot. Native finalization rejects spent-life and wrong-data requests, deletes only the owned unpossessed actor, preserves the actual prisoner, and rejects vertical displacement. The fixture explicitly ends its test; real remote preload, disconnect/reconnect and 12-client acceptance remain pending. Seven inherited vehicle schema errors remain. + +[050515](evidence/native-2026-09-19-050515/report.json) completes two Core escape/restart rounds with 340 assertions, no script/VM exceptions and seven inherited vehicle schema errors. The independent radio edge fixture now waits for real native recovery and passes physical defender handover, empty samples, hostile/unknown/dead actors, interrupted occupancy, live duration changes, cancellation and one-time completion. The ordinary real-time escape then succeeds twice through the new player-admission gate. Native task details update after discovery, advancing progress and interruption. Separate objective-close cleanup review follows; remote UI remains unverified. + +The opt-in station diagnostic identifies US/USSR medical-kit prefabs during `OnDelete/InitValidSetup` at restart. Both cached and global catalog references remain available in this run despite no current game mode, so the intermittent missing-manager error is not reproduced or declared fixed. + +Future native runs now snapshot addon files before process launch, compare sources after shutdown and seal the raw console log. Archival and release checks reject source/log mismatches. Older archives retain their original historical evidence; they cannot satisfy the new launch-provenance release requirement. + +[051249](evidence/native-2026-09-19-051249-companion-fixture-name-failure/report.json) preserves a companion compile failure from two WORKBENCH test helpers sharing a member name on the same extended game mode. The Core helper was renamed to avoid the pre-existing Chat radio-network probe. This is the first archive with mechanically verified pre-launch source, stopped source and raw-log hashes; the failed result remains failed. + +[051452](evidence/native-2026-09-19-051452/report.json) completes two Core escape/restart rounds with 374 assertions, no script/VM errors and seven inherited resource errors. Native objective close/rebind/reopen checks pass, including no retained task events or delayed overflow calls to the closed panel. The runner verifies identical pre-launch and stopped addon sources and seals the raw log. A subsequent ownership-flag change covers task deletion before panel closure and is checked separately by the short `objective-ui` fixture. + +[052140](evidence/native-2026-09-19-052140-deleted-task-callback-failure/report.json) preserves a remaining teardown failure: deleting an isolated native task clears its weak references and the panel detaches, but a delayed callback still reaches the retained test handler. The assertion remains failed while callback identity and queue state are investigated. + +[052352](evidence/native-2026-09-19-052352/report.json) completes the full companion escape with 48 assertions, no script/VM errors and verified launch/stopped-source/log hashes. The helper-name collision is fixed. Core admission, radio, physical intel, preserved admin aliases and extraction work with all companions. Seven inherited resource errors remain; the isolated task-deletion UI failure is separate and still open at this snapshot. + +[052621](evidence/native-2026-09-19-052621-deleted-task-callback-diagnostic/report.json) identifies the surviving callback as `UpdateAssignees`, invoked immediately when the real objective assignment is restored. Installed vanilla source declares all five task-event getters static; guarding their removal by a live task left the closed panel subscribed after task deletion. Cleanup now removes the static invoker subscriptions using retained successor-binding ownership. The unchanged delayed callback assertion is rerun rather than weakened. + +[052811](evidence/native-2026-09-19-052811/report.json) reaches all 30 UI assertions and completion after the static-event fix, but remains a failed runtime result: the added name-based queue diagnostic tries to inspect protected `CheckOverflow` and emits three VM exceptions. The normal function-based cancellation does not emit them. The invalid diagnostic is removed before final UI validation; its exceptions are retained in this archive and the preceding diagnostic run. + +[052932](evidence/native-2026-09-19-052932/report.json) completes the companion-loaded death/spectator/defeat fixture with 32 assertions, no script/VM exceptions and verified source/log provenance. Native damage kills the actual prisoner, activates the spectator camera and retains the spent life through the revised delayed observer callback. Seven inherited resource errors remain; remote reconnect and spectator streaming are still unverified. + +[053124](evidence/native-2026-09-19-053124/report.json) completes all 30 isolated UI assertions with no script/VM exceptions after removing the temporary name-based diagnostic. Real close/rebind/reopen, native weak-reference clearing after isolated task deletion, global event unsubscribe, delayed callback cancellation and restoration of the actual objective assignment all pass. Seven inherited resource errors remain. Its pre-launch/stopped source manifests match all 116 final addon files, and the stopped raw-log hash verifies. + +At this checkpoint, repository policy/resource checks, 15 synthetic performance-tool regressions and 46 release/provenance regressions pass. The actual release checker still refuses all 17 pending first-release cases plus failed clean native runtime. All private test runners are stopped. Manual equipment/medical/casualty gameplay, real multiplayer/preload/reconnect testing, operational support/logistics, equivalent-workload FPS measurements and release packaging remain unfinished. Historical archives describe their own source snapshots; they are not relabelled as final-source tests. diff --git a/docs/vanilla-resources.json b/docs/vanilla-resources.json index 35338b7..8c6496c 100644 --- a/docs/vanilla-resources.json +++ b/docs/vanilla-resources.json @@ -60,5 +60,7 @@ "Prefabs/Items/Equipment/Binoculars/Binoculars_B8/Binoculars_B8.et": "243948B23D90BECB", "Prefabs/Items/Medicine/MorphineInjection_01/MorphineInjection_01.et": "0D9A5DCF89AE7AA9", "Prefabs/Items/Medicine/SalineBag_01/SalineBag_USSR_01.et": "527D7C5D2E476BDC", - "Prefabs/Vehicles/Wheeled/UAZ469/UAZ469.et": "259EE7B78C51B624" + "Prefabs/Vehicles/Wheeled/UAZ469/UAZ469.et": "259EE7B78C51B624", + "UI/layouts/Task/TaskListEntry.layout": "B71975032150BAFB", + "UI/layouts/Task/TaskListEntryDescription.layout": "552EB1921B5C548C" } diff --git a/tests/test_performance_comparison.py b/tests/test_performance_comparison.py new file mode 100644 index 0000000..9f2401f --- /dev/null +++ b/tests/test_performance_comparison.py @@ -0,0 +1,171 @@ +#!/usr/bin/env python3 +"""Synthetic comparator regression only; no measured performance evidence.""" +import copy +import csv +import importlib.util +import json +from pathlib import Path +import tempfile +import unittest + +ROOT = Path(__file__).resolve().parents[1] +spec = importlib.util.spec_from_file_location('compare_performance', ROOT / 'tools/compare_performance.py') +comparison = importlib.util.module_from_spec(spec) +spec.loader.exec_module(comparison) + + +class PerformanceComparisonTests(unittest.TestCase): + def setUp(self): + self.directory = tempfile.TemporaryDirectory(prefix='erri-synthetic-performance-') + self.addCleanup(self.directory.cleanup) + self.root = Path(self.directory.name) + template = { + 'variant': 'baseline', 'repeat_id': 'r1', 'artifact_id': 'synthetic-baseline', 'addon_ids': ['synthetic-base'], + 'engine_version': 'synthetic-engine', + 'hardware': {'cpu': 'synthetic-cpu', 'gpu': 'synthetic-gpu', 'ram_gib': 32, 'os': 'synthetic-os', 'driver': 'synthetic-driver'}, + 'workload': {'map': 'synthetic-map', 'route': 'synthetic-route', 'players': 12, 'ai': 36, 'vehicles': 4, 'entities': 100, + 'settings': {'resolution': [1920, 1080], 'fps_limit': 0, 'vsync': False}, 'warmup_seconds': 30, 'duration_seconds': 60}, + 'capture': {'kind': 'client_frame', 'environment': 'client', 'tool': 'synthetic-generator', 'version': '1'}, + 'sample_file': 'unused.csv', + } + self.data = {'schema_version': 1, 'sample_origin': 'synthetic', 'runs': []} + for repeat in range(1, 4): + for variant, frame in [('baseline', 20), ('successor', 10)]: + run = copy.deepcopy(template) + run.update(variant=variant, repeat_id=f'r{repeat}', artifact_id=f'synthetic-{variant}', sample_file=f'{variant}-{repeat}.csv') + run['addon_ids'] = [f'synthetic-{variant}'] + self.data['runs'].append(run) + with (self.root / run['sample_file']).open('w', newline='') as stream: + writer = csv.writer(stream) + writer.writerow(comparison.COLUMNS) + for index in range(1, 90000 // frame + 1): + writer.writerow([index, index * frame, frame, 12, 36, 4, 100, 2]) + + def execute(self): + manifest = self.root / 'synthetic.json' + manifest.write_text(json.dumps(self.data)) + return comparison.compare(manifest) + + def change_csv(self, transform): + path = self.root / self.data['runs'][0]['sample_file'] + rows = path.read_text().splitlines() + path.write_text('\n'.join(transform(rows)) + '\n') + + def replace_frames(self, frames): + path = self.root / self.data['runs'][0]['sample_file'] + with path.open('w', newline='') as stream: + writer = csv.writer(stream) + writer.writerow(comparison.COLUMNS) + elapsed = 0 + for index, frame in enumerate(frames, 1): + elapsed += frame + writer.writerow([index, elapsed, frame, 12, 36, 4, 100, 2]) + + def test_paired_arithmetic_is_explicitly_synthetic_and_not_acceptance(self): + report = self.execute() + self.assertEqual(report['sample_origin'], 'synthetic') + self.assertEqual(report['acceptance'], 'not_evaluated') + self.assertEqual(report['aggregate']['baseline']['median_fps'], 50) + self.assertEqual(report['aggregate']['successor']['p99_frame_ms'], 10) + self.assertEqual(report['median_paired_deltas']['median_frame_reduction_percent'], 50) + self.assertEqual(report['runs'][0]['samples_measured'], 3000) + self.assertEqual(len(report['manifest_sha256']), 64) + + def test_percentiles_and_warmup_exclusion(self): + self.assertEqual(comparison.percentile(list(range(1, 101)), .99), 99) + self.change_csv(lambda rows: [rows[0]] + [row.rsplit(',', 1)[0] + ',999' if i < 1500 else row for i, row in enumerate(rows[1:])]) + self.assertEqual(self.execute()['aggregate']['baseline']['median_ai_simulation_ms'], 2) + + def test_rejects_mismatched_conditions(self): + original = copy.deepcopy(self.data) + mutations = [('hardware', 'cpu', 'other'), ('workload', 'ai', 35), ('workload', 'route', 'other'), + ('workload', 'settings', {'fps_limit': 30}), ('workload', 'warmup_seconds', 31), ('capture', 'environment', 'workbench_headless')] + for group, key, value in mutations: + with self.subTest(group=group, key=key): + self.data = copy.deepcopy(original) + self.data['runs'][1][group][key] = value + with self.assertRaisesRegex(ValueError, 'mismatched'): + self.execute() + + def test_rejects_missing_pair_and_duplicate_repeat(self): + self.data['runs'][-1]['repeat_id'] = 'unpaired' + with self.assertRaisesRegex(ValueError, 'Every repeat'): + self.execute() + self.data['runs'][-1]['repeat_id'] = 'r1' + with self.assertRaisesRegex(ValueError, 'Duplicate repeat'): + self.execute() + + def test_rejects_reused_samples(self): + self.data['runs'][1]['sample_file'] = self.data['runs'][0]['sample_file'] + with self.assertRaisesRegex(ValueError, 'reused'): + self.execute() + + def test_rejects_incomplete_capture(self): + self.change_csv(lambda rows: rows[:-1]) + with self.assertRaisesRegex(ValueError, 'incomplete recording'): + self.execute() + + def test_rejects_final_stall_hiding_most_of_measurement(self): + # Before the coverage check this 1.2-second sample was accepted as a + # 60-second measurement with 100 FPS, dropping its 60-second stall. + self.replace_frames([20] * 1500 + [10] * 120 + [60000]) + with self.assertRaisesRegex(ValueError, 'only 2.000%.*boundary stalls'): + self.execute() + + def test_rejects_warmup_crossing_stall_hiding_measurement(self): + # The long frame starts in warm-up and consumes 58.8 measured seconds. + self.replace_frames([20] * 1499 + [58820] + [10] * 120) + with self.assertRaisesRegex(ValueError, 'only 2.000%.*boundary stalls'): + self.execute() + + def test_short_boundary_crossings_are_visible_with_high_coverage(self): + self.replace_frames([17] * 5295) + run = self.execute()['runs'][0] + self.assertGreaterEqual(run['measurement_coverage_fraction'], .99) + self.assertLess(run['measurement_coverage_fraction'], 1) + self.assertEqual(len(run['boundary_frames_excluded']), 2) + overlap = sum(frame['measurement_overlap_ms'] for frame in run['boundary_frames_excluded']) + self.assertAlmostEqual(run['measured_frame_seconds'] * 1000 + overlap, 60000) + + def test_rejects_coverage_just_below_threshold(self): + self.replace_frames([20] * 1500 + [10] * 5939 + [620]) + with self.assertRaisesRegex(ValueError, 'only 98.983%'): + self.execute() + + def test_rejects_missing_or_duplicate_frames(self): + self.change_csv(lambda rows: rows[:100] + rows[101:]) + with self.assertRaisesRegex(ValueError, 'frame index'): + self.execute() + + def test_rejects_population_drift(self): + self.change_csv(lambda rows: rows[:1] + [rows[1].replace(',12,36,', ',12,35,')] + rows[2:]) + with self.assertRaisesRegex(ValueError, 'ai workload changed'): + self.execute() + + def test_rejects_nonfinite_sample(self): + self.change_csv(lambda rows: rows[:1] + [rows[1].rsplit(',', 1)[0] + ',nan'] + rows[2:]) + with self.assertRaisesRegex(ValueError, 'invalid frame/time/load'): + self.execute() + + def test_rejects_extra_columns_and_timing_gaps(self): + original = (self.root / self.data['runs'][0]['sample_file']).read_text() + self.change_csv(lambda rows: [rows[0], rows[1] + ',extra'] + rows[2:]) + with self.assertRaisesRegex(ValueError, 'columns'): + self.execute() + (self.root / self.data['runs'][0]['sample_file']).write_text(original) + self.change_csv(lambda rows: [rows[0], rows[1].replace('1,20,20,', '1,30,20,')] + rows[2:]) + with self.assertRaisesRegex(ValueError, 'elapsed delta'): + self.execute() + + def test_rejects_incomplete_metadata_and_infinite_json(self): + del self.data['runs'][0]['capture']['version'] + with self.assertRaisesRegex(ValueError, 'expected fields'): + self.execute() + self.data['runs'][0]['capture']['version'] = '1' + self.data['runs'][0]['workload']['settings']['bad'] = float('inf') + with self.assertRaisesRegex(ValueError, 'Non-finite'): + self.execute() + + +if __name__ == '__main__': + unittest.main() diff --git a/tests/test_player_admission_policy.py b/tests/test_player_admission_policy.py new file mode 100644 index 0000000..56b718c --- /dev/null +++ b/tests/test_player_admission_policy.py @@ -0,0 +1,75 @@ +"""Execute source-local admission bodies and the reservation rejection predicate. + +Only vector arithmetic and opaque UUID equality/nullness are substituted. This is +not a character collision, controller, callback, reconnect or native engine test. +""" +import re +from policy_harness import ROOT, body, run +base = ROOT / 'addons/core/Scripts/Game/ERR' +rules = body(base/'ERR_PlayerRoster.c', 'static bool CanEnter(') +rules += '\n' + body(base/'ERR_SpawnFinalization.c', 'static bool Allows(') +rules += '\n' + body(base/'ERR_SpawnFinalization.c', 'static bool PositionClose(') +rules = rules.replace('ERR_Phase.', 'ERR_Phase::').replace('ERR_PlayerLifeRules.', '') +rules = rules.replace('vector.', 'vector::').replace('Math.', 'Math::') +# Extract the actual condition, rather than maintaining a second implementation. +# Native geometry/terrain branches of Clear are deliberately not emulated. +clear = body(base/'ERR_SpawnPlacement.c', 'bool Clear(') +match = re.search(r'if \((id != ownReservation[^\n]+)\) return false;', clear) +assert match, 'Reservation policy moved: update the source-local extraction' +predicate = match[1].replace('vector.', 'vector::').replace('Math.', 'Math::') +rules += '\nstatic bool ReservationAllows(int id, int ownReservation, vector position, vector reserved) { return !(' + predicate + '); }\n' +run('''#include +#include +#include +namespace ERR_Phase {enum {PREPARING,PRISON,RADIO_SEARCH,RADIO_DEFENCE,EXTRACTION,VICTORY,DEFEAT};} +struct UUID { + int identity; + bool IsNull() const { return identity==0; } + bool operator==(UUID other) const { return identity==other.identity; } +}; +struct vector { + float x,y,z; + float operator[](int axis) const { return axis==0?x:(axis==1?y:z); } + static float DistanceXZ(vector a, vector b) {return std::hypot(a.x-b.x,a.z-b.z);} +}; +namespace Math {static float AbsFloat(float value) {return std::abs(value);}} +''' + rules + ''' +int main() { + // Complete independent authorization matrix, including invalid phases and null IDs. + for (int phase=-1;phase<=7;++phase) + for (int flags=0;flags<32;++flags) + for (int oldId=0;oldId<=2;++oldId) + for (int currentId=0;currentId<=2;++currentId) { + bool connected=flags&1,usedLife=flags&2,sameController=flags&4; + bool sameRequest=flags&8,noControlledEntity=flags&16; + bool expected=phase>=1&&phase<=3&&connected&&!usedLife&&oldId>0&&oldId==currentId&&sameController&&sameRequest&&noControlledEntity; + assert(Allows(phase,connected,usedLife,UUID{oldId},UUID{currentId},sameController,sameRequest,noControlledEntity)==expected); + } + const vector origin={0,0,0}; + // Inclusive vertical tolerance and just-inside/outside horizontal boundary. + for (float y : {-1.001f,-1.f,-0.2f,0.f,0.2f,1.f,1.001f}) { + assert(PositionClose(vector{0,y,0},origin)==(std::abs(y)<=1)); + assert(PositionClose(vector{.599f,y,0},origin)==(std::abs(y)<=1)); + assert(!PositionClose(vector{.601f,y,0},origin)); + } + assert(PositionClose(vector{.3f,.2f,.3f},origin)); + assert(!PositionClose(vector{.5f,0,.5f},origin)); // radial, not independent axis allowance + assert(!PositionClose(vector{0,-20,0},origin)); // fallen below unchanged XZ + assert(!PositionClose(vector{0,20,0},origin)); // displaced above unchanged XZ + // Connection IDs1 and13 must conflict identically; only the caller's own slot is exempt. + for (int id : {1,13,99}) + for (int owner : {-1,1,13,99}) + for (float x : {-1.201f,-1.199f,0.f,1.199f,1.201f}) + for (float y : {-2.001f,-2.f,-1.999f,0.f,1.999f,2.f,2.001f}) { + bool expected=id==owner || std::abs(x)>=1.2 || std::abs(y)>=2; + assert(ReservationAllows(id,owner,origin,vector{x,y,0})==expected); + } + assert(!ReservationAllows(1,13,origin,vector{.8f,0,.8f})); + assert(ReservationAllows(1,13,origin,vector{.9f,0,.9f})); + assert(ReservationAllows(1,13,origin,vector{1.5f,0,0})); // authored grid spacing + // Own reservation is excluded while finalization still checks native geometry separately. + assert(ReservationAllows(13,13,origin,origin)); + assert(!ReservationAllows(13,1,origin,origin)); +} +''') +print('PASS: player admission phase/life/identity/controller matrix, preload displacement limits, pending reservation overlap and owner exclusion') diff --git a/tests/test_radio_defence_policy.py b/tests/test_radio_defence_policy.py new file mode 100644 index 0000000..2e72d10 --- /dev/null +++ b/tests/test_radio_defence_policy.py @@ -0,0 +1,44 @@ +"""Exercise actual radio tuning, defender and continuity policy bodies. +Native fixture covers service events and physical character state separately. +""" +from policy_harness import ROOT, body, run +source=ROOT/'addons/core/Scripts/Game/ERR/ERR_RadioDefenceService.c' +functions='\n'.join(body(source, signature) for signature in ( + 'static float DefenceRadius(', 'static float TuneRadius(', + 'static bool CanTune(', 'static bool Defender(', 'static float SinceAfterSample(', +)).replace('ERR_Phase.', 'ERR_Phase::') +functions+='\n'+body(ROOT/'addons/core/Scripts/Game/ERR/ERR_MissionRules.c','static bool DefenceComplete(') +run('''#include +#include +namespace ERR_Phase {enum {PREPARING,PRISON,RADIO_SEARCH,RADIO_DEFENCE,EXTRACTION,VICTORY,DEFEAT};} +'''+functions+''' +int main() { + for (int phase=-1;phase<=7;++phase) + for (int flags=0;flags<16;++flags) + for (int knowledge=0;knowledge<=2;++knowledge) + for (float distance : {-1.f,0.f,4.999f,5.f,5.001f,60.f}) { + bool registered=flags&1,radio=flags&2,player=flags&4,conscious=flags&8; + bool expected=phase==ERR_Phase::RADIO_SEARCH && registered && radio && knowledge>=2 && player && conscious && distance>=0 && distance<=5; + assert(CanTune(phase,registered,radio,knowledge,player,conscious,distance)==expected); + } + for (int flags=0;flags<4;++flags) + for (float distance : {-1.f,0.f,59.999f,60.f,60.001f}) + assert(Defender(flags&1,flags&2,distance)==(bool(flags&1)&&bool(flags&2)&&distance>=0&&distance<60)); + assert(DefenceRadius()==60 && TuneRadius()==5); + float since=SinceAfterSample(-1,-1,1000,2); + assert(since==1000); + since=SinceAfterSample(since,1000,6000,1); + assert(since==1000); // second person can leave without resetting remaining defender + since=SinceAfterSample(since,6000,7000,0); + assert(since==-1); // absent/dead/unconscious/empty-server samples reset + since=SinceAfterSample(since,7000,8000,1); + assert(since==8000); + assert(!DefenceComplete(37999,since,30000,true)); + assert(DefenceComplete(38000,since,30000,true)); + assert(!DefenceComplete(38000,since,45000,true)); // live setting increased + assert(SinceAfterSample(since,38000,30000,1)==30000); // backward clock resets interval + assert(SinceAfterSample(since,38000,-1,1)==-1); + assert(SinceAfterSample(since,38000,50000,-1)==-1); +} +''') +print('PASS: radio authorization/discovery/phase matrix, exact distance limits, defender handover, interruption, empty samples, clock regression and duration boundary') diff --git a/tests/test_release_check.py b/tests/test_release_check.py new file mode 100644 index 0000000..30671d8 --- /dev/null +++ b/tests/test_release_check.py @@ -0,0 +1,409 @@ +"""Release-gate bypass regressions. Synthetic evidence is confined to temp dirs.""" +from pathlib import Path +import copy +import hashlib +import json +import shutil +import subprocess +import sys +import tempfile +import unittest + +ROOT = Path(__file__).resolve().parents[1] +sys.path.insert(0, str(ROOT / 'tools')) +import release_check as gate +from native_report import analyze +from source_manifest import addon_manifest +from native_provenance import snapshot, bindings, persist, seal_run, archive_source, qualify_archive, MANIFEST, METADATA, PROVENANCE + + +class ReleaseAuditTests(unittest.TestCase): + def setUp(self): + self.temp = tempfile.TemporaryDirectory(prefix='erri-release-test-') + self.addCleanup(self.temp.cleanup) + self.root = Path(self.temp.name) + self.write('addons/core/addon.gproj', 'Project {}') + self.write('addons/core/Scripts/Game/Test.c', 'class Test {}') + self.write('addons/core/Assets/test.png', b'nonempty resource bytes') + self.write('docs/evidence/current/manual.txt', 'Synthetic test fixture, not real acceptance.\n') + self.log = 'docs/evidence/current/console.log.txt' + self.report = 'docs/evidence/current/report.json' + self.manifest = 'docs/evidence/current/source-sha256.json' + self.write(self.log, 'ERR SMOKE PASS: synthetic\nERR SMOKE COMPLETE: synthetic\n') + self.refresh_native() + ordinary = {'status': 'passed', 'evidence': ['docs/evidence/current/manual.txt']} + native = {'status': 'passed', 'evidence': [self.report, self.manifest], + 'source_manifest': self.manifest, 'native_report': self.report} + self.ledger = {'target': 'Everon, vanilla factions, 12 players', + 'cases': {name: copy.deepcopy(ordinary) for name in gate.REQUIRED_CASES}, + 'development_checks': {'clean_native_runtime': copy.deepcopy(native)}} + self.ledger['cases']['independent_native_build'] = copy.deepcopy(native) + + def write(self, relative, value): + path = self.root / relative + path.parent.mkdir(parents=True, exist_ok=True) + path.write_bytes(value if isinstance(value, bytes) else value.encode()) + + def json(self, relative, value): + self.write(relative, json.dumps(value)) + + def refresh_native(self): + captured = snapshot(self.root, ['synthetic-runner-not-an-engine']) + archive = Path(self.manifest).parent + self.write(self.manifest, captured[0]) + self.write(str(archive / MANIFEST), captured[0]) + self.write(str(archive / METADATA), captured[1]) + self.json(str(archive / PROVENANCE), {'schema_version': 1, 'kind': 'launch_snapshot'}) + self.json(str(archive / 'runner.json.txt'), {**bindings(captured), 'started_unix': json.loads(captured[1])['captured_unix'] + 1, 'result': 'smoke-completed', 'rounds_required': 1, 'stopped_unix': json.loads(captured[1])['captured_unix'] + 2, 'source_unchanged_after_run': True, 'end_source_sha256': hashlib.sha256(captured[0]).hexdigest(), 'console_sha256': hashlib.sha256((self.root / self.log).read_bytes()).hexdigest()}) + self.json(self.report, analyze((self.root / self.log).read_text(), self.log)) + + def run_audit(self): + self.json('docs/acceptance.json', self.ledger) + return gate.audit(self.root) + + def blocked(self, fragment): + errors = self.run_audit() + self.assertTrue(errors, 'malformed evidence incorrectly qualified') + self.assertTrue(any(fragment in error for error in errors), errors) + + def test_complete_synthetic_fixture_qualifies(self): + self.assertEqual(self.run_audit(), []) + + def test_failed_clean_runtime_blocks_even_when_all_cases_pass(self): + self.ledger['development_checks']['clean_native_runtime']['status'] = 'failed' + self.blocked('clean_native_runtime: status is failed') + + def test_every_required_case_is_mandatory(self): + for name in gate.REQUIRED_CASES: + with self.subTest(name=name): + saved = self.ledger['cases'].pop(name) + self.blocked(name + ': required first-release case is missing') + self.ledger['cases'][name] = saved + + def test_unknown_case_rejected(self): + self.ledger['cases']['fake_replacement'] = {'status': 'passed', 'evidence': [self.log]} + self.blocked('unknown first-release case') + + def test_missing_runtime_gate_rejected(self): + self.ledger['development_checks'].clear() + self.blocked('required clean-runtime gate is missing') + + def test_unknown_and_malformed_statuses_rejected_everywhere(self): + entry = self.ledger['cases']['escape_loop'] + for status in ('PASS', 'waived', '', None, True, {}, []): + with self.subTest(status=status): + entry['status'] = status + self.blocked('unknown or malformed status') + entry['status'] = 'passed' + self.ledger['development_checks']['historical'] = {'status': 'waived', 'evidence': []} + self.blocked('unknown or malformed status') + + def test_malformed_sections_entries_and_evidence(self): + original = copy.deepcopy(self.ledger) + for section in ('cases', 'development_checks'): + self.ledger = copy.deepcopy(original) + self.ledger[section] = [] + self.blocked(section + ' must be an object') + for entry in (None, [], 'passed'): + self.ledger = copy.deepcopy(original) + self.ledger['cases']['escape_loop'] = entry + self.blocked('entry must be an object') + for evidence in (None, self.log, {}, [None], [42]): + self.ledger = copy.deepcopy(original) + self.ledger['cases']['escape_loop']['evidence'] = evidence + self.blocked('evidence') + + def test_passed_requires_nonempty_evidence(self): + self.ledger['cases']['escape_loop']['evidence'] = [] + self.blocked('requires nonempty evidence') + + def test_empty_files_and_whitespace_cannot_qualify(self): + for value in (b'', b' \r\n\t'): + self.write('docs/evidence/empty.txt', value) + self.ledger['cases']['escape_loop']['evidence'] = ['docs/evidence/empty.txt'] + self.blocked('evidence is empty') + + def test_missing_and_directory_evidence_rejected(self): + for path in ('docs/evidence/missing.txt', 'docs/evidence/current'): + self.ledger['cases']['escape_loop']['evidence'] = [path] + self.blocked('not an existing regular file') + + def test_unsafe_paths_rejected(self): + for path in ('/etc/passwd', '../outside', 'docs/../docs/evidence/current/manual.txt', + './docs/evidence/current/manual.txt', 'docs//evidence/current/manual.txt', + 'C:\\evidence.txt', '.git/config', 'docs/evidence/\x00invalid'): + with self.subTest(path=path): + self.ledger['cases']['escape_loop']['evidence'] = [path] + self.assertTrue(self.run_audit()) + + def test_symlinks_even_inside_repository_rejected(self): + for target in (self.root / self.log, Path('/etc/passwd')): + link = self.root / 'docs/evidence/link.txt' + link.symlink_to(target) + self.ledger['cases']['escape_loop']['evidence'] = ['docs/evidence/link.txt'] + self.assertTrue(self.run_audit()) + link.unlink() + + def test_symlink_loop_returns_error_without_crash(self): + link = self.root / 'docs/evidence/loop' + link.symlink_to(link) + self.ledger['cases']['escape_loop']['evidence'] = ['docs/evidence/loop'] + self.assertTrue(self.run_audit()) + + def test_duplicate_paths_rejected(self): + self.ledger['cases']['escape_loop']['evidence'] = [self.log, self.log] + self.blocked('duplicate evidence path') + + def test_missing_explicit_native_fields_rejected(self): + for field in ('source_manifest', 'native_report'): + value = self.ledger['cases']['independent_native_build'].pop(field) + self.blocked('independent_native_build.' + field) + self.ledger['cases']['independent_native_build'][field] = value + + def test_explicit_native_fields_must_be_listed_as_evidence(self): + self.ledger['cases']['independent_native_build']['evidence'] = [self.log] + self.blocked('must also appear') + + def test_current_native_qualification_rejects_changed_added_deleted_files(self): + path = self.root / 'addons/core/Scripts/Game/Test.c' + original = path.read_bytes() + path.write_text('class Changed {}') + self.blocked('changed=1') + path.write_bytes(original) + added = self.root / 'addons/core/Assets/new.custom-resource' + added.write_bytes(b'resource') + self.blocked('missing=1') + added.unlink() + path.unlink() + self.blocked('extra=1') + + def test_clean_runtime_also_requires_current_manifest(self): + self.ledger['cases']['independent_native_build']['status'] = 'pending' + self.write('addons/core/Scripts/Game/Test.c', 'class Changed {}') + self.blocked('clean_native_runtime.source_manifest: manifest does not match') + + def test_incomplete_and_malformed_manifest_rejected(self): + for manifest in ({}, [], {'addons/core/addon.gproj': 'not-sha256'}): + self.json(self.manifest, manifest) + self.blocked('manifest must be a nonempty') + self.json(self.manifest, {'addons/core/addon.gproj': '0' * 64}) + self.blocked('manifest does not match') + + def test_native_report_cannot_hide_raw_errors(self): + self.write(self.log, 'ERR SMOKE PASS: synthetic\nWORLD (E): retained error\nERR SMOKE COMPLETE: synthetic\n') + self.blocked('does not match analysis') + self.refresh_native() + self.blocked('no script, engine or end-screen errors') + + def test_each_native_failure_category_blocks(self): + for failure in ('ERR SMOKE FAIL: assertion', 'Virtual Machine Exception', + 'SCRIPT (E): exception', 'ANIMATION (E): unknown resource', 'Could not find expected endscreen', + "entity won't take damage and wont replicate"): + self.write(self.log, 'ERR SMOKE PASS: test\n' + failure + '\nERR SMOKE COMPLETE: test\n') + self.refresh_native() + self.blocked('native raw log must contain') + + def test_truncated_and_assertion_free_logs_rejected(self): + for text in ('ERR SMOKE PASS: test\n', 'ERR SMOKE COMPLETE: test\n', 'unrelated log\n'): + self.write(self.log, text) + self.refresh_native() + self.blocked('successful completion/assertions') + + def test_native_report_types_and_missing_fields_rejected(self): + report = analyze((self.root / self.log).read_text(), self.log) + for bad in ({}, [], dict(report, smoke_completions=True), dict(report, engine_errors='')): + self.json(self.report, bad) + self.blocked('native_report') + + def test_native_artifacts_cannot_be_mixed_between_archives(self): + self.write('docs/evidence/other/source-sha256.json', (self.root / self.manifest).read_bytes()) + entry = self.ledger['cases']['independent_native_build'] + entry['source_manifest'] = 'docs/evidence/other/source-sha256.json' + entry['evidence'].append(entry['source_manifest']) + self.blocked('same evidence archive') + + def test_historical_development_manifests_need_not_match_current(self): + self.json('docs/evidence/historical/source-sha256.json', {'old/path.c': '0' * 64}) + self.ledger['development_checks']['historical'] = { + 'status': 'passed', 'evidence': ['docs/evidence/historical/source-sha256.json']} + self.ledger['development_checks']['expected_fault'] = {'status': 'failed', 'evidence': []} + self.assertEqual(self.run_audit(), []) + + def test_generated_state_excluded_but_new_resource_formats_included(self): + self.write('addons/core/resourceDatabase.rdb', 'generated') + self.write('addons/core/resources.pak', 'generated') + self.write('addons/core/profiles/runtime.json', 'generated') + self.assertEqual(self.run_audit(), []) + self.write('addons/core/Scripts/Game/resourceDatabase.rdb_fake.c', 'class New {}') + self.blocked('missing=1') + + def test_source_symlink_cannot_hide_from_manifest(self): + (self.root / 'addons/core/Scripts/Game/Alias.c').symlink_to(self.root / 'addons/core/Scripts/Game/Test.c') + self.blocked('source/resource symlink is not supported') + + def test_duplicate_json_keys_and_invalid_json_fail_closed(self): + for raw in ('{"cases":{},"cases":{}}', '{', '[]', '{"target":NaN}'): + self.write('docs/acceptance.json', raw) + self.assertTrue(gate.audit(self.root)) + + def test_symlinked_ledger_rejected(self): + self.json('docs/real-ledger.json', self.ledger) + (self.root / 'docs/acceptance.json').symlink_to(self.root / 'docs/real-ledger.json') + self.assertTrue(gate.audit(self.root)) + + def test_checker_is_read_only(self): + self.json('docs/acceptance.json', self.ledger) + before = {str(path.relative_to(self.root)): path.read_bytes() + for path in self.root.rglob('*') if path.is_file()} + self.assertEqual(gate.audit(self.root), []) + after = {str(path.relative_to(self.root)): path.read_bytes() + for path in self.root.rglob('*') if path.is_file()} + self.assertEqual(after, before) + + def test_archive_command_uses_shared_manifest_and_report(self): + tools = self.root / 'tools' + tools.mkdir() + for name in ('archive_native.py', 'native_report.py', 'source_manifest.py', 'native_provenance.py'): + shutil.copyfile(ROOT / 'tools' / name, tools / name) + session = self.root / 'synthetic-session' + session.mkdir() + (session / 'console.log').write_text((self.root / self.log).read_text()) + archive = self.root / Path(self.manifest).parent + for name in (MANIFEST, METADATA): + shutil.copyfile(archive / name, session / name) + shutil.copyfile(archive / 'runner.json.txt', session / 'runner.json') + subprocess.run([sys.executable, str(tools / 'archive_native.py'), str(session), 'new-archive'], + capture_output=True, text=True, check=True) + archive = self.root / 'docs/evidence/new-archive' + self.assertEqual(json.loads((archive / 'source-sha256.json').read_text()), addon_manifest(self.root)) + report = json.loads((archive / 'report.json').read_text()) + self.assertEqual(report, analyze((self.root / report['log']).read_text(), report['log'])) + + def test_native_report_command_compatibility(self): + result = subprocess.run([sys.executable, str(ROOT / 'tools/native_report.py'), str(self.root / self.log)], + capture_output=True, text=True, check=True) + self.assertEqual(json.loads(result.stdout), analyze((self.root / self.log).read_text(), self.root / self.log)) + + def test_archive_time_provenance_cannot_qualify_native_gates(self): + self.json('docs/evidence/current/' + PROVENANCE, {'schema_version': 1, 'kind': 'archive_time_only'}) + self.blocked('requires launch_snapshot provenance') + + def test_missing_launch_snapshot_is_not_current_evidence(self): + (self.root / 'docs/evidence/current' / METADATA).unlink() + self.blocked('launch_provenance') + + def test_modified_launch_bytes_and_runner_binding_rejected(self): + path = self.root / 'docs/evidence/current' / MANIFEST + path.write_bytes(path.read_bytes() + b'\n') + self.blocked('launch manifest byte hash') + self.refresh_native() + runner = self.root / 'docs/evidence/current/runner.json.txt' + data = json.loads(runner.read_text()) + data['launch_id'] = '00000000-0000-0000-0000-000000000000' + runner.write_text(json.dumps(data)) + self.blocked('runner launch binding') + + def test_snapshot_after_process_start_rejected(self): + runner = self.root / 'docs/evidence/current/runner.json.txt' + data = json.loads(runner.read_text()) + data['started_unix'] = 1 + runner.write_text(json.dumps(data)) + self.blocked('snapshot must precede process launch') + + def test_runner_failure_and_incomplete_repeated_rounds_cannot_qualify(self): + runner = self.root / 'docs/evidence/current/runner.json.txt' + data = json.loads(runner.read_text()) + data['result'] = 'process-exited' + runner.write_text(json.dumps(data)) + self.blocked('completed runner session') + data['result'] = 'smoke-completed' + data['rounds_required'] = 2 + runner.write_text(json.dumps(data)) + self.blocked('successful completion/assertions') + + def test_prelaunch_snapshot_remains_old_when_persisted_after_edit(self): + captured = snapshot(self.root, ['synthetic']) + self.write('addons/core/Scripts/Game/Test.c', 'class ChangedAfterLaunch {}') + session = self.root / 'synthetic-late-session' + session.mkdir() + persist(session, captured) + self.assertEqual((session / MANIFEST).read_bytes(), captured[0]) + (session / 'console.log').write_text('Synthetic old run') + self.json('synthetic-late-session/runner.json', {**bindings(captured), 'started_unix': json.loads(captured[1])['captured_unix'] + 1, 'stopped_unix': json.loads(captured[1])['captured_unix'] + 2, 'source_unchanged_after_run': True, 'end_source_sha256': hashlib.sha256(captured[0]).hexdigest(), 'console_sha256': hashlib.sha256((session / 'console.log').read_bytes()).hexdigest()}) + with self.assertRaisesRegex(ValueError, 'differ from pre-launch snapshot'): + archive_source(session, self.root) + + def test_legacy_archive_requires_opt_in_and_is_marked_historical(self): + session = self.root / 'synthetic-legacy' + session.mkdir() + with self.assertRaisesRegex(ValueError, 'no pre-launch source snapshot'): + archive_source(session, self.root) + manifest, provenance, launched = archive_source(session, self.root, allow_legacy=True) + self.assertFalse(launched) + self.assertEqual(provenance['kind'], 'archive_time_only') + self.assertEqual(provenance['qualification'], 'historical_only') + self.assertEqual(json.loads(manifest), addon_manifest(self.root)) + + def test_partial_launch_evidence_cannot_fall_back_to_legacy(self): + session = self.root / 'synthetic-partial' + session.mkdir() + (session / METADATA).write_text('{}') + with self.assertRaisesRegex(ValueError, 'missing or symlinked launch evidence'): + archive_source(session, self.root, allow_legacy=True) + + def test_source_manifest_copy_must_match_exact_launch_bytes(self): + path = self.root / self.manifest + path.write_bytes(path.read_bytes() + b'\n') + self.blocked('differs from exact launch snapshot bytes') + + def test_recomputed_report_cannot_relabel_a_different_old_raw_log(self): + self.write(self.log, 'ERR SMOKE PASS: different synthetic run\nERR SMOKE COMPLETE: other\n') + self.json(self.report, analyze((self.root / self.log).read_text(), self.log)) + self.blocked('raw native log differs from stopped runner log hash') + + def test_report_cannot_use_an_unsealed_neighbor_log(self): + other = 'docs/evidence/current/other.log.txt' + self.write(other, 'ERR SMOKE PASS: unrelated\nERR SMOKE COMPLETE: unrelated\n') + self.json(self.report, analyze((self.root / other).read_text(), other)) + self.blocked('exact console.log.txt sealed by the stopped runner') + + def test_stopped_source_change_blocks_even_if_current_files_match_launch(self): + runner = self.root / 'docs/evidence/current/runner.json.txt' + data = json.loads(runner.read_text()) + data['source_unchanged_after_run'] = False + data['end_source_sha256'] = '0' * 64 + runner.write_text(json.dumps(data)) + self.blocked('changed between launch and stopped-run snapshot') + + def test_seal_uses_stopped_sources_and_exact_log_bytes(self): + session = self.root / 'synthetic-seal' + session.mkdir() + captured = snapshot(self.root, ['synthetic']) + (session / 'console.log').write_bytes(b'exact synthetic log\r\n') + sealed = seal_run(self.root, session, captured) + self.assertTrue(sealed['source_unchanged_after_run']) + self.assertEqual(sealed['console_sha256'], hashlib.sha256(b'exact synthetic log\r\n').hexdigest()) + self.write('addons/core/Scripts/Game/Test.c', 'class ChangedDuringRun {}') + self.assertFalse(seal_run(self.root, session, captured)['source_unchanged_after_run']) + + def test_archive_cli_requires_explicit_legacy_import(self): + tools = self.root / 'tools' + tools.mkdir() + for name in ('archive_native.py', 'native_report.py', 'source_manifest.py', 'native_provenance.py'): + shutil.copyfile(ROOT / 'tools' / name, tools / name) + session = self.root / 'synthetic-legacy-command' + session.mkdir() + (session / 'console.log').write_text((self.root / self.log).read_text()) + command = [sys.executable, str(tools / 'archive_native.py'), str(session), 'legacy-archive'] + rejected = subprocess.run(command, capture_output=True, text=True) + self.assertEqual(rejected.returncode, 2) + self.assertFalse((self.root / 'docs/evidence/legacy-archive').exists()) + subprocess.run(command + ['--allow-legacy-archive-time-source'], capture_output=True, text=True, check=True) + provenance = json.loads((self.root / 'docs/evidence/legacy-archive' / PROVENANCE).read_text()) + self.assertEqual(provenance['kind'], 'archive_time_only') + with self.assertRaisesRegex(ValueError, 'requires launch_snapshot provenance'): + qualify_archive(self.root / 'docs/evidence/legacy-archive', addon_manifest(self.root)) + + +if __name__ == '__main__': + unittest.main() diff --git a/tools/archive_native.py b/tools/archive_native.py index 91194f7..01f3865 100644 --- a/tools/archive_native.py +++ b/tools/archive_native.py @@ -1,17 +1,23 @@ #!/usr/bin/env python3 -"""Archive an isolated native run and the exact current addon sources; never overwrite evidence. +"""Archive an isolated native run and its verified launch-time addon snapshot; never overwrite evidence. Run only after stopping the test and before editing/copying its source tree again. """ from pathlib import Path -import argparse,hashlib,json,shutil,subprocess,sys +import argparse,json,shutil,subprocess,sys +from native_provenance import archive_source, encoded, MANIFEST, METADATA, PROVENANCE ROOT=Path(__file__).resolve().parents[1] p=argparse.ArgumentParser(description=__doc__) p.add_argument('session',type=Path) p.add_argument('name',help='New evidence directory name, e.g. native-2026-09-19-003231') +p.add_argument('--allow-legacy-archive-time-source', action='store_true', help='Explicit historical-only import for sessions without a pre-launch snapshot') a=p.parse_args() if Path(a.name).name!=a.name or a.name in {'.','..'}:p.error('Name must be one directory component') source=a.session.resolve() if not (source/'console.log').is_file():p.error('Session has no console.log') +try: + manifest_bytes, provenance, launched = archive_source(source, ROOT, a.allow_legacy_archive_time_source) +except (OSError, ValueError) as error: + p.error(str(error)) dest=ROOT/'docs/evidence'/a.name try:dest.mkdir(parents=True,exist_ok=False) except FileExistsError:p.error('Evidence already exists; refusing to overwrite') @@ -19,9 +25,10 @@ for name in ['console.log','script.log','error.log','rereintroduced-hq.log','hea if (source/name).is_file():shutil.copyfile(source/name,dest/(name+'.txt')) for capture in sorted(source.glob('err-*.png')): if capture.is_file():shutil.copyfile(capture,dest/capture.name) -suffixes={'.c','.conf','.meta','.et','.ent','.layer','.gproj','.layout','.emat'} -manifest={str(f.relative_to(ROOT)):hashlib.sha256(f.read_bytes()).hexdigest() for f in sorted((ROOT/'addons').rglob('*')) if f.is_file() and f.suffix in suffixes} -(dest/'source-sha256.json').write_text(json.dumps(manifest,indent=2)+'\n') +(dest/'source-sha256.json').write_bytes(manifest_bytes) +(dest/PROVENANCE).write_bytes(encoded(provenance)) +if launched: + for name in (MANIFEST, METADATA): shutil.copyfile(source/name, dest/name) with (dest/'report.json').open('w') as report: result=subprocess.run([sys.executable,str(ROOT/'tools/native_report.py'),str((dest/'console.log.txt').relative_to(ROOT))],cwd=ROOT,stdout=report) print(f'Archived {dest.relative_to(ROOT)}; native report exit={result.returncode} (nonzero retains failures)') diff --git a/tools/check.py b/tools/check.py index 46c763b..66401be 100644 --- a/tools/check.py +++ b/tools/check.py @@ -59,7 +59,7 @@ def check(): assert set(mapped)==set(inventory['script_paths']), 'Original inventory has untracked or unknown entries' print(f'PASS: {len(mapped)} original script entries tracked across {len(feature_ids)} unfinished responsibilities') print(f'PASS: {len(ids)} isolated addons, acyclic dependencies, {len(resources)} unique resources, exact vanilla references') - for name in ['test_mission_rules.py','test_time_policy.py','test_settings_migration.py','hq_network_regression.py','helicopter_availability_regression.py','mortar_salvo_regression.py']: + for name in ['test_mission_rules.py', 'test_player_admission_policy.py','test_time_policy.py','test_radio_defence_policy.py','test_performance_comparison.py','test_release_check.py','test_settings_migration.py','hq_network_regression.py','helicopter_availability_regression.py','mortar_salvo_regression.py']: subprocess.run([sys.executable,str(ROOT/'tests'/name)],check=True) print('All repository checks passed. Native compilation and multiplayer tests are separate requirements.') if __name__=='__main__':check() diff --git a/tools/compare_performance.py b/tools/compare_performance.py new file mode 100644 index 0000000..4f98290 --- /dev/null +++ b/tools/compare_performance.py @@ -0,0 +1,227 @@ +#!/usr/bin/env python3 +"""Compare declared equivalent frame/tick recordings; never grants acceptance.""" +import argparse +import csv +import hashlib +import json +import math +from pathlib import Path +import statistics + +COLUMNS = ['frame_index', 'elapsed_ms', 'frame_time_ms', 'players', 'ai', 'vehicles', 'entities', 'ai_simulation_ms'] +POPULATION = ['players', 'ai', 'vehicles', 'entities'] + + +def require(condition, message): + if not condition: + raise ValueError(message) + + +def keys(value, expected, label): + require(isinstance(value, dict) and set(value) == set(expected), f'{label}: expected fields {expected}') + + +def number(value, label, minimum=0): + require(type(value) in (float, int) and math.isfinite(value) and value >= minimum, f'{label}: invalid number') + return value + + +def text(value, label): + require(isinstance(value, str) and bool(value.strip()), f'{label}: required nonempty string') + + +def integer(value, label, minimum=0): + require(type(value) is int and value >= minimum, f'{label}: invalid integer') + + +def finite_json(value): + if isinstance(value, float): + require(math.isfinite(value), 'Non-finite JSON number') + elif isinstance(value, dict): + for item in value.values(): + finite_json(item) + elif isinstance(value, list): + for item in value: + finite_json(item) + + +def percentile(values, fraction): + """Nearest rank, not interpolation; slow-tail frame times use upper ranks.""" + return sorted(values)[max(0, math.ceil(len(values) * fraction) - 1)] + + +def metrics(frames, ai_load): + fps = [1000 / value for value in frames] + result = { + 'median_frame_ms': statistics.median(frames), + 'p95_frame_ms': percentile(frames, .95), + 'p99_frame_ms': percentile(frames, .99), + 'median_fps': statistics.median(fps), + 'p05_fps': percentile(fps, .05), + 'p01_fps': percentile(fps, .01), + 'throughput_fps': 1000 * len(frames) / sum(frames), + 'median_ai_simulation_ms': statistics.median(ai_load), + 'p95_ai_simulation_ms': percentile(ai_load, .95), + } + finite_json(result) + return result + + +def load_samples(path, run): + workload = run['workload'] + warmup = workload['warmup_seconds'] * 1000 + end = warmup + workload['duration_seconds'] * 1000 + frames, ai_load = [], [] + boundary_frames = [] + previous = 0.0 + total_frame_ms = 0.0 + row_count = 0 + with path.open(newline='', encoding='utf-8') as stream: + reader = csv.DictReader(stream) + require(reader.fieldnames == COLUMNS, f'{path}: expected exact CSV header {COLUMNS}') + for index, row in enumerate(reader, 1): + label = f'{path}: row {index + 1}' + require(set(row) == set(COLUMNS) and all(v is not None for v in row.values()), f'{label}: incomplete/extra columns') + try: + frame_index = int(row['frame_index']) + elapsed = float(row['elapsed_ms']) + frame = float(row['frame_time_ms']) + ai_ms = float(row['ai_simulation_ms']) + population = {key: int(row[key]) for key in POPULATION} + except (ValueError, TypeError) as error: + raise ValueError(f'{label}: invalid numeric sample') from error + require(frame_index == index, f'{label}: missing/duplicate/out-of-order frame index') + require(all(math.isfinite(v) for v in (elapsed, frame, ai_ms)) and frame >= .001 and elapsed > previous and ai_ms >= 0, f'{label}: invalid frame/time/load') + require(abs((elapsed - previous) - frame) <= .1, f'{label}: elapsed delta differs from frame time by over 0.1 ms') + total_frame_ms += frame + require(abs(total_frame_ms - elapsed) <= .1, f'{label}: cumulative elapsed time differs from recorded frames') + require(previous < end, f'{label}: samples continue beyond the declared capture window') + for key in POPULATION: + require(population[key] == workload[key], f'{label}: {key} workload changed') + if previous >= warmup and elapsed <= end: + frames.append(frame) + ai_load.append(ai_ms) + else: + overlap = max(0, min(elapsed, end) - max(previous, warmup)) + if overlap > 0: + boundary_frames.append({'frame_index': frame_index, + 'frame_time_ms': frame, + 'measurement_overlap_ms': overlap}) + previous = elapsed + row_count += 1 + require(previous >= end, f'{path}: incomplete recording; warmup plus measurement duration not covered') + measured_ms = sum(frames) + coverage = measured_ms / (workload['duration_seconds'] * 1000) + require(coverage >= .99, f'{path}: only {coverage:.3%} of declared measurement duration has complete frames; boundary stalls/intervals exclude over 1%') + require(len(frames) >= 120, f'{path}: need at least 120 complete measurement frames/ticks') + return {'samples_total': row_count, 'samples_measured': len(frames), + 'measured_frame_seconds': measured_ms / 1000, + 'measurement_coverage_fraction': coverage, + 'boundary_frames_excluded': boundary_frames, + 'csv_sha256': hashlib.sha256(path.read_bytes()).hexdigest(), 'metrics': metrics(frames, ai_load)} + + +def validate_run(run): + keys(run, ['variant', 'repeat_id', 'artifact_id', 'addon_ids', 'engine_version', 'hardware', 'workload', 'capture', 'sample_file'], 'run') + require(run['variant'] in ('baseline', 'successor'), 'run: variant must be baseline or successor') + for key in ['repeat_id', 'artifact_id', 'engine_version', 'sample_file']: + text(run[key], key) + require(isinstance(run['addon_ids'], list) and bool(run['addon_ids']), 'addon_ids: nonempty list required') + for addon in run['addon_ids']: + text(addon, 'addon id') + require(len(set(run['addon_ids'])) == len(run['addon_ids']), 'addon_ids: duplicates') + keys(run['hardware'], ['cpu', 'gpu', 'ram_gib', 'os', 'driver'], 'hardware') + for key in ['cpu', 'gpu', 'os', 'driver']: + text(run['hardware'][key], f'hardware.{key}') + number(run['hardware']['ram_gib'], 'hardware.ram_gib', 1) + workload = run['workload'] + keys(workload, ['map', 'route', *POPULATION, 'settings', 'warmup_seconds', 'duration_seconds'], 'workload') + text(workload['map'], 'workload.map') + text(workload['route'], 'workload.route') + for key in POPULATION: + integer(workload[key], f'workload.{key}', 1 if key == 'players' else 0) + require(workload['entities'] >= workload['players'] + workload['ai'] + workload['vehicles'], 'workload.entities: smaller than declared actors/vehicles') + require(isinstance(workload['settings'], dict) and bool(workload['settings']), 'workload.settings: nonempty object required') + number(workload['warmup_seconds'], 'workload.warmup_seconds', 30) + number(workload['duration_seconds'], 'workload.duration_seconds', 60) + keys(run['capture'], ['kind', 'environment', 'tool', 'version'], 'capture') + require(run['capture']['kind'] in ('client_frame', 'server_tick'), 'capture.kind: expected client_frame or server_tick') + require(run['capture']['environment'] in ('client', 'dedicated_server', 'workbench_headless'), 'capture.environment: unsupported environment') + require(run['capture']['kind'] != 'client_frame' or run['capture']['environment'] != 'dedicated_server', 'dedicated server cannot supply client frames') + for key in ['tool', 'version']: + text(run['capture'][key], f'capture.{key}') + + +def reject_constant(value): + raise ValueError(f'Non-finite JSON value: {value}') + + +def unique_object(pairs): + result = {} + for key, value in pairs: + require(key not in result, f'Duplicate JSON field: {key}') + result[key] = value + return result + + +def compare(manifest_path): + manifest_path = Path(manifest_path) + raw = manifest_path.read_bytes() + data = json.loads(raw, parse_constant=reject_constant, object_pairs_hook=unique_object) + finite_json(data) + keys(data, ['schema_version', 'sample_origin', 'runs'], 'manifest') + require(type(data['schema_version']) is int and data['schema_version'] == 1, 'schema_version: expected 1') + require(data['sample_origin'] in ('synthetic', 'measured'), 'sample_origin: expected synthetic or measured') + require(isinstance(data['runs'], list) and len(data['runs']) >= 6, 'At least three paired baseline/successor repeats required') + paired, paths, reference = {}, set(), None + outputs = [] + artifacts = {} + for run in data['runs']: + validate_run(run) + comparable = {key: run[key] for key in ['hardware', 'workload', 'capture', 'engine_version']} + if reference is None: + reference = comparable + require(comparable == reference, f"{run['repeat_id']}/{run['variant']}: mismatched hardware, workload, capture settings or engine version") + artifact = (run['artifact_id'], sorted(run['addon_ids'])) + require(run['variant'] not in artifacts or artifacts[run['variant']] == artifact, 'Artifact/addon set changed between repeats of one variant') + artifacts[run['variant']] = artifact + pair = paired.setdefault(run['repeat_id'], {}) + require(run['variant'] not in pair, f"Duplicate repeat/variant: {run['repeat_id']}/{run['variant']}") + path = (manifest_path.parent / run['sample_file']).resolve() + require(path not in paths, f'{path}: sample file reused for different runs') + paths.add(path) + result = {'variant': run['variant'], 'repeat_id': run['repeat_id'], 'artifact_id': run['artifact_id'], 'addon_ids': run['addon_ids'], 'sample_file': run['sample_file'], **load_samples(path, run)} + pair[run['variant']] = result + outputs.append(result) + require(len(paired) >= 3 and all(set(pair) == {'baseline', 'successor'} for pair in paired.values()), 'Every repeat needs exactly one baseline and one successor recording') + metric_names = outputs[0]['metrics'] + aggregate = {variant: {key: statistics.median([item['metrics'][key] for item in outputs if item['variant'] == variant]) for key in metric_names} for variant in ['baseline', 'successor']} + deltas = [] + for repeat_id, pair in sorted(paired.items()): + baseline, successor = pair['baseline']['metrics'], pair['successor']['metrics'] + deltas.append({'repeat_id': repeat_id, + 'median_frame_reduction_percent': 100 * (baseline['median_frame_ms'] - successor['median_frame_ms']) / baseline['median_frame_ms'], + 'p99_frame_reduction_percent': 100 * (baseline['p99_frame_ms'] - successor['p99_frame_ms']) / baseline['p99_frame_ms'], + 'throughput_fps_increase_percent': 100 * (successor['throughput_fps'] - baseline['throughput_fps']) / baseline['throughput_fps']}) + return {'schema_version': 1, 'sample_origin': data['sample_origin'], 'acceptance': 'not_evaluated', + 'scope': 'Offline arithmetic on caller-supplied recordings and metadata; no authenticity, multiplayer, statistical-significance or release claim. Synthetic samples are not performance evidence. Headless Workbench is not equivalent to ordinary clients.', + 'manifest_sha256': hashlib.sha256(raw).hexdigest(), 'matched_conditions': reference, + 'percentile_method': 'nearest_rank', 'aggregate_method': 'median of per-run metrics; repeats equally weighted', + 'runs': sorted(outputs, key=lambda item: (item['repeat_id'], item['variant'])), + 'aggregate': aggregate, 'paired_deltas': deltas, + 'median_paired_deltas': {key: statistics.median([delta[key] for delta in deltas]) for key in deltas[0] if key != 'repeat_id'}} + + +def main(): + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument('manifest', type=Path) + arguments = parser.parse_args() + try: + report = compare(arguments.manifest) + except (ValueError, OSError, csv.Error) as error: + parser.exit(2, f'Performance comparison rejected: {error}\n') + print(json.dumps(report, indent=2, allow_nan=False)) + + +if __name__ == '__main__': + main() diff --git a/tools/headless_workbench.py b/tools/headless_workbench.py index 68bd120..8939ba5 100644 --- a/tools/headless_workbench.py +++ b/tools/headless_workbench.py @@ -5,12 +5,14 @@ No desktop rules or existing Wine processes are changed. This is not a dedicated """ import argparse, fcntl, json, os, shutil, signal, subprocess, time from pathlib import Path +from native_provenance import snapshot, persist, bindings, seal_run ROOT = Path(__file__).resolve().parents[1] p = argparse.ArgumentParser(description=__doc__) p.add_argument('--steam', type=Path, default=Path.home()/'.local/share/Steam') p.add_argument('--compat', type=Path, required=True, help='Disposable cloned Proton compatdata directory outside Steam') p.add_argument('--profile', type=Path, required=True, help='Separate disposable successor Workbench profile') -p.add_argument('--smoke', choices=['victory', 'lost-helicopter', 'player-death', 'radio-network', 'hq-response', 'mortar-inventory', 'startup-failure', 'site-survey', 'cache-loss', 'extraction-capacity', 'early-helicopter-loss', 'extraction-startup-failure', 'extraction-boundary-failure'], default='victory') +p.add_argument('--smoke', choices=['victory', 'lost-helicopter', 'player-death', 'radio-network', 'hq-response', 'mortar-inventory', 'startup-failure', 'site-survey', 'cache-loss', 'extraction-capacity', 'early-helicopter-loss', 'extraction-startup-failure', 'extraction-boundary-failure', 'transport-loss', 'transport-survey', 'lifecycle', 'objective-ui'], default='victory') +p.add_argument('--station-teardown-diagnostics', action='store_true', help='Opt-in bounded native deletion diagnostics; preserves all validation errors') p.add_argument('--rounds', type=int, default=2) p.add_argument('--timeout', type=int, default=360) p.add_argument('--project', choices=['core', 'chat'], default='chat', help='Core-only base or full companion integration') @@ -48,12 +50,13 @@ for proc in Path('/proc').iterdir(): p.error('Another Workbench already uses this test profile') except (FileNotFoundError, PermissionError, ProcessLookupError): pass command = ['gamescope', '--backend', 'headless', '-W', '1280', '-H', '720', '-w', '1280', '-h', '720', '-r', '30', '--', str(proton), 'run', str(wb/'ArmaReforgerWorkbenchSteamDiag.exe'), '-gproj', 'Z:'+str(ROOT/'addons'/a.project/'addon.gproj'), '-addonsDir', 'Z:'+str(ROOT/'addons'), '-profile', profile_arg, '-logconsole', '-wbModule=WorldEditor', '-load', 'Worlds/ERR_Everon.ent', '-plugin=ERR_ValidateWorldPlugin', '-errPlay', '1', '-errSmoke', '1', '-errSmokeOutcome', a.smoke, '-noThrow'] +if a.station_teardown_diagnostics: command += ['-errStationTeardownDiag', '1'] if a.project == 'core': - if a.smoke not in {'victory', 'startup-failure', 'site-survey', 'cache-loss', 'extraction-capacity', 'early-helicopter-loss', 'extraction-startup-failure', 'extraction-boundary-failure'}: p.error('Unsupported Core-only fixture') + if a.smoke not in {'victory', 'startup-failure', 'site-survey', 'cache-loss', 'extraction-capacity', 'early-helicopter-loss', 'extraction-startup-failure', 'extraction-boundary-failure', 'transport-loss', 'transport-survey', 'lifecycle', 'objective-ui'}: p.error('Unsupported Core-only fixture') command[command.index('-plugin=ERR_ValidateWorldPlugin')] = '-plugin=ERR_ValidateBaseWorldPlugin' command[command.index('-errSmoke')] = '-errBaseSmoke' -if a.smoke in {'cache-loss', 'extraction-capacity', 'early-helicopter-loss', 'extraction-startup-failure', 'extraction-boundary-failure'} and a.project != 'core': p.error('This fixture requires --project core') -if a.smoke in {'startup-failure', 'site-survey', 'extraction-startup-failure', 'extraction-boundary-failure'} and (a.project != 'core' or a.rounds != 1): p.error('This diagnostic requires --project core --rounds 1') +if a.smoke in {'cache-loss', 'extraction-capacity', 'early-helicopter-loss', 'extraction-startup-failure', 'extraction-boundary-failure', 'transport-loss', 'transport-survey', 'lifecycle', 'objective-ui'} and a.project != 'core': p.error('This fixture requires --project core') +if a.smoke in {'startup-failure', 'site-survey', 'transport-survey', 'extraction-startup-failure', 'extraction-boundary-failure'} and (a.project != 'core' or a.rounds != 1): p.error('This diagnostic requires --project core --rounds 1') env = os.environ.copy() env.update(STEAM_COMPAT_DATA_PATH=str(compat), STEAM_COMPAT_CLIENT_INSTALL_PATH=str(steam), WINEPREFIX=str(compat/'pfx')) # A test-only sink prevents startup sounds; a stream check also catches a saved @@ -87,6 +90,9 @@ def silence_test_streams(): if index not in muted_streams: muted_streams.add(index) print('Test audio routed to silent output and muted (stream '+index+')', flush=True) +# Snapshot addon bytes before launching any engine process. +captured_sources = snapshot(ROOT, command) +recorded_sessions = set() started = time.time() log_root = profile/'logs' previous = set(log_root.glob('logs_*')) if log_root.exists() else set() @@ -99,6 +105,9 @@ with (profile/'headless-launch.log').open('w') as output: candidates = [x for x in log_root.glob('logs_*') if x not in previous] if candidates: session = max(candidates, key=lambda x:x.stat().st_mtime) + if session not in recorded_sessions: + persist(session, captured_sources) + recorded_sessions.add(session) console = session/'console.log' content = console.read_text(errors='replace') if console.exists() else '' if ('Rereintroduced: scenario preparation failed' in content and a.smoke not in {'startup-failure', 'extraction-startup-failure', 'extraction-boundary-failure'}) or 'ERR SMOKE FAIL:' in content or 'Virtual Machine Exception' in content or 'Can\'t compile "Game"' in content: @@ -124,7 +133,9 @@ with (profile/'headless-launch.log').open('w') as output: # Gamescope's reaper can outlive its parent and ignores SIGTERM. try: os.killpg(child.pid, signal.SIGKILL) except ProcessLookupError: pass -summary = {'result':result, 'session':str(session) if session else None, 'rounds_required':a.rounds, 'project':a.project, 'display':'headless Gamescope 1280x720/30Hz', 'dedicated_server':False, 'audio':'silent sink and per-test-stream mute'} +stopped_evidence = seal_run(ROOT, session, captured_sources) if session else {} +if session and not stopped_evidence['source_unchanged_after_run']: result = 'source-changed' +summary = {**stopped_evidence, **bindings(captured_sources), 'started_unix':started, 'result':result, 'session':str(session) if session else None, 'rounds_required':a.rounds, 'project':a.project, 'display':'headless Gamescope 1280x720/30Hz', 'dedicated_server':False, 'audio':'silent sink and per-test-stream mute'} if session: (session/'runner.json').write_text(json.dumps(summary, indent=2)+'\n') shutil.copyfile(profile/'headless-launch.log', session/'headless-launch.log') diff --git a/tools/native_command.py b/tools/native_command.py index 5e11ff3..3fc65f8 100644 --- a/tools/native_command.py +++ b/tools/native_command.py @@ -7,13 +7,13 @@ p=argparse.ArgumentParser(description=__doc__) p.add_argument('mode',choices=['workbench','server']) p.add_argument('--exe',required=True,type=Path) p.add_argument('--profile',required=True,type=Path) -p.add_argument('--smoke',choices=['victory','lost-helicopter','player-death', 'radio-network', 'hq-response', 'mortar-inventory', 'cache-loss', 'startup-failure', 'site-survey', 'extraction-capacity', 'early-helicopter-loss', 'extraction-startup-failure', 'extraction-boundary-failure'],help='Opt-in Workbench test; use a disposable profile') +p.add_argument('--smoke',choices=['victory','lost-helicopter','player-death', 'radio-network', 'hq-response', 'mortar-inventory', 'cache-loss', 'startup-failure', 'site-survey', 'extraction-capacity', 'early-helicopter-loss', 'extraction-startup-failure', 'extraction-boundary-failure', 'transport-loss', 'transport-survey', 'lifecycle', 'objective-ui'],help='Opt-in Workbench test; use a disposable profile') p.add_argument('--execute',action='store_true',help='Deliberately execute the command; Workbench opens a window') p.add_argument('--visible-output',help='User-approved spare display; required when executing Workbench') p.add_argument('--project',choices=['core','chat'],default='chat') a=p.parse_args() if a.smoke and a.mode!='workbench':p.error('Scripted smoke is compiled only for Workbench') -if a.smoke in {'cache-loss', 'startup-failure', 'site-survey', 'extraction-capacity', 'early-helicopter-loss', 'extraction-startup-failure', 'extraction-boundary-failure'} and a.project!='core':p.error('This fixture requires Core') +if a.smoke in {'cache-loss', 'startup-failure', 'site-survey', 'extraction-capacity', 'early-helicopter-loss', 'extraction-startup-failure', 'extraction-boundary-failure', 'transport-loss', 'transport-survey', 'lifecycle', 'objective-ui'} and a.project!='core':p.error('This fixture requires Core') if a.execute and a.mode=='workbench' and not a.visible_output: p.error('Workbench opens windows. Select/configure a spare display and supply --visible-output first.') command=[str(a.exe),'-addonsDir',str(ROOT/'addons'),'-profile',str(a.profile),'-logconsole'] @@ -21,7 +21,7 @@ if a.mode=='workbench': command+=['-gproj',str(ROOT/'addons'/a.project/'addon.gproj'),'-wbModule=WorldEditor','-load','Worlds/ERR_Everon.ent'] if a.smoke:command+=['-plugin','ERR_ValidateWorldPlugin','-errPlay','1','-errSmoke','1','-errSmokeOutcome',a.smoke] if a.project=='core' and a.smoke: - if a.smoke not in {'victory', 'cache-loss', 'startup-failure', 'site-survey', 'extraction-capacity', 'early-helicopter-loss', 'extraction-startup-failure', 'extraction-boundary-failure'}:p.error('Unsupported Core-only fixture') + if a.smoke not in {'victory', 'cache-loss', 'startup-failure', 'site-survey', 'extraction-capacity', 'early-helicopter-loss', 'extraction-startup-failure', 'extraction-boundary-failure', 'transport-loss', 'transport-survey', 'lifecycle', 'objective-ui'}:p.error('Unsupported Core-only fixture') command[command.index('ERR_ValidateWorldPlugin')]='ERR_ValidateBaseWorldPlugin' command[command.index('-errSmoke')]='-errBaseSmoke' else: diff --git a/tools/native_provenance.py b/tools/native_provenance.py new file mode 100644 index 0000000..5b6d4c7 --- /dev/null +++ b/tools/native_provenance.py @@ -0,0 +1,137 @@ +"""Launch-time source snapshots shared by the runner, archiver and release audit.""" +import hashlib +import json +import math +from pathlib import Path +import re +import time +import uuid +from source_manifest import addon_manifest + +MANIFEST = 'launch-source-sha256.json' +METADATA = 'launch-source.json' +PROVENANCE = 'source-provenance.json' + + +def require(condition, message): + if not condition: + raise ValueError(message) + + +def strict_json(raw): + def pairs(items): + result = {} + for key, value in items: + require(key not in result, f'duplicate JSON key: {key}') + result[key] = value + return result + def constant(value): + raise ValueError(f'invalid JSON number: {value}') + return json.loads(raw, object_pairs_hook=pairs, parse_constant=constant) + + +def encoded(value): + return (json.dumps(value, indent=2, allow_nan=False) + '\n').encode() + + +def snapshot(root, command): + """Call synchronously before Popen; never reconstruct this after a run.""" + manifest = encoded(addon_manifest(root)) + metadata = {'schema_version': 1, 'launch_id': str(uuid.uuid4()), + 'captured_unix': time.time(), 'source_root': str(Path(root).resolve()), + 'command': list(command), 'manifest_sha256': hashlib.sha256(manifest).hexdigest()} + return manifest, encoded(metadata) + + +def persist(session, captured): + """Persist the pre-launch bytes once a new engine session directory exists.""" + for name, raw in zip((MANIFEST, METADATA), captured): + with (Path(session) / name).open('xb') as stream: + stream.write(raw) + + +def bindings(captured): + metadata = strict_json(captured[1]) + return {'source_provenance': 'launch_snapshot', 'launch_id': metadata['launch_id'], + 'launch_source_manifest': MANIFEST, 'launch_source_metadata': METADATA, + 'launch_source_sha256': metadata['manifest_sha256']} + + +def seal_run(root, session, captured): + """After process cleanup, bind final sources and exact raw log to this launch.""" + metadata = strict_json(captured[1]) + final_sources = encoded(addon_manifest(root)) + final_digest = hashlib.sha256(final_sources).hexdigest() + return {'stopped_unix': time.time(), 'console_sha256': hashlib.sha256(read_file(Path(session) / 'console.log')).hexdigest(), + 'end_source_sha256': final_digest, + 'source_unchanged_after_run': final_digest == metadata['manifest_sha256']} + + +def read_file(path): + require(path.is_file() and not path.is_symlink(), f'missing or symlinked launch evidence: {path.name}') + return path.read_bytes() + + +def read_launch(session, runner_name='runner.json', log_name='console.log'): + session = Path(session) + raw_manifest = read_file(session / MANIFEST) + raw_metadata = read_file(session / METADATA) + manifest, metadata = strict_json(raw_manifest), strict_json(raw_metadata) + runner = strict_json(read_file(session / runner_name)) + require(isinstance(manifest, dict) and bool(manifest), 'launch manifest must be nonempty') + require(all(isinstance(path, str) and isinstance(digest, str) and re.fullmatch('[0-9a-f]{64}', digest) + for path, digest in manifest.items()), 'invalid launch source hash') + require(isinstance(metadata, dict) and set(metadata) == {'schema_version', 'launch_id', 'captured_unix', 'source_root', 'command', 'manifest_sha256'}, 'invalid launch metadata fields') + require(type(metadata['schema_version']) is int and metadata['schema_version'] == 1, 'invalid launch metadata version') + require(isinstance(metadata['launch_id'], str), 'invalid launch id') + try: + uuid.UUID(metadata['launch_id']) + except (ValueError, AttributeError) as error: + raise ValueError('invalid launch id') from error + require(isinstance(metadata['source_root'], str) and bool(metadata['source_root']), 'missing launch source root') + require(isinstance(metadata['command'], list) and bool(metadata['command']) and all(isinstance(arg, str) for arg in metadata['command']), 'invalid launch command') + captured = metadata['captured_unix'] + require(type(captured) in (int, float) and math.isfinite(captured) and captured > 0, 'invalid launch capture time') + require(hashlib.sha256(raw_manifest).hexdigest() == metadata['manifest_sha256'], 'launch manifest byte hash disagrees with launch metadata') + require(isinstance(runner, dict), 'runner metadata must be an object') + for key, value in bindings((raw_manifest, raw_metadata)).items(): + require(runner.get(key) == value, f'runner launch binding disagrees: {key}') + started = runner.get('started_unix') + require(type(started) in (int, float) and math.isfinite(started) and started >= captured, 'source snapshot must precede process launch') + stopped = runner.get('stopped_unix') + require(type(stopped) in (int, float) and math.isfinite(stopped) and stopped >= started, 'invalid stopped runner timestamp') + require(runner.get('source_unchanged_after_run') is True and runner.get('end_source_sha256') == metadata['manifest_sha256'], 'addon sources changed between launch and stopped-run snapshot') + require(runner.get('console_sha256') == hashlib.sha256(read_file(session / log_name)).hexdigest(), 'raw native log differs from stopped runner log hash') + return manifest, metadata, runner + + +def archive_source(session, root, allow_legacy=False): + """Refuse changed launch sources; legacy provenance requires explicit opt-in.""" + session = Path(session) + runner_path = session / 'runner.json' + runner = strict_json(read_file(runner_path)) if runner_path.exists() else {} + marked = isinstance(runner, dict) and any(key in runner for key in ('source_provenance', 'launch_id', 'launch_source_sha256')) + present = (session / MANIFEST).exists() or (session / METADATA).exists() or marked + current = addon_manifest(root) + if present: + manifest, metadata, runner = read_launch(session) + require(manifest == current, 'current addon sources differ from pre-launch snapshot; refusing to relabel an old run') + return read_file(session / MANIFEST), {'schema_version': 1, 'kind': 'launch_snapshot'}, True + require(allow_legacy, 'session has no pre-launch source snapshot; use --allow-legacy-archive-time-source only for historical evidence') + return encoded(current), {'schema_version': 1, 'kind': 'archive_time_only', + 'qualification': 'historical_only', + 'reason': 'No pre-launch snapshot; hashes describe archive-time files, not proven launch files.'}, False + + +def qualify_archive(archive, current): + archive = Path(archive) + provenance = strict_json(read_file(archive / PROVENANCE)) + require(provenance == {'schema_version': 1, 'kind': 'launch_snapshot'} + and type(provenance.get('schema_version')) is int, 'native qualification requires launch_snapshot provenance; archive-time-only evidence is historical') + manifest, metadata, runner = read_launch(archive, 'runner.json.txt', 'console.log.txt') + require(manifest == current, 'launch source snapshot does not match current addon sources/resources') + require(read_file(archive / 'source-sha256.json') == read_file(archive / MANIFEST), 'archived source manifest differs from exact launch snapshot bytes') + require(runner.get('result') == 'smoke-completed', 'native qualification requires a completed runner session') + rounds = runner.get('rounds_required') + require(type(rounds) is int and 1 <= rounds <= 10, 'invalid completed runner round requirement') + return rounds diff --git a/tools/native_report.py b/tools/native_report.py index 9691172..079c23a 100644 --- a/tools/native_report.py +++ b/tools/native_report.py @@ -1,13 +1,44 @@ #!/usr/bin/env python3 """Summarize native smoke evidence without confusing it with gameplay acceptance.""" from pathlib import Path -import argparse,json,re,sys -p=argparse.ArgumentParser(description=__doc__) -p.add_argument('log',type=Path) -p.add_argument('--require-completions',type=int,default=1) -a=p.parse_args();s=a.log.read_text(errors='replace') -completed=s.count('ERR SMOKE COMPLETE:') -failures=[l.strip() for l in s.splitlines() if 'ERR SMOKE FAIL:' in l or 'Virtual Machine Exception' in l or re.search(r'\bSCRIPT\s+\(E\)',l) or "won't take damage and wont replicate" in l] -report={'log':str(a.log),'smoke_completions':completed,'assertions_passed':len(re.findall('ERR SMOKE PASS:',s)),'script_or_runtime_failures':failures,'engine_errors':[l.strip() for l in s.splitlines() if re.search(r'\b(?:SCRIPT|WORLD|DEFAULT|RESOURCES|ENTITY|NETWORK|ENGINE)\s+\(E\)',l)],'missing_end_screen':[l.strip() for l in s.splitlines() if 'Could not find' in l and 'endscreen' in l],'scope':'scripted local Workbench integration only; no multiplayer, piloting or FPS claim'} -print(json.dumps(report,indent=2)) -sys.exit(0 if completed>=a.require_completions and not failures and not report['engine_errors'] and not report['missing_end_screen'] else 1) +import argparse +import json +import re + + +def analyze(log_text, log_name): + failures = [line.strip() for line in log_text.splitlines() + if 'ERR SMOKE FAIL:' in line or 'Virtual Machine Exception' in line + or re.search(r'\bSCRIPT\s+\(E\)', line) + or "won't take damage and wont replicate" in line] + return { + 'log': str(log_name), + 'smoke_completions': log_text.count('ERR SMOKE COMPLETE:'), + 'assertions_passed': len(re.findall('ERR SMOKE PASS:', log_text)), + 'script_or_runtime_failures': failures, + 'engine_errors': [line.strip() for line in log_text.splitlines() + if re.search(r'\b[A-Z][A-Z0-9_]*\s+\(E\)', line)], + 'missing_end_screen': [line.strip() for line in log_text.splitlines() + if 'Could not find' in line and 'endscreen' in line], + 'scope': 'scripted local Workbench integration only; no multiplayer, piloting or FPS claim', + } + + +def clean(report, require_completions=1): + return (report['smoke_completions'] >= require_completions + and not report['script_or_runtime_failures'] + and not report['engine_errors'] and not report['missing_end_screen']) + + +def main(): + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument('log', type=Path) + parser.add_argument('--require-completions', type=int, default=1) + args = parser.parse_args() + report = analyze(args.log.read_text(errors='replace'), args.log) + print(json.dumps(report, indent=2)) + return 0 if clean(report, args.require_completions) else 1 + + +if __name__ == '__main__': + raise SystemExit(main()) diff --git a/tools/release_check.py b/tools/release_check.py index e0caa6f..2f39942 100644 --- a/tools/release_check.py +++ b/tools/release_check.py @@ -1,19 +1,201 @@ #!/usr/bin/env python3 -"""Refuse release qualification while acceptance evidence is incomplete.""" -import json,sys -from pathlib import Path -ROOT=Path(__file__).resolve().parents[1] -ledger=json.loads((ROOT/'docs/acceptance.json').read_text()) -blocked=[] -for name,case in ledger['cases'].items(): - if case['status']!='passed' or not case['evidence']: - blocked.append(name) - continue - for evidence in case['evidence']: - path=(ROOT/evidence).resolve() - if not path.is_relative_to(ROOT) or not path.is_file():blocked.append(name);break -if blocked: - print('Not release-qualified; missing passed evidence:') - for name in blocked:print(' - '+name) - sys.exit(1) -print('Acceptance ledger complete. Review provenance, native packages and publication metadata before release.') +"""Audit release qualification; never change acceptance, build or publish anything.""" +import json +import re +from pathlib import Path, PurePosixPath +from native_report import analyze, clean +from source_manifest import addon_manifest +from native_provenance import qualify_archive, MANIFEST, METADATA, PROVENANCE + +ROOT = Path(__file__).resolve().parents[1] +REQUIRED_CASES = ( + 'independent_native_build', 'prison_geometry_and_spawn', 'escape_loop', + 'join_late', 'reconnect_identity', 'death_unconsciousness_revive', + 'respawn_and_spectators', 'partial_escape', 'defeat_restart', + 'interrupted_reports', 'stale_contacts', 'support_losses', + 'ammunition_depletion', 'cleanup_no_duplicate_orders_or_spawns', + 'twelve_players', 'equivalent_workload_fps_improvement', + 'own_identity_release_package', +) +STATUSES = {'pending', 'passed', 'failed'} + + +def strict_object(pairs): + result = {} + for key, value in pairs: + if key in result: + raise ValueError(f'duplicate JSON key: {key}') + result[key] = value + return result + + +def read_json(path): + def invalid_constant(value): + raise ValueError(f'invalid JSON number: {value}') + return json.loads(path.read_text(encoding='utf-8'), object_pairs_hook=strict_object, + parse_constant=invalid_constant) + + +def evidence_path(root, name): + if not isinstance(name, str) or not name or '\\' in name or any(ord(c) < 32 for c in name): + raise ValueError('evidence path must be a nonempty repository-relative POSIX path') + path = PurePosixPath(name) + if (path.is_absolute() or path.as_posix() != name or ':' in name + or any(part in {'.', '..', '.git'} for part in path.parts)): + raise ValueError(f'unsafe or noncanonical evidence path: {name}') + full = root / name + try: + resolved = full.resolve() + except (OSError, RuntimeError) as error: + raise ValueError(f'evidence path cannot be resolved: {name}') from error + if not resolved.is_relative_to(root): + raise ValueError(f'evidence leaves repository: {name}') + cursor = root + for part in path.parts: + cursor /= part + if cursor.is_symlink(): + raise ValueError(f'evidence symlinks are not supported: {name}') + if not full.is_file(): + raise ValueError(f'evidence is not an existing regular file: {name}') + with full.open('rb') as stream: + if not any(chunk.strip() for chunk in iter(lambda: stream.read(65536), b'')): + raise ValueError(f'evidence is empty: {name}') + return full + + +def audit(root=ROOT): + root = Path(root).resolve() + blocked = [] + try: + ledger = read_json(evidence_path(root, 'docs/acceptance.json')) + except (OSError, ValueError) as error: + return [f'docs/acceptance.json: {error}'] + if not isinstance(ledger, dict): + return ['acceptance ledger must be an object'] + if not isinstance(ledger.get('target'), str) or not ledger['target'].strip(): + blocked.append('target must be a nonempty string') + cases = ledger.get('cases') + if not isinstance(cases, dict): + blocked.append('cases must be an object containing the fixed first-release requirements') + cases = {} + for name in REQUIRED_CASES: + if name not in cases: + blocked.append(f'cases.{name}: required first-release case is missing') + for name in sorted(set(cases) - set(REQUIRED_CASES)): + blocked.append(f'cases.{name}: unknown first-release case') + development = ledger.get('development_checks') + if not isinstance(development, dict): + blocked.append('development_checks must be an object') + development = {} + if 'clean_native_runtime' not in development: + blocked.append('development_checks.clean_native_runtime: required clean-runtime gate is missing') + + def validate_entry(label, entry, required): + if not isinstance(entry, dict): + blocked.append(f'{label}: entry must be an object') + return + status = entry.get('status') + if not isinstance(status, str) or status not in STATUSES: + blocked.append(f'{label}: unknown or malformed status {status!r}') + elif required and status != 'passed': + blocked.append(f'{label}: status is {status}, not passed') + evidence = entry.get('evidence') + if not isinstance(evidence, list): + blocked.append(f'{label}: evidence must be a list of file paths') + return + if status == 'passed' and not evidence: + blocked.append(f'{label}: passed status requires nonempty evidence') + seen = set() + for name in evidence: + try: + evidence_path(root, name) + if name in seen: + raise ValueError(f'duplicate evidence path: {name}') + seen.add(name) + except (OSError, ValueError) as error: + blocked.append(f'{label}: {error}') + + for name, entry in cases.items(): + validate_entry(f'cases.{name}', entry, True) + for name, entry in development.items(): + validate_entry(f'development_checks.{name}', entry, name == 'clean_native_runtime') + + current = None + try: + current = addon_manifest(root) + except (OSError, ValueError) as error: + blocked.append(f'current addon source/resource manifest: {error}') + + def native_qualification(label, entry): + if not isinstance(entry, dict) or entry.get('status') != 'passed': + return + paths = {} + for field in ('source_manifest', 'native_report'): + try: + paths[field] = evidence_path(root, entry.get(field)) + if not isinstance(entry.get('evidence'), list) or entry[field] not in entry['evidence']: + raise ValueError(f'{field} must also appear in this entry\'s evidence list') + except (OSError, ValueError) as error: + blocked.append(f'{label}.{field}: {error}') + if len(paths) != 2: + return + if paths['source_manifest'].parent != paths['native_report'].parent: + blocked.append(f'{label}: native report and manifest must belong to the same evidence archive') + try: + manifest = read_json(paths['source_manifest']) + if (not isinstance(manifest, dict) or not manifest + or any(not isinstance(digest, str) or not re.fullmatch(r'[0-9a-f]{64}', digest) + for digest in manifest.values())): + raise ValueError('manifest must be a nonempty path-to-SHA256 object') + if current is not None and manifest != current: + missing = sorted(set(current) - set(manifest)) + extra = sorted(set(manifest) - set(current)) + changed = sorted(path for path in set(current) & set(manifest) if current[path] != manifest[path]) + raise ValueError(f'manifest does not match current addon sources/resources ' + f'(missing={len(missing)}, extra={len(extra)}, changed={len(changed)})') + except (OSError, ValueError) as error: + blocked.append(f'{label}.source_manifest: {error}') + required_rounds = 1 + try: + archive = paths['native_report'].parent + for name in (MANIFEST, METADATA, PROVENANCE, 'runner.json.txt', 'source-sha256.json'): + evidence_path(root, (archive / name).relative_to(root).as_posix()) + required_rounds = qualify_archive(archive, current) + except (OSError, ValueError) as error: + blocked.append(f'{label}.launch_provenance: {error}') + try: + report = read_json(paths['native_report']) + if not isinstance(report, dict): + raise ValueError('native report must be an object') + log = evidence_path(root, report.get('log')) + if log.parent != paths['native_report'].parent: + raise ValueError('native raw log must belong to the same evidence archive') + if log.name != 'console.log.txt': + raise ValueError('native report must analyze the exact console.log.txt sealed by the stopped runner') + actual = analyze(log.read_text(errors='replace'), report['log']) + # Exact JSON types matter: True must not masquerade as one completion. + if json.dumps(report, sort_keys=True) != json.dumps(actual, sort_keys=True): + raise ValueError('native report does not match analysis of its archived raw log') + if not clean(actual, required_rounds) or actual['assertions_passed'] <= 0: + raise ValueError('native raw log must contain successful completion/assertions and no script, engine or end-screen errors') + except (OSError, ValueError) as error: + blocked.append(f'{label}.native_report: {error}') + + native_qualification('cases.independent_native_build', cases.get('independent_native_build')) + native_qualification('development_checks.clean_native_runtime', development.get('clean_native_runtime')) + return blocked + + +def main(): + blocked = audit() + if blocked: + print('Not release-qualified:') + for reason in blocked: + print(' - ' + reason) + return 1 + print('Release qualification audit passed. This audit does not build or publish a release.') + return 0 + + +if __name__ == '__main__': + raise SystemExit(main()) diff --git a/tools/source_manifest.py b/tools/source_manifest.py new file mode 100644 index 0000000..53968d3 --- /dev/null +++ b/tools/source_manifest.py @@ -0,0 +1,29 @@ +"""Hash authored addon files, excluding generated Workbench/build state. + +Keep this shared by native evidence archival and release qualification. Unknown +resource formats are included automatically, rather than silently omitted. +""" +import hashlib +from pathlib import Path + +GENERATED_DIRECTORIES = {'.build', '.local', '__pycache__', 'profiles'} + +def addon_manifest(root): + root = Path(root).resolve() + addons = root / 'addons' + if not addons.is_dir() or addons.is_symlink(): + raise ValueError('addons must be a real directory inside the repository') + manifest = {} + for path in sorted(addons.rglob('*')): + relative = path.relative_to(root) + if any(part in GENERATED_DIRECTORIES for part in relative.parts[1:]): + continue + if (len(relative.parts) == 3 and path.name.startswith('resourceDatabase.rdb')) or path.suffix in {'.pak', '.log'}: + continue + if path.is_symlink(): + raise ValueError(f'addon source/resource symlink is not supported: {relative.as_posix()}') + if path.is_file(): + manifest[relative.as_posix()] = hashlib.sha256(path.read_bytes()).hexdigest() + if not manifest: + raise ValueError('addon source/resource manifest is empty') + return manifest