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,22 @@
|
||||
18:16:17.476 SCRIPT : ERR BODY DIAG: faction=USSR configured=1 limit=-1 current=0 canAdd=1
|
||||
18:16:17.477 SCRIPT : ERR BODY DIAG: faction=RHS_AFRF configured=1 limit=-1 current=0 canAdd=1
|
||||
18:16:17.477 SCRIPT : ERR BODY DIAG: age=0 faction=USSR agents=0 expanded=0 nav=1 loaded=0 requested=0
|
||||
18:16:17.477 SCRIPT : ERR BODY DIAG: age=0 faction=RHS_AFRF agents=0 expanded=0 nav=1 loaded=0 requested=0
|
||||
18:16:27.496 SCRIPT : ERR BODY DIAG: age=10011.7 faction=USSR agents=1 expanded=1 nav=1 loaded=1 requested=0
|
||||
18:16:27.496 SCRIPT : ERR BODY DIAG: age=10011.7 faction=RHS_AFRF agents=4 expanded=1 nav=1 loaded=1 requested=0
|
||||
18:16:37.662 SCRIPT : ERR BODY DIAG: age=20036.2 faction=USSR agents=1 expanded=1 nav=1 loaded=1 requested=0
|
||||
18:16:37.662 SCRIPT : ERR BODY DIAG: age=20036.2 faction=RHS_AFRF agents=4 expanded=1 nav=1 loaded=1 requested=0
|
||||
18:16:47.762 SCRIPT : ERR BODY DIAG: age=30069.5 faction=USSR agents=1 expanded=1 nav=1 loaded=1 requested=0
|
||||
18:16:47.762 SCRIPT : ERR BODY DIAG: age=30069.5 faction=RHS_AFRF agents=4 expanded=1 nav=1 loaded=1 requested=0
|
||||
18:16:57.895 SCRIPT : ERR BODY DIAG: age=40100.5 faction=USSR agents=1 expanded=1 nav=1 loaded=1 requested=0
|
||||
18:16:57.895 SCRIPT : ERR BODY DIAG: age=40100.5 faction=RHS_AFRF agents=4 expanded=1 nav=1 loaded=1 requested=0
|
||||
18:17:07.929 SCRIPT (E): Virtual Machine Exception
|
||||
18:17:07.930 SCRIPT : ERR BODY DIAG: age=50133.5 faction= agents=0 expanded=1 nav=0 loaded=0 requested=0
|
||||
18:17:07.930 SCRIPT : ERR BODY DIAG: age=50133.5 faction=RHS_AFRF agents=4 expanded=1 nav=1 loaded=1 requested=0
|
||||
18:17:17.929 SCRIPT (E): Virtual Machine Exception
|
||||
18:17:17.929 SCRIPT : ERR BODY DIAG: age=60134 faction= agents=0 expanded=1 nav=0 loaded=0 requested=0
|
||||
18:17:17.929 SCRIPT : ERR BODY DIAG: age=60134 faction=RHS_AFRF agents=4 expanded=1 nav=1 loaded=1 requested=0
|
||||
18:17:27.962 SCRIPT (E): Virtual Machine Exception
|
||||
18:17:27.962 SCRIPT : ERR BODY DIAG: age=70166.5 faction= agents=0 expanded=1 nav=0 loaded=0 requested=0
|
||||
18:17:27.962 SCRIPT : ERR BODY DIAG: age=70166.5 faction=RHS_AFRF agents=4 expanded=1 nav=1 loaded=1 requested=0
|
||||
18:17:27.962 SCRIPT : ERR BODY COMPLETE
|
||||
@@ -0,0 +1,34 @@
|
||||
#1681 t=299s M0 BODY RECOVERY REQUEST job=1 source=everon-prison-1 slot=2 message=397 reported body=<2974.83,119.944,5336.57>; awaiting physical search [session=1791034661-2]
|
||||
#1684 t=299s M0 BODY RECOVERY TEAM job=1 wave=1/8 base=everon-radio-1 team=<0x0000000017938D10> SCR_AIGroup position=<5672.33,87.0247,5633.84> slots=3; native spawn requested, not yet ready [session=1791034661-2]
|
||||
#1686 t=300s M0 BODY RECOVERY STATUS job=1 stage=0; waiting for native roster expansion; queued=1.00869s teamAge=1.00869s agents=0 living=0 expanded=0 faction=RHS_AFRF team=<5672.33,87.0247,5633.84> reportedBody=<2974.83,119.944,5336.57> spawnAttempts=1 [session=1791034661-2]
|
||||
#1792 t=330.1s M0 BODY RECOVERY STATUS job=1 stage=0; waiting for native roster expansion; queued=31.1285s teamAge=31.1285s agents=0 living=0 expanded=0 faction=RHS_AFRF team=<5672.33,87.0247,5633.84> reportedBody=<2974.83,119.944,5336.57> spawnAttempts=3 [session=1791034661-2]
|
||||
#1968 t=359.1s M0 BODY RECOVERY END job=1 stage=0 delivered=0 missingSites=0; 60-second preparation deadline [session=1791034661-2]
|
||||
#2013 t=391.1s M0 BODY RECOVERY REQUEST job=2 source=everon-prison-1 slot=1 message=604 reported body=<3019.83,120.504,5336.64>; awaiting physical search [session=1791034661-2]
|
||||
#2016 t=391.1s M0 BODY RECOVERY TEAM job=2 wave=2/8 base=everon-radio-1 team=<0x000000005DCC8690> SCR_AIGroup position=<5672.33,87.0247,5633.84> slots=5; native spawn requested, not yet ready [session=1791034661-2]
|
||||
#2111 t=446.2s M0 BODY RECOVERY REQUEST job=3 source=everon-prison-1 slot=0 message=722 reported body=<3014.26,120.293,5324.49>; awaiting physical search [session=1791034661-2]
|
||||
#2114 t=446.2s M0 BODY RECOVERY TEAM job=3 wave=3/8 base=everon-radio-1 team=<0x0000000049AECBB0> SCR_AIGroup position=<5672.33,87.0247,5633.84> slots=3; native spawn requested, not yet ready [session=1791034661-2]
|
||||
#2137 t=451.2s M0 BODY RECOVERY END job=2 stage=0 delivered=0 missingSites=0; 60-second preparation deadline [session=1791034661-2]
|
||||
#2353 t=507.2s M0 BODY RECOVERY END job=3 stage=0 delivered=0 missingSites=0; 60-second preparation deadline [session=1791034661-2]
|
||||
#4711 t=1268.5s M0 BODY RECOVERY REQUEST job=4 source=town-0 slot=7 message=2518 reported body=<2982.41,110.588,5163.48>; awaiting physical search [session=1791034661-2]
|
||||
#4714 t=1268.5s M0 BODY RECOVERY TEAM job=4 wave=4/8 base=everon-radio-1 team=<0x000000005E5BCB00> SCR_AIGroup position=<5672.33,87.0247,5633.84> slots=3; native spawn requested, not yet ready [session=1791034661-2]
|
||||
#4830 t=1316.6s M0 BODY RECOVERY REQUEST job=5 source=town-0 slot=1 message=2641 reported body=<2975.66,118.78,5260.94>; awaiting physical search [session=1791034661-2]
|
||||
#4834 t=1316.6s M0 BODY RECOVERY TEAM job=5 wave=5/8 base=everon-radio-1 team=<0x00000000562ACDC0> SCR_AIGroup position=<5672.33,87.0247,5633.84> slots=5; native spawn requested, not yet ready [session=1791034661-2]
|
||||
#4870 t=1328.6s M0 BODY RECOVERY END job=4 stage=0 delivered=0 missingSites=0; 60-second preparation deadline [session=1791034661-2]
|
||||
#5151 t=1376.9s M0 BODY RECOVERY END job=5 stage=0 delivered=0 missingSites=0; 60-second preparation deadline [session=1791034661-2]
|
||||
#5718 t=1521.3s M0 BODY RECOVERY REQUEST job=6 source=town-0 slot=4 message=3135 reported body=<3185.61,116.778,5190.69>; awaiting physical search [session=1791034661-2]
|
||||
#5721 t=1521.3s M0 BODY RECOVERY TEAM job=6 wave=6/8 base=everon-radio-1 team=<0x0000000044183D20> SCR_AIGroup position=<5672.33,87.0247,5633.84> slots=5; native spawn requested, not yet ready [session=1791034661-2]
|
||||
#5992 t=1558.3s M0 BODY RECOVERY REQUEST job=7 source=town-0 slot=9 message=3238 reported body=<3211.25,116.599,5186.4>; awaiting physical search [session=1791034661-2]
|
||||
#5996 t=1558.3s M0 BODY RECOVERY TEAM job=7 wave=7/8 base=everon-radio-1 team=<0x000000003CCC9270> SCR_AIGroup position=<5672.33,87.0247,5633.84> slots=5; native spawn requested, not yet ready [session=1791034661-2]
|
||||
#6103 t=1583.3s M0 BODY RECOVERY END job=6 stage=0 delivered=0 missingSites=0; 60-second preparation deadline [session=1791034661-2]
|
||||
#6387 t=1619.2s M0 BODY RECOVERY END job=7 stage=0 delivered=0 missingSites=0; 60-second preparation deadline [session=1791034661-2]
|
||||
#6724 t=1725.1s M0 BODY RECOVERY REQUEST job=8 source=everon-outpost-1-responders slot=0 message=3640 reported body=<3148.92,119.518,5239.79>; awaiting physical search [session=1791034661-2]
|
||||
#6736 t=1726.1s M0 BODY RECOVERY TEAM job=8 wave=8/8 base=everon-radio-1 team=<0x0000000052D348B0> SCR_AIGroup position=<5672.33,87.0247,5633.84> slots=5; native spawn requested, not yet ready [session=1791034661-2]
|
||||
#7196 t=1786.3s M0 BODY RECOVERY END job=8 stage=0 delivered=0 missingSites=0; 60-second preparation deadline [session=1791034661-2]
|
||||
#8206 t=2163.1s M0 BODY RECOVERY REQUEST job=9 source=everon-prison-1 slot=3 message=4589 reported body=<2972.67,119.4,5313.98>; awaiting physical search [session=1791034661-2]
|
||||
#8912 t=2397.2s M0 BODY RECOVERY REQUEST job=10 source=supply-convoy-1-vehicle-2 slot=0 message=5116 reported body=<3320.4,118.192,5117.46>; awaiting physical search [session=1791034661-2]
|
||||
#9032 t=2436.2s M0 BODY RECOVERY REQUEST job=11 source=town-0 slot=2 message=5196 reported body=<3215.48,116.748,5185.25>; awaiting physical search [session=1791034661-2]
|
||||
#10454 t=2828.4s M0 BODY RECOVERY REQUEST job=12 source=town-3 slot=1 message=6113 reported body=<1253.74,35.9753,6004.85>; awaiting physical search [session=1791034661-2]
|
||||
#17707 t=5279.6s M0 BODY RECOVERY END job=9 stage=0 delivered=0 missingSites=0; mission recovery service stopped [session=1791034661-2]
|
||||
#17708 t=5279.6s M0 BODY RECOVERY END job=10 stage=0 delivered=0 missingSites=0; mission recovery service stopped [session=1791034661-2]
|
||||
#17709 t=5279.6s M0 BODY RECOVERY END job=11 stage=0 delivered=0 missingSites=0; mission recovery service stopped [session=1791034661-2]
|
||||
#17710 t=5279.6s M0 BODY RECOVERY END job=12 stage=0 delivered=0 missingSites=0; mission recovery service stopped [session=1791034661-2]
|
||||
@@ -0,0 +1,32 @@
|
||||
18:23:51.108 SCRIPT (E): @"Scripts/Game/ERR/00_Core/ERR_ZProfileProbe.c,29": Undefined function 'ERR_HQ#6484#153.ReleaseRecovery'
|
||||
18:23:51.158 SCRIPT (E): @"Scripts/Game/UI/Components/ButtonComponents/ModularButton/SCR_ModularButtonComponent.c,489": Error in parameters
|
||||
18:23:51.158 SCRIPT (E): @"Scripts/Game/UI/Components/ButtonComponents/ModularButton/SCR_ModularButtonComponent.c,497": Can't find variable 'widgetEffectEventMasks'
|
||||
18:23:51.158 SCRIPT (E): @"Scripts/Game/UI/Components/ButtonComponents/ModularButton/SCR_ModularButtonComponent.c,497": Syntax error
|
||||
18:23:51.158 SCRIPT (E): @"Scripts/Game/UI/Components/ButtonComponents/ModularButton/SCR_ModularButtonComponent.c,514": Can't find variable 'widgetEffectEventMasks'
|
||||
18:23:51.158 SCRIPT (E): @"Scripts/Game/UI/Components/ButtonComponents/ModularButton/SCR_ModularButtonComponent.c,514": Syntax error
|
||||
18:23:51.158 SCRIPT (E): @"Scripts/Game/UI/Components/ButtonComponents/ModularButton/SCR_ModularButtonComponent.c,527": Can't find variable 'widgetEffectEventMasks'
|
||||
18:23:51.178 SCRIPT (E): @"Scripts/Game/UI/Inventory/SCR_InventoryStorageBaseUI.c,989": Error in parameters
|
||||
18:23:51.178 SCRIPT (E): @"Scripts/Game/UI/Inventory/SCR_InventoryStorageBaseUI.c,995": Can't find variable 'changeMap'
|
||||
18:23:51.178 SCRIPT (E): @"Scripts/Game/UI/Inventory/SCR_InventoryStorageBaseUI.c,1007": Can't find variable 'changeMap'
|
||||
18:23:51.178 SCRIPT (E): @"Scripts/Game/UI/Inventory/SCR_InventoryStorageBaseUI.c,1016": Can't find variable 'changeMap'
|
||||
18:23:51.178 SCRIPT (E): @"Scripts/Game/UI/Inventory/SCR_InventoryStorageBaseUI.c,1016": Syntax error
|
||||
18:23:51.286 SCRIPT (E): @"Scripts/Game/GameMode/Loadout/SCR_PlayerArsenalLoadout.c,324": Error in parameters
|
||||
18:23:51.286 SCRIPT (E): @"Scripts/Game/GameMode/Loadout/SCR_PlayerArsenalLoadout.c,333": Can't find variable 'sortSlots'
|
||||
18:23:51.286 SCRIPT (E): @"Scripts/Game/GameMode/Loadout/SCR_PlayerArsenalLoadout.c,335": Can't find variable 'sortSlots'
|
||||
18:23:51.286 SCRIPT (E): @"Scripts/Game/GameMode/Loadout/SCR_PlayerArsenalLoadout.c,337": Can't find variable 'sortSlots'
|
||||
18:23:51.286 SCRIPT (E): @"Scripts/Game/GameMode/Loadout/SCR_PlayerArsenalLoadout.c,337": Syntax error
|
||||
18:23:51.289 SCRIPT (E): @"Scripts/Game/Plugins/Persistence/System/Serializers/Entities/SCR_FactionManagerSerializer.c,26": Error in parameters
|
||||
18:23:51.290 SCRIPT (E): @"Scripts/Game/Plugins/Persistence/System/Serializers/Entities/SCR_FactionManagerSerializer.c,29": Can't find variable 'friendlyDefaultMapping'
|
||||
18:23:51.290 SCRIPT (E): @"Scripts/Game/Plugins/Persistence/System/Serializers/Entities/SCR_FactionManagerSerializer.c,42": Can't find variable 'friendlyDefaultMapping'
|
||||
18:23:51.290 SCRIPT (E): @"Scripts/Game/Plugins/Persistence/System/Serializers/Entities/SCR_FactionManagerSerializer.c,52": Can't find variable 'friendlyDefaultMapping'
|
||||
18:23:51.290 SCRIPT (E): @"Scripts/Game/Plugins/Persistence/System/Serializers/Entities/SCR_FactionManagerSerializer.c,77": Can't find variable 'friendlyDefaultMapping'
|
||||
18:23:51.290 SCRIPT (E): @"Scripts/Game/Plugins/Persistence/System/Serializers/Entities/SCR_FactionManagerSerializer.c,77": Syntax error
|
||||
18:23:51.339 SCRIPT (E): @"Scripts/Game/Respawn/Logic/SCR_SpawnLogic.c,298": Can't find class Tuple1
|
||||
18:23:51.351 SCRIPT (E): @"Scripts/Game/Map/ComponentsUI/SCR_MapUIElementContainer.c,443": Incompatible parameter 'on delete'
|
||||
18:23:51.663 SCRIPT (E): @"Scripts/Game/ScenarioFramework/Actions/ActionGetters/SCR_ScenarioFrameworkGetCountEntitiesInTrigger.c,10": Can't find class SCR_ScenarioFrameworkParam
|
||||
18:23:51.675 SCRIPT (E): @"Scripts/Game/ScenarioFramework/Actions/ActionGetters/SCR_ScenarioFrameworkGetLastFinishedTaskLayer.c,11": Can't find class SCR_ScenarioFrameworkParam
|
||||
18:23:51.699 SCRIPT (E): @"Scripts/Game/UI/Components/SCR_SpinningWidgetComponent.c,25": Can't find class SCR_SpinningWidgetAnimation
|
||||
18:23:51.699 SCRIPT (E): @"Scripts/Game/UI/Components/SCR_SpinningWidgetComponent.c,27": Can't find class SCR_SpinningWidgetAnimation
|
||||
18:23:51.802 SCRIPT (E): @"Scripts/Game/UI/Menu/ContentBrowser/Common/SCR_ScenarioUICommon.c,452": Can't find class Tuple2
|
||||
18:23:51.802 SCRIPT (E): @"Scripts/Game/UI/Menu/ContentBrowser/Common/SCR_ScenarioUICommon.c,517": Can't find class Tuple2
|
||||
18:23:51.811 SCRIPT (E): Can't compile "Game" script module!
|
||||
@@ -0,0 +1 @@
|
||||
18:25:56.907 SCRIPT : ERR FIX PASS: existing native idle infantry selected for body search without new spawn
|
||||
@@ -0,0 +1 @@
|
||||
18:29:41.301 SCRIPT : ERR FIX PASS: existing native idle infantry selected for body search without new spawn
|
||||
@@ -0,0 +1,3 @@
|
||||
18:32:36.718 SCRIPT : ERR FIX PASS: existing native idle infantry selected for body search without new spawn
|
||||
18:35:56.931 SCRIPT (E): ERR FIX FAIL: fixture deadline
|
||||
18:35:56.931 SCRIPT : ERR FIX COMPLETE
|
||||
@@ -0,0 +1,21 @@
|
||||
18:37:57.266 SCRIPT : ERR FIX PASS: existing native idle infantry selected for body search without new spawn
|
||||
18:37:57.417 SCRIPT : ERR FIX MINE: stage=0 stopped=0 owned=1 quiet=1 actor=<2942.78,90.4937,4826.93> mine=<2942.78,90.4937,4826.93> site=<2914.98,90.2048,4816.71>
|
||||
18:38:07.555 SCRIPT : ERR FIX MINE: stage=0 stopped=0 owned=1 quiet=1 actor=<2918.93,90.0788,4817.93> mine=<2918.99,90.0801,4817.96> site=<2914.98,90.2048,4816.71>
|
||||
18:38:17.622 SCRIPT : ERR FIX MINE: stage=1 stopped=0 owned=1 quiet=1 actor=<2915.66,90.1036,4816.72> mine=<2915.66,90.1036,4816.72> site=<2914.98,90.2048,4816.71>
|
||||
18:38:27.722 SCRIPT : ERR FIX MINE: stage=3 stopped=0 owned=1 quiet=1 actor=<2935.86,90.2765,4828.54> mine=<2914.98,90.2048,4816.71> site=<2914.98,90.2048,4816.71>
|
||||
18:38:37.755 SCRIPT : ERR FIX MINE: stage=3 stopped=0 owned=1 quiet=1 actor=<2942.61,90.4963,4817.02> mine=<2914.98,90.2048,4816.71> site=<2914.98,90.2048,4816.71>
|
||||
18:38:47.789 SCRIPT : ERR FIX MINE: stage=3 stopped=0 owned=1 quiet=1 actor=<2941.47,90.5068,4804.16> mine=<2914.98,90.2048,4816.71> site=<2914.98,90.2048,4816.71>
|
||||
18:38:57.788 SCRIPT : ERR FIX MINE: stage=3 stopped=0 owned=1 quiet=1 actor=<2940.35,90.3601,4789.88> mine=<2914.98,90.2048,4816.71> site=<2914.98,90.2048,4816.71>
|
||||
18:39:07.821 SCRIPT : ERR FIX MINE: stage=3 stopped=0 owned=1 quiet=1 actor=<2939.04,90.2705,4776.2> mine=<2914.98,90.2048,4816.71> site=<2914.98,90.2048,4816.71>
|
||||
18:39:17.854 SCRIPT : ERR FIX MINE: stage=3 stopped=0 owned=1 quiet=1 actor=<2938.87,90.1606,4772.24> mine=<2914.98,90.2048,4816.71> site=<2914.98,90.2048,4816.71>
|
||||
18:39:27.855 SCRIPT : ERR FIX MINE: stage=3 stopped=0 owned=1 quiet=1 actor=<2938.87,90.1601,4772.24> mine=<2914.98,90.2048,4816.71> site=<2914.98,90.2048,4816.71>
|
||||
18:39:37.888 SCRIPT : ERR FIX MINE: stage=3 stopped=0 owned=1 quiet=1 actor=<2938.87,90.1593,4772.24> mine=<2914.98,90.2048,4816.71> site=<2914.98,90.2048,4816.71>
|
||||
18:39:47.921 SCRIPT : ERR FIX MINE: stage=3 stopped=0 owned=1 quiet=1 actor=<2938.87,90.1605,4772.24> mine=<2914.98,90.2048,4816.71> site=<2914.98,90.2048,4816.71>
|
||||
18:39:57.954 SCRIPT : ERR FIX MINE: stage=3 stopped=0 owned=1 quiet=1 actor=<2938.87,90.159,4772.24> mine=<2914.98,90.2048,4816.71> site=<2914.98,90.2048,4816.71>
|
||||
18:40:07.988 SCRIPT : ERR FIX MINE: stage=3 stopped=0 owned=1 quiet=1 actor=<2938.87,90.1596,4772.24> mine=<2914.98,90.2048,4816.71> site=<2914.98,90.2048,4816.71>
|
||||
18:40:18.021 SCRIPT : ERR FIX MINE: stage=3 stopped=0 owned=1 quiet=1 actor=<2938.46,90.1582,4772.58> mine=<2914.98,90.2048,4816.71> site=<2914.98,90.2048,4816.71>
|
||||
18:40:28.021 SCRIPT : ERR FIX MINE: stage=3 stopped=0 owned=1 quiet=1 actor=<2926.74,89.8229,4780.3> mine=<2914.98,90.2048,4816.71> site=<2914.98,90.2048,4816.71>
|
||||
18:40:38.054 SCRIPT : ERR FIX MINE: stage=3 stopped=0 owned=1 quiet=1 actor=<2919.77,89.6263,4784.82> mine=<2914.98,90.2048,4816.71> site=<2914.98,90.2048,4816.71>
|
||||
18:40:48.087 SCRIPT : ERR FIX MINE: stage=3 stopped=0 owned=1 quiet=1 actor=<2919.77,89.6265,4784.82> mine=<2914.98,90.2048,4816.71> site=<2914.98,90.2048,4816.71>
|
||||
18:40:57.687 SCRIPT (E): ERR FIX FAIL: physical mine job stopped before arming
|
||||
18:40:57.687 SCRIPT : ERR FIX COMPLETE
|
||||
@@ -0,0 +1,6 @@
|
||||
18:43:10.694 SCRIPT : ERR FIX PASS: existing native idle infantry selected for body search without new spawn
|
||||
18:43:10.855 SCRIPT : ERR FIX MINE: stage=0 stopped=0 owned=1 quiet=1 actor=<5191.91,28.0338,9978.21> mine=<5191.91,28.0338,9978.21> site=<5189.13,27.9886,10016> placed=0 friendNear=0
|
||||
18:43:21.020 SCRIPT : ERR FIX MINE: stage=0 stopped=0 owned=1 quiet=1 actor=<5187.93,27.9715,10010.9> mine=<5187.92,27.9715,10010.8> site=<5189.13,27.9886,10016> placed=0 friendNear=0
|
||||
18:43:31.087 SCRIPT : ERR FIX MINE: stage=1 stopped=0 owned=1 quiet=1 actor=<5189.06,27.891,10015.9> mine=<5189.06,27.891,10015.9> site=<5189.13,27.9886,10016> placed=0 friendNear=0
|
||||
18:43:40.554 SCRIPT : ERR FIX PASS: native soldier walked, removed carried mine, withdrew and armed it
|
||||
18:43:40.554 SCRIPT : ERR FIX COMPLETE
|
||||
@@ -0,0 +1,4 @@
|
||||
#124 t=59.9s M0 BODY RECOVERY TEAM job=999 assigned existing idle infantry=<0x000000003C4C33F0> SCR_AIGroup; reported body=<4889.96,53.5491,5821.85> [session=1791045726-1]
|
||||
#153 t=60s M0 ENGINEER MINE original carried PMN4 assigned; one approach and finite 180s deadline [session=1791045726-1]
|
||||
#154 t=87.3s M0 ENGINEER MINE arming delayed: friendly or unknown-affiliation unit within 20m [session=1791045726-1]
|
||||
#155 t=89.4s M0 ENGINEER MINE original PMN4 armed after engineer withdrawal and physical friendly clearance [session=1791045726-1]
|
||||
@@ -0,0 +1,143 @@
|
||||
modded class ERR_BodyRecovery
|
||||
{
|
||||
bool ERR_TestBorrow(vector position, SCR_AIGroup expected, float now)
|
||||
{
|
||||
int waves = m_Waves;
|
||||
ERR_BodyRecoveryJob job = new ERR_BodyRecoveryJob(); job.Id = 999; job.Position = position;
|
||||
bool result = SpawnTeam(job, now);
|
||||
return result && job.Team == expected && job.Prepared && job.State == 1 && m_Waves == waves;
|
||||
}
|
||||
}
|
||||
modded class ERR_EngineerMine
|
||||
{
|
||||
protected bool m_ERRCleared;
|
||||
protected bool ERR_MoveTestFriend(IEntity entity)
|
||||
{
|
||||
ChimeraCharacter character=ChimeraCharacter.Cast(entity);
|
||||
if(!character || entity==m_Actor || ERR_Actors.Player(entity))return true;
|
||||
vector transform[4];character.GetWorldTransform(transform);transform[3]=ERR_Actors.Ground(m_Rally+Vector(0,0,100));character.Teleport(transform);
|
||||
return true;
|
||||
}
|
||||
void ERR_ClearTestFriends()
|
||||
{
|
||||
if(m_State!=3 || m_ERRCleared)return;
|
||||
m_ERRCleared=true;
|
||||
GetGame().GetWorld().QueryEntitiesBySphere(m_Position,25,ERR_MoveTestFriend,queryFlags:EQueryEntitiesFlags.ALL);
|
||||
}
|
||||
bool ERR_TestArmed() { return m_Trigger && m_Trigger.IsActivated(); }
|
||||
string ERR_TestProgress() { return string.Format("stage=%1 stopped=%2 owned=%3 quiet=%4 actor=%5 mine=%6 site=%7",m_State,m_Stopped,Owned(),Quiet(),m_Actor.GetOrigin(),m_Mine.GetOrigin(),m_Position)+string.Format(" placed=%1 friendNear=%2",Placed(),m_FriendlyNear); }
|
||||
}
|
||||
modded class ERR_HQ
|
||||
{
|
||||
bool ERR_TestRecovery(float now)
|
||||
{
|
||||
IndexRadios();
|
||||
foreach (ERR_HQUnit unit : m_Units)
|
||||
{
|
||||
if (!unit.Eligible(m_Mode) || !unit.StatusSampler.Bound() || !unit.Radio || unit.Assignment || unit.PendingOrder || unit.Downlink || Fighting(unit)) continue;
|
||||
if (!m_Network.Route(unit.Radio, true)) continue;
|
||||
ERR_HQStatusReport status = new ERR_HQStatusReport(); status.SourceId = unit.ForceSourceId;status.MessageId=m_Journal.Message();status.Position=unit.Group.GetOrigin();status.Strength=unit.StatusSampler.InitialStrength();status.Count=m_Mode.ForceLiving(unit.Group);status.Fit=status.Count;status.ObservedAt=now;
|
||||
if (!m_Watch.Ingest(status,now)) continue;
|
||||
bool guard=unit.HomeGuard;unit.HomeGuard=false;
|
||||
bool result=m_Recovery.ERR_TestBorrow(status.Position,unit.Group,now);
|
||||
unit.ReservedForSupport=false;unit.HomeGuard=guard;
|
||||
return result;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
ERR_EngineerMine ERR_TestMine(float now)
|
||||
{
|
||||
m_Equipment.Tick(now); m_Journal.Flush();
|
||||
foreach (ERR_HQUnit original : m_Units)
|
||||
{
|
||||
if (original.ForceSourceId.Contains("prison")) continue;
|
||||
if (!original.Eligible(m_Mode) || !original.StatusSampler.Bound() || Fighting(original)) continue;
|
||||
vector rally=original.Group.GetOrigin();
|
||||
bool carried;
|
||||
array<AIAgent> agents={};original.Group.GetAgents(agents);
|
||||
foreach (AIAgent agent:agents)
|
||||
{
|
||||
IEntity actor=agent.GetControlledEntity(); if(!actor) continue;
|
||||
SCR_InventoryStorageManagerComponent inventory=SCR_InventoryStorageManagerComponent.Cast(actor.FindComponent(SCR_InventoryStorageManagerComponent));
|
||||
if(!inventory) continue;
|
||||
array<IEntity> items={};ERR_Inventory.Items(inventory,items);
|
||||
foreach(IEntity item:items) if(item && item.GetPrefabData() && item.GetPrefabData().GetPrefabName()==ERR_EnemyLoadoutCatalog.MINE) carried=true;
|
||||
}
|
||||
if(!carried) continue;
|
||||
vector site;
|
||||
if(!ERR_EngineerMineSite.Select(rally,site))
|
||||
{
|
||||
bool clear;
|
||||
for(int direction=0;direction<8;direction++)
|
||||
{
|
||||
float angle=direction*Math.PI2/8;
|
||||
site=ERR_Actors.Ground(rally+Vector(Math.Cos(angle)*35,0,Math.Sin(angle)*35));
|
||||
if(!ERR_HQRoadIntercept.Standable(site))continue;
|
||||
bool nearFriend;
|
||||
foreach(AIAgent neighbour:agents) if(neighbour.GetControlledEntity() && vector.DistanceXZ(neighbour.GetControlledEntity().GetOrigin(),site)<25)nearFriend=true;
|
||||
if(nearFriend)continue;
|
||||
clear=true;break;
|
||||
}
|
||||
if(!clear)continue;
|
||||
}
|
||||
if (!m_ERRFixtureRoadGroups.Contains(original.Group))
|
||||
{
|
||||
AIWaypoint post = AIWaypoint.Cast(ERR_Actors.Spawn(ERR_Resources.DefendWaypoint(),rally));
|
||||
if(!post)continue;
|
||||
post.SetCompletionRadius(70); original.Group.AddWaypointAt(post,0);
|
||||
m_ERRFixtureRoadGroups.Insert(original.Group);
|
||||
original.Group.SetPermanentLOD(0);
|
||||
foreach(AIAgent heldBefore:agents){heldBefore.SetPermanentLOD(0);heldBefore.ActivateAI();}
|
||||
continue;
|
||||
}
|
||||
ERR_HQUnit unit=new ERR_HQUnit();unit.Group=original.Group;unit.Utility=original.Utility;unit.StatusSampler=original.StatusSampler;unit.ForceSourceId=original.ForceSourceId;
|
||||
unit.Task=new ERR_HQTask();unit.Task.RoadIntercept=true;unit.Task.Role=ERR_HQPursuitRole.INTERCEPT;unit.Task.Destination=rally;unit.Task.QueuedAt=now;unit.Task.ExpiresAt=now+180000;
|
||||
unit.Assignment=new ERR_HQReport();unit.Assignment.MessageId=777;unit.Assignment.ObservedAt=now;unit.Assignment.Position=rally;
|
||||
array<IEntity> attempted={};ERR_EngineerMine mine=new ERR_EngineerMine(attempted);
|
||||
if(!mine.Begin(m_Mode,unit,unit.Task,site,now)) continue;
|
||||
// Keep this arranged unit alive; production owns the actual movement/item.
|
||||
m_ERRFixtureUnit=unit; m_ERRFixtureAttempts=attempted;
|
||||
original.ReservedForSupport=true;
|
||||
original.Group.SetPermanentLOD(0);
|
||||
foreach(AIAgent held:agents) {held.SetPermanentLOD(0);held.ActivateAI();}
|
||||
return mine;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
protected ref array<SCR_AIGroup> m_ERRFixtureRoadGroups = {};
|
||||
protected ref ERR_HQUnit m_ERRFixtureUnit;
|
||||
protected ref array<IEntity> m_ERRFixtureAttempts;
|
||||
}
|
||||
modded class ArmaReforgerScripted
|
||||
{
|
||||
protected float m_ERRFixStart=-1,m_ERRFixNext;
|
||||
protected bool m_ERRFixBorrowed,m_ERRFixDone;
|
||||
protected ref ERR_EngineerMine m_ERRFixMine;
|
||||
override void OnUpdate(BaseWorld world,float timeslice)
|
||||
{
|
||||
super.OnUpdate(world,timeslice);
|
||||
ERR_GameMode mode=ERR_GameMode.Get();
|
||||
if(m_ERRFixDone || !world || !Replication.IsServer() || !mode || !mode.Active())return;
|
||||
float now=world.GetWorldTime();
|
||||
if(m_ERRFixStart<0) m_ERRFixStart=now;
|
||||
if(!m_ERRFixBorrowed && now-m_ERRFixStart>10000)
|
||||
{
|
||||
m_ERRFixBorrowed=ERR_HQ.Get().ERR_TestRecovery(now);
|
||||
if(m_ERRFixBorrowed)Print("ERR FIX PASS: existing native idle infantry selected for body search without new spawn");
|
||||
}
|
||||
if(!m_ERRFixMine && m_ERRFixBorrowed)m_ERRFixMine=ERR_HQ.Get().ERR_TestMine(now);
|
||||
if(m_ERRFixMine)
|
||||
{
|
||||
m_ERRFixMine.ERR_ClearTestFriends();
|
||||
m_ERRFixMine.Tick(now); ERR_HQ.Get().Journal().Flush();
|
||||
if(now>=m_ERRFixNext){m_ERRFixNext=now+10000;Print("ERR FIX MINE: "+m_ERRFixMine.ERR_TestProgress());}
|
||||
if(m_ERRFixMine.Finished())
|
||||
{
|
||||
if(m_ERRFixMine.ERR_TestArmed())Print("ERR FIX PASS: native soldier walked, removed carried mine, withdrew and armed it");
|
||||
else Print("ERR FIX FAIL: physical mine job stopped before arming",LogLevel.ERROR);
|
||||
m_ERRFixDone=true;Print("ERR FIX COMPLETE");
|
||||
}
|
||||
}
|
||||
if(now-m_ERRFixStart>210000){Print("ERR FIX FAIL: fixture deadline",LogLevel.ERROR);m_ERRFixDone=true;Print("ERR FIX COMPLETE");}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,36 @@
|
||||
from pathlib import Path
|
||||
import os,sys,json,shutil,subprocess,time,signal
|
||||
ROOT=Path('/home/jakub/devel/escapistsrereintroduced');sys.path.insert(0,str(ROOT/'tools'))
|
||||
from external_addons import policy,prepare_profile
|
||||
from source_manifest import addon_manifest
|
||||
from dedicated_native import PROBE
|
||||
base=Path('/tmp/erri-roadbody-native');base.mkdir(exist_ok=True)
|
||||
run=base/sys.argv[1];run.mkdir();source=run/'source';source.mkdir()
|
||||
for rel in addon_manifest(ROOT):
|
||||
dest=source/Path(rel).relative_to('addons/core');dest.parent.mkdir(parents=True,exist_ok=True);shutil.copy2(ROOT/rel,dest)
|
||||
shutil.copy2('/tmp/erri-takeover-pair-source32/resourceDatabase.rdb',source/'resourceDatabase.rdb')
|
||||
shutil.copy2('/tmp/erri-roadbody-fixed-probe.c',source/'Scripts/Game/ERR/00_Core/ERR_ZProfileProbe.c')
|
||||
addons=run/'addons';addons.mkdir();steam=Path.home()/'.local/share/Steam'
|
||||
prepare_profile(addons,steam/'steamapps/compatdata/1874880/pfx/drive_c/users/steamuser/Documents/My Games/ArmaReforger/addons',policy(ROOT),run/'external-cache.json');(addons/'ERR_Core').symlink_to(source,target_is_directory=True)
|
||||
profile=run/'profile/profile';profile.mkdir(parents=True)
|
||||
(run/'network.py').write_text(PROBE)
|
||||
runtime=Path('/tmp/erri-takeover-dedicated-runtime')
|
||||
engine=['/tmp/runtime/ArmaReforgerServer','-server','{C1E20667DCE324ED}Missions/ERR_Everon.conf','-addonsDir',str(addons),'-addons','2528466DE220D91C','-profile',str(run/'profile'),'-noBackend','-noSound','-bindIP','127.0.0.1','-bindPort','2001','-maxFPS','30','-logconsole','-noSplash','-noThrow','-disableCrashReporter']
|
||||
cmd=['bwrap','--unshare-net','--unshare-pid','--unshare-ipc','--unshare-uts','--die-with-parent','--cap-drop','ALL','--ro-bind','/','/','--tmpfs','/tmp','--ro-bind',str(runtime),'/tmp/runtime','--bind',str(run),str(run),'--proc','/proc','--dev','/dev','--chdir','/tmp/runtime','python',str(run/'network.py'),os.readlink('/proc/self/ns/net')]+engine
|
||||
with (run/'stdout.log').open('w') as log:
|
||||
p=subprocess.Popen(cmd,stdout=log,stderr=subprocess.STDOUT,start_new_session=True)
|
||||
reason='timeout';start=time.monotonic()
|
||||
try:
|
||||
while time.monotonic()-start<340:
|
||||
files=sorted((run/'profile/logs').glob('logs_*/console.log'));text=files[-1].read_text(errors='replace') if files else ''
|
||||
if 'ERR FIX COMPLETE' in text:reason='complete';break
|
||||
if "Can't compile" in text:reason='compile-failed';break
|
||||
if p.poll() is not None:reason='exit';break
|
||||
time.sleep(.3)
|
||||
finally:
|
||||
if p.poll() is None:
|
||||
os.killpg(p.pid,signal.SIGTERM)
|
||||
try:p.wait(timeout=8)
|
||||
except subprocess.TimeoutExpired:os.killpg(p.pid,signal.SIGKILL);p.wait()
|
||||
(run/'result.json').write_text(json.dumps({'reason':reason,'exit':p.returncode}));print(reason)
|
||||
print('\n'.join(line for line in text.splitlines() if 'ERR FIX' in line or 'SCRIPT (E)' in line))
|
||||
@@ -0,0 +1,79 @@
|
||||
{
|
||||
"read_utc": "2026-10-03T16:08:44Z",
|
||||
"server": "RKS #2",
|
||||
"log_directory": "logs_2026-10-03_13-15-48",
|
||||
"completed_round": "1791034661-2",
|
||||
"body_recovery": {
|
||||
"BODY RECOVERY REQUEST": 12,
|
||||
"BODY RECOVERY TEAM": 8,
|
||||
"BODY RECOVERY READY": 0,
|
||||
"BODY RECOVERY END": 12,
|
||||
"BODY SEARCH START": 0,
|
||||
"BODY SEARCH COMPLETE": 0
|
||||
},
|
||||
"findings": [
|
||||
"Eight recovery groups requested, all remained empty through repeated requests and hit 60-second preparation deadlines.",
|
||||
"Eight attempt allowance exhausted; jobs 9-12 waited for capacity until round ended.",
|
||||
"No physical inspection started or completed in that round.",
|
||||
"Earlier round 1791033395-1 did prepare one US recovery team; inspection repeatedly paused due to perceived combat targets; no completion.",
|
||||
"Production has temporary road interception, not barricade-prop roadblocks.",
|
||||
"No temporary infantry road interception event found in either round.",
|
||||
"Road eligibility rejects the vehicle travel label despite observation producing both vehicle and in vehicle; this can exclude valid vehicle sightings."
|
||||
],
|
||||
"limitations": [
|
||||
"Exact cause of live-server empty recovery groups remains unproven; native isolated RHS spawning at that location succeeded.",
|
||||
"No full barricade-construction implementation.",
|
||||
"No Workshop publication, live server change or multiplayer acceptance test in this task."
|
||||
],
|
||||
"fixes": [
|
||||
"Allow vehicle-entity sightings as well as occupied-character sightings in road interception.",
|
||||
"Road post lifetime includes walking time and 180-second hold, capped at 900 seconds.",
|
||||
"Road defend waypoint radius 70m allows 25\u201360m engineer sites; individual engineer work still limited to 60m.",
|
||||
"Recovery can reserve existing idle infantry with fresh reported position and a radio route.",
|
||||
"Never-populated recovery groups may retry twice with 60s backoff, cancel old spawn intent and refund unused wave allowance; any spawned member prevents refund/refill.",
|
||||
"At most 32 recovery group creation attempts and 8 real/pending waves; existing 2-active-job limit retained.",
|
||||
"Diagnostics report native navigation/faction spawn state and mine-placement refusal/cancellation stages."
|
||||
],
|
||||
"policy_tests_passed": [
|
||||
"test_hq_pursuit.py",
|
||||
"test_hq_road_intercept.py",
|
||||
"test_hq_delivered_task.py",
|
||||
"test_hq_assignment_lifecycle.py",
|
||||
"test_hq_task_reservations.py",
|
||||
"test_hq_planner_budget.py",
|
||||
"test_body_recovery_lifecycle.py",
|
||||
"test_body_recovery_selection.py",
|
||||
"test_engineer_mine.py",
|
||||
"test_engineer_mine_hq.py",
|
||||
"test_engineer_mine_posts.py",
|
||||
"test_engineer_mine_site.py",
|
||||
"test_hq_mine_sampler.py"
|
||||
],
|
||||
"exploratory_runs": {
|
||||
"baseline": "RHS group spawned at original reported position; later diagnostic fixture dereferenced a removed USSR group. Not a clean validation run.",
|
||||
"fixed1": "Fixture compile error calling a method from a later modded class; fixed in fixture.",
|
||||
"fixed2": "Idle-team selection passed; stopped fixture lacking playerless equipment ticking.",
|
||||
"fixed3": "Idle-team selection passed; stopped scene setup without a road post.",
|
||||
"fixed4": "Idle-team selection passed; mine admission timed out; confirmed native defend radius excluded sites.",
|
||||
"fixed5": "Native soldier walked, prepared, removed its real carried mine and withdrew. Arming did not finish; added rate-limited waiting diagnostics and arranged friendly clearance in the next fixture."
|
||||
},
|
||||
"production_source_sha256": {
|
||||
"addons/core/Scripts/Game/ERR/10_AI/ERR_BodyRecovery.c": "2c3135a1457677028d91abee41b68c40a3a2d64a7588ced3ace47cc8e2cfd950",
|
||||
"addons/core/Scripts/Game/ERR/10_AI/ERR_HQRoadIntercept.c": "f87727aa1c722a180c7b71fa2d896601b6250978a21bd2d1e973501fee81373b",
|
||||
"addons/core/Scripts/Game/ERR/10_AI/ERR_HQPursuit.c": "5a364f0349fa59e9a76aaa6bea42fff9b6592e36462fce9fd67d7962a3cdca6f",
|
||||
"addons/core/Scripts/Game/ERR/10_AI/ERR_HQ.c": "2837755fcb5fc8a174192b4d881e3c623a3bf03a90d55c0d8e4be6ab2f1fd3c3",
|
||||
"addons/core/Scripts/Game/ERR/10_AI/ERR_EngineerMine.c": "69382b9f3a7cc50798ec5d7ae646145f9e7b80ce89370e9d7fb184e1272d569a"
|
||||
},
|
||||
"deployment": "Local source only; not published or deployed. Live server unchanged.",
|
||||
"native_validation": {
|
||||
"result": {
|
||||
"reason": "complete",
|
||||
"exit": -15
|
||||
},
|
||||
"passed": 2,
|
||||
"failed": 0,
|
||||
"script_errors": 0,
|
||||
"complete": true,
|
||||
"scope": "Controlled native existing-infantry recovery assignment and real carried mine movement, inventory removal, withdrawal and activation. Fixture supplies a delivered-post context and clears other nearby fixture soldiers; production clearance remains unchanged. No pressure-detonation or organic multiplayer qualification."
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user