Capture current mission, AI, map and administration development
Include the current addon, terrain integrations, tools, regression tests and recorded development evidence.
This commit is contained in:
@@ -0,0 +1,5 @@
|
||||
--- a/addons/core/Scripts/Game/ERR/00_Core/ERR_AdminMenu.c
|
||||
+++ b/addons/core/Scripts/Game/ERR/00_Core/ERR_AdminMenu.c
|
||||
@@ -329,1 +329,1 @@
|
||||
- ERR_SelectionStyle.Choice(SCR_ButtonTextComponent.GetButtonText("Random_" + key, GetRootWidget()), saved == "-1");
|
||||
+ if (ERR_Settings.Randomizable(key)) ERR_SelectionStyle.Choice(SCR_ButtonTextComponent.GetButtonText("Random_" + key, GetRootWidget()), saved == "-1");
|
||||
@@ -0,0 +1,9 @@
|
||||
Command: python3 tests/test_admin_menu.py
|
||||
Exit: 0
|
||||
PASS: actual menu command routing covers all menu settings, rejects unsupported keys, gates companions, and matches unique authored widgets
|
||||
PASS: explicit weapon retention buttons use the same ready/authorized server command path
|
||||
PASS: item editor, preset controls and dynamic item-row layout are structurally valid
|
||||
PASS: selected choices remain green/red and fully visible when disabled; unselected choices return to neutral
|
||||
PASS: probability editor and weighted item-row layout have all bound controls
|
||||
|
||||
This check exercises menu policy and authored controls. It does not claim native UI rendering or a measured post-fix frame-time improvement.
|
||||
@@ -0,0 +1,38 @@
|
||||
SESSION logs_2026-10-13_17-09-54
|
||||
script.log:167 17:12:12.312 SCRIPT : Reintroduced [welcome voice]: downloading startup clip
|
||||
script.log:168 17:12:13.777 SCRIPT : Reintroduced [welcome voice]: playing startup clip
|
||||
script.log:11615 17:32:54.830 SCRIPT : Reintroduced [welcome voice]: downloading startup clip
|
||||
script.log:11616 17:32:55.421 SCRIPT : Reintroduced [welcome voice]: download failed (HTTP 0); no retry
|
||||
script.log:17135 18:07:54.244 SCRIPT : Reintroduced [welcome voice]: downloading startup clip
|
||||
script.log:17136 18:07:55.378 SCRIPT : Reintroduced [welcome voice]: playing startup clip
|
||||
First UI warning with stack (after voice playback):
|
||||
script.log:208 17:12:19.127 SCRIPT (W): SCR_ScriptedWidgetComponent.GetComponent: widget not found: SCR_ButtonTextComponent Random_aiDoctrine
|
||||
script.log:209 17:12:19.127 SCRIPT : -- Stack trace --
|
||||
script.log:210 17:12:19.127 SCRIPT : GetComponent() Scripts/Game/UI/Components/WidgetLibrary/SCR_ScriptedWidgetComponent.c : 43
|
||||
script.log:211 17:12:19.127 SCRIPT : GetButtonText() Scripts/Game/UI/Components/WidgetLibrary/Button/SCR_ButtonTextComponent.c : 134
|
||||
script.log:212 17:12:19.127 SCRIPT : ReceiveSnapshot() Scripts/Game/ERR/00_Core/ERR_AdminMenu.c : 329
|
||||
script.log:213 17:12:19.127 SCRIPT : ReceiveSnapshot() Scripts/Game/ERR/00_Core/ERR_ContentMenu.c : 76
|
||||
script.log:214 17:12:19.127 SCRIPT : ReceiveSnapshot() Scripts/Game/ERR/00_Core/ERR_FactionMenu.c : 76
|
||||
script.log:215 17:12:19.127 SCRIPT : ReceiveSnapshot() Scripts/Game/ERR/00_Core/ERR_ServerItemsMenu.c : 172
|
||||
script.log:216 17:12:19.127 SCRIPT : ReceiveSnapshot() Scripts/Game/ERR/00_Core/ERR_ServerItemsWeightsMenu.c : 61
|
||||
script.log:217 17:12:19.127 SCRIPT : ReceiveSnapshot() Scripts/Game/ERR/00_Core/ERR_SpeechMenu.c : 144
|
||||
script.log:218 17:12:19.127 SCRIPT : ReceiveSnapshot() Scripts/Game/ERR/00_Core/ERR_TerrainMenu.c : 80
|
||||
script.log:219 17:12:19.127 SCRIPT : ERR_AdminSnapshotResponse() Scripts/Game/ERR/00_Core/ERR_PlayerAdminCommands.c : 121
|
||||
script.log:220 17:12:19.127 SCRIPT : -----------------
|
||||
Last UI warning:
|
||||
script.log:9087 17:13:33.183 SCRIPT (W): SCR_ScriptedWidgetComponent.GetComponent: widget not found: SCR_ButtonTextComponent Random_viewDistanceMetres
|
||||
SESSION logs_2026-10-13_16-39-43
|
||||
script.log:91 16:40:55.400 SCRIPT : Reintroduced [welcome voice]: downloading startup clip
|
||||
script.log:92 16:40:57.461 SCRIPT : Reintroduced [welcome voice]: playing startup clip
|
||||
SESSION logs_2026-10-12_18-37-12
|
||||
script.log:18145 20:04:37.143 SCRIPT : Reintroduced [welcome voice]: downloading startup clip
|
||||
script.log:18146 20:04:38.924 SCRIPT : Reintroduced [welcome voice]: playing startup clip
|
||||
script.log:18170 20:07:38.866 SCRIPT : Reintroduced [welcome voice]: downloading startup clip
|
||||
script.log:18171 20:07:40.331 SCRIPT : Reintroduced [welcome voice]: playing startup clip
|
||||
script.log:18239 20:17:17.243 SCRIPT : Reintroduced [welcome voice]: downloading startup clip
|
||||
script.log:18240 20:17:18.441 SCRIPT : Reintroduced [welcome voice]: playing startup clip
|
||||
script.log:18241 20:20:41.319 SCRIPT : Reintroduced [welcome voice]: downloading startup clip
|
||||
script.log:18242 20:20:42.205 SCRIPT : Reintroduced [welcome voice]: playing startup clip
|
||||
SESSION logs_2026-10-12_12-07-26
|
||||
script.log:90 12:08:39.541 SCRIPT : Reintroduced [welcome voice]: downloading startup clip
|
||||
script.log:91 12:08:41.965 SCRIPT : Reintroduced [welcome voice]: playing startup clip
|
||||
@@ -0,0 +1,142 @@
|
||||
{
|
||||
"scope": "Read-only local client logs; filtered event lines only. No request payloads, endpoints or secrets.",
|
||||
"limitation": "Download-to-play intervals include async network delivery and preparation; no per-frame client measurements exist in these logs, so intervals do not prove a frame hitch.",
|
||||
"sessions": [
|
||||
{
|
||||
"session": "logs_2026-10-13_17-09-54",
|
||||
"welcome_events": [
|
||||
{
|
||||
"line": 167,
|
||||
"event": "17:12:12.312 SCRIPT : Reintroduced [welcome voice]: downloading startup clip"
|
||||
},
|
||||
{
|
||||
"line": 168,
|
||||
"event": "17:12:13.777 SCRIPT : Reintroduced [welcome voice]: playing startup clip"
|
||||
},
|
||||
{
|
||||
"line": 11615,
|
||||
"event": "17:32:54.830 SCRIPT : Reintroduced [welcome voice]: downloading startup clip"
|
||||
},
|
||||
{
|
||||
"line": 11616,
|
||||
"event": "17:32:55.421 SCRIPT : Reintroduced [welcome voice]: download failed (HTTP 0); no retry"
|
||||
},
|
||||
{
|
||||
"line": 17135,
|
||||
"event": "18:07:54.244 SCRIPT : Reintroduced [welcome voice]: downloading startup clip"
|
||||
},
|
||||
{
|
||||
"line": 17136,
|
||||
"event": "18:07:55.378 SCRIPT : Reintroduced [welcome voice]: playing startup clip"
|
||||
}
|
||||
],
|
||||
"soldier_speech_events": 0,
|
||||
"performance_rows": 0,
|
||||
"memory_rows": 9
|
||||
},
|
||||
{
|
||||
"session": "logs_2026-10-13_16-39-43",
|
||||
"welcome_events": [
|
||||
{
|
||||
"line": 91,
|
||||
"event": "16:40:55.400 SCRIPT : Reintroduced [welcome voice]: downloading startup clip"
|
||||
},
|
||||
{
|
||||
"line": 92,
|
||||
"event": "16:40:57.461 SCRIPT : Reintroduced [welcome voice]: playing startup clip"
|
||||
}
|
||||
],
|
||||
"soldier_speech_events": 0,
|
||||
"performance_rows": 0,
|
||||
"memory_rows": 3
|
||||
},
|
||||
{
|
||||
"session": "logs_2026-10-12_18-37-12",
|
||||
"welcome_events": [
|
||||
{
|
||||
"line": 18145,
|
||||
"event": "20:04:37.143 SCRIPT : Reintroduced [welcome voice]: downloading startup clip"
|
||||
},
|
||||
{
|
||||
"line": 18146,
|
||||
"event": "20:04:38.924 SCRIPT : Reintroduced [welcome voice]: playing startup clip"
|
||||
},
|
||||
{
|
||||
"line": 18170,
|
||||
"event": "20:07:38.866 SCRIPT : Reintroduced [welcome voice]: downloading startup clip"
|
||||
},
|
||||
{
|
||||
"line": 18171,
|
||||
"event": "20:07:40.331 SCRIPT : Reintroduced [welcome voice]: playing startup clip"
|
||||
},
|
||||
{
|
||||
"line": 18239,
|
||||
"event": "20:17:17.243 SCRIPT : Reintroduced [welcome voice]: downloading startup clip"
|
||||
},
|
||||
{
|
||||
"line": 18240,
|
||||
"event": "20:17:18.441 SCRIPT : Reintroduced [welcome voice]: playing startup clip"
|
||||
},
|
||||
{
|
||||
"line": 18241,
|
||||
"event": "20:20:41.319 SCRIPT : Reintroduced [welcome voice]: downloading startup clip"
|
||||
},
|
||||
{
|
||||
"line": 18242,
|
||||
"event": "20:20:42.205 SCRIPT : Reintroduced [welcome voice]: playing startup clip"
|
||||
}
|
||||
],
|
||||
"soldier_speech_events": 0,
|
||||
"performance_rows": 0,
|
||||
"memory_rows": 9
|
||||
},
|
||||
{
|
||||
"session": "logs_2026-10-12_12-07-26",
|
||||
"welcome_events": [
|
||||
{
|
||||
"line": 90,
|
||||
"event": "12:08:39.541 SCRIPT : Reintroduced [welcome voice]: downloading startup clip"
|
||||
},
|
||||
{
|
||||
"line": 91,
|
||||
"event": "12:08:41.965 SCRIPT : Reintroduced [welcome voice]: playing startup clip"
|
||||
}
|
||||
],
|
||||
"soldier_speech_events": 0,
|
||||
"performance_rows": 0,
|
||||
"memory_rows": 3
|
||||
}
|
||||
],
|
||||
"admin_ui_warnings": {
|
||||
"total": 684,
|
||||
"first": [
|
||||
208,
|
||||
"17:12:19.127 SCRIPT (W): SCR_ScriptedWidgetComponent.GetComponent: widget not found: SCR_ButtonTextComponent Random_aiDoctrine"
|
||||
],
|
||||
"last": [
|
||||
9087,
|
||||
"17:13:33.183 SCRIPT (W): SCR_ScriptedWidgetComponent.GetComponent: widget not found: SCR_ButtonTextComponent Random_viewDistanceMetres"
|
||||
],
|
||||
"per_field": {
|
||||
"aiDoctrine": 38,
|
||||
"aiShadow": 38,
|
||||
"motorbikeCount": 38,
|
||||
"planeAltitudeMetres": 38,
|
||||
"planeReplacementSeconds": 38,
|
||||
"planeSectorSeconds": 38,
|
||||
"fieldCampCount": 38,
|
||||
"fieldHospitalCount": 38,
|
||||
"startWeaponCount": 38,
|
||||
"startMagazineCount": 38,
|
||||
"objectGuardCount": 38,
|
||||
"objectGuardEvery": 38,
|
||||
"objectGuardHQMode": 38,
|
||||
"hunterSpawnDistanceMetres": 38,
|
||||
"roadblockCount": 38,
|
||||
"civilianTrafficCount": 38,
|
||||
"startMode": 38,
|
||||
"viewDistanceMetres": 38
|
||||
},
|
||||
"cause": "ReceiveSnapshot requests Random_ buttons without checking ERR_Settings.Randomizable(key); OnMenuOpen applies that guard already. All admin pages poll snapshots every two seconds."
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user