Split checkpoint guards between VirtualHQ and local defence; record Workshop 0.0.151
continuous-integration/drone/push Build is passing
continuous-integration/drone/push Build is passing
This commit is contained in:
+6
-1
@@ -1,6 +1,11 @@
|
|||||||
# Changelog
|
# Changelog
|
||||||
|
|
||||||
Latest published Workshop version: **0.0.150**
|
Latest published Workshop version: **0.0.151**
|
||||||
|
|
||||||
|
## 2026-11-10 — Checkpoint squads
|
||||||
|
|
||||||
|
- Both checkpoint sizes now have four guards: two HQ responders and two local sentries who hold the post outside HQ control.
|
||||||
|
- Large checkpoints retain their extended cover and approach barriers.
|
||||||
|
|
||||||
## 2026-11-09 — AI processing
|
## 2026-11-09 — AI processing
|
||||||
|
|
||||||
|
|||||||
@@ -218,9 +218,9 @@ class ERR_AdminService
|
|||||||
if (key == "objectGuardHQMode") return "0: all hold their posts; 1: half hold, half respond to HQ; 2: all may respond to HQ. All report contacts. Next round.";
|
if (key == "objectGuardHQMode") return "0: all hold their posts; 1: half hold, half respond to HQ; 2: all may respond to HQ. All report contacts. Next round.";
|
||||||
if (key == "objectGuardCount") return "0..16 soldiers per factory/industrial, military or infrastructure site; default 8, zero off. Next round. HQ participation is configured separately; all report. Towers and chimneys use suitable platforms. Lost guards are not replaced.";
|
if (key == "objectGuardCount") return "0..16 soldiers per factory/industrial, military or infrastructure site; default 8, zero off. Next round. HQ participation is configured separately; all report. Towers and chimneys use suitable platforms. Lost guards are not replaced.";
|
||||||
if (key == "hunterSpawnDistanceMetres") return "Opening UAZ and troop-truck patrol placement. Applies next round.";
|
if (key == "hunterSpawnDistanceMetres") return "Opening UAZ and troop-truck patrol placement. Applies next round.";
|
||||||
if (key == "largeRoadblockCount") return "Set 0..30 main-road checkpoints (default 4; 0 disables large posts). Eight guards per post. Applies next round; unsuitable sites are skipped.";
|
if (key == "largeRoadblockCount") return "Set 0..30 main-road checkpoints (default 4; 0 disables large posts). Four guards: two HQ responders, two local sentries outside HQ. Extended cover. Applies next round; unsuitable sites are skipped.";
|
||||||
if (key == "mainRoadWidthMetres") return "Set main-road minimum width to 5..12 metres (default 6). Wider roads use large checkpoints; narrower roads use small ones. Applies next round.";
|
if (key == "mainRoadWidthMetres") return "Set main-road minimum width to 5..12 metres (default 6). Wider roads use large checkpoints; narrower roads use small ones. Applies next round.";
|
||||||
if (key == "roadblockCount") return "Set 0..30 small-road checkpoints (default 4; 0 disables small posts). Four guards per post. Applies next round; unsuitable sites are skipped.";
|
if (key == "roadblockCount") return "Set 0..30 small-road checkpoints (default 4; 0 disables small posts). Four guards: two HQ responders, two local sentries outside HQ. Compact cover. Applies next round; unsuitable sites are skipped.";
|
||||||
if (key == "telemetryEnabled") return "Default on. Sends mission results and player identities to the configured statistics service. Disabling clears unsent events immediately.";
|
if (key == "telemetryEnabled") return "Default on. Sends mission results and player identities to the configured statistics service. Disabling clears unsent events immediately.";
|
||||||
if (key == "restartOnEmpty") return "On (1) restarts after the last disconnect; Off (0) preserves the round for reconnects. Default On. Applies immediately; normal round endings still apply.";
|
if (key == "restartOnEmpty") return "On (1) restarts after the last disconnect; Off (0) preserves the round for reconnects. Default On. Applies immediately; normal round endings still apply.";
|
||||||
if (key == "emptyRestartHours") return "0 disables idle restarts; 1..168 real hours continuously empty. Default 5. Applies immediately, measured from mission start or the last disconnect. Connected players, including spectators, prevent idle restarts.";
|
if (key == "emptyRestartHours") return "0 disables idle restarts; 1..168 real hours continuously empty. Default 5. Applies immediately, measured from mission start or the last disconnect. Connected players, including spectators, prevent idle restarts.";
|
||||||
|
|||||||
@@ -14,12 +14,18 @@ class ERR_RoadblockProbeRules
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
static int Target() { return SmallTarget() + LargeTarget(); }
|
static int Target() { return SmallTarget() + LargeTarget(); }
|
||||||
static int Guards() { return SmallTarget() * 4 + LargeTarget() * 8; }
|
static int Guards() { return Target() * 4; }
|
||||||
static int Props() { return SmallTarget() * 8 + LargeTarget() * 14; }
|
static int Props() { return SmallTarget() * 8 + LargeTarget() * 14; }
|
||||||
|
|
||||||
}
|
}
|
||||||
modded class ERR_HQ
|
modded class ERR_HQ
|
||||||
{
|
{
|
||||||
|
bool ERR_ProbeRoadblockRegistered(SCR_AIGroup group)
|
||||||
|
{
|
||||||
|
foreach (ERR_HQUnit unit : m_Units)
|
||||||
|
if (unit.Group == group) return true;
|
||||||
|
return false;
|
||||||
|
}
|
||||||
bool ERR_ProbeRoadblockGroup(SCR_AIGroup group)
|
bool ERR_ProbeRoadblockGroup(SCR_AIGroup group)
|
||||||
{
|
{
|
||||||
foreach (ERR_HQUnit unit : m_Units)
|
foreach (ERR_HQUnit unit : m_Units)
|
||||||
@@ -48,7 +54,7 @@ modded class ERR_Roadblocks
|
|||||||
string outcome;
|
string outcome;
|
||||||
if (!System.GetCLIParam("errSmokeOutcome", outcome) || outcome != "roadblocks") { super.BuildPost(); return; }
|
if (!System.GetCLIParam("errSmokeOutcome", outcome) || outcome != "roadblocks") { super.BuildPost(); return; }
|
||||||
// Inspect the actual spawned models before the transaction clears its refs.
|
// Inspect the actual spawned models before the transaction clears its refs.
|
||||||
if (m_BuildHold)
|
if (m_BuildHold && m_BuildLocalHold)
|
||||||
{
|
{
|
||||||
bool valid = ShareProps();
|
bool valid = ShareProps();
|
||||||
for (int i = 0; i < m_BuildCovers.Count() && valid; i++)
|
for (int i = 0; i < m_BuildCovers.Count() && valid; i++)
|
||||||
@@ -110,15 +116,39 @@ modded class ERR_Roadblocks
|
|||||||
}
|
}
|
||||||
int ERR_ProbePostCount() { return m_Positions.Count(); }
|
int ERR_ProbePostCount() { return m_Positions.Count(); }
|
||||||
bool ERR_ProbeBackgroundPending() { return m_Background; }
|
bool ERR_ProbeBackgroundPending() { return m_Background; }
|
||||||
|
bool ERR_ProbePostPair(int index)
|
||||||
|
{
|
||||||
|
if (index < 0 || index >= m_Groups.Count() || index >= m_LocalGroups.Count()) return false;
|
||||||
|
SCR_AIGroup group = m_Groups[index];
|
||||||
|
SCR_AIGroup localGroup = m_LocalGroups[index];
|
||||||
|
ERR_HQ hq = ERR_HQ.Get();
|
||||||
|
if (!group || !localGroup || group == localGroup || !hq || !Contains(group) || LocalOnly(group) || Contains(localGroup) || !LocalOnly(localGroup)) return false;
|
||||||
|
if (!hq.ERR_ProbeRoadblockGroup(group) || hq.ERR_ProbeRoadblockRegistered(localGroup)) return false;
|
||||||
|
ERR_ForceRecord record = m_Mode.Forces().FindGroup(group);
|
||||||
|
ERR_ForceRecord localRecord = m_Mode.Forces().FindGroup(localGroup);
|
||||||
|
if (!record || !localRecord || record == localRecord || record.SourceId == localRecord.SourceId) return false;
|
||||||
|
array<SCR_AIGroup> pair = {group, localGroup};
|
||||||
|
array<IEntity> bodies = {};
|
||||||
|
foreach (SCR_AIGroup memberGroup : pair)
|
||||||
|
{
|
||||||
|
ERR_ForceRecord memberRecord = m_Mode.Forces().FindGroup(memberGroup);
|
||||||
|
if (!memberRecord || !memberRecord.Physical || memberRecord.Eliminated || memberRecord.Kind != ERR_ForceKind.CHECKPOINT || memberRecord.InitialStrength != 2 || m_Mode.ForceLiving(memberGroup) != 2) return false;
|
||||||
|
if (memberGroup.GetFaction() != m_Mode.EnemyFaction()) return false;
|
||||||
|
array<AIAgent> agents = {}; memberGroup.GetAgents(agents);
|
||||||
|
if (agents.Count() != 2) return false;
|
||||||
|
foreach (AIAgent agent : agents)
|
||||||
|
{
|
||||||
|
if (!agent || !agent.GetControlledEntity() || bodies.Contains(agent.GetControlledEntity())) return false;
|
||||||
|
bodies.Insert(agent.GetControlledEntity());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return bodies.Count() == 4;
|
||||||
|
}
|
||||||
bool ERR_ProbeCompleteRoadblocks()
|
bool ERR_ProbeCompleteRoadblocks()
|
||||||
{
|
{
|
||||||
if (m_ERRLayoutFailed || m_ERRLayoutPosts < ERR_RoadblockProbeRules.Target() || m_Target != ERR_RoadblockProbeRules.Target() || m_Positions.Count() != m_Target || m_Background || !m_Ready) return false;
|
if (m_ERRLayoutFailed || m_ERRLayoutPosts < ERR_RoadblockProbeRules.Target() || m_Target != ERR_RoadblockProbeRules.Target() || m_Positions.Count() != m_Target || m_Background || !m_Ready) return false;
|
||||||
foreach (SCR_AIGroup group : m_Groups)
|
if (m_Groups.Count() != m_Target || m_LocalGroups.Count() != m_Target) return false;
|
||||||
{
|
for (int index = 0; index < m_Groups.Count(); index++) if (!ERR_ProbePostPair(index)) return false;
|
||||||
ERR_ForceRecord record = m_Mode.Forces().FindGroup(group);
|
|
||||||
if (!group || !record || record.Kind != ERR_ForceKind.CHECKPOINT || (record.InitialStrength != 4 && record.InitialStrength != 8) || m_Mode.ForceLiving(group) != record.InitialStrength) return false;
|
|
||||||
if (group.GetFaction() != m_Mode.EnemyFaction() || !ERR_HQ.Get().ERR_ProbeRoadblockGroup(group)) return false;
|
|
||||||
}
|
|
||||||
if (m_SmallPlaced != ERR_RoadblockProbeRules.SmallTarget() || m_LargePlaced != ERR_RoadblockProbeRules.LargeTarget()) return false;
|
if (m_SmallPlaced != ERR_RoadblockProbeRules.SmallTarget() || m_LargePlaced != ERR_RoadblockProbeRules.LargeTarget()) return false;
|
||||||
int count = m_Positions.Count();
|
int count = m_Positions.Count();
|
||||||
BackgroundStep();
|
BackgroundStep();
|
||||||
@@ -129,16 +159,13 @@ modded class ERR_Roadblocks
|
|||||||
{
|
{
|
||||||
if (!m_Ready || m_Target != m_SmallTarget + m_LargeTarget || m_Groups.IsEmpty() || m_Groups.Count() > m_Target || m_Groups.Count() != m_Positions.Count()) return false;
|
if (!m_Ready || m_Target != m_SmallTarget + m_LargeTarget || m_Groups.IsEmpty() || m_Groups.Count() > m_Target || m_Groups.Count() != m_Positions.Count()) return false;
|
||||||
int count = m_Groups.Count();
|
int count = m_Groups.Count();
|
||||||
foreach (SCR_AIGroup group : m_Groups)
|
if (m_LocalGroups.Count() != count) return false;
|
||||||
{
|
for (int index = 0; index < count; index++) if (!ERR_ProbePostPair(index)) return false;
|
||||||
ERR_ForceRecord record = m_Mode.Forces().FindGroup(group);
|
|
||||||
if (!record || record.Kind != ERR_ForceKind.CHECKPOINT || (record.InitialStrength != 4 && record.InitialStrength != 8) || m_Mode.ForceLiving(group) != record.InitialStrength
|
|
||||||
|| group.GetFaction() != m_Mode.EnemyFaction() || !ERR_HQ.Get().ERR_ProbeRoadblockGroup(group)) return false;
|
|
||||||
}
|
|
||||||
ERR_ScenarioDefinition definition = ERR_ScenarioDefinition.Cast(SCR_BaseContainerTools.CreateInstanceFromPrefab("{ACA98B44E2173605}Configs/ERR/Tests/LegacySites.conf"));
|
ERR_ScenarioDefinition definition = ERR_ScenarioDefinition.Cast(SCR_BaseContainerTools.CreateInstanceFromPrefab("{ACA98B44E2173605}Configs/ERR/Tests/LegacySites.conf"));
|
||||||
// Repeated preparation cannot replenish or create another squad.
|
// Repeated preparation cannot replenish or create another squad.
|
||||||
if (Prepare(definition) != ERR_PrepareResult.READY || m_Groups.Count() != count) return false;
|
if (Prepare(definition) != ERR_PrepareResult.READY || m_Groups.Count() != count || m_LocalGroups.Count() != count) return false;
|
||||||
PrintFormat("ERR ROADBLOCK NATIVE: posts=%1 soldiers=%2 ledger=checkpoint HQ=available repeatedPrepare=unchanged", count, m_SmallPlaced * 4 + m_LargePlaced * 8);
|
for (int after = 0; after < count; after++) if (!ERR_ProbePostPair(after)) return false;
|
||||||
|
PrintFormat("ERR ROADBLOCK NATIVE: posts=%1 soldiers=%2 ledger=two-pairs HQ=two local=two repeatedPrepare=unchanged", count, count * 4);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -176,7 +203,7 @@ modded class ERR_GameMode
|
|||||||
PrintFormat("ERR SMOKE PASS: roadblocks prison unlocked with %1/%2 posts; placement observation started", m_ERRRoadblockInitial, ERR_RoadblockProbeRules.Target());
|
PrintFormat("ERR SMOKE PASS: roadblocks prison unlocked with %1/%2 posts; placement observation started", m_ERRRoadblockInitial, ERR_RoadblockProbeRules.Target());
|
||||||
}
|
}
|
||||||
if (posts.ERR_ProbeBackgroundPending()) return;
|
if (posts.ERR_ProbeBackgroundPending()) return;
|
||||||
if (!posts.ERR_ProbeCompleteRoadblocks() || (ERR_RoadblockProbeRules.Target() > 4 && posts.ERR_ProbePostCount() <= m_ERRRoadblockInitial)) { ERR_RoadblockProbeFail("physical small/large posts, independent quotas, replicated props, ledger and HQ admission"); return; }
|
if (!posts.ERR_ProbeCompleteRoadblocks() || (ERR_RoadblockProbeRules.Target() > 4 && posts.ERR_ProbePostCount() <= m_ERRRoadblockInitial)) { ERR_RoadblockProbeFail("physical small/large posts, independent quotas, replicated props, separate pair ledgers and two-only HQ admission"); return; }
|
||||||
PrintFormat("ERR SMOKE PASS: roadblocks %1 physical posts / %2 guards / %3 replicated checkpoint props with distance streaming disabled; verified model footprints and centre lane; placement complete after prison unlock, no extra posts on repeat tick", posts.ERR_ProbePostCount(), ERR_RoadblockProbeRules.Guards(), ERR_RoadblockProbeRules.Props());
|
PrintFormat("ERR SMOKE PASS: roadblocks %1 physical posts / %2 guards / %3 replicated checkpoint props with distance streaming disabled; verified model footprints and centre lane; placement complete after prison unlock, no extra posts on repeat tick", posts.ERR_ProbePostCount(), ERR_RoadblockProbeRules.Guards(), ERR_RoadblockProbeRules.Props());
|
||||||
ERR_StopRoadblockProbe();
|
ERR_StopRoadblockProbe();
|
||||||
Transition(ERR_Phase.DEFEAT);
|
Transition(ERR_Phase.DEFEAT);
|
||||||
|
|||||||
@@ -631,6 +631,13 @@ class ERR_HQ : ERR_CommandService
|
|||||||
override void RegisterGroup(SCR_AIGroup group)
|
override void RegisterGroup(SCR_AIGroup group)
|
||||||
{
|
{
|
||||||
if (!Replication.IsServer() || !group) return;
|
if (!Replication.IsServer() || !group) return;
|
||||||
|
// Local checkpoint guards retain normal equipment and native defence AI,
|
||||||
|
// without HQ reporting, status sampling or remote tasking.
|
||||||
|
if (m_Roadblocks && m_Roadblocks.LocalOnly(group))
|
||||||
|
{
|
||||||
|
m_Equipment.RegisterGroup(group, 0, false);
|
||||||
|
return;
|
||||||
|
}
|
||||||
// Other hostile factions retain their own intelligence, but receive the same
|
// Other hostile factions retain their own intelligence, but receive the same
|
||||||
// scoped skill/aim profile. Do not share enemy HQ knowledge across hostile sides.
|
// scoped skill/aim profile. Do not share enemy HQ knowledge across hostile sides.
|
||||||
if (m_Mode.IsMissionEnemy(group.GetFaction()) && group.GetFaction() != m_Mode.EnemyFaction()) m_Equipment.RegisterGroup(group, 0, false);
|
if (m_Mode.IsMissionEnemy(group.GetFaction()) && group.GetFaction() != m_Mode.EnemyFaction()) m_Equipment.RegisterGroup(group, 0, false);
|
||||||
|
|||||||
@@ -11,7 +11,6 @@ class ERR_RoadblockRules
|
|||||||
}
|
}
|
||||||
static int GuardCount(bool large)
|
static int GuardCount(bool large)
|
||||||
{
|
{
|
||||||
if (large) return 8;
|
|
||||||
return 4;
|
return 4;
|
||||||
}
|
}
|
||||||
static bool LargeRoad(float width, float threshold) { return width >= threshold; }
|
static bool LargeRoad(float width, float threshold) { return width >= threshold; }
|
||||||
@@ -58,6 +57,7 @@ class ERR_Roadblocks
|
|||||||
protected ref ERR_RoadblockMining m_Mining;
|
protected ref ERR_RoadblockMining m_Mining;
|
||||||
protected ref array<vector> m_Positions = {};
|
protected ref array<vector> m_Positions = {};
|
||||||
protected ref array<SCR_AIGroup> m_Groups = {};
|
protected ref array<SCR_AIGroup> m_Groups = {};
|
||||||
|
protected ref array<SCR_AIGroup> m_LocalGroups = {};
|
||||||
protected ref ERR_SpawnPlacement m_Placement = new ERR_SpawnPlacement();
|
protected ref ERR_SpawnPlacement m_Placement = new ERR_SpawnPlacement();
|
||||||
protected ref ERR_SettlementSafety m_Settlements = new ERR_SettlementSafety();
|
protected ref ERR_SettlementSafety m_Settlements = new ERR_SettlementSafety();
|
||||||
protected bool m_Begun, m_Ready, m_Stopped, m_HaveCandidate, m_Background;
|
protected bool m_Begun, m_Ready, m_Stopped, m_HaveCandidate, m_Background;
|
||||||
@@ -68,8 +68,9 @@ class ERR_Roadblocks
|
|||||||
protected float m_Shoulder;
|
protected float m_Shoulder;
|
||||||
protected bool m_Large;
|
protected bool m_Large;
|
||||||
protected int m_SmallTarget, m_LargeTarget, m_SmallPlaced, m_LargePlaced, m_MainRoadWidth;
|
protected int m_SmallTarget, m_LargeTarget, m_SmallPlaced, m_LargePlaced, m_MainRoadWidth;
|
||||||
protected SCR_AIGroup m_BuildGroup;
|
protected SCR_AIGroup m_BuildGroup, m_BuildLocalGroup;
|
||||||
protected AIWaypoint m_BuildHold;
|
protected int m_PostSerial;
|
||||||
|
protected AIWaypoint m_BuildHold, m_BuildLocalHold;
|
||||||
protected ref array<IEntity> m_BuildSpawned = {};
|
protected ref array<IEntity> m_BuildSpawned = {};
|
||||||
protected ref array<vector> m_BuildPositions = {};
|
protected ref array<vector> m_BuildPositions = {};
|
||||||
protected ref array<ref ERR_RoadblockProp> m_BuildCovers = {};
|
protected ref array<ref ERR_RoadblockProp> m_BuildCovers = {};
|
||||||
@@ -82,6 +83,7 @@ class ERR_Roadblocks
|
|||||||
void ERR_Roadblocks(ERR_GameMode mode) { m_Mode = mode; m_Mining = new ERR_RoadblockMining(mode); }
|
void ERR_Roadblocks(ERR_GameMode mode) { m_Mode = mode; m_Mining = new ERR_RoadblockMining(mode); }
|
||||||
void MineTick(array<ref ERR_HQUnit> units, array<IEntity> attempted, float now) { if (!m_Stopped) m_Mining.Tick(units, attempted, now); }
|
void MineTick(array<ref ERR_HQUnit> units, array<IEntity> attempted, float now) { if (!m_Stopped) m_Mining.Tick(units, attempted, now); }
|
||||||
bool Contains(SCR_AIGroup group) { return group && m_Groups.Contains(group); }
|
bool Contains(SCR_AIGroup group) { return group && m_Groups.Contains(group); }
|
||||||
|
bool LocalOnly(SCR_AIGroup group) { return group && m_LocalGroups.Contains(group); }
|
||||||
string Status()
|
string Status()
|
||||||
{
|
{
|
||||||
if (!m_Begun) return "Roadblocks: awaiting terrain preparation.";
|
if (!m_Begun) return "Roadblocks: awaiting terrain preparation.";
|
||||||
@@ -89,7 +91,7 @@ class ERR_Roadblocks
|
|||||||
if (m_Ready && m_Positions.Count() < m_Target) progress = "placement stopped; see server log";
|
if (m_Ready && m_Positions.Count() < m_Target) progress = "placement stopped; see server log";
|
||||||
if (m_Background) progress = "background placement pending";
|
if (m_Background) progress = "background placement pending";
|
||||||
else if (!m_Ready) progress = "initial placement in progress";
|
else if (!m_Ready) progress = "initial placement in progress";
|
||||||
return string.Format("Checkpoints: small %1/%2 (4 guards), large %3/%4 (8 guards). Main-road cutoff %5 m. No replacements. %6.", m_SmallPlaced, m_SmallTarget, m_LargePlaced, m_LargeTarget, m_MainRoadWidth, progress);
|
return string.Format("Checkpoints: small %1/%2 (4 guards), large %3/%4 (4 guards). Each post: 2 HQ responders, 2 local guards. Main-road cutoff %5 m. No replacements. %6.", m_SmallPlaced, m_SmallTarget, m_LargePlaced, m_LargeTarget, m_MainRoadWidth, progress);
|
||||||
}
|
}
|
||||||
protected ERR_PrepareResult Finish(string reason)
|
protected ERR_PrepareResult Finish(string reason)
|
||||||
{
|
{
|
||||||
@@ -256,7 +258,8 @@ class ERR_Roadblocks
|
|||||||
protected void CancelPost()
|
protected void CancelPost()
|
||||||
{
|
{
|
||||||
Rollback(m_BuildSpawned, m_BuildGroup);
|
Rollback(m_BuildSpawned, m_BuildGroup);
|
||||||
m_BuildSpawned.Clear(); m_BuildGroup = null; m_BuildHold = null;
|
ERR_Actors.DeleteSpawned(m_BuildLocalGroup);
|
||||||
|
m_BuildSpawned.Clear(); m_BuildGroup = null; m_BuildHold = null; m_BuildLocalGroup = null; m_BuildLocalHold = null;
|
||||||
m_BuildPositions.Clear(); m_BuildCovers.Clear();
|
m_BuildPositions.Clear(); m_BuildCovers.Clear();
|
||||||
}
|
}
|
||||||
// A free Game Master camera does not force-stream bare, non-editable props
|
// A free Game Master camera does not force-stream bare, non-editable props
|
||||||
@@ -265,7 +268,7 @@ class ERR_Roadblocks
|
|||||||
// Do not report a completed post if any physical prop lacks a network node.
|
// Do not report a completed post if any physical prop lacks a network node.
|
||||||
protected bool ShareProps()
|
protected bool ShareProps()
|
||||||
{
|
{
|
||||||
if (m_BuildCovers.Count() != ERR_RoadblockRules.PropCount(m_Large) || m_BuildSpawned.Count() != m_BuildPositions.Count() + m_BuildCovers.Count() + 1) return false;
|
if (m_BuildCovers.Count() != ERR_RoadblockRules.PropCount(m_Large) || m_BuildSpawned.Count() != m_BuildPositions.Count() + m_BuildCovers.Count() + 2) return false;
|
||||||
for (int i = m_BuildPositions.Count(); i < m_BuildPositions.Count() + m_BuildCovers.Count(); i++)
|
for (int i = m_BuildPositions.Count(); i < m_BuildPositions.Count() + m_BuildCovers.Count(); i++)
|
||||||
{
|
{
|
||||||
IEntity entity = m_BuildSpawned[i];
|
IEntity entity = m_BuildSpawned[i];
|
||||||
@@ -283,6 +286,15 @@ class ERR_Roadblocks
|
|||||||
protected void BuildPost()
|
protected void BuildPost()
|
||||||
{
|
{
|
||||||
if (!PlayersClear() || m_Mode.Forces().Count() >= 250) { CancelPost(); return; }
|
if (!PlayersClear() || m_Mode.Forces().Count() >= 250) { CancelPost(); return; }
|
||||||
|
// Separate native groups prevent HQ orders from pulling the local pair away.
|
||||||
|
// Create the second group on its own callback, within the same transaction.
|
||||||
|
if (!m_BuildLocalGroup)
|
||||||
|
{
|
||||||
|
m_BuildLocalGroup = SCR_AIGroup.Cast(ERR_Actors.Spawn("{EC9F1AA42D0B7863}Prefabs/ERR/PrisonPatrol.et", m_Centre));
|
||||||
|
if (!m_BuildLocalGroup) { CancelPost(); return; }
|
||||||
|
m_BuildLocalGroup.SetFaction(m_Mode.EnemyFaction()); m_BuildLocalGroup.SetSpawnImmediately(false); m_BuildLocalGroup.SetDeleteWhenEmpty(false); m_BuildLocalGroup.SetPermanentLOD(0);
|
||||||
|
return;
|
||||||
|
}
|
||||||
// One actor/prop/waypoint per callback. Recheck moving obstructions and
|
// One actor/prop/waypoint per callback. Recheck moving obstructions and
|
||||||
// player distance while the transaction is in progress; roll back on failure.
|
// player distance while the transaction is in progress; roll back on failure.
|
||||||
if (m_BuildActors < m_BuildPositions.Count())
|
if (m_BuildActors < m_BuildPositions.Count())
|
||||||
@@ -292,7 +304,10 @@ class ERR_Roadblocks
|
|||||||
IEntity actor = ERR_Actors.Spawn(m_Roster[m_BuildActors % m_Roster.Count()], point);
|
IEntity actor = ERR_Actors.Spawn(m_Roster[m_BuildActors % m_Roster.Count()], point);
|
||||||
if (!actor) { CancelPost(); return; }
|
if (!actor) { CancelPost(); return; }
|
||||||
m_BuildSpawned.Insert(actor);
|
m_BuildSpawned.Insert(actor);
|
||||||
if (!ERR_Actors.SetFaction(actor, m_Mode.EnemyFaction()) || !m_BuildGroup.AddAIEntityToGroup(actor)) { CancelPost(); return; }
|
// Alternate the roster and shoulders: each pair gets a guard on each side.
|
||||||
|
SCR_AIGroup guardGroup = m_BuildGroup;
|
||||||
|
if (m_BuildActors % 2 == 1) guardGroup = m_BuildLocalGroup;
|
||||||
|
if (!ERR_Actors.SetFaction(actor, m_Mode.EnemyFaction()) || !guardGroup.AddAIEntityToGroup(actor)) { CancelPost(); return; }
|
||||||
m_BuildActors++;
|
m_BuildActors++;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -312,29 +327,48 @@ class ERR_Roadblocks
|
|||||||
m_BuildSpawned.Insert(m_BuildHold); m_BuildHold.SetCompletionRadius(25);
|
m_BuildSpawned.Insert(m_BuildHold); m_BuildHold.SetCompletionRadius(25);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
if (!m_BuildLocalHold)
|
||||||
|
{
|
||||||
|
m_BuildLocalHold = AIWaypoint.Cast(ERR_Actors.Spawn(ERR_Resources.DefendWaypoint(), m_BuildPositions[1]));
|
||||||
|
if (!m_BuildLocalHold) { CancelPost(); return; }
|
||||||
|
m_BuildSpawned.Insert(m_BuildLocalHold); m_BuildLocalHold.SetCompletionRadius(25);
|
||||||
|
return;
|
||||||
|
}
|
||||||
if (!ShareProps())
|
if (!ShareProps())
|
||||||
{
|
{
|
||||||
PrintFormat("Reintroduced [roadblocks]: rejected post at %1; checkpoint props missing replication nodes", m_Centre);
|
PrintFormat("Reintroduced [roadblocks]: rejected post at %1; checkpoint props missing replication nodes", m_Centre);
|
||||||
CancelPost(); return;
|
CancelPost(); return;
|
||||||
}
|
}
|
||||||
string id = "roadblock-" + m_Positions.Count().ToString();
|
// Both pairs stay in the finite force ledger, but only one joins HQ. A failed
|
||||||
if (!m_Mode.Forces().Register(id, ERR_ForceKind.CHECKPOINT, m_Centre, m_BuildPositions.Count(), null, m_BuildGroup, GetGame().GetWorld().GetWorldTime()))
|
// second admission retires the first ID; a later attempt uses a fresh serial.
|
||||||
{ CancelPost(); return; }
|
m_PostSerial++;
|
||||||
|
string id = "roadblock-" + m_PostSerial.ToString();
|
||||||
|
int strength = m_BuildPositions.Count() / 2;
|
||||||
|
ERR_ForceRecord responders = m_Mode.Forces().Register(id, ERR_ForceKind.CHECKPOINT, m_Centre, strength, null, m_BuildGroup, GetGame().GetWorld().GetWorldTime());
|
||||||
|
if (!responders) { CancelPost(); return; }
|
||||||
|
if (!m_Mode.Forces().Register(id + "-local", ERR_ForceKind.CHECKPOINT, m_Centre, strength, null, m_BuildLocalGroup, GetGame().GetWorld().GetWorldTime()))
|
||||||
|
{
|
||||||
|
m_Mode.Forces().Unregister(responders.Id);
|
||||||
|
CancelPost(); return;
|
||||||
|
}
|
||||||
foreach (IEntity ownedEntity : m_BuildSpawned) m_Mode.Own(ownedEntity);
|
foreach (IEntity ownedEntity : m_BuildSpawned) m_Mode.Own(ownedEntity);
|
||||||
m_Mode.Own(m_BuildGroup); m_Groups.Insert(m_BuildGroup); m_Positions.Insert(m_Centre);
|
m_Mode.Own(m_BuildGroup); m_Groups.Insert(m_BuildGroup); m_Positions.Insert(m_Centre);
|
||||||
|
m_Mode.Own(m_BuildLocalGroup); m_LocalGroups.Insert(m_BuildLocalGroup);
|
||||||
if (m_Large) m_LargePlaced++; else m_SmallPlaced++;
|
if (m_Large) m_LargePlaced++; else m_SmallPlaced++;
|
||||||
|
m_BuildLocalGroup.AddWaypoint(m_BuildLocalHold);
|
||||||
m_BuildGroup.AddWaypoint(m_BuildHold);
|
m_BuildGroup.AddWaypoint(m_BuildHold);
|
||||||
m_Mode.RegisterGroup(m_BuildGroup); m_BuildGroup.ActivateAI();
|
m_Mode.RegisterGroup(m_BuildGroup); m_BuildGroup.ActivateAI();
|
||||||
|
m_Mode.RegisterGroup(m_BuildLocalGroup); m_BuildLocalGroup.ActivateAI();
|
||||||
m_Mining.Register(m_BuildGroup, m_BuildHold, m_Right);
|
m_Mining.Register(m_BuildGroup, m_BuildHold, m_Right);
|
||||||
PrintFormat("Reintroduced [roadblocks]: %1 at %2 large=%3 guards=%4 props=%5 networkedProps=%5 propStreaming=always roadPassage=open HQ=registered", id, m_Centre, m_Large, m_BuildPositions.Count(), m_BuildCovers.Count());
|
PrintFormat("Reintroduced [roadblocks]: %1 at %2 large=%3 guards=%4 props=%5 networkedProps=%5 propStreaming=always roadPassage=open HQ=2 local=2", id, m_Centre, m_Large, m_BuildPositions.Count(), m_BuildCovers.Count());
|
||||||
m_BuildSpawned.Clear(); m_BuildGroup = null; m_BuildHold = null;
|
m_BuildSpawned.Clear(); m_BuildGroup = null; m_BuildHold = null; m_BuildLocalGroup = null; m_BuildLocalHold = null;
|
||||||
m_BuildPositions.Clear(); m_BuildCovers.Clear();
|
m_BuildPositions.Clear(); m_BuildCovers.Clear();
|
||||||
m_NextSearch = System.GetTickCount() + 2000;
|
m_NextSearch = System.GetTickCount() + 2000;
|
||||||
}
|
}
|
||||||
protected vector GuardPosition(int side, int row)
|
protected vector GuardPosition(int side, int row)
|
||||||
{
|
{
|
||||||
float along = side * (row * 2 - 2.5);
|
float along = side * (row * 2 - 2.5);
|
||||||
if (m_Large) along = row * 6 - 9;
|
if (m_Large) along = row * 18 - 9;
|
||||||
return ERR_Actors.Ground(m_Centre + m_Right * (side * (m_Shoulder + 1.5)) + m_Forward * along);
|
return ERR_Actors.Ground(m_Centre + m_Right * (side * (m_Shoulder + 1.5)) + m_Forward * along);
|
||||||
}
|
}
|
||||||
// 0: reject, 1: awaiting native tile, 2: ready.
|
// 0: reject, 1: awaiting native tile, 2: ready.
|
||||||
|
|||||||
@@ -1076,7 +1076,7 @@ TextWidgetClass {
|
|||||||
|
|
||||||
} }
|
} }
|
||||||
FrameWidgetClass { "Is Visible" 0 Name "CheckpointsPage" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 220 OffsetLeft 220 PositionY 160 OffsetTop 160 SizeX 1000 OffsetRight -1220 SizeY 532 OffsetBottom -692 } {
|
FrameWidgetClass { "Is Visible" 0 Name "CheckpointsPage" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 220 OffsetLeft 220 PositionY 160 OffsetTop 160 SizeX 1000 OffsetRight -1220 SizeY 532 OffsetBottom -692 } {
|
||||||
TextWidgetClass { Name "CheckpointsHelp" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 28 OffsetLeft 28 PositionY 6 OffsetTop 6 SizeX 936 OffsetRight -964 SizeY 50 OffsetBottom -56 } Color 0.9 0.92 0.94 1 Text "Set counts separately for small and main-road checkpoints. Changes apply next round. Road width determines the type; unsuitable locations are skipped." "Font Size" 19 "Min Font Size" 19 Wrap 1 FontProperties FontProperties { Font "{3E7733BAC8C831F6}UI/Fonts/RobotoCondensed/RobotoCondensed_Regular.fnt" } }
|
TextWidgetClass { Name "CheckpointsHelp" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 28 OffsetLeft 28 PositionY 6 OffsetTop 6 SizeX 936 OffsetRight -964 SizeY 50 OffsetBottom -56 } Color 0.9 0.92 0.94 1 Text "Both sizes have four guards: two HQ responders and two local sentries outside HQ. Counts apply next round; road width selects the type." "Font Size" 19 "Min Font Size" 19 Wrap 1 FontProperties FontProperties { Font "{3E7733BAC8C831F6}UI/Fonts/RobotoCondensed/RobotoCondensed_Regular.fnt" } }
|
||||||
TextWidgetClass { Name "Label_roadblockCount" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 28 OffsetLeft 28 PositionY 66 OffsetTop 66 SizeX 456 OffsetRight -484 SizeY 26 OffsetBottom -92 } Color 0.9 0.92 0.94 1 Text "Small checkpoints (0-30; 0 off)" "Font Size" 20 "Min Font Size" 20 Wrap 1 FontProperties FontProperties { Font "{3E7733BAC8C831F6}UI/Fonts/RobotoCondensed/RobotoCondensed_Regular.fnt" } }
|
TextWidgetClass { Name "Label_roadblockCount" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 28 OffsetLeft 28 PositionY 66 OffsetTop 66 SizeX 456 OffsetRight -484 SizeY 26 OffsetBottom -92 } Color 0.9 0.92 0.94 1 Text "Small checkpoints (0-30; 0 off)" "Font Size" 20 "Min Font Size" 20 Wrap 1 FontProperties FontProperties { Font "{3E7733BAC8C831F6}UI/Fonts/RobotoCondensed/RobotoCondensed_Regular.fnt" } }
|
||||||
ButtonWidgetClass : "{DA43C77A0D1E59F8}UI/layouts/ERR/AdminValue.layout" { Name "roadblockCount" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 28 OffsetLeft 28 PositionY 96 OffsetTop 96 SizeX 130 OffsetRight -158 SizeY 38 OffsetBottom -134 } components { SCR_EditBoxComponent "{547290FFBD5B33E9}" { m_sLabel "" } } }
|
ButtonWidgetClass : "{DA43C77A0D1E59F8}UI/layouts/ERR/AdminValue.layout" { Name "roadblockCount" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 28 OffsetLeft 28 PositionY 96 OffsetTop 96 SizeX 130 OffsetRight -158 SizeY 38 OffsetBottom -134 } components { SCR_EditBoxComponent "{547290FFBD5B33E9}" { m_sLabel "" } } }
|
||||||
ButtonWidgetClass : "{75C912A1C89BE6C2}UI/layouts/WidgetLibrary/Buttons/WLib_ButtonText.layout" { Name "Apply_roadblockCount" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 170 OffsetLeft 170 PositionY 96 OffsetTop 96 SizeX 110 OffsetRight -280 SizeY 38 OffsetBottom -134 } components { SCR_ButtonTextComponent "{5548F0143AE99095}" { m_sText "Apply" } } }
|
ButtonWidgetClass : "{75C912A1C89BE6C2}UI/layouts/WidgetLibrary/Buttons/WLib_ButtonText.layout" { Name "Apply_roadblockCount" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 170 OffsetLeft 170 PositionY 96 OffsetTop 96 SizeX 110 OffsetRight -280 SizeY 38 OffsetBottom -134 } components { SCR_ButtonTextComponent "{5548F0143AE99095}" { m_sText "Apply" } } }
|
||||||
@@ -1086,7 +1086,7 @@ TextWidgetClass { Name "Label_largeRoadblockCount" Slot FrameWidgetSlot { Anchor
|
|||||||
ButtonWidgetClass : "{DA43C77A0D1E59F8}UI/layouts/ERR/AdminValue.layout" { Name "largeRoadblockCount" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 508 OffsetLeft 508 PositionY 96 OffsetTop 96 SizeX 130 OffsetRight -638 SizeY 38 OffsetBottom -134 } components { SCR_EditBoxComponent "{547290FFBD5B33E9}" { m_sLabel "" } } }
|
ButtonWidgetClass : "{DA43C77A0D1E59F8}UI/layouts/ERR/AdminValue.layout" { Name "largeRoadblockCount" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 508 OffsetLeft 508 PositionY 96 OffsetTop 96 SizeX 130 OffsetRight -638 SizeY 38 OffsetBottom -134 } components { SCR_EditBoxComponent "{547290FFBD5B33E9}" { m_sLabel "" } } }
|
||||||
ButtonWidgetClass : "{75C912A1C89BE6C2}UI/layouts/WidgetLibrary/Buttons/WLib_ButtonText.layout" { Name "Apply_largeRoadblockCount" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 650 OffsetLeft 650 PositionY 96 OffsetTop 96 SizeX 110 OffsetRight -760 SizeY 38 OffsetBottom -134 } components { SCR_ButtonTextComponent "{5548F0143AE99095}" { m_sText "Apply" } } }
|
ButtonWidgetClass : "{75C912A1C89BE6C2}UI/layouts/WidgetLibrary/Buttons/WLib_ButtonText.layout" { Name "Apply_largeRoadblockCount" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 650 OffsetLeft 650 PositionY 96 OffsetTop 96 SizeX 110 OffsetRight -760 SizeY 38 OffsetBottom -134 } components { SCR_ButtonTextComponent "{5548F0143AE99095}" { m_sText "Apply" } } }
|
||||||
TextWidgetClass { Name "Saved_largeRoadblockCount" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 508 OffsetLeft 508 PositionY 136 OffsetTop 136 SizeX 456 OffsetRight -964 SizeY 22 OffsetBottom -158 } Color 0.9 0.92 0.94 1 Text "Waiting for saved value" "Font Size" 16 "Min Font Size" 16 FontProperties FontProperties { Font "{3E7733BAC8C831F6}UI/Fonts/RobotoCondensed/RobotoCondensed_Regular.fnt" } }
|
TextWidgetClass { Name "Saved_largeRoadblockCount" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 508 OffsetLeft 508 PositionY 136 OffsetTop 136 SizeX 456 OffsetRight -964 SizeY 22 OffsetBottom -158 } Color 0.9 0.92 0.94 1 Text "Waiting for saved value" "Font Size" 16 "Min Font Size" 16 FontProperties FontProperties { Font "{3E7733BAC8C831F6}UI/Fonts/RobotoCondensed/RobotoCondensed_Regular.fnt" } }
|
||||||
TextWidgetClass { Name "Help_largeRoadblockCount" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 508 OffsetLeft 508 PositionY 160 OffsetTop 160 SizeX 456 OffsetRight -964 SizeY 32 OffsetBottom -192 } Color 0.9 0.92 0.94 1 Text "Eight guards, extended cover and approach barriers." "Font Size" 14 "Min Font Size" 14 Wrap 1 FontProperties FontProperties { Font "{3E7733BAC8C831F6}UI/Fonts/RobotoCondensed/RobotoCondensed_Regular.fnt" } }
|
TextWidgetClass { Name "Help_largeRoadblockCount" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 508 OffsetLeft 508 PositionY 160 OffsetTop 160 SizeX 456 OffsetRight -964 SizeY 32 OffsetBottom -192 } Color 0.9 0.92 0.94 1 Text "Four guards, extended cover and approach barriers." "Font Size" 14 "Min Font Size" 14 Wrap 1 FontProperties FontProperties { Font "{3E7733BAC8C831F6}UI/Fonts/RobotoCondensed/RobotoCondensed_Regular.fnt" } }
|
||||||
TextWidgetClass { Name "Label_mainRoadWidthMetres" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 28 OffsetLeft 28 PositionY 202 OffsetTop 202 SizeX 456 OffsetRight -484 SizeY 26 OffsetBottom -228 } Color 0.9 0.92 0.94 1 Text "Main-road minimum width (5-12 m)" "Font Size" 20 "Min Font Size" 20 Wrap 1 FontProperties FontProperties { Font "{3E7733BAC8C831F6}UI/Fonts/RobotoCondensed/RobotoCondensed_Regular.fnt" } }
|
TextWidgetClass { Name "Label_mainRoadWidthMetres" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 28 OffsetLeft 28 PositionY 202 OffsetTop 202 SizeX 456 OffsetRight -484 SizeY 26 OffsetBottom -228 } Color 0.9 0.92 0.94 1 Text "Main-road minimum width (5-12 m)" "Font Size" 20 "Min Font Size" 20 Wrap 1 FontProperties FontProperties { Font "{3E7733BAC8C831F6}UI/Fonts/RobotoCondensed/RobotoCondensed_Regular.fnt" } }
|
||||||
ButtonWidgetClass : "{DA43C77A0D1E59F8}UI/layouts/ERR/AdminValue.layout" { Name "mainRoadWidthMetres" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 28 OffsetLeft 28 PositionY 232 OffsetTop 232 SizeX 130 OffsetRight -158 SizeY 38 OffsetBottom -270 } components { SCR_EditBoxComponent "{547290FFBD5B33E9}" { m_sLabel "" } } }
|
ButtonWidgetClass : "{DA43C77A0D1E59F8}UI/layouts/ERR/AdminValue.layout" { Name "mainRoadWidthMetres" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 28 OffsetLeft 28 PositionY 232 OffsetTop 232 SizeX 130 OffsetRight -158 SizeY 38 OffsetBottom -270 } components { SCR_EditBoxComponent "{547290FFBD5B33E9}" { m_sLabel "" } } }
|
||||||
ButtonWidgetClass : "{75C912A1C89BE6C2}UI/layouts/WidgetLibrary/Buttons/WLib_ButtonText.layout" { Name "Apply_mainRoadWidthMetres" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 170 OffsetLeft 170 PositionY 232 OffsetTop 232 SizeX 110 OffsetRight -280 SizeY 38 OffsetBottom -270 } components { SCR_ButtonTextComponent "{5548F0143AE99095}" { m_sText "Apply" } } }
|
ButtonWidgetClass : "{75C912A1C89BE6C2}UI/layouts/WidgetLibrary/Buttons/WLib_ButtonText.layout" { Name "Apply_mainRoadWidthMetres" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 170 OffsetLeft 170 PositionY 232 OffsetTop 232 SizeX 110 OffsetRight -280 SizeY 38 OffsetBottom -270 } components { SCR_ButtonTextComponent "{5548F0143AE99095}" { m_sText "Apply" } } }
|
||||||
|
|||||||
@@ -51,9 +51,9 @@ Both counts can be disabled separately with zero; set both to zero to disable al
|
|||||||
|
|
||||||
Roads at or above the width cutoff get large checkpoints; roads below it get compact posts. This is a width classification from the terrain's road network, not a guaranteed asphalt/dirt or forest distinction. An exhausted or disabled quota cannot consume the other type's allowance. Both types share the existing minimum spacing, so they cannot overlap each other.
|
Roads at or above the width cutoff get large checkpoints; roads below it get compact posts. This is a width classification from the terrain's road network, not a guaranteed asphalt/dirt or forest distinction. An exhausted or disabled quota cannot consume the other type's allowance. Both types share the existing minimum spacing, so they cannot overlap each other.
|
||||||
|
|
||||||
Small checkpoints retain four guards, four sandbag walls, two approach barriers and two signs (about 17.8 m long). Large checkpoints have eight guards, eight sandbag walls, four approach barriers and two signs (about 42.8 m long), with four protected guard bays on each shoulder. Large candidates require at least 60 m of road and a straight clear approach. Both preserve a straight vehicle passage at least four metres wide.
|
Both checkpoint sizes have four guards: two HQ responders and two local sentries who hold the post outside HQ control. Small checkpoints retain four sandbag walls, two approach barriers and two signs (eight props, about 17.8 m long). Large checkpoints retain eight sandbag walls, four approach barriers and two signs (14 props, about 42.8 m long), with four protected bays on each shoulder. Large candidates require at least 60 m of road and a straight clear approach. Both preserve a straight vehicle passage at least four metres wide.
|
||||||
|
|
||||||
Soldiers come from the selected enemy faction, use normal equipment and physical radio reporting, and register with VirtualHQ at their actual four- or eight-soldier strength. They do not reveal player locations simply by spawning. Guards are not replaced after death. Every post is constructed one actor, prop or waypoint per callback; a failed or interrupted build rolls back without consuming either quota. At maximum settings the two types can create up to 360 guards and 660 replicated props; their default combined count is eight posts and 48 guards. The Status page reports placed/requested counts separately.
|
Soldiers come from the selected enemy faction and use normal equipment. Each post registers only its two responders with VirtualHQ; the two local sentries remain outside HQ control. Responders use physical radio reporting and do not reveal player locations simply by spawning. Guards are not replaced after death. Every post is constructed one actor, prop or waypoint per callback; a failed or interrupted build rolls back without consuming either quota. At maximum settings the two types can create up to 240 guards (120 HQ responders and 120 local sentries) and 660 replicated props; their default combined count is eight posts and 32 guards (16 HQ responders and 16 local sentries). The Status page reports placed/requested counts separately.
|
||||||
|
|
||||||
Placement uses the loaded terrain's road network and Soldiers navmesh after
|
Placement uses the loaded terrain's road network and Soldiers navmesh after
|
||||||
terrain/site preparation. The initial search yields after 12 seconds; unfinished
|
terrain/site preparation. The initial search yields after 12 seconds; unfinished
|
||||||
@@ -67,7 +67,7 @@ requested totals instead of preventing mission startup. The admin Status page
|
|||||||
also shows these totals. This is an interim checkpoint system, independent of the
|
also shows these totals. This is an interim checkpoint system, independent of the
|
||||||
existing HQ-directed road interceptions.
|
existing HQ-directed road interceptions.
|
||||||
|
|
||||||
The [1 November native checkpoint test](evidence/large-checkpoints-2026-11-01/native-checks.log) placed one small and one large post on Everon: 12 living guards, 22 replicated props, correct HQ strength, model footprints outside the centre passage, and separate completed quotas. The [menu/settings fixture](evidence/large-checkpoints-2026-11-01/menu/native-checks.log) saved and reloaded distinct counts and width, and measured the new controls’ native text bounds. It instantiates the generated layout directly; it does not claim human input, remote RPC delivery or screenshot acceptance. Both completed with unchanged inputs and cleanup; strict runners retain 13 existing resource/world errors and no script errors. Earlier failed iterations are recorded alongside the evidence. Full-load performance and multiplayer acceptance remain unmeasured.
|
The historical [1 November native checkpoint test](evidence/large-checkpoints-2026-11-01/native-checks.log) used the former four-guard small and eight-guard large layout, before the HQ/local split. It placed one of each on Everon: 12 living guards, 22 replicated props, correct HQ strength for that version, model footprints outside the centre passage, and separate completed quotas. It does not validate the current four-guard split. The historical [menu/settings fixture](evidence/large-checkpoints-2026-11-01/menu/native-checks.log) saved and reloaded distinct counts and width, and measured the controls’ native text bounds. It instantiates the generated layout directly; it does not claim human input, remote RPC delivery or screenshot acceptance. Both completed with unchanged inputs and cleanup; strict runners retain 13 existing resource/world errors and no script errors. Earlier failed iterations are recorded alongside the evidence. Full-load performance and multiplayer acceptance remain unmeasured.
|
||||||
|
|
||||||
Fresh settings now initialize both drone keys, including the valid 300-second cooldown; the missing cooldown previously prevented a fresh settings document from passing save/readback validation.
|
Fresh settings now initialize both drone keys, including the valid 300-second cooldown; the missing cooldown previously prevented a fresh settings document from passing save/readback validation.
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,8 @@
|
|||||||
|
{
|
||||||
|
"checked_utc": "2026-11-10T12:29:39.993627+00:00",
|
||||||
|
"private_prefix_idle": true,
|
||||||
|
"game_process_absent": true,
|
||||||
|
"initial_cleanup_had_transient_helper": 514577,
|
||||||
|
"helper_now_absent": true,
|
||||||
|
"note": "The initial cleanup check raced an exiting Wine helper; no additional process was signalled."
|
||||||
|
}
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
{
|
||||||
|
"cleanup_confirmed": false,
|
||||||
|
"idle_verified": false,
|
||||||
|
"errors": [
|
||||||
|
"idle verification: Disposable prefix already has a process (PID 514577); leave it untouched"
|
||||||
|
],
|
||||||
|
"orphan_cleanup": {
|
||||||
|
"attempted": false,
|
||||||
|
"reason": "noncanonical-private-prefix"
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,29 @@
|
|||||||
|
[
|
||||||
|
"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:/tmp/erri-ai-19/checkpoint_split_20261110/addon.gproj",
|
||||||
|
"-profile",
|
||||||
|
"Z:/tmp/erri-ai-19/checkpoint_split_20261110-profile",
|
||||||
|
"-logconsole",
|
||||||
|
"-noBackend",
|
||||||
|
"-noSound",
|
||||||
|
"-disableCrashReporter",
|
||||||
|
"-wbModule=ResourceManager",
|
||||||
|
"-exitAfterInit"
|
||||||
|
]
|
||||||
@@ -0,0 +1,242 @@
|
|||||||
|
---------------------------------------------
|
||||||
|
Log Z:\tmp\erri-ai-19\checkpoint_split_20261110-profile\logs\logs_2026-11-10_13-28-42\console.log started at 2026-11-10 13:28:42 (2026-11-10 12:28:42 UTC)
|
||||||
|
|
||||||
|
13:28:42.716 ENGINE : FileSystem: Adding relative directory 'Z:\tmp\erri-ai-19\checkpoint_split_20261110-profile\logs\logs_2026-11-10_13-28-42' to filesystem under name logs
|
||||||
|
13:28:42.716 ENGINE : FileSystem: Adding relative directory 'Z:\tmp\erri-ai-19\checkpoint_split_20261110-profile\profile' to filesystem under name profile
|
||||||
|
13:28:42.716 ENGINE : FileSystem: Current working directory: 'Z:\home\jakub\.local\share\Steam\steamapps\common\Arma Reforger Tools\Workbench\'
|
||||||
|
13:28:42.718 PROFILING : Workbench Create Engine took: 8.075500 ms
|
||||||
|
13:28:43.748 INIT : INIT : Workbench Init Engine
|
||||||
|
13:28:43.748 ENGINE : Initializing engine, version 193322
|
||||||
|
13:28:43.748 ENGINE : CLI Params: -gproj Z:/tmp/erri-ai-19/checkpoint_split_20261110/addon.gproj -profile Z:/tmp/erri-ai-19/checkpoint_split_20261110-profile -logconsole -noBackend -noSound -disableCrashReporter -wbModule ResourceManager -exitAfterInit
|
||||||
|
13:28:43.760 ENGINE : Addon dirs:
|
||||||
|
13:28:43.760 ENGINE : dir: 'Z:/tmp/erri-ai-19/checkpoint_split_20261110/'
|
||||||
|
13:28:43.760 ENGINE : dir: './addons'
|
||||||
|
13:28:43.760 ENGINE : dir: 'Z:/tmp/erri-ai-19/checkpoint_split_20261110-profile/addons'
|
||||||
|
13:28:43.760 ENGINE : Available addons:
|
||||||
|
13:28:43.760 ENGINE : gproj: 'Z:/tmp/erri-ai-19/checkpoint_split_20261110/addon.gproj' guid: '2528466DE220D91C'
|
||||||
|
13:28:43.760 ENGINE : gproj: './addons/core/core.gproj' guid: '5614BBCCBB55ED1C' (packed)
|
||||||
|
13:28:43.760 ENGINE : gproj: 'Z:/tmp/erri-ai-19/checkpoint_split_20261110-profile/addons/ArmaReforger/ArmaReforger.gproj' guid: '58D0FB3206B6F859' (packed)
|
||||||
|
13:28:43.760 ENGINE : gproj: 'Z:/tmp/erri-ai-19/checkpoint_split_20261110-profile/addons/ERRI_1337C0DE5DABBEEF/addon.gproj' guid: '1337C0DE5DABBEEF' (packed)
|
||||||
|
13:28:43.760 ENGINE : gproj: 'Z:/tmp/erri-ai-19/checkpoint_split_20261110-profile/addons/ERRI_595F2BF2F44836FB/addon.gproj' guid: '595F2BF2F44836FB' (packed)
|
||||||
|
13:28:43.760 ENGINE : gproj: 'Z:/tmp/erri-ai-19/checkpoint_split_20261110-profile/addons/ERRI_5E389BB9F58B79A6/addon.gproj' guid: '5E389BB9F58B79A6' (packed)
|
||||||
|
13:28:43.760 ENGINE : gproj: 'Z:/tmp/erri-ai-19/checkpoint_split_20261110-profile/addons/ERRI_5E524E4FEECCA92B/addon.gproj' guid: '5E524E4FEECCA92B' (packed)
|
||||||
|
13:28:43.760 ENGINE : gproj: 'Z:/tmp/erri-ai-19/checkpoint_split_20261110-profile/addons/ERRI_629B2BA37EFFD577/addon.gproj' guid: '629B2BA37EFFD577' (packed)
|
||||||
|
13:28:43.760 ENGINE : gproj: 'Z:/tmp/erri-ai-19/checkpoint_split_20261110-profile/addons/ERRI_65930CB4CD0237B2/addon.gproj' guid: '65930CB4CD0237B2' (packed)
|
||||||
|
13:28:43.760 ENGINE : gproj: 'Z:/tmp/erri-ai-19/checkpoint_split_20261110-profile/addons/ERRI_BADC0DEDABBEDA5E/addon.gproj' guid: 'BADC0DEDABBEDA5E' (packed)
|
||||||
|
13:28:43.762 ENGINE : FileSystem: Adding relative directory 'Z:\tmp\erri-ai-19\checkpoint_split_20261110' to filesystem under name ERR_Core
|
||||||
|
13:28:43.762 ENGINE : FileSystem: Adding package 'Z:/tmp/erri-ai-19/checkpoint_split_20261110-profile/addons/ERRI_65930CB4CD0237B2/' (pak count: 1) to filesystem under name Parachutes
|
||||||
|
13:28:43.763 ENGINE : FileSystem: Adding package 'Z:/tmp/erri-ai-19/checkpoint_split_20261110-profile/addons/ERRI_5E524E4FEECCA92B/' (pak count: 1) to filesystem under name WCS_BMP-1
|
||||||
|
13:28:43.764 ENGINE : FileSystem: Adding package 'Z:/tmp/erri-ai-19/checkpoint_split_20261110-profile/addons/ERRI_5E389BB9F58B79A6/' (pak count: 1) to filesystem under name WCS_SpaceCore
|
||||||
|
13:28:43.767 ENGINE : FileSystem: Adding package 'Z:/tmp/erri-ai-19/checkpoint_split_20261110-profile/addons/ERRI_629B2BA37EFFD577/' (pak count: 1) to filesystem under name WCS_Armaments
|
||||||
|
13:28:43.772 ENGINE : FileSystem: Adding package 'Z:/tmp/erri-ai-19/checkpoint_split_20261110-profile/addons/ERRI_595F2BF2F44836FB/' (pak count: 1) to filesystem under name RHS_Core
|
||||||
|
13:28:43.774 ENGINE : FileSystem: Adding package 'Z:/tmp/erri-ai-19/checkpoint_split_20261110-profile/addons/ERRI_BADC0DEDABBEDA5E/' (pak count: 2) to filesystem under name RHS_Content_02
|
||||||
|
13:28:43.781 ENGINE : FileSystem: Adding package 'Z:/tmp/erri-ai-19/checkpoint_split_20261110-profile/addons/ERRI_1337C0DE5DABBEEF/' (pak count: 4) to filesystem under name RHS_Content_01
|
||||||
|
13:28:43.902 ENGINE : FileSystem: Adding package 'Z:/tmp/erri-ai-19/checkpoint_split_20261110-profile/addons/ArmaReforger/' (pak count: 15) to filesystem under name ArmaReforger
|
||||||
|
13:28:43.907 ENGINE : FileSystem: Adding package './addons/core/' (pak count: 2) to filesystem under name core
|
||||||
|
13:28:43.907 ENGINE : CPU vendor : AuthenticAMD
|
||||||
|
13:28:43.907 ENGINE : CPU type : 2
|
||||||
|
13:28:43.907 ENGINE : CPU name : AMD Ryzen 7 3800XT 8-Core Processor
|
||||||
|
13:28:43.907 ENGINE : CPU cache info : L1 [Inst 32KB, Data 32KB], L2 [Unif 512KB], L3 [Unif 16384KB]
|
||||||
|
13:28:43.907 ENGINE : CPU count logical : 16
|
||||||
|
13:28:43.907 ENGINE : CPU count physical : 8
|
||||||
|
13:28:43.907 ENGINE : CPU features : mmx sse sse2 sse3 ssse3 sse4_1 sse4_2 popcnt aesni pclmulqdq osxsave avx sha avx2
|
||||||
|
13:28:43.907 RESOURCES : ResourceDB: loading cache (id=0 name=ERR_Core path=Z:\tmp\erri-ai-19\checkpoint_split_20261110/resourceDatabase.rdb)
|
||||||
|
13:28:43.907 RESOURCES : ResourceDB: loading cache (id=1 name=Parachutes path=Z:/tmp/erri-ai-19/checkpoint_split_20261110-profile/addons/ERRI_65930CB4CD0237B2/resourceDatabase.rdb)
|
||||||
|
13:28:43.908 RESOURCES : ResourceDB: loading cache (id=2 name=WCS_BMP-1 path=Z:/tmp/erri-ai-19/checkpoint_split_20261110-profile/addons/ERRI_5E524E4FEECCA92B/resourceDatabase.rdb)
|
||||||
|
13:28:43.908 RESOURCES : ResourceDB: loading cache (id=3 name=WCS_SpaceCore path=Z:/tmp/erri-ai-19/checkpoint_split_20261110-profile/addons/ERRI_5E389BB9F58B79A6/resourceDatabase.rdb)
|
||||||
|
13:28:43.909 RESOURCES : ResourceDB: loading cache (id=4 name=WCS_Armaments path=Z:/tmp/erri-ai-19/checkpoint_split_20261110-profile/addons/ERRI_629B2BA37EFFD577/resourceDatabase.rdb)
|
||||||
|
13:28:43.911 RESOURCES : ResourceDB: loading cache (id=5 name=RHS_Core path=Z:/tmp/erri-ai-19/checkpoint_split_20261110-profile/addons/ERRI_595F2BF2F44836FB/resourceDatabase.rdb)
|
||||||
|
13:28:43.922 RESOURCES : ResourceDB: loading cache (id=6 name=RHS_Content_02 path=Z:/tmp/erri-ai-19/checkpoint_split_20261110-profile/addons/ERRI_BADC0DEDABBEDA5E/resourceDatabase.rdb)
|
||||||
|
13:28:43.925 RESOURCES : ResourceDB: loading cache (id=7 name=RHS_Content_01 path=Z:/tmp/erri-ai-19/checkpoint_split_20261110-profile/addons/ERRI_1337C0DE5DABBEEF/resourceDatabase.rdb)
|
||||||
|
13:28:43.931 RESOURCES : ResourceDB: loading cache (id=8 name=ArmaReforger path=Z:/tmp/erri-ai-19/checkpoint_split_20261110-profile/addons/ArmaReforger/resourceDatabase.rdb)
|
||||||
|
13:28:44.066 RESOURCES : ResourceDB: loading cache (id=9 name=core path=./addons/core/resourceDatabase.rdb)
|
||||||
|
13:28:44.068 RESOURCES : ResourceDB: loading cache (id=10 name=profile path=Z:\tmp\erri-ai-19\checkpoint_split_20261110-profile\profile/resourceDatabase.rdb)
|
||||||
|
13:28:44.068 RESOURCES : ResourceDB: loading cache (id=11 name=logs path=Z:\tmp\erri-ai-19\checkpoint_split_20261110-profile\logs\logs_2026-11-10_13-28-42/resourceDatabase.rdb)
|
||||||
|
13:28:44.221 RESOURCES : RESOURCES : ResourceDB: full scan
|
||||||
|
13:28:44.227 RESOURCES : RESOURCES : scanning...
|
||||||
|
13:28:44.227 RESOURCES : RESOURCES : scanning @"ERR_Core"
|
||||||
|
13:28:44.239 RESOURCES : RESOURCES : scanning @"Parachutes"
|
||||||
|
13:28:44.242 RESOURCES : RESOURCES : scanning @"WCS_BMP-1"
|
||||||
|
13:28:44.244 RESOURCES : RESOURCES : scanning @"WCS_SpaceCore"
|
||||||
|
13:28:44.247 RESOURCES : RESOURCES : scanning @"WCS_Armaments"
|
||||||
|
13:28:44.252 RESOURCES : RESOURCES : scanning @"RHS_Core"
|
||||||
|
13:28:44.263 RESOURCES : RESOURCES : scanning @"RHS_Content_02"
|
||||||
|
13:28:44.266 RESOURCES : RESOURCES : scanning @"RHS_Content_01"
|
||||||
|
13:28:44.274 RESOURCES : RESOURCES : scanning @"ArmaReforger"
|
||||||
|
13:28:44.497 RESOURCES : RESOURCES : scanning @"core"
|
||||||
|
13:28:44.501 RESOURCES : RESOURCES : scanning @"profile"
|
||||||
|
13:28:44.501 RESOURCES : RESOURCES : scanning @"logs"
|
||||||
|
13:28:44.501 RESOURCES : RESOURCES : processing meta-files...
|
||||||
|
13:28:44.613 RESOURCES : 116151 meta-files cached, 161 loaded again
|
||||||
|
13:28:44.613 RESOURCES : RESOURCES : processing files...
|
||||||
|
13:28:44.613 INIT : Workbench startup
|
||||||
|
13:28:44.613 INIT : Workbench Init Engine
|
||||||
|
13:28:44.613 RESOURCES : ResourceDB: full scan
|
||||||
|
13:28:44.613 RESOURCES : processing files...
|
||||||
|
13:28:44.613 RESOURCES (W): resource not registered: @"$WCS_Armaments:Tools/VehicleMarkings/wear.json". Setting null GUID
|
||||||
|
13:28:44.613 RESOURCES (W): resource not registered: @"$RHS_Core:system/thermal/thermalProfileTreeCrownDefault.conf". Setting null GUID
|
||||||
|
13:28:44.627 RESOURCES : RESOURCES : processing folders...
|
||||||
|
13:28:44.635 RESOURCES : RESOURCES : creating GUID-item mapping...
|
||||||
|
13:28:44.651 RESOURCES : RESOURCES : building tree...
|
||||||
|
13:28:44.707 PROFILING : ResourceDB: full scan took: 486.184600 ms
|
||||||
|
13:28:44.708 RESOURCES : ResourceDB: saving cache (id=0 name=ERR_Core path=Z:\tmp\erri-ai-19\checkpoint_split_20261110/resourceDatabase.rdb)
|
||||||
|
13:28:44.710 RESOURCES : ResourceDB: written 38446/38446 bytes
|
||||||
|
13:28:44.710 RESOURCES : ResourceDB: cache successfully saved
|
||||||
|
13:28:44.710 RESOURCES : ResourceDB: saving cache (id=10 name=profile path=Z:\tmp\erri-ai-19\checkpoint_split_20261110-profile\profile/resourceDatabase.rdb)
|
||||||
|
13:28:44.712 RESOURCES : ResourceDB: written 51/51 bytes
|
||||||
|
13:28:44.712 RESOURCES : ResourceDB: cache successfully saved
|
||||||
|
13:28:44.712 RESOURCES : ResourceDB: saving cache (id=11 name=logs path=Z:\tmp\erri-ai-19\checkpoint_split_20261110-profile\logs\logs_2026-11-10_13-28-42/resourceDatabase.rdb)
|
||||||
|
13:28:44.713 RESOURCES : ResourceDB: written 81/81 bytes
|
||||||
|
13:28:44.713 RESOURCES : ResourceDB: cache successfully saved
|
||||||
|
13:28:44.713 ENGINE : GameProject load
|
||||||
|
13:28:44.713 ENGINE : Loaded addons:
|
||||||
|
13:28:44.713 ENGINE : gproj: './addons/core/core.gproj' guid: '5614BBCCBB55ED1C'
|
||||||
|
13:28:44.713 ENGINE : gproj: 'Z:/tmp/erri-ai-19/checkpoint_split_20261110-profile/addons/ArmaReforger/ArmaReforger.gproj' guid: '58D0FB3206B6F859'
|
||||||
|
13:28:44.713 ENGINE : gproj: 'Z:/tmp/erri-ai-19/checkpoint_split_20261110-profile/addons/ERRI_1337C0DE5DABBEEF/addon.gproj' guid: '1337C0DE5DABBEEF'
|
||||||
|
13:28:44.713 ENGINE : gproj: 'Z:/tmp/erri-ai-19/checkpoint_split_20261110-profile/addons/ERRI_BADC0DEDABBEDA5E/addon.gproj' guid: 'BADC0DEDABBEDA5E'
|
||||||
|
13:28:44.713 ENGINE : gproj: 'Z:/tmp/erri-ai-19/checkpoint_split_20261110-profile/addons/ERRI_595F2BF2F44836FB/addon.gproj' guid: '595F2BF2F44836FB'
|
||||||
|
13:28:44.713 ENGINE : gproj: 'Z:/tmp/erri-ai-19/checkpoint_split_20261110-profile/addons/ERRI_629B2BA37EFFD577/addon.gproj' guid: '629B2BA37EFFD577'
|
||||||
|
13:28:44.713 ENGINE : gproj: 'Z:/tmp/erri-ai-19/checkpoint_split_20261110-profile/addons/ERRI_5E389BB9F58B79A6/addon.gproj' guid: '5E389BB9F58B79A6'
|
||||||
|
13:28:44.713 ENGINE : gproj: 'Z:/tmp/erri-ai-19/checkpoint_split_20261110-profile/addons/ERRI_5E524E4FEECCA92B/addon.gproj' guid: '5E524E4FEECCA92B'
|
||||||
|
13:28:44.713 ENGINE : gproj: 'Z:/tmp/erri-ai-19/checkpoint_split_20261110-profile/addons/ERRI_65930CB4CD0237B2/addon.gproj' guid: '65930CB4CD0237B2'
|
||||||
|
13:28:44.713 ENGINE : gproj: 'Z:/tmp/erri-ai-19/checkpoint_split_20261110/addon.gproj' guid: '2528466DE220D91C'
|
||||||
|
13:28:44.715 ENGINE : GameProject load
|
||||||
|
13:28:44.715 INIT : GameProject load project data @"Z:/tmp/erri-ai-19/checkpoint_split_20261110-profile/addons/ERRI_595F2BF2F44836FB/addon.gproj"
|
||||||
|
13:28:44.715 RESOURCES (E): Wrong GUID/name for resource @"{0AFDD005CD669892}Language/rhs_localization.st" in property "StringTableSource"
|
||||||
|
13:28:44.715 INIT : GameProject load project data @"Z:/tmp/erri-ai-19/checkpoint_split_20261110-profile/addons/ERRI_629B2BA37EFFD577/addon.gproj"
|
||||||
|
13:28:44.715 RESOURCES (E): Wrong GUID/name for resource @"{41FA2A08B6971D4C}Language/wcs_armament_localization.st" in property "StringTableSource"
|
||||||
|
13:28:44.716 INIT : GameProject load project data @"Z:/tmp/erri-ai-19/checkpoint_split_20261110-profile/addons/ERRI_5E389BB9F58B79A6/addon.gproj"
|
||||||
|
13:28:44.716 RESOURCES (E): Wrong GUID/name for resource @"{84270E09F7A4A7A0}Language/wcs_spacecore_localization.st" in property "StringTableSource"
|
||||||
|
13:28:44.716 INIT : GameProject load project data @"Z:/tmp/erri-ai-19/checkpoint_split_20261110-profile/addons/ERRI_5E524E4FEECCA92B/addon.gproj"
|
||||||
|
13:28:44.716 RESOURCES (E): Wrong GUID/name for resource @"{E50E557B468C7073}Language/wcs_bmp1_localization.st" in property "StringTableSource"
|
||||||
|
13:28:44.717 ENGINE : Loading custom engine user config '$profile:.save/app1874910_user76561198020202999/settings/ReforgerEngineSettings.conf'
|
||||||
|
13:28:44.717 ENGINE : No Enfusion settings file loaded. Continuing with defaults
|
||||||
|
13:28:44.809 RENDER : (OK) Adapter 'AMD Radeon RX 6950 XT (RADV NAVI21)' supports feature level 12_0
|
||||||
|
13:28:44.810 RENDER : Basic screen setup:
|
||||||
|
13:28:44.810 RENDER : Back buffer format : TEXFMT_R8G8B8A8_SRGB (29)
|
||||||
|
13:28:44.810 RENDER : MSAA : none
|
||||||
|
13:28:44.822 RENDER : AMD AGS library initialized, version 6.1.0 x DLL 6.1.0
|
||||||
|
13:28:44.823 RENDER : Extendeded AMD info for AMD Radeon RX 6950 XT (RADV NAVI21) (primary device)
|
||||||
|
13:28:44.823 RENDER : * architecture RDNA2, 80 CUs, 40 WGPs (for RDNA), 64 ROPs
|
||||||
|
13:28:44.823 RENDER : * core clocks 2000 MHz, memory 1124 MHz
|
||||||
|
13:28:44.823 RENDER : * TFlops 20.5, memory bandwidth (562.0 GB/s)
|
||||||
|
13:28:44.823 RENDER : AMD AGS correctly initialized
|
||||||
|
13:28:44.823 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
|
||||||
|
13:28:44.823 RENDER : Detected output devices:
|
||||||
|
13:28:44.823 RENDER : * 1 device/s connected to AMD Radeon RX 6950 XT (RADV NAVI21):
|
||||||
|
13:28:44.823 RENDER : Generic Non-PnP Monitor (\\.\DISPLAY1), 1280x720 (offset 0x0), 30Hz
|
||||||
|
13:28:44.823 RENDER : Concurrent frames limit 2
|
||||||
|
13:28:44.896 RENDER : DX12 device successfully created by AMD AGS library
|
||||||
|
13:28:44.896 RENDER : * user markers not supported in this version AMD SW
|
||||||
|
13:28:44.896 RENDER : Graphics device features
|
||||||
|
13:28:44.896 RENDER : Needed:
|
||||||
|
13:28:44.896 RENDER : * Highest supported shader model: 6.8 (6.0 needed)
|
||||||
|
13:28:44.896 RENDER : Optional:
|
||||||
|
13:28:44.896 RENDER : * Allow tearing (VSYNC) : 1
|
||||||
|
13:28:44.896 RENDER : * 16 bits : 1
|
||||||
|
13:28:44.896 RENDER : * Resource heap tier : 3
|
||||||
|
13:28:44.896 RENDER : * Persistent heaps (DRED) : 1
|
||||||
|
13:28:44.896 RENDER : * DRED 1.2 is supported by compiler
|
||||||
|
13:28:44.916 RENDER : Main RT format setup.
|
||||||
|
13:28:44.916 RENDER : Main RT format for quality 0 : TEXFMT_R11G11B10_FLOAT (26)
|
||||||
|
13:28:44.916 RENDER : Main RT format for quality 1 : TEXFMT_R16G16B16A16_FLOAT (10)
|
||||||
|
13:28:44.918 ENGINE : Job system settings: coreCount=16, shortJobContextCount=16, shortJobThreadCount=15, longJobThreadCount=16
|
||||||
|
13:28:44.945 PROFILING : Settings changed took: 0.021800 ms
|
||||||
|
13:28:44.954 RENDER : RENDER : Reload shaders
|
||||||
|
13:28:44.954 RENDER : Enfusion shader version 37
|
||||||
|
13:28:44.954 INIT : INIT : ShaderListReload
|
||||||
|
13:28:44.954 PROFILING : ShaderListReload took: 0.000400 ms
|
||||||
|
13:28:45.248 RENDER : Loaded 4592 newer shader binaries
|
||||||
|
13:28:45.248 PROFILING : Reload shaders took: 294.118300 ms
|
||||||
|
13:28:45.248 ENGINE : Initializing inputs.
|
||||||
|
13:28:45.261 RENDER : Super resolution method available: AMD FSR 1
|
||||||
|
13:28:45.261 NETWORK : Initializing networking.
|
||||||
|
13:28:45.261 NETWORK : Using new GameRplScheduler.
|
||||||
|
13:28:45.262 SCRIPT : SCRIPT : Initializing scripts
|
||||||
|
13:28:45.262 SCRIPT : SCRIPT : ScriptProjectManager init
|
||||||
|
13:28:46.642 PROFILING : ScriptProjectManager init took: 1379.525200 ms
|
||||||
|
13:28:46.669 PROFILING : Initializing scripts took: 1407.415400 ms
|
||||||
|
13:28:46.685 BACKEND : Backend Services are disabled.
|
||||||
|
13:28:46.685 ENGINE : Enfusion engine successfully created.
|
||||||
|
13:28:46.685 PROFILING : Workbench Init Engine took: 2937.795700 ms
|
||||||
|
13:28:46.685 INIT : INIT : Workbench Create Game
|
||||||
|
13:28:46.721 GUI : Using default language (en_us)
|
||||||
|
13:28:46.721 GUI : Loading 'en_us' localization file.
|
||||||
|
13:28:46.721 INIT : INIT : Loading StringTable
|
||||||
|
13:28:46.753 PROFILING : Loading StringTable took: 31.534900 ms
|
||||||
|
13:28:46.753 SCRIPT : SCRIPT : Compiling GameLib scripts
|
||||||
|
13:28:46.806 SCRIPT : Module: Workbench; loaded 18x files; 36x classes; used 125K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE"; CRC32: 90ce0460
|
||||||
|
13:28:46.806 SCRIPT : Module: GameLib; loaded 513x files; 704x classes; used 887K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE"; CRC32: 35487d81
|
||||||
|
13:28:46.807 PROFILING : Compiling GameLib scripts took: 54.217200 ms
|
||||||
|
13:28:46.807 SCRIPT : SCRIPT : Compiling Game scripts
|
||||||
|
13:28:47.570 INIT : Workbench Create Game
|
||||||
|
13:28:47.570 SCRIPT : Compiling Game scripts
|
||||||
|
13:28:47.570 SCRIPT (W): @"Scripts/Game/Parachutes/ParachuteDeployed.c,7": Pointer type 'Physics' can only be used with local variables
|
||||||
|
13:28:47.746 SCRIPT (W): @"Scripts/Game/Components/Vehicles/RHS_VehicleAntennaComponent.c,82": Pointer type 'Animation' can only be used with local variables
|
||||||
|
13:28:48.078 SCRIPT (W): @"Scripts/Game/Editor/Components/EditableEntity/SCR_EditableEntityComponent.c,787": 'GetPlayerPlatformKind' is obsolete
|
||||||
|
13:28:48.078 SCRIPT (W): @"Scripts/Game/Editor/Components/EditableEntity/SCR_EditableEntityComponent.c,788": 'GetPlayerPlatformId' is obsolete
|
||||||
|
13:28:48.445 SCRIPT (W): @"Scripts/Game/ERR/00_Core/ERR_SiteService.c,363": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly.
|
||||||
|
13:28:48.460 SCRIPT (W): @"Scripts/Game/Workshop/SCR_AddonManager.c,876": 'GetRefCount' is obsolete: Will be removed
|
||||||
|
13:28:48.501 SCRIPT (W): @"Scripts/Game/Campaign/SCR_PlayerProfileManagerComponent.c,142": 'PlayerData' is obsolete
|
||||||
|
13:28:48.612 SCRIPT (W): @"Scripts/Game/Components/Magazines/SCR_MagazineComponent.c,134": Variable 'prefabPath' is not used
|
||||||
|
13:28:48.628 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,159": 'GetDSSession' is obsolete
|
||||||
|
13:28:48.628 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,162": 'RoomID' is obsolete
|
||||||
|
13:28:48.628 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,197": 'GetDSSession' is obsolete
|
||||||
|
13:28:48.628 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,201": 'RoomID' is obsolete
|
||||||
|
13:28:48.653 SCRIPT (W): @"Scripts/Game/ERR/00_Core/ERR_NativeVehicleSecurityProbe.c,77": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly.
|
||||||
|
13:28:48.662 SCRIPT (W): @"Scripts/Game/ERR/00_Core/ERR_CasualtyGroundSupport.c,21": 'GetBoneIndex' is obsolete: Use GetAnimation().GetBoneIndex() instead
|
||||||
|
13:28:48.730 SCRIPT (W): @"Scripts/Game/DataCollection/SCR_DataCollectorComponent.c,481": 'GetStorage' is obsolete
|
||||||
|
13:28:48.730 SCRIPT (W): @"Scripts/Game/DataCollection/SCR_DataCollectorComponent.c,483": 'GetOnlineWritePrivilege' is obsolete
|
||||||
|
13:28:48.732 SCRIPT (W): @"Scripts/Game/Utilities/SCR_PlayerIdentityUtils.c,20": 'GetPlayerIdentityId' is obsolete
|
||||||
|
13:28:48.762 SCRIPT (W): @"Scripts/Game/ERR/00_Core/ERR_NativeVehicleSecurityProbe.c,186": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly.
|
||||||
|
13:28:48.784 SCRIPT (W): @"Scripts/Game/ERR/00_Core/ERR_ExtractionService.c,311": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly.
|
||||||
|
13:28:48.784 SCRIPT (W): @"Scripts/Game/ERR/00_Core/ERR_ExtractionService.c,323": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly.
|
||||||
|
13:28:48.785 SCRIPT (W): @"Scripts/Game/UI/Menu/MainMenuUI.c,643": 'GetNotifyCount' is obsolete: Will be substitued by Notification Api.
|
||||||
|
13:28:48.785 SCRIPT (W): @"Scripts/Game/UI/Menu/MainMenuUI.c,645": 'GetNotifyItem' is obsolete: Will be substitued by Notification Api.
|
||||||
|
13:28:48.813 SCRIPT (W): @"Scripts/Game/ERR/00_Core/ERR_NativeTransportProbe.c,138": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly.
|
||||||
|
13:28:48.848 SCRIPT (W): @"Scripts/Game/DataCollection/PlayerData/SCR_PlayerData.c,210": 'PlayerData' is obsolete
|
||||||
|
13:28:49.207 SCRIPT : Module: WorkbenchGame; loaded 187x files; 692x classes; used 2796K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE"; CRC32: 53d2bfa5
|
||||||
|
13:28:49.214 SCRIPT : Module: Game; loaded 6917x files; 14355x classes; used 44987K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,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,WCS_DEFINES_ARMAMENTS,WCS_DEFINES_SPACECORE"; CRC32: aa7d2b68
|
||||||
|
13:28:49.265 PROFILING : Compiling Game scripts took: 2457.328100 ms
|
||||||
|
13:28:49.270 INIT : Creating game instance(ArmaReforgerScripted), version 1.9.0.37 built 2026-10-27 15:39:59 UTC.
|
||||||
|
13:28:49.333 ENGINE : Game successfully created.
|
||||||
|
13:28:49.334 PROFILING : Workbench Create Game took: 2648.889400 ms
|
||||||
|
13:28:49.341 DEFAULT : Using thumbnail cache directory: C:/users/steamuser/AppData/Local/Temp/Arma Reforger Workbench/Projects/ERR_Core/thumbnails
|
||||||
|
13:28:50.366 DEFAULT : Using autosave directory: C:/users/steamuser/AppData/Local/Temp/Arma Reforger Workbench/Projects/ERR_Core/autosaves
|
||||||
|
13:28:50.368 PROFILING : Workbench startup took: 7707.199000 ms
|
||||||
|
13:28:50.392 RESOURCES : ResourceDB: saving cache (id=0 name=ERR_Core path=Z:\tmp\erri-ai-19\checkpoint_split_20261110/resourceDatabase.rdb)
|
||||||
|
13:28:50.394 RESOURCES : ResourceDB: written 38446/38446 bytes
|
||||||
|
13:28:50.394 RESOURCES : ResourceDB: cache successfully saved
|
||||||
|
13:28:50.394 RESOURCES : ResourceDB: saving cache (id=10 name=profile path=Z:\tmp\erri-ai-19\checkpoint_split_20261110-profile\profile/resourceDatabase.rdb)
|
||||||
|
13:28:50.396 RESOURCES : ResourceDB: written 51/51 bytes
|
||||||
|
13:28:50.396 RESOURCES : ResourceDB: cache successfully saved
|
||||||
|
13:28:50.396 RESOURCES : ResourceDB: saving cache (id=11 name=logs path=Z:\tmp\erri-ai-19\checkpoint_split_20261110-profile\logs\logs_2026-11-10_13-28-42/resourceDatabase.rdb)
|
||||||
|
13:28:50.398 RESOURCES : ResourceDB: written 81/81 bytes
|
||||||
|
13:28:50.398 RESOURCES : ResourceDB: cache successfully saved
|
||||||
|
13:28:50.432 ENGINE : Game destroyed.
|
||||||
|
13:28:50.432 ENGINE : Game destroyed.
|
||||||
|
13:28:50.461 RESOURCES (E): ==== Resource leaks ====
|
||||||
|
13:28:50.461 RESOURCES (E): UI/Fonts/RobotoCondensed/RobotoCondensed_Regular.edds 1
|
||||||
|
13:28:50.461 RESOURCES (E): UI/Textures/Cursor/arrow_place_geometry_uiuc.edds 1
|
||||||
|
13:28:50.461 RESOURCES (E): UI/Textures/Cursor/arrow_transform_geometry_uiuc.edds 1
|
||||||
|
13:28:50.461 RESOURCES (E): UI/Textures/Cursor/cursors_atlas.edds 1
|
||||||
|
13:28:50.461 RESOURCES (E): UI/Textures/Cursor/arrow_objective_uiuc.edds 1
|
||||||
|
13:28:50.461 RESOURCES (E): UI/Textures/Cursor/arrow_waypoint_uiuc.edds 1
|
||||||
|
13:28:50.461 RESOURCES (E): UI/Textures/Cursor/arrow_rotate_uiuc.edds 1
|
||||||
|
13:28:50.461 RESOURCES (E): UI/Textures/Cursor/arrow_transform_snap_disabled_uiuc.edds 1
|
||||||
|
13:28:50.461 RESOURCES (E): UI/Textures/Cursor/arrow_transform_snap_uiuc.edds 1
|
||||||
|
13:28:50.461 RESOURCES (E): UI/Textures/Cursor/arrow_move_camera_uiuc.edds 1
|
||||||
|
13:28:50.461 RESOURCES (E): UI/Textures/Cursor/arrow_wait_uiuc.edds 1
|
||||||
|
13:28:50.461 RESOURCES (E): UI/Textures/Cursor/arrow_transform_disabled_uiuc.edds 1
|
||||||
|
13:28:50.461 RESOURCES (E): UI/Textures/Cursor/arrow_transform_uiuc.edds 1
|
||||||
|
13:28:50.461 RESOURCES (E): UI/Textures/Cursor/arrow_place_uiuc.edds 1
|
||||||
|
13:28:50.461 RESOURCES (E): UI/Textures/Cursor/arrow_select_uiuc.edds 1
|
||||||
|
13:28:50.461 RESOURCES (E): UI/Textures/Cursor/arrow_raw_uiuc.edds 1
|
||||||
|
13:28:50.461 RESOURCES (E): UI/Imagesets/Panels/Shadow/panels_fadedBackground-16-100_atlas.edds 1
|
||||||
|
13:28:50.461 RESOURCES (E): UI/Imagesets/Panels/Outline/panels_roundedOutline_atlas.edds 1
|
||||||
|
13:28:50.461 RESOURCES (E): UI/Imagesets/Panels/panels_roundedCorners_atlas.edds 1
|
||||||
|
13:28:50.461 RESOURCES (E): UI/Imagesets/WeaponInfo/panel_style_magazines.edds 1
|
||||||
|
13:28:50.462 RESOURCES (E): UI/Imagesets/debugUI.edds 1
|
||||||
|
13:28:50.462 RESOURCES (E): UI/Textures/WidgetLibrary/ScrollBarRectangles.edds 1
|
||||||
|
13:28:50.462 RESOURCES (E): UI/Imagesets/default.edds 1
|
||||||
|
13:28:50.462 RESOURCES (E): ui/fonts/robotomono_msdf_28.edds 1
|
||||||
@@ -0,0 +1,25 @@
|
|||||||
|
from pathlib import Path
|
||||||
|
import sys,os,subprocess,json,fcntl,time
|
||||||
|
sys.path.insert(0,'/home/jakub/devel/escapistsrereintroduced/tools')
|
||||||
|
from headless_game import assert_no_game,assert_prefix_idle,cleanup_owned_run
|
||||||
|
base=Path('/tmp/erri-ai-19'); target=sys.argv[1] if len(sys.argv)>1 else 'indexed'; compat=base/'compat'; steam=Path.home()/'.local/share/Steam'; proton=steam/'steamapps/common/Proton - Experimental/proton'
|
||||||
|
lock=(compat/'.erri-workbench.lock').open('a');fcntl.flock(lock,fcntl.LOCK_EX|fcntl.LOCK_NB); assert_no_game(); assert_prefix_idle(compat)
|
||||||
|
cmd=['gamescope','--backend','headless','-W','1280','-H','720','-w','1280','-h','720','-r','30','--',str(proton),'run',str(steam/'steamapps/common/Arma Reforger Tools/Workbench/ArmaReforgerWorkbenchSteamDiag.exe'),'-gproj','Z:'+str(base/target/'addon.gproj'),'-profile','Z:'+str(base/(target+'-profile')),'-logconsole','-noBackend','-noSound','-disableCrashReporter','-wbModule=ResourceManager','-exitAfterInit']
|
||||||
|
env=os.environ.copy();env.update(STEAM_COMPAT_DATA_PATH=str(compat),STEAM_COMPAT_CLIENT_INSTALL_PATH=str(steam),WINEPREFIX=str(compat/'pfx'))
|
||||||
|
profile=base/(target+'-profile'); (profile/'addons').mkdir(parents=True,exist_ok=True)
|
||||||
|
if not (profile/'addons/ArmaReforger').exists():(profile/'addons/ArmaReforger').symlink_to(steam/'steamapps/common/Arma Reforger/addons/data',target_is_directory=True)
|
||||||
|
(base/(target+'-command.json')).write_text(json.dumps(cmd,indent=2))
|
||||||
|
with (base/(target+'-launch.log')).open('w') as log:
|
||||||
|
started=time.time(); p=subprocess.Popen(cmd,stdout=log,stderr=subprocess.STDOUT,env=env,cwd=steam/'steamapps/common/Arma Reforger Tools/Workbench',start_new_session=True)
|
||||||
|
try:
|
||||||
|
deadline=time.monotonic()+90
|
||||||
|
while p.poll() is None and time.monotonic()<deadline:
|
||||||
|
logs=sorted(p for p in profile.glob("logs/logs_*/console.log") if p.stat().st_mtime >= started)
|
||||||
|
content=logs[-1].read_text(errors="replace") if logs else ""
|
||||||
|
if "Cannot initialize game project settings" in content or "Can't compile" in content: break
|
||||||
|
if (base/target/"resourceDatabase.rdb").is_file() and "Creating game instance(ArmaReforgerScripted)" in content:
|
||||||
|
time.sleep(3); break
|
||||||
|
time.sleep(1)
|
||||||
|
except subprocess.TimeoutExpired:pass
|
||||||
|
finally:(base/(target+'-cleanup.json')).write_text(json.dumps(cleanup_owned_run(p,proton,env,compat),indent=2))
|
||||||
|
print((base/(target+'-cleanup.json')).read_text());print('index exists:',(base/target/'resourceDatabase.rdb').is_file())
|
||||||
@@ -0,0 +1,118 @@
|
|||||||
|
[gamescope] [[0;34mInfo[0m] [0;37mconsole:[0m gamescope version 3.17.0 (gcc 16.2.1)
|
||||||
|
No CAP_SYS_NICE, falling back to regular-priority compute and threads.
|
||||||
|
Performance will be affected.
|
||||||
|
[gamescope] [[0;34mInfo[0m] [0;37mscriptmgr:[0m Loading scripts from: '/usr/share/gamescope/scripts'
|
||||||
|
[gamescope] [[0;34mInfo[0m] [0;37mscriptmgr:[0m Loading scripts from: '/usr/share/gamescope/scripts/00-gamescope'
|
||||||
|
[gamescope] [[0;34mInfo[0m] [0;37mscriptmgr:[0m Loading scripts from: '/usr/share/gamescope/scripts/00-gamescope/common'
|
||||||
|
[gamescope] [[0;34mInfo[0m] [0;37mscriptmgr:[0m Running script file '/usr/share/gamescope/scripts/00-gamescope/common/inspect.lua' (id: 0)
|
||||||
|
[gamescope] [[0;34mInfo[0m] [0;37mscriptmgr:[0m Running script file '/usr/share/gamescope/scripts/00-gamescope/common/modegen.lua' (id: 1)
|
||||||
|
[gamescope] [[0;34mInfo[0m] [0;37mscriptmgr:[0m Running script file '/usr/share/gamescope/scripts/00-gamescope/common/util.lua' (id: 2)
|
||||||
|
[gamescope] [[0;34mInfo[0m] [0;37mscriptmgr:[0m Loading scripts from: '/usr/share/gamescope/scripts/00-gamescope/displays'
|
||||||
|
[gamescope] [[0;34mInfo[0m] [0;37mscriptmgr:[0m Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/asus.rogally.lcd.lua' (id: 3)
|
||||||
|
[gamescope] [[0;34mInfo[0m] [0;37mscriptmgr:[0m Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/asus.rogallyx20.oled.lua' (id: 4)
|
||||||
|
[gamescope] [[0;34mInfo[0m] [0;37mscriptmgr:[0m Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/deckhd.steamdeck.deckhd-lcd.lua' (id: 5)
|
||||||
|
[gamescope] [[0;34mInfo[0m] [0;37mscriptmgr:[0m Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/gpd.win4.lcd.lua' (id: 6)
|
||||||
|
[gamescope] [[0;34mInfo[0m] [0;37mscriptmgr:[0m Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/lenovo.legiongo.lcd.lua' (id: 7)
|
||||||
|
[gamescope] [[0;34mInfo[0m] [0;37mscriptmgr:[0m Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/lenovo.legiongo2.oled.lua' (id: 8)
|
||||||
|
[gamescope] [[0;34mInfo[0m] [0;37mscriptmgr:[0m Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/lenovo.legiongos.lcd.lua' (id: 9)
|
||||||
|
[gamescope] [[0;34mInfo[0m] [0;37mscriptmgr:[0m Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/onexplayer.f1.oled.lua' (id: 10)
|
||||||
|
[gamescope] [[0;34mInfo[0m] [0;37mscriptmgr:[0m Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/valve.steamdeck.lcd.lua' (id: 11)
|
||||||
|
[gamescope] [[0;34mInfo[0m] [0;37mscriptmgr:[0m Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/valve.steamdeck.oled.lua' (id: 12)
|
||||||
|
[gamescope] [[0;34mInfo[0m] [0;37mscriptmgr:[0m Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/zotac.zone.oled.lua' (id: 13)
|
||||||
|
[gamescope] [[0;34mInfo[0m] [0;37mscriptmgr:[0m Loading scripts from: '/etc/gamescope/scripts'
|
||||||
|
[gamescope] [[0;33mWarn[0m] [0;37mscriptmgr:[0m Directory '/etc/gamescope/scripts' does not exist
|
||||||
|
[gamescope] [[0;34mInfo[0m] [0;37mscriptmgr:[0m Loading scripts from: '/home/jakub/.config/gamescope/scripts'
|
||||||
|
[gamescope] [[0;33mWarn[0m] [0;37mscriptmgr:[0m Directory '/home/jakub/.config/gamescope/scripts' does not exist
|
||||||
|
[gamescope] [[0;34mInfo[0m] [0;37mvulkan:[0m selecting physical device 'AMD Radeon RX 6950 XT (RADV NAVI21)': queue family 1 (general queue family 0)
|
||||||
|
[gamescope] [[0;34mInfo[0m] [0;37mvulkan:[0m physical device supports DRM format modifiers
|
||||||
|
[gamescope] [[0;34mInfo[0m] [0;37mwlserver:[0m [backend/headless/backend.c:60] Creating headless backend
|
||||||
|
[gamescope] [[0;34mInfo[0m] [0;37mvulkan:[0m supported DRM formats for sampling usage:
|
||||||
|
[gamescope] [[0;34mInfo[0m] [0;37mvulkan:[0m AR24 (0x34325241)
|
||||||
|
[gamescope] [[0;34mInfo[0m] [0;37mvulkan:[0m XR24 (0x34325258)
|
||||||
|
[gamescope] [[0;34mInfo[0m] [0;37mvulkan:[0m AB24 (0x34324241)
|
||||||
|
[gamescope] [[0;34mInfo[0m] [0;37mvulkan:[0m XB24 (0x34324258)
|
||||||
|
[gamescope] [[0;34mInfo[0m] [0;37mvulkan:[0m RG16 (0x36314752)
|
||||||
|
[gamescope] [[0;34mInfo[0m] [0;37mvulkan:[0m NV12 (0x3231564E)
|
||||||
|
[gamescope] [[0;34mInfo[0m] [0;37mvulkan:[0m AB4H (0x48344241)
|
||||||
|
[gamescope] [[0;34mInfo[0m] [0;37mvulkan:[0m XB4H (0x48344258)
|
||||||
|
[gamescope] [[0;34mInfo[0m] [0;37mvulkan:[0m AB48 (0x38344241)
|
||||||
|
[gamescope] [[0;34mInfo[0m] [0;37mvulkan:[0m XB48 (0x38344258)
|
||||||
|
[gamescope] [[0;34mInfo[0m] [0;37mvulkan:[0m AB30 (0x30334241)
|
||||||
|
[gamescope] [[0;34mInfo[0m] [0;37mvulkan:[0m XB30 (0x30334258)
|
||||||
|
[gamescope] [[0;34mInfo[0m] [0;37mvulkan:[0m AR30 (0x30335241)
|
||||||
|
[gamescope] [[0;34mInfo[0m] [0;37mvulkan:[0m XR30 (0x30335258)
|
||||||
|
[gamescope] [[0;34mInfo[0m] [0;37mwlserver:[0m Using explicit sync when available
|
||||||
|
[gamescope] [[0;34mInfo[0m] [0;37mwlserver:[0m Running compositor on wayland display 'gamescope-0'
|
||||||
|
[gamescope] [[0;34mInfo[0m] [0;37mwlserver:[0m [backend/headless/backend.c:17] Starting headless backend
|
||||||
|
[gamescope] [[0;34mInfo[0m] [0;37mwlserver:[0m Successfully initialized libei for input emulation!
|
||||||
|
[gamescope] [[0;31mError[0m] [0;37mwlserver:[0m [xwayland/sockets.c:47] Failed to bind socket @/tmp/.X11-unix/X0: Address already in use
|
||||||
|
[gamescope] [[0;34mInfo[0m] [0;37mwlserver:[0m [xwayland/server.c:108] Starting Xwayland on :3
|
||||||
|
[gamescope] [[0;34mInfo[0m] [0;37mpipewire:[0m stream state changed: connecting
|
||||||
|
[gamescope] [[0;34mInfo[0m] [0;37mpipewire:[0m stream state changed: paused
|
||||||
|
[gamescope] [[0;34mInfo[0m] [0;37mpipewire:[0m stream available on node ID: 150
|
||||||
|
[gamescope] [[0;34mInfo[0m] [0;37mvblank:[0m Using timerfd.
|
||||||
|
fsync: up and running.
|
||||||
|
[Gamescope WSI] No application info given.
|
||||||
|
[Gamescope WSI] Executable name: explorer.exe
|
||||||
|
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: xalia.exe
|
||||||
|
applicationVersion: 0
|
||||||
|
pEngineName: DXVK
|
||||||
|
engineVersion: 12587009
|
||||||
|
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: 12587009
|
||||||
|
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.
|
||||||
|
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: 12587009
|
||||||
|
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: 8
|
||||||
|
layer client flags: 0x4
|
||||||
|
server hdr output enabled: false
|
||||||
|
hdr formats exposed to client: false
|
||||||
@@ -0,0 +1,76 @@
|
|||||||
|
{
|
||||||
|
"full_game_module_compiled": true,
|
||||||
|
"engine_version": "1.9.0.37",
|
||||||
|
"game_instance_created": true,
|
||||||
|
"script_errors": [],
|
||||||
|
"script_warnings": [
|
||||||
|
"13:28:47.570 SCRIPT (W): @\"Scripts/Game/Parachutes/ParachuteDeployed.c,7\": Pointer type 'Physics' can only be used with local variables",
|
||||||
|
"13:28:47.746 SCRIPT (W): @\"Scripts/Game/Components/Vehicles/RHS_VehicleAntennaComponent.c,82\": Pointer type 'Animation' can only be used with local variables",
|
||||||
|
"13:28:48.078 SCRIPT (W): @\"Scripts/Game/Editor/Components/EditableEntity/SCR_EditableEntityComponent.c,787\": 'GetPlayerPlatformKind' is obsolete",
|
||||||
|
"13:28:48.078 SCRIPT (W): @\"Scripts/Game/Editor/Components/EditableEntity/SCR_EditableEntityComponent.c,788\": 'GetPlayerPlatformId' is obsolete",
|
||||||
|
"13:28:48.445 SCRIPT (W): @\"Scripts/Game/ERR/00_Core/ERR_SiteService.c,363\": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly.",
|
||||||
|
"13:28:48.460 SCRIPT (W): @\"Scripts/Game/Workshop/SCR_AddonManager.c,876\": 'GetRefCount' is obsolete: Will be removed",
|
||||||
|
"13:28:48.501 SCRIPT (W): @\"Scripts/Game/Campaign/SCR_PlayerProfileManagerComponent.c,142\": 'PlayerData' is obsolete",
|
||||||
|
"13:28:48.612 SCRIPT (W): @\"Scripts/Game/Components/Magazines/SCR_MagazineComponent.c,134\": Variable 'prefabPath' is not used",
|
||||||
|
"13:28:48.628 SCRIPT (W): @\"Scripts/Game/UI/Backend/CareerBackend.c,159\": 'GetDSSession' is obsolete",
|
||||||
|
"13:28:48.628 SCRIPT (W): @\"Scripts/Game/UI/Backend/CareerBackend.c,162\": 'RoomID' is obsolete",
|
||||||
|
"13:28:48.628 SCRIPT (W): @\"Scripts/Game/UI/Backend/CareerBackend.c,197\": 'GetDSSession' is obsolete",
|
||||||
|
"13:28:48.628 SCRIPT (W): @\"Scripts/Game/UI/Backend/CareerBackend.c,201\": 'RoomID' is obsolete",
|
||||||
|
"13:28:48.653 SCRIPT (W): @\"Scripts/Game/ERR/00_Core/ERR_NativeVehicleSecurityProbe.c,77\": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly.",
|
||||||
|
"13:28:48.662 SCRIPT (W): @\"Scripts/Game/ERR/00_Core/ERR_CasualtyGroundSupport.c,21\": 'GetBoneIndex' is obsolete: Use GetAnimation().GetBoneIndex() instead",
|
||||||
|
"13:28:48.730 SCRIPT (W): @\"Scripts/Game/DataCollection/SCR_DataCollectorComponent.c,481\": 'GetStorage' is obsolete",
|
||||||
|
"13:28:48.730 SCRIPT (W): @\"Scripts/Game/DataCollection/SCR_DataCollectorComponent.c,483\": 'GetOnlineWritePrivilege' is obsolete",
|
||||||
|
"13:28:48.732 SCRIPT (W): @\"Scripts/Game/Utilities/SCR_PlayerIdentityUtils.c,20\": 'GetPlayerIdentityId' is obsolete",
|
||||||
|
"13:28:48.762 SCRIPT (W): @\"Scripts/Game/ERR/00_Core/ERR_NativeVehicleSecurityProbe.c,186\": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly.",
|
||||||
|
"13:28:48.784 SCRIPT (W): @\"Scripts/Game/ERR/00_Core/ERR_ExtractionService.c,311\": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly.",
|
||||||
|
"13:28:48.784 SCRIPT (W): @\"Scripts/Game/ERR/00_Core/ERR_ExtractionService.c,323\": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly.",
|
||||||
|
"13:28:48.785 SCRIPT (W): @\"Scripts/Game/UI/Menu/MainMenuUI.c,643\": 'GetNotifyCount' is obsolete: Will be substitued by Notification Api.",
|
||||||
|
"13:28:48.785 SCRIPT (W): @\"Scripts/Game/UI/Menu/MainMenuUI.c,645\": 'GetNotifyItem' is obsolete: Will be substitued by Notification Api.",
|
||||||
|
"13:28:48.813 SCRIPT (W): @\"Scripts/Game/ERR/00_Core/ERR_NativeTransportProbe.c,138\": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly.",
|
||||||
|
"13:28:48.848 SCRIPT (W): @\"Scripts/Game/DataCollection/PlayerData/SCR_PlayerData.c,210\": 'PlayerData' is obsolete"
|
||||||
|
],
|
||||||
|
"resource_errors": [
|
||||||
|
"13:28:44.715 RESOURCES (E): Wrong GUID/name for resource @\"{0AFDD005CD669892}Language/rhs_localization.st\" in property \"StringTableSource\"",
|
||||||
|
"13:28:44.715 RESOURCES (E): Wrong GUID/name for resource @\"{41FA2A08B6971D4C}Language/wcs_armament_localization.st\" in property \"StringTableSource\"",
|
||||||
|
"13:28:44.716 RESOURCES (E): Wrong GUID/name for resource @\"{84270E09F7A4A7A0}Language/wcs_spacecore_localization.st\" in property \"StringTableSource\"",
|
||||||
|
"13:28:44.716 RESOURCES (E): Wrong GUID/name for resource @\"{E50E557B468C7073}Language/wcs_bmp1_localization.st\" in property \"StringTableSource\"",
|
||||||
|
"13:28:50.461 RESOURCES (E): ==== Resource leaks ====",
|
||||||
|
"13:28:50.461 RESOURCES (E): UI/Fonts/RobotoCondensed/RobotoCondensed_Regular.edds 1",
|
||||||
|
"13:28:50.461 RESOURCES (E): UI/Textures/Cursor/arrow_place_geometry_uiuc.edds 1",
|
||||||
|
"13:28:50.461 RESOURCES (E): UI/Textures/Cursor/arrow_transform_geometry_uiuc.edds 1",
|
||||||
|
"13:28:50.461 RESOURCES (E): UI/Textures/Cursor/cursors_atlas.edds 1",
|
||||||
|
"13:28:50.461 RESOURCES (E): UI/Textures/Cursor/arrow_objective_uiuc.edds 1",
|
||||||
|
"13:28:50.461 RESOURCES (E): UI/Textures/Cursor/arrow_waypoint_uiuc.edds 1",
|
||||||
|
"13:28:50.461 RESOURCES (E): UI/Textures/Cursor/arrow_rotate_uiuc.edds 1",
|
||||||
|
"13:28:50.461 RESOURCES (E): UI/Textures/Cursor/arrow_transform_snap_disabled_uiuc.edds 1",
|
||||||
|
"13:28:50.461 RESOURCES (E): UI/Textures/Cursor/arrow_transform_snap_uiuc.edds 1",
|
||||||
|
"13:28:50.461 RESOURCES (E): UI/Textures/Cursor/arrow_move_camera_uiuc.edds 1",
|
||||||
|
"13:28:50.461 RESOURCES (E): UI/Textures/Cursor/arrow_wait_uiuc.edds 1",
|
||||||
|
"13:28:50.461 RESOURCES (E): UI/Textures/Cursor/arrow_transform_disabled_uiuc.edds 1",
|
||||||
|
"13:28:50.461 RESOURCES (E): UI/Textures/Cursor/arrow_transform_uiuc.edds 1",
|
||||||
|
"13:28:50.461 RESOURCES (E): UI/Textures/Cursor/arrow_place_uiuc.edds 1",
|
||||||
|
"13:28:50.461 RESOURCES (E): UI/Textures/Cursor/arrow_select_uiuc.edds 1",
|
||||||
|
"13:28:50.461 RESOURCES (E): UI/Textures/Cursor/arrow_raw_uiuc.edds 1",
|
||||||
|
"13:28:50.461 RESOURCES (E): UI/Imagesets/Panels/Shadow/panels_fadedBackground-16-100_atlas.edds 1",
|
||||||
|
"13:28:50.461 RESOURCES (E): UI/Imagesets/Panels/Outline/panels_roundedOutline_atlas.edds 1",
|
||||||
|
"13:28:50.461 RESOURCES (E): UI/Imagesets/Panels/panels_roundedCorners_atlas.edds 1",
|
||||||
|
"13:28:50.461 RESOURCES (E): UI/Imagesets/WeaponInfo/panel_style_magazines.edds 1",
|
||||||
|
"13:28:50.462 RESOURCES (E): UI/Imagesets/debugUI.edds 1",
|
||||||
|
"13:28:50.462 RESOURCES (E): UI/Textures/WidgetLibrary/ScrollBarRectangles.edds 1",
|
||||||
|
"13:28:50.462 RESOURCES (E): UI/Imagesets/default.edds 1",
|
||||||
|
"13:28:50.462 RESOURCES (E): ui/fonts/robotomono_msdf_28.edds 1"
|
||||||
|
],
|
||||||
|
"warning_count": 26,
|
||||||
|
"snapshot_source_changed": [],
|
||||||
|
"checkout_source_changed": [],
|
||||||
|
"cleanup_followup": {
|
||||||
|
"checked_utc": "2026-11-10T12:29:39.993627+00:00",
|
||||||
|
"private_prefix_idle": true,
|
||||||
|
"game_process_absent": true,
|
||||||
|
"initial_cleanup_had_transient_helper": 514577,
|
||||||
|
"helper_now_absent": true,
|
||||||
|
"note": "The initial cleanup check raced an exiting Wine helper; no additional process was signalled."
|
||||||
|
},
|
||||||
|
"console_sha256": "7a7838a9100d0f10a54194a8c24684d6f5c56dc95d5728e2cdc3c53e68452b45",
|
||||||
|
"scope": "Full core Workbench script compilation/indexing with declared installed dependencies; no native checkpoint gameplay/performance smoke, no publishing or deployment."
|
||||||
|
}
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
{
|
||||||
|
"cleanup_confirmed": true,
|
||||||
|
"idle_verified": true,
|
||||||
|
"errors": [],
|
||||||
|
"orphan_cleanup": {
|
||||||
|
"attempted": false,
|
||||||
|
"reason": "noncanonical-private-prefix"
|
||||||
|
}
|
||||||
|
}
|
||||||
+29
@@ -0,0 +1,29 @@
|
|||||||
|
[
|
||||||
|
"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:/tmp/erri-ai-19/checkpoint_split_20261110/addon.gproj",
|
||||||
|
"-profile",
|
||||||
|
"Z:/tmp/erri-ai-19/checkpoint_split_20261110-profile",
|
||||||
|
"-logconsole",
|
||||||
|
"-noBackend",
|
||||||
|
"-noSound",
|
||||||
|
"-disableCrashReporter",
|
||||||
|
"-wbModule=ResourceManager",
|
||||||
|
"-exitAfterInit"
|
||||||
|
]
|
||||||
@@ -0,0 +1,26 @@
|
|||||||
|
[gamescope] [[0;34mInfo[0m] [0;37mconsole:[0m gamescope version 3.17.0 (gcc 16.2.1)
|
||||||
|
No CAP_SYS_NICE, falling back to regular-priority compute and threads.
|
||||||
|
Performance will be affected.
|
||||||
|
[gamescope] [[0;34mInfo[0m] [0;37mscriptmgr:[0m Loading scripts from: '/usr/share/gamescope/scripts'
|
||||||
|
[gamescope] [[0;34mInfo[0m] [0;37mscriptmgr:[0m Loading scripts from: '/usr/share/gamescope/scripts/00-gamescope'
|
||||||
|
[gamescope] [[0;34mInfo[0m] [0;37mscriptmgr:[0m Loading scripts from: '/usr/share/gamescope/scripts/00-gamescope/common'
|
||||||
|
[gamescope] [[0;34mInfo[0m] [0;37mscriptmgr:[0m Running script file '/usr/share/gamescope/scripts/00-gamescope/common/inspect.lua' (id: 0)
|
||||||
|
[gamescope] [[0;34mInfo[0m] [0;37mscriptmgr:[0m Running script file '/usr/share/gamescope/scripts/00-gamescope/common/modegen.lua' (id: 1)
|
||||||
|
[gamescope] [[0;34mInfo[0m] [0;37mscriptmgr:[0m Running script file '/usr/share/gamescope/scripts/00-gamescope/common/util.lua' (id: 2)
|
||||||
|
[gamescope] [[0;34mInfo[0m] [0;37mscriptmgr:[0m Loading scripts from: '/usr/share/gamescope/scripts/00-gamescope/displays'
|
||||||
|
[gamescope] [[0;34mInfo[0m] [0;37mscriptmgr:[0m Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/asus.rogally.lcd.lua' (id: 3)
|
||||||
|
[gamescope] [[0;34mInfo[0m] [0;37mscriptmgr:[0m Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/asus.rogallyx20.oled.lua' (id: 4)
|
||||||
|
[gamescope] [[0;34mInfo[0m] [0;37mscriptmgr:[0m Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/deckhd.steamdeck.deckhd-lcd.lua' (id: 5)
|
||||||
|
[gamescope] [[0;34mInfo[0m] [0;37mscriptmgr:[0m Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/gpd.win4.lcd.lua' (id: 6)
|
||||||
|
[gamescope] [[0;34mInfo[0m] [0;37mscriptmgr:[0m Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/lenovo.legiongo.lcd.lua' (id: 7)
|
||||||
|
[gamescope] [[0;34mInfo[0m] [0;37mscriptmgr:[0m Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/lenovo.legiongo2.oled.lua' (id: 8)
|
||||||
|
[gamescope] [[0;34mInfo[0m] [0;37mscriptmgr:[0m Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/lenovo.legiongos.lcd.lua' (id: 9)
|
||||||
|
[gamescope] [[0;34mInfo[0m] [0;37mscriptmgr:[0m Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/onexplayer.f1.oled.lua' (id: 10)
|
||||||
|
[gamescope] [[0;34mInfo[0m] [0;37mscriptmgr:[0m Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/valve.steamdeck.lcd.lua' (id: 11)
|
||||||
|
[gamescope] [[0;34mInfo[0m] [0;37mscriptmgr:[0m Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/valve.steamdeck.oled.lua' (id: 12)
|
||||||
|
[gamescope] [[0;34mInfo[0m] [0;37mscriptmgr:[0m Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/zotac.zone.oled.lua' (id: 13)
|
||||||
|
[gamescope] [[0;34mInfo[0m] [0;37mscriptmgr:[0m Loading scripts from: '/etc/gamescope/scripts'
|
||||||
|
[gamescope] [[0;33mWarn[0m] [0;37mscriptmgr:[0m Directory '/etc/gamescope/scripts' does not exist
|
||||||
|
[gamescope] [[0;34mInfo[0m] [0;37mscriptmgr:[0m Loading scripts from: '/home/jakub/.config/gamescope/scripts'
|
||||||
|
[gamescope] [[0;33mWarn[0m] [0;37mscriptmgr:[0m Directory '/home/jakub/.config/gamescope/scripts' does not exist
|
||||||
|
Failed to connect to wayland socket: wayland-1.
|
||||||
@@ -0,0 +1,13 @@
|
|||||||
|
{
|
||||||
|
"compiled": false,
|
||||||
|
"reason": "Gamescope failed to connect to wayland-1 before Workbench started",
|
||||||
|
"cleanup": {
|
||||||
|
"cleanup_confirmed": true,
|
||||||
|
"idle_verified": true,
|
||||||
|
"errors": [],
|
||||||
|
"orphan_cleanup": {
|
||||||
|
"attempted": false,
|
||||||
|
"reason": "noncanonical-private-prefix"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,749 @@
|
|||||||
|
{
|
||||||
|
"created_utc": "2026-11-10T12:28:03.849290+00:00",
|
||||||
|
"snapshot": "/tmp/erri-ai-19/checkpoint_split_20261110",
|
||||||
|
"source": "addons/core",
|
||||||
|
"files": {
|
||||||
|
"AI/BehaviorTrees/ERR/MortarRapidFire.bt": "16b263bcb2fb3ae361367a600753a829425620d2e6b350a891c51fba47437ab6",
|
||||||
|
"AI/BehaviorTrees/ERR/MortarRapidFire.bt.meta": "f2a44ece28891240e6bfa1d01af29428adcadbe82c80e287eb33cd5e58f1f90a",
|
||||||
|
"Assets/Items/ERR_Atlas/AtlasCover.emat": "0a536cd31d1917965ab36d33e273a881be384eb8b863eb5da03d1666e141d45a",
|
||||||
|
"Assets/Items/ERR_Atlas/AtlasCover.emat.meta": "9f4d59cd6d103547e3e494baf7cc8fce70f31f87c66fe6d26b70011bbd27e38b",
|
||||||
|
"Assets/Items/ERR_Atlas/AtlasPaper.emat": "88a2c1061c01eb96ce8a0f753bd3e89e1d7af01471ccc4abb4774a7aa9a532fb",
|
||||||
|
"Assets/Items/ERR_Atlas/AtlasPaper.emat.meta": "e0093b7df155499444f93a1148a07f66cc755489192db17c81f4035d17378efb",
|
||||||
|
"Assets/Items/ERR_Atlas/AtlasPrint.emat": "9877c5b175c5f30dd80bea36c711b21ab38219aa7075adf9ae79932e1d4c76bc",
|
||||||
|
"Assets/Items/ERR_Atlas/AtlasPrint.emat.meta": "33a9eaa49871813f2e8537f071ea0f5a4422eb08d536355a47314b6b6d845b19",
|
||||||
|
"Assets/Items/ERR_Atlas/AtlasTurn.agf": "48dc42771b7e44994839dfabe9b007c23e37bd9be900196c757f42351e5c6b04",
|
||||||
|
"Assets/Items/ERR_Atlas/AtlasTurn.agf.meta": "c081aec31c927c0c374dcc0f8eb3eaec498f71cb0e2ac746879b926f8dc7d00e",
|
||||||
|
"Assets/Items/ERR_Atlas/AtlasTurn.agr": "8ec57b278c9d63324d00f7af62abf75230c5ef631d1cc070661585ee235c8a1f",
|
||||||
|
"Assets/Items/ERR_Atlas/AtlasTurn.agr.meta": "b045e26f86116703d1b3599fdf747b413cc0064d8101eff659ded0355eff31fe",
|
||||||
|
"Assets/Items/ERR_Atlas/AtlasWire.emat": "372247aac7b84ddf6c66e276d03321d22496e65726f55e490ee7287a90151318",
|
||||||
|
"Assets/Items/ERR_Atlas/AtlasWire.emat.meta": "ea10c7bd630b31febf511fb28a42cc73597fcc1e3010597dc074c651813ede94",
|
||||||
|
"Assets/Items/ERR_Atlas/ERR_Atlas.fbx": "03a654900103878223ab5c4a42e71d17022ca4885ced71b99c67d8c91652b5fc",
|
||||||
|
"Assets/Items/ERR_Atlas/ERR_Atlas.txo": "9838bcb2e4ff1cd649586535ca7d5ad2497e6118cdfb76b8aadabded9cafb938",
|
||||||
|
"Assets/Items/ERR_Atlas/ERR_Atlas.xob": "a4602d65e84cec1b23b6b09b5bc5847cbd52efe82925986c6eaf1c43bec1ac78",
|
||||||
|
"Assets/Items/ERR_Atlas/ERR_Atlas.xob.meta": "04f4039be7950ca393ea74469898dabcfec4dc8b8f9e08068898c00333445878",
|
||||||
|
"Assets/Items/ERR_Atlas/ERR_AtlasLeaf.fbx": "4ca13bbeafaa0dc0bf007ae9024b8d6c2a5279afc62e0ebc227e2bec2ad67a30",
|
||||||
|
"Assets/Items/ERR_Atlas/ERR_AtlasLeaf.txo": "8ed37705192d3d9b18f26b5deb51af6f2a6d694e7e2dcdbd04b317497610b50d",
|
||||||
|
"Assets/Items/ERR_Atlas/ERR_AtlasLeaf.xob": "fe6ea401412fdbb3bb46367cf7dc9215f7d01c6373c8ac954cbf23f2a6927bf7",
|
||||||
|
"Assets/Items/ERR_Atlas/ERR_AtlasLeaf.xob.meta": "492a44fc323d3df469753d4bbbc35ceb3d362e734f48083ba633b3de5dd42d8b",
|
||||||
|
"Configs/ERR/AdminMenus.conf": "5a4b405060135efd0f7faf913c7f061f6250a1e6e9d27f2bb394281d784b20e6",
|
||||||
|
"Configs/ERR/AdminMenus.conf.meta": "5faf5ddc0a51c1d0f82d60af00d91edc22fe9c39aac50d8d04b772a2c9271be1",
|
||||||
|
"Configs/ERR/Content/Registry.conf": "546a5a407c9e6c25c9157ae4392898fa3f40c04c7956649e62201f9ac0ba187c",
|
||||||
|
"Configs/ERR/Content/Registry.conf.meta": "046aa988bf8e972afcf7a60b6f2312f605f016f98625dbbd9cd75ebf9ea88800",
|
||||||
|
"Configs/ERR/EveronSites.conf": "781a9a3f4d2d4ea5b913fbfd15c2f1a991efdee7e033b7ba4241ad632609f52f",
|
||||||
|
"Configs/ERR/EveronSites.conf.meta": "d5fe68025ef4e7c1e16082cf5873b7c7172eacbfaef4ab29b7e0e3c98f8dca56",
|
||||||
|
"Configs/ERR/Factions/MissionVehicles.conf": "5f74f4a7089c7e7b54ad62463159ce8f0bab25a6b85268dc3872ea6001e048fb",
|
||||||
|
"Configs/ERR/Factions/MissionVehicles.conf.meta": "00c368b6271d3440cc8bf627b03a384d247635723923fc5ad2104b8b4007b035",
|
||||||
|
"Configs/ERR/Factions/US.conf": "4c3da063abb6e3ee39a6e4e0c5a9ffd5eae9d209d58470ea18b45dba5528db1b",
|
||||||
|
"Configs/ERR/Factions/US.conf.meta": "a05469aef028e9e17eba545e81e2af2887b59f0fef17dac51a23c7b8155e381b",
|
||||||
|
"Configs/ERR/Factions/USSR.conf": "407ea27f80a64c5184c089d43cdd0bdabfc5974c84f1d2a245081fdf2afa3f30",
|
||||||
|
"Configs/ERR/Factions/USSR.conf.meta": "057397d97096346791b51b7b13fbe18af218bcf78e9984d9c01b49a2403de611",
|
||||||
|
"Configs/ERR/GameOverScreens.conf": "1bb83c26a57d64595e91c3ba7926987e22b33dce2c6c876016e3ec2d04f9eb2a",
|
||||||
|
"Configs/ERR/GameOverScreens.conf.meta": "eb654b745c0b97b41c991694569ef4877a3c2315e0826f9556337cd68690843e",
|
||||||
|
"Configs/ERR/ObserverInput.conf": "1efd2e1823f80e6b8a3e4a697cdeb72dd87888ec5a2d16ae289937575b880072",
|
||||||
|
"Configs/ERR/ObserverInput.conf.meta": "9714dce6c38ee81bcc513c8ebef51d7af63fd15bcdda2e40946937c625dc3ba4",
|
||||||
|
"Configs/ERR/Telemetry.conf": "12d895ba4fcd159e23c2f3e94dc59e6f1e54702470cf0b1dad7d04f15572cf7a",
|
||||||
|
"Configs/ERR/Telemetry.conf.meta": "afd52b410ce1a1026f4b0900b10aae2ee50c30764a212a59668233f4f8b8c5a1",
|
||||||
|
"Configs/ERR/Tests/LegacySites.conf": "3864eb638d0ed4dd313013d2d787f975ae6ce4bbe238569919f76b73d5f7ca42",
|
||||||
|
"Configs/ERR/Tests/LegacySites.conf.meta": "097ac7daef4fc18344699a8471fdd77f9d158f8c70bab394068d7a08e4777ac0",
|
||||||
|
"Configs/ERR/VanillaFactions.conf": "db890b61b48ee15484041fd2245a862d9fa9e7ba21b1229c281ff37c448a35b1",
|
||||||
|
"Configs/ERR/VanillaFactions.conf.meta": "ac77725c0c21974991ef47a466b88122e939de8b46fd23e68889e7674cbb2bfd",
|
||||||
|
"Materials/ERRM_MapRenderTarget.emat": "4ab251037d40a850e3767c0de85136842bcd4fd130eda47bf8e19352b0d030e3",
|
||||||
|
"Materials/ERRM_MapRenderTarget.emat.meta": "5ee1a705f8011a44020ca2691f5ccc17d44bf596fef9a36e98d1f267eb58fab0",
|
||||||
|
"Missions/ERR_Everon.conf": "c6cce48484301a76b81f3a0cd76a4012f5808b901754d4114034e92beeefcff3",
|
||||||
|
"Missions/ERR_Everon.conf.meta": "0a23c98bf83873536c65fa17d38dea33a1d7b9e4ab210f90633ff688abcc551f",
|
||||||
|
"Prefabs/Characters/Core/Character_Base.et": "74a6f03a1e76173a0cfa20b23c711d02e70bac810d6743e16c60476bfe5be457",
|
||||||
|
"Prefabs/Characters/Core/Character_Base.et.meta": "c6b142d1985719236268cdf12ac522fee4b1206871a6f22b568d9198d1fcc077",
|
||||||
|
"Prefabs/ERR/AssaultParachute.et": "b556997989605e2a05982418b7e9f26d12d427eb3ea6e3bc50e85c67ea7aa4b8",
|
||||||
|
"Prefabs/ERR/AssaultParachute.et.meta": "e9dea2d533ad1ce6ce689e0e2815c97a6382e1b90c35ce1efa88a885527e8e18",
|
||||||
|
"Prefabs/ERR/CombatEpinephrine.et": "aa57d78bae861dc4a0fc509f7916190d2f2f0b36a1c3867f9bf9a071717cd7f5",
|
||||||
|
"Prefabs/ERR/CombatEpinephrine.et.meta": "0e19ebd1dd4d81f739125a4dcbff898424ffe39572c2668bd56455d939b3f604",
|
||||||
|
"Prefabs/ERR/ConvoyCrew.et": "29a525a29605386dfcf292dc2316e9fc7650ce39db9fbaa4ce4372ad0de66db4",
|
||||||
|
"Prefabs/ERR/ConvoyCrew.et.meta": "0a909a15b7dcca34202ded136b3bdbbe8898153c9589e1cce1388433d362da02",
|
||||||
|
"Prefabs/ERR/CrashArmorWreck.et": "322827292593b6e590ae3bb39aaf18f26feff40251e2399c20d47486b66cff06",
|
||||||
|
"Prefabs/ERR/CrashArmorWreck.et.meta": "684aa32a6a60fced3d92ef5836a7934159ae140e2763c75b6e5615043a68c5d1",
|
||||||
|
"Prefabs/ERR/CrashLootCrate.et": "580faa33a30dd072aa09f0f7d348940297207bff9d763609fc35665cd9327c66",
|
||||||
|
"Prefabs/ERR/CrashLootCrate.et.meta": "0830626127410849e113c9b57aae2a77b9dcfcaf88adc54154a70ccbb2340dc8",
|
||||||
|
"Prefabs/ERR/CrashLootSmoke.et": "bdb02288c808351c4624f371dc9c8d5dc254d00bd22f704eed0cce2aa7d693c2",
|
||||||
|
"Prefabs/ERR/CrashLootSmoke.et.meta": "0b964ff8460331ac3177cd4b4672a1b8b80f74cf8f66deb6ac29c70830e74e95",
|
||||||
|
"Prefabs/ERR/CrashSite.et": "8d06afe6e2db8986f06a7c5d6649e52df009f9eead7345bf2b477f50a0725b3c",
|
||||||
|
"Prefabs/ERR/CrashSite.et.meta": "0f54fe80ed96394374c1922e1d0b05f7e0200ce5b979ff58325b033f51641f69",
|
||||||
|
"Prefabs/ERR/CrashWreck.et": "f5de4785c0e3cdf02f1d5372e9b01171bd5a37acb9c36aa2a94bae3f429b2272",
|
||||||
|
"Prefabs/ERR/CrashWreck.et.meta": "bde3299bdbbddb91d2ef471b61035b6cced29899cff4cd90c080fe584ce63f26",
|
||||||
|
"Prefabs/ERR/Epinephrine.et": "e09c70b3d47a4dc5b92fd332c8222b99554b28a8a0c93cb5caac18eec4501571",
|
||||||
|
"Prefabs/ERR/Epinephrine.et.meta": "f1861f0b0ccace1b7b3d9c29768e37a83bf0c6fae5a411b1bd61d6b2eec7ed89",
|
||||||
|
"Prefabs/ERR/Extraction.et": "4d24c7811415c06386205e5bf5c132a23fcf21e96c75c7657ccd5f3ac914ac50",
|
||||||
|
"Prefabs/ERR/Extraction.et.meta": "c2a838633001e2e3a202d39cb33aa744ebcd996017ad032359069641b5d13853",
|
||||||
|
"Prefabs/ERR/FactionManager.et": "d34a8bbc5dce259c4a467c7bfa2ba746683bbeb9448de8c226856e65319f4911",
|
||||||
|
"Prefabs/ERR/FactionManager.et.meta": "9bf53d5e4bcbe60dd1a4ece1409fc23c349055c860708620f5f6e9716290a97d",
|
||||||
|
"Prefabs/ERR/FieldCover.et": "e403d5cb3a5966f0cea81f15e0e825d482ba1a7a27b12498319ba45a414963b0",
|
||||||
|
"Prefabs/ERR/FieldCover.et.meta": "83461ffa76244e1d69f20b053a9741ccdf7d127009182bd540a7e5ba6150c3d9",
|
||||||
|
"Prefabs/ERR/GameMode.et": "a2b7e632714e646a7010592cc7ac75f0afff7da6c995bf91aaf65d9473a6af3f",
|
||||||
|
"Prefabs/ERR/GameMode.et.meta": "106769cd34525c9d440057072836cb7401a6752148c40edd7fe61c03bd58328c",
|
||||||
|
"Prefabs/ERR/Items/EmergencyRepairKit.et": "0157bc235eeb78a0e1373b561fd22a1dcb225c833ff7c2d4abae688bca0ec92a",
|
||||||
|
"Prefabs/ERR/Items/EmergencyRepairKit.et.meta": "da6f065cb2414b5a4cbe9ef0f0b1295b2466f26ad406c0bddb83845d4598efb3",
|
||||||
|
"Prefabs/ERR/MortarCrew.et": "21086e886fe3199624208c9a866f883ec109f7d08746c2b56b497e59857fb656",
|
||||||
|
"Prefabs/ERR/MortarCrew.et.meta": "fdfd4fcd21a67c3d698fa4aadc4e5c76e665cebf4be86013bc389e493fab63cc",
|
||||||
|
"Prefabs/ERR/ObjectiveDocument.et": "5118ecaf9d2038eea44a4b785f05d2e78781dc1387249aa58a6782c7e6752e14",
|
||||||
|
"Prefabs/ERR/ObjectiveDocument.et.meta": "eaba9903be147b98a1106e2273e2270773df73b9b22f2cd4e20136a8e281382e",
|
||||||
|
"Prefabs/ERR/Patrol.et": "d3eca8fe9197c57a27a285cdb3baf168b037b198d92b39df28a338ae2cfd0c74",
|
||||||
|
"Prefabs/ERR/Patrol.et.meta": "7c5da568fa2fcf0709ee2959253cb068d7c7ed7c2467af3b247a7e70efd96b69",
|
||||||
|
"Prefabs/ERR/Prison.et": "c0ca5219aa2d6322ba7d094b92000640b259112ff6611a745c0713c8875d09d4",
|
||||||
|
"Prefabs/ERR/Prison.et.meta": "2e426ef3de68f4107907854b51e818bc11d84649a01c538e3f18dd9ebec766bb",
|
||||||
|
"Prefabs/ERR/PrisonBackpack.et": "ae750f08fc9af645561f59d7e5809bd22f4cec26ca8fa6409d09730765958c91",
|
||||||
|
"Prefabs/ERR/PrisonBackpack.et.meta": "7da6aa45467250edc910ad7230dc244d1b041e8a6f55881eb3747ce51f9212ba",
|
||||||
|
"Prefabs/ERR/PrisonDoor.et": "b0ff94443fe334032113a663917de23f920a8b73ffadc9c8e9f11b545022b3d2",
|
||||||
|
"Prefabs/ERR/PrisonDoor.et.meta": "b8f3db52bf186426026668fbb9d633c3cbd4d438ab301fba880398f6a0e781c2",
|
||||||
|
"Prefabs/ERR/PrisonPatrol.et": "dc88c31cf5c415573a874f74e13572f0add9e6122c8fcad507fe82860d789c47",
|
||||||
|
"Prefabs/ERR/PrisonPatrol.et.meta": "5528e0d778dce5ed39c3e504c6427625527127b23269d20fbf12ca2bffe52ffe",
|
||||||
|
"Prefabs/ERR/PrisonWall.et": "9b410b7c85bb001be4601ad93f750e17b8318b850306d84f29c4dc1b02723d7c",
|
||||||
|
"Prefabs/ERR/PrisonWall.et.meta": "0294bc5dbb56f90f8153d62459bb0a6ad91d76a479812bbec9c7db182fdb58d6",
|
||||||
|
"Prefabs/ERR/Prisoner.et": "e6d345ac98ad9ec742bf6c3b8686839c3256df9833d31bb4bdf605cd41d0ba5c",
|
||||||
|
"Prefabs/ERR/Prisoner.et.meta": "974278ba49fafeed70b619a0067bbc70ae4d534be441c812ce2bef4a5fb3c022",
|
||||||
|
"Prefabs/ERR/Radio.et": "99b1d80b49d1e7f9d30aa4283772a36fd66e962369f288f5fe329c7fc911bb1b",
|
||||||
|
"Prefabs/ERR/Radio.et.meta": "bc91137b68ba550217914fb8892bb44d7e1920e4a1086f3e506623832a44212f",
|
||||||
|
"Prefabs/ERR/RadioCamp.et": "5e6216bf8e6e160da5d9f966c8f7c2081bf6dd16dfac1b89d682a14b3b8a6716",
|
||||||
|
"Prefabs/ERR/RadioCamp.et.meta": "3cb8d3d553ab6d8d111a74f721cf4e69ee1011cbb90248b83cdc7275697276bd",
|
||||||
|
"Prefabs/ERR/ReconCrew.et": "33953379ceb725bcd0cbe505cd643c94adaed17dbbfa95dadd404d6b8e345715",
|
||||||
|
"Prefabs/ERR/ReconCrew.et.meta": "2653e8c5b1cdb857de5badd5959ddd9826a6a298ab3c166628dbb835d7104d90",
|
||||||
|
"Prefabs/ERR/ReconHelicopter.et": "c609ee59ab145e0a1936f95726b86df643f5cc425c43924029e9c1abc69ebbd0",
|
||||||
|
"Prefabs/ERR/ReconHelicopter.et.meta": "d80f1c3d6a6f9104562b89729996c1c92ad240f08cdcf48d4c390a09d2047c08",
|
||||||
|
"Prefabs/ERR/ReconPilotEast.et": "d961f329823b991eafed80d085de1bd89b44a4575be98d8dac385d6b77741ba2",
|
||||||
|
"Prefabs/ERR/ReconPilotEast.et.meta": "d73df3c896359a54514d2efcd851f579feca7a2619b76c2a38f607649a31a4f1",
|
||||||
|
"Prefabs/ERR/ReconPilotWest.et": "8f8221927269352e55c8026ee5b00e026c281c79af6684b386f24e7dc4675fb8",
|
||||||
|
"Prefabs/ERR/ReconPilotWest.et.meta": "4785f23bb492c6af420ee7896ddbfc9767e0db1e06de95207df2dc949a1b1814",
|
||||||
|
"Prefabs/ERR/RescueEscortION.et": "aa5cae65250936da239c865fe1070c68a1d20b49bcef37f6bd29021f22c274a9",
|
||||||
|
"Prefabs/ERR/RescueEscortION.et.meta": "34eef8053198a49df774792322c6d3cba81f689e56b6a418aed5a14de0913537",
|
||||||
|
"Prefabs/ERR/RescueEscortWest.et": "6f9671fb68e2716479d96be74b80ffb29fec535f1333c5e4dc4d7b684dca1ccb",
|
||||||
|
"Prefabs/ERR/RescueEscortWest.et.meta": "45a87304712d6a18afb0ddc5b3ccbb70da395541e21aafe9d6d3641c392eaab3",
|
||||||
|
"Prefabs/ERR/RescueHelicopter.et": "d9b3b01a0cdb6ed779f40f14f03dfd8fe732382931cdee02ea643f260783313c",
|
||||||
|
"Prefabs/ERR/RescueHelicopter.et.meta": "f47b4a9a72faddcb5817e396dab7c115ac05a5455e5dc8ca4c6a3e9d5fc4093c",
|
||||||
|
"Prefabs/ERR/RescueHelicopterAFRF.et": "cbd9c88b0a0c798096c78770cdef834cebfbdfd62fa12d96b56e74c5ac60dcb3",
|
||||||
|
"Prefabs/ERR/RescueHelicopterAFRF.et.meta": "5cf8cdd7f34e2bffccedfab0cc0cf266d3c8a6856215e797874c531eb2a3ebf2",
|
||||||
|
"Prefabs/ERR/RescueHelicopterFIA.et": "6aa11ddd56ebc9d0aefd06e1f55c7c61136d5c703b6eddc9cc84f3bcd8c8c26b",
|
||||||
|
"Prefabs/ERR/RescueHelicopterFIA.et.meta": "ac0b32de9818aab77ff42d244cd5165112a7764eb6d289dcfe12ec77ea0c9b3b",
|
||||||
|
"Prefabs/ERR/RescueHelicopterION.et": "a910548e7346439af90bb87e445f056aa1799572a69f87f45addbc17dc01fd85",
|
||||||
|
"Prefabs/ERR/RescueHelicopterION.et.meta": "426a478d15718c0193490d5381f732e4c559348f2e5e9c7eb9473a4ca3017add",
|
||||||
|
"Prefabs/ERR/RescueHelicopterWest.et": "dbf3827f58c27d957aac23f505a24c0af2a8f6c6555a82d0962a0ee5d47efb42",
|
||||||
|
"Prefabs/ERR/RescueHelicopterWest.et.meta": "963b5b22139a2f3496e937855854c3ffe01604b86a93f1fb63b547bc1ba29068",
|
||||||
|
"Prefabs/ERR/ScoutEast.et": "b4593aab494c4f21637757b3daff4f349da77b4c48ec5e8a4a2917a6a12cf811",
|
||||||
|
"Prefabs/ERR/ScoutEast.et.meta": "7c72af632537f687e92f30b52d97fc7d70dadd39d33f37e0b1004f9596f55012",
|
||||||
|
"Prefabs/ERR/ScoutGroup.et": "8dc0fce8ee3decc1c367411b00b6d8518df9d8458281cec0881464a2ce906af0",
|
||||||
|
"Prefabs/ERR/ScoutGroup.et.meta": "62e43fd152ce57aa4ceb2187a49e4aecdeb9f428b3a1e8318f86bb83dbf8a259",
|
||||||
|
"Prefabs/ERR/ScoutRadioPack.et": "f1c4911e2556c0e0caa8b896982190c5e7d0433e850b4610e19442caf9117607",
|
||||||
|
"Prefabs/ERR/ScoutRadioPack.et.meta": "825506e3d814d30a52d5dbf64124470641c07a0453543ba71426841e6c783635",
|
||||||
|
"Prefabs/ERR/ScoutWest.et": "2681b5a3f8621adb44195f0dbca6f3e79ef7decad8f9d0dd0e1a801ec2549627",
|
||||||
|
"Prefabs/ERR/ScoutWest.et.meta": "22a6607b4b8fe606ca75a634a0b2ac3178e7bedae7f9ff01e7a4989f3b39a3da",
|
||||||
|
"Prefabs/ERR/SpectatorCamera.et": "761d845fc1c086da58fd87c8933bf58d46d1ff5e17cca5950141743d07c8ce16",
|
||||||
|
"Prefabs/ERR/SpectatorCamera.et.meta": "2a16558f93915e31908a674509e9c89976470f78a84a1174a64b94b68b8f77ad",
|
||||||
|
"Prefabs/ERR/SupplyCache.et": "4c97b0514fe7e723046f40f0b396f6573b12eb9981ca5df70b9e8aa3cf29323e",
|
||||||
|
"Prefabs/ERR/SupplyCache.et.meta": "2f5de3a4aab1e9d0e35521f48dc57b95bd6e449c383dec4f1c258e10295904cb",
|
||||||
|
"Prefabs/ERR/SupplySite.et": "f33681281d26676fac88736091834d5a7b87fe0fa01883582542df964dcfc694",
|
||||||
|
"Prefabs/ERR/SupplySite.et.meta": "b41944b12eb3528ff7a3ac94258b18c66ef161aa6a38894aee300a1ac4798630",
|
||||||
|
"Prefabs/ERR/TerrainConnector.et": "cf9cb28f5a3f41931380864a29ac979aa1d5e843456f564ac7a7de78f88e1aa8",
|
||||||
|
"Prefabs/ERR/TerrainConnector.et.meta": "9f37c979ae282aabca29ce84beb0db851ee8b9a19f7f3a64d387c175616127f3",
|
||||||
|
"Prefabs/ERR/TerrainTakeover.et": "63e26db48c624056350f9ee123ae5b815bc2fad392060a9c26cfcd86c0af872a",
|
||||||
|
"Prefabs/ERR/TerrainTakeover.et.meta": "64e953e378ab1d2a75ee7246f876f4ef93ae8a4e3fddb5002d7ba37268cb959d",
|
||||||
|
"Prefabs/ERR/TerrainTakeoverWithChat.et": "aa857f7e8e0585839c7e9b2e3616702180779e68c6fb149d94a83c05bd52449b",
|
||||||
|
"Prefabs/ERR/TerrainTakeoverWithChat.et.meta": "a213272011050a881c87fdd94b229e002ece24f26f25db5fe53824f8a5b147a8",
|
||||||
|
"Prefabs/ERR/Vehicles/SupplyUAZ.et": "29f157849f413261494a63d4d5b0a97e8bbe61cb076efcd59d6c940653f23352",
|
||||||
|
"Prefabs/ERR/Vehicles/SupplyUAZ.et.meta": "544c94cf1c26757a10654de7856cd6cc48b821ce3bdc02add13cfe6514269915",
|
||||||
|
"Prefabs/ERR/Vehicles/SupplyUAZRearSeats.et": "cd4acdcecad299445952aea0adefc85f2b9e9b43f8186f100e0505c5621b3656",
|
||||||
|
"Prefabs/ERR/Vehicles/SupplyUAZRearSeats.et.meta": "123955da03462befb90e293b3bb856d49cc761166611b38ff47cb48ec2fbe95c",
|
||||||
|
"Prefabs/Items/Equipment/ERRM_AtlasLeaf.et": "11185bc813c00c5bda09c0afaad78849a1c81d89843e8f7f3a14c0776b8296a9",
|
||||||
|
"Prefabs/Items/Equipment/ERRM_AtlasLeaf.et.meta": "8cdfeb51c3774ed790a223ce74872cfbc4588fb6812a0e98136eb607dcc17d9d",
|
||||||
|
"Prefabs/Items/Equipment/ERRM_SharedFieldMap.et": "57dfbd215f28478a791b2e029832ddf3c363658d5dd5590cee4db9ec6a8b690a",
|
||||||
|
"Prefabs/Items/Equipment/ERRM_SharedFieldMap.et.meta": "59093e9072c50d99c86da7609c87541016da5bcf92b98d99db4c524e1c8e0e8d",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_Actions.c": "cabb21413c90b252d29708b62228d0679c51c76e39ee0e483953ad7061b2b9d6",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_Actors.c": "7258b838f8365e4fa575c4f2ccc8532e22a33946405ebb490120534d5ca65607",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_AdminMenu.c": "c03797486f5b514987837393ce8559fb2da4cd9d53948a6c2dbb281c0d8c249b",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_AdminMenuFields.c": "59c8ce209f0318b840bee648d572ff217d82eb8a9c1cdf66b00d23ad51788a88",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_AdminMenuPages.c": "85f655f16e9a452577684fafe27487e8ad2c0d00e92ec39601a8137ee8f683d3",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_AdminMenuView.c": "6c34557350659782bc1a098169dbbabf1f71502c35cdf711b83ce0efad907142",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_AdminPlayerTools.c": "56780d78bf423f54f482d8620f821b8d3eb0199194482b4f12e37f5ec3f55ef5",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_AdminProvider.c": "62e05aceb49da07fed7aa89fb6b2f8eb3efc373ac09eff286fba983c3ad570eb",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_AdminService.c": "2e91c4bce43998be55c306d5a2571851122d07f8cedd56de2d0541936024a4f9",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_AdminSession.c": "baf4bf029a00d5196e33577357ab7a5b831d85ea72256d1916884e8a155316cd",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_AirfieldPlacement.c": "0601d8da570e1f63e43ea7df451d0e997872e4e163669fd8ad37bedd59de7b9b",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_BakedSpeech.c": "d11fff16f86fd3447126701af84c3800860d721263b3c2c16d3b91d686d8b2fc",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_BuryBodyAction.c": "adbf4cee5b5f5317b185f17738205f28b701a15364e643cc9fb443866a121109",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_CasualtyGroundSupport.c": "8010394e7731d3bc2ce436cf795a37819e16d4d605e8d152027cf391e811d37c",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_CasualtyLoadingFeedback.c": "ac554a946cd14f73a5bf79005b8a3f770c9caaf0a6ea409134077b8d96f9433f",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_CasualtyLoadingGameMode.c": "1e670937736330716a467157d0f45bace512047d7e87d8678f4ae0ee123969c3",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_CasualtyLoadingOwner.c": "3f430930c2598951b75cba157a57967189686ca7a86aff8ecedd20f181262bbb",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_CasualtyLoadingService.c": "6efcfb4bb1bdf0da84400eef28a24f6c61e7f446073af2c9667b6f26f0bc47b5",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_ChatClient.c": "4bf937ff74e0483c17fa0103f73bfee3afd8f67a37c0c248b08772a17bfcc349",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_CommunityStatistics.c": "84f2615fac1375bbe3738edd13a413ef1d524dea5ce0195b05b3a957aae84435",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_ContentDefinition.c": "bc1dd4ed27ec894cf4bd617fb226cb8140b544aaa9ef6d8654e815d81e7f6fd0",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_ContentMenu.c": "d9df3b2dd8fca119ecee466dc71d336b5a70ee7d5fced368cf34e250d22075de",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_ContentPolicy.c": "3a4987345d5a7159234a7e1a08bf5ac40dd5a23031e9b1953fc43a0501d9924b",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_ContentSettings.c": "3e2734dfb935a4e93d79b66ca4a7c883723a1fc348e3595432dbf2bfca643923",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_CrashLoot.c": "c9fe89d9ba9fdba4c99a2fa238b2c0b1195b42caba439c4bff3ee1d7b2edf1b2",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_CrashSiteResources.c": "832aebf6e754dba54ba28b8f480180d32ced968a2d2f192424c4007a862c2b43",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_CrashSites.c": "5496a4ce8cc67bb05c8615b16fc426828ef8144b099f531bee5e97940d2f2547",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_DebugAI.c": "bc5529c60591a6c36c39cdb753b1af948690fc3c3c725f38a8d595b41a499235",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_DebugIntel.c": "a9f6e7e42a3214879a21052e897f9afc0653c12ff15d5bee7766e26a1af6ab17",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_DiscoveryMap.c": "8a8653b322c948c462002077272dae79e2f45a24e883767b3ad9c1f24caad237",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_DiscoveryService.c": "552d9e40f72a135f19d25a17fbecf475b8bba8d8b62ec6b6d055c65499a0b637",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_DocumentComponent.c": "885c8ab4fc9e64c3f8b40056536096c8c32b011cb340b25ca00353a96da15c69",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_EnvironmentService.c": "c0fae5bf51ccf507bc84d44adc2d1dff021cd83653c0468b7645a4f343e3fc8d",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_Epinephrine.c": "14a75e040f510773313c7e70b57f338821bc1ded650bc65133968dcad6e49c7c",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_EscapeGameOverScreenInfo.c": "4746b0715c6e9a527038b47d54d2ff305becea219da6b736f6998d81901143c9",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_ExtractionPlacement.c": "6d388fe21f08b25cbdb5dfa4e198d94a4c80c5092f8d17630a4654e18bf8b3f5",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_ExtractionRadio.c": "ad7fd91d8bb96f05f3be04a03fd00c20ab9413adb12d649d3020c6f7994319e1",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_ExtractionService.c": "c48e79a117990f83839704ae221af05fc7995b956af2d4b4f9ed2a6b91ec335a",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_FactionCatalog.c": "a5a8c53acf21259e14f59cb919535910f30dabff5a9179c664bc6a7a4d744d6e",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_FactionMenu.c": "1deab4c396c307fc17dbaa8731b2943ffb73c37dc0121a5cba5c239c34901ba3",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_FactionSelection.c": "04b8bd8a042cf743ab8a87ec3711f9758e7b0112995a9d363e81a63df4eabe5e",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_ForceLedger.c": "0ecaf1c5a52568e751678b0b1236e91e6adb538f8fbf010d38b61a312d1bf253",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_ForceSimulation.c": "2bbb8888c752a3ffc042f3059937526d25ae288af5b4db024cc683025a2605ce",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_GameMode.c": "76e013c51ac1d808816ff9ab64159c15d16459771027584a67bb45c93bd67fa2",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_GeneratedSites.c": "4943f761d0274e163a1da325ac4f750de9180947b05b79ee173e12141bfd6661",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_InitialGuardRules.c": "8c9d6b1dc4c2af96284e34f487eebb5a221091016ef108006dec60b4e3836558",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_Inventory.c": "b63e679d5b650b63a7a91dfc3f42a62f4be58b0338f6df3313e66d29a93bebf6",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_InventoryHitZoneCompat.c": "23c34f901311dce63a79aafe83c11e2fc25bd3fddb0cde38bd313eb90878ca90",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_InventoryLayout.c": "1af5df45a0f06d19a017954e9bf4b2d722e2d2389f8ffdeb1d024435b9a08be8",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_ItemPreferences.c": "c85abae8d27379928b22f24415263b7f21ec7647f96944159baf98018137b3ed",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_ItemStationLifecycle.c": "0feee55cc5ddf13e00fe73ae3926ec2cadd5ba861d793a939164287ccbe1861d",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_ItemStationTeardown.c": "102e61216e86e47ad243cc19f6f66da1fcd8cc77f8799354ceaeb4a6dc74622e",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_JournalText.c": "1ad00a77cb0be741c7b6ef5dad2d8a8c1ff1fcca3b093df2e132ead0b69f74e1",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_LoadCasualtyAction.c": "1521af55a34110ce1c971b5226a618a9c6d931622abaae4946d9c0d27c05a273",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_LocalAdmission.c": "a076922d1ae966cf5cc67b198166ca6b1288358fb7f641207a4681e6a610a2ae",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_Location.c": "6323facd2d5b32382b466a2aa0140064632a8c1de0597e0738cb09a3fcfd7abb",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_MenuTheme.c": "90d9babfec7978b3d7f5baffedbbe5c1b54a9742f576f51e6232043e32d1cc9a",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_MissionRules.c": "17d1f48878b02a457eebbe5ff87c4267488d68d2a9b3121dda77a8bc8e69c8c6",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_NativeAdminMenuProbe.c": "2deded62be82adcf9866dacf8065f0c6a9a643bdd60a1c3e87990e1c70254c48",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_NativeAdminSettingsProbe.c": "73e58561e08e50008d33f81eed606dd4e8109fb69a627e892d28ca468d641f7d",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_NativeAggressionProbe.c": "dcda8528a64d35e6aa2f030b59503a49ea8a85ffcc33beaecdf8da00c003b50e",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_NativeAirfieldMarkersProbe.c": "980025c07d042c2f109e2c99ccee0316b596806ba2c4fcd9446b6ad7580d1d1f",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_NativeBaseSmoke.c": "f7697361c6a056a62aff86de7f7d69e9ccf47b92121dcb96ed012ad136e47e30",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_NativeCasualtyGroundProbe.c": "41f40db3735f8aa535c0061458d9892dcfe972222b8a17238e67b65633c46bc3",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_NativeCasualtyLoadProbe.c": "94c533deea654ec546df3f1ebb7cd213e6cd79b1125d99bab5303ef8e87b018b",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_NativeCasualtyRemoveProbe.c": "4cfc06f6d43b709b63caae714155ffc562502e884f49a9825623c6f46972ad36",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_NativeCasualtyServiceProbe.c": "02a9d70d1f4ba20326df199ba41489cfbae12b7bb0aab441361421cee38ad9ea",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_NativeContentProbe.c": "cb0ccfe1e1575f9ed80a8054058b471f3543378db059e6af2fed8eb42a262638",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_NativeContractsProbe.c": "60aa767d9455f2f4958a6a47bd68bbd8ab0466adc8f1dd9ae433c40ae96c68ff",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_NativeCoordinatedAIProbe.c": "9104a7a5154bf34906f135f00c5793229e343da6a1ed19dd572e3c1d9821d393",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_NativeDefinitionProbe.c": "904d8d4c3e7b91d49dadfe495fc7b4f02f300e4aaf7efa348df5ca17ec4a6e8a",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_NativeDiscoveryMapProbe.c": "9ed32d391d08d937ff4f9f33bd11c3a204ce9a2230c2d72b6761e0320b31f24f",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_NativeEndProbe.c": "2dec80c7e247ec5c257407f95d9d5edd42fe0cc44d6af9f724f6ebd10d8a355f",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_NativeEnemyLoadoutProbe.c": "0885ca69f6fa7f53414ce1792cfc3c49916886b8173783c634135c13c5d37429",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_NativeEnvironmentProbe.c": "9e2e66ac5d9778a1c65445348e3300cbb90b68b3f669f3ddf1d2b78a858430eb",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_NativeEnvironmentRestartProbe.c": "7a836a206381b8e8de24c92baf141beb30575723675dd6948d738169ed26b507",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_NativeExtractionProbe.c": "4b09385f73206de004f4f3c38a6192fd658a0d2012482dc5a84dff1599ceb972",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_NativeFactionCatalogProbe.c": "e3011fa47b67122d7b2c23af8f91b7a217599d6cc114c4f9de628744b9c948d3",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_NativeFactionSelectionProbe.c": "946879d822e7be2d48e03a3140aa1aad3e3d44dd18507fa3cdedb4c6d7dd81b9",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_NativeFlightFootprint.c": "a8862a04ac784426f431e2e9cd3f1f19f820b38a081674d29549b8b00277c72d",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_NativeFlightInputDiagnostics.c": "e231dcbdaefe81beb3bd587cb73be8fb3d3184bc86d18dbaa30a43ca4ba5dcc4",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_NativeGeneratedSitesProbe.c": "a3202ee4658e98539122926755caf689a693a79642e8c88d3146c247dd961138",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_NativeGuardCancelProbe.c": "bfa1c65cb039e19c3d1891e4a3fd33469e974c97cc7f42128efc31a8f587d514",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_NativeInfantryCombatProbe.c": "3e4c4382ab91f470357268927b954fd101685df6b2244df483f0422d6c0d7da2",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_NativeInventoryHitZoneProbe.c": "604eacdc66cd52bc8a0115862ee7884a8b0f83bdb50609397de671eacd476543",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_NativeItemStationTeardownProbe.c": "028588a49fa9207087cd27ec9396979cd932daa071e2490bd0262cd71dae30d9",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_NativeLifecycleProbe.c": "b613a5dbe81c2032fd02d31070ae5631166d14d0b02cdbec3b63b782f0bbc115",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_NativeLocalAdmissionProbe.c": "29c860ca3e51cdaa463f3c23a98ff45ee0499ce9bbc322046e0efbed587f1e09",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_NativeMedicalCombatProbe.c": "59c5b04dd32370f8cf5c62fe6931d64209825522127a068b1957e9d1556274e1",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_NativeMedicalProbe.c": "4b73e7cf35e9c8fddb089678a320ea58272e1b6611318d0a762754c171eff785",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_NativeObjectiveLossProbe.c": "6b80fd317a8c6e8583bd4337870838a86251e3b8a681d0aa07e8b52e22abfc48",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_NativeObjectiveMapProbe.c": "37e66177ee0f16fc33d3d18321211206bc4f095fccbd17b177d4b8cc1ba4e057",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_NativeObjectiveProbe.c": "71fbd2479a70048f83d8b262ad1452f427be2c0afc8b071ef13bff477b9dc29b",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_NativeOpeningToolsProbe.c": "0c5d6b96ed5a7cb1cf0d098d534dc7190449ed09339062e6b584729d53a61b4c",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_NativeOptionalSiteProbe.c": "59d86432c19fd85da30a63087cf1f15375c8ee30178ed7e2765c1bda4cc4d035",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_NativePatrolProbe.c": "5a2af71cc4cfccc7dd7c23584398a38290eba1a8894cd46f6967252ff3a7087c",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_NativePoweredFlightProbe.c": "7ae5d6f85bbbebec214c66bfdf6f53b93c802f109fcd5bcfbad82c5d61d6cb9f",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_NativePreparationStatusProbe.c": "456f4d7c3272b89d5f4c6713617baa5596d846994152356fee9a659839bcd8b5",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_NativePrisonBreachProbe.c": "4889e0d3799a6a21b9f84bcb2f2ae78dce16269cccd1329f8d1fcc1a23e7c22c",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_NativePrisonerProbe.c": "e2d1ffe5d269add55124601ff0d1dc032a398c7d51010736e6f0e4cbeb38ae86",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_NativeProgressionIdentityProbe.c": "1d3fe20bce761a1082964bca9bad9ce79d1fa8b04db9b5053bae98da380ae560",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_NativeRadioCampProbe.c": "67f1a088f9b20e5f0f11ed3aa083ffa772bffd7c74d85b7a307344ac3d47e09a",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_NativeRadioDefenceProbe.c": "ff1e27a0ce75b123a86e7df31354831880ca62ea90b6c5d7c60d3ba168e1fff0",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_NativeRadioInteractionProbe.c": "7b27552d233813894f65c08eb9f04b547c4ca9ff96a2370a763cb94bd4a555c3",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_NativeRecoveryProbe.c": "d6691f22432b3ce37d07d448aeb3ce7feb5cd09e852e0167b5e4676afd24bb21",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_NativeRescueProbe.c": "78f4dc11a179a5b924c0ec1939f0fc1e61d4e6f6647729c48a9f126ee32d1714",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_NativeResultProbe.c": "c9a89cae067f221b9f33965b4d3ab311b78ba79ea383ca65032c4001df44b472",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_NativeRoadblocksProbe.c": "c67d8992e9fa6bb986c4ea0fef2e30e9a532b497d737f7d94e2465ef86e905e4",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_NativeSarkaProbe.c": "511816c4b86c9f1392bc4a1d83ad11e082280bec16356d8ab24ac1f2094bba93",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_NativeSiteGarrisonsProbe.c": "1a5ff8747d7501862085b5e9162043fee3b05e82c73c516ad8093aaada53dc60",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_NativeSiteSurvey.c": "ac0203753ade0cdff6d483132797a80e4520f14546c3f9dea288281cd4cd9c4f",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_NativeSpeechDownloadProbe.c": "5377da12cabd58b9105851a2348d7496316db371bfc4346a5fb3f84f245ec013",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_NativeStationTeardownDiagnostic.c": "172248540932174341882861bb78a9720a6cf89981fcdf9dffe63f7fd4023f2c",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_NativeTimeProbe.c": "4a2c6ffd947334a0a71eac083d10c853c524b00042e9ea0987497c4cee60c3d5",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_NativeTransportProbe.c": "7a3fe04aa1c5ed1061ff63d9d5180e8b925932b62d76c1ffb49bd3dc23530993",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_NativeTransportSurvey.c": "e5abdb69c0675a20f4287afb24b9e3c877e91b162c77c32d81ef61e2a8b72577",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_NativeVehicleSecurityProbe.c": "59bce863142e4fba4b6fb2f544bb8a58061f0e99b1a38e5ac291cea919563763",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_ObjectiveDetails.c": "628ebd166dcb5544c2d18dce489619984887ee18296cf2446fc6d894f89dd5bf",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_ObjectiveMapPresentation.c": "70339c05c550b72a4fd5890a871c5d8e6a9e574813d61696194c5fbb1475ac8f",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_ObjectiveText.c": "d2fd3670c89d679fcb1359ebccf67b58734fe5168e31fc239bdeffa7f8ff0607",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_Objectives.c": "b9cd5bb3b193c20401175c4328405be1b121e8a60b7b5999910b6a71f834af8a",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_Observer.c": "7c478eff3575eb1bd8a85c08955d4ca7f63b57969cd7b2b76dfd6c42136de1af",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_ObserverPlayerView.c": "c287a1891451dce0836c6e859eb962c154aad9621a46e50400f44fb83f97d95e",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_ObserverScope.c": "97d29535a0ca1571ceb86996f58b68e5ba0944edfe30370455c52a321772f85e",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_ObserverTargets.c": "1dfd50307b5d74075b90b5f2f70bae2c9488fc12df03d82eb19350a724f910f6",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_OrdinaryGateObserver.c": "1e376ca83c0005cf532539e14d7f47363c47b7c5b03fe3d55405a59208705fd7",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_OrdinaryInputObserver.c": "808a46cc1e4b31b65dbbbcdd55493f594ebb3974bbec38b4a2402334c653c0ef",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_OrdinaryLookObserver.c": "d5a1b636938d65e9d11c78b31487f2924400c34d98e2ec812954a2a224da7dc0",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_OrdinaryScenarioLaunch.c": "8d8da4c1222dcc6adfee350490f4399b4129cfce7a42b45fd7fba52febfd3eda",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_PassengerHandbrake.c": "3078487e077aaed1567894f6df12386aae440b790b6c134118d3afc2c4da156d",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_Performance.c": "037ffa482e3765bb537629e34f10919d85d4b6bfb0abf56ccc7c0d44fce8872f",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_PlayerAdminCommands.c": "eca9baa3b07da48a740851583540840f8bf5f65f7be854902a3778f76967faad",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_PlayerEscapeResult.c": "3124ab4d2d6d471409a47aba0af528790734df53243c03fe0cdac3e407047c14",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_PlayerGuide.c": "dc52f551a1d3705fceb64ea18d882009d9e9548c01f08ae1c7ef3083b19ab2d3",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_PlayerMedical.c": "270454d50235bc28df9bba4fde2689934578874c4eca9560afb9f0f6324d7215",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_PlayerReconnect.c": "478fd041e8a13132df25202088f42d0810d36680060dd7a0424d8f40a5b1ca44",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_PlayerRoster.c": "dc785a8a1d78a285fe55ce76f87b78a9f522eeb9f7d9655dfe9b5c4348a26a18",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_PreparationFailureMenu.c": "5c31219740bbc26cb903a91f4fe22866c465b38220391093c72a3b094ca30f34",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_PreparationStatus.c": "c5cc9125986e2285282f3f7fa9068ca72f00d7e26465d00213e734039c0e34e4",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_PrisonAI.c": "67f8b444824634fc37fc253c60fd24b56d06d971f48e56a8d53095c97aaf0070",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_PrisonEscapeService.c": "ed180448cb516bc4ec521aedd366810a47787628c7f5ee9c9afdbd185d980751",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_PrisonPatrol.c": "284618391ee2da84dbcda4a99ca3c072eae3d67b8a9ef40a86827b9ea00810f9",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_ProfileConfig.c": "b5aca526a860ed9ed609dc3fad99ebb34d2f6fbd537575a167390472efd4ba89",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_RadioDefenceService.c": "f5f0bf1352141f933d0edb5630e30541e001dc07e1d2c8529b29cc159c126b13",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_RadioFeedback.c": "545262e65e9b3645d9e514a0521e442fe08f0c2e4e7c83ba638c5105d09818db",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_ReaperRHSCompat.c": "bcdf98c05ac6cdf0c7eaa854531b02e9ee4f53fbb346ae01d58114e572e7dd4f",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_RecoveryForecast.c": "0eda507fb58860c0eac1d957319d1e80e9576a870d22931c86081db748df44b6",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_RecoveryService.c": "182037828b74938746022ebe03bbd9cf849d52e31067c0b33f392f03969d6162",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_RescueLanding.c": "e6f63ee8860335de1125e0a62eae3b8406faf5a5ad2c8d9c6f9a6da077986e56",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_Resources.c": "d0169aac6fd0c38928c47a9002ded0fd8ba558ea3314a600e792d307ac1ca3ee",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_RoundStatistics.c": "60e6839cc50fa02df1795a00b93fd431160f9201bdbb6f1e3b9b50271306e9fb",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_RoundStatisticsLifecycle.c": "b813a9ccea9a61c9c6d7d4806cf18adfb323d483622ca1225930207ca2436d12",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_ScenarioComponent.c": "ca6b20d5c4599e31957e5cb464d21bb3a4bac517dd539711f9d4f380e48a0e15",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_SelectionStyle.c": "b9ea5158e51559dc13812cdfa8939ac36b58c79b9e4115c72465d869fdf264a8",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_SelfEpinephrine.c": "da5850374b51e89016c4557d06f3c7c087b6e6e36fa9734b22c7c6c50d757914",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_ServerItemCatalog.c": "047d8c4c36bfa32e1afed13f8199f01681ebd362c72d87da8868cb6959661973",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_ServerItemsMenu.c": "b81283ec17fdd9f72096901f8bc2a3c87fb8fa4c8fd488579ba0817328b9dafd",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_ServerItemsWeightsMenu.c": "f0900e42100c9a58402cfdd48b7f27689144f53e03d3ae3dcd4bbebc13a5f61f",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_ServerVehicleCatalog.c": "de2774b1b0ce6cd8673bb07e9bd5ee49514a6cd7a232e229e70fe490ae842b69",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_ServerVehiclesMenu.c": "d50e18353ac91f2b100d2be7cc05edf0ab6cd75a0a01d921dfc294fce057278a",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_Settings.c": "47148bd41bd7bce7a55d8d5e0fae2a4a0f4c04c2d8dcff68103bc9eb4f1c2b3e",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_SiteDefinition.c": "d421d70b32bd2b55cd8e4966c04af3d5bc381ac811d3b4b2efa4bc0a8af8bd2c",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_SiteDiscoveryRules.c": "dcbce3b7aee89bfc47a50e9de89209758af1f1bb462b99af67a8ad7a26e9f229",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_SiteService.c": "2b283ad19b046fd6b33245d466b197bd05b4c472e128a747e6b1e725f4a34c2a",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_SiteSquads.c": "183883783a4e8399cf62851a4cc65a5d091d25131bc53b4323cf17286315b2e0",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_SpawnClientScene.c": "b56f99a91cdc53bdb93d320d10839339022d7e61e6b101eee8296271abd7d3cb",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_SpawnFinalization.c": "6ec741f8d19ee316d3c67b0dd2216698584bf2cde3634a3d6a7c3cdc3a3935b8",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_SpawnLogic.c": "6d9243f66b4ca8c53d53fedff9dea8986c815e90c1f97de58200cd759aa8b49f",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_SpawnPlacement.c": "fc5b61f1877aeaee75fbfd6aed3cd0b4c5277ae8543bc38a0c09836353d54b27",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_SpawnSceneInventory.c": "76b79d5bd9d1f367e1ed19724302b7d49f8b0ede85cf19e89c452582ef651f8f",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_SpawnSceneLease.c": "20de7f96bacc9037580d88d4424664b4554b2c082d82e7d29913e9dfe390b594",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_SpeechMenu.c": "33f9ef80b4d6cdbf3646eab602d15ae0d05884bb20b3a7222b0648752339cda5",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_SpeechService.c": "74ea305ac0c9a9d145646a5c73cba58e4920ab472943ae73b3dbd71d8216f752",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_StartBackpack.c": "4a36799d3a3defd674822974cd96647c0accb2a854631dd5488c35e2ef697f7c",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_StartBackpackMenu.c": "07c90db1a84893759dae71f40b7ae3109827646e48fade542190d21598ac271e",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_StartRules.c": "ab7c21ef700343cbe769d8d51d91f167db37285b466d6af9873e121b3adf4ade",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_StartSetup.c": "58a6b617b22910d0ce9255f82091dc11cd1284417a66adf1cdaa7b661c1ed01c",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_Supplies.c": "752e8a56b0b8cde33cf532032cb0a203553017b686faac2e19bee06f7a9c0713",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_Telemetry.c": "4cac5cf48957399bc0564692bb89e7fb9fb1f9641824088d61f6e87a67947a7d",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_TelemetryCredentials.c": "9835caf69d4615d6a3fc840d9dc3cb0f507a0c5a2a6490893c21761f9cb4a216",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_TelemetryLifecycle.c": "15d2d90d4457339dacd61c1bb23b619243b8af10731687c35ecc300125a642f5",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_TelemetryServerName.c": "7744762c4586e2543601fb0899847bed311c439cfda3dcaba825adf870628693",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_TerrainCatalog.c": "ba2e68543a8c929492d06f8725a743d26849a630d6f8c09be0f23894f92d0990",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_TerrainControllerInit.c": "8071e38812ac61f9b480d9e91f9ebc7712b360d431f5555da83027db6cdf2471",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_TerrainMenu.c": "1da542ef60ff7c1897b1f12432c636ef6a08cc710bac520ef186589d506e9a54",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_TerrainPreference.c": "93fc55f2c33e95adbcf2bead3430aa14bdb55154315760bcc9647f89dc8286ff",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_TerrainSelection.c": "ee75cac068b99e7403f5eaabe556152513cf5d973602cc6e6b8967d25402f6ad",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_TerrainSites.c": "4ac347d4d91951bcc7175a965ccea25f3782edb6e352354cce506d6b626e5ac0",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_TerrainSupportStations.c": "c4fe4265963ec88e24379c143edae251452c84e43a3102f5da120205f9a39c9d",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_TerrainTakeover.c": "ac31af5ff2937f8a1fd89ac03732a8a473b27b09c83a07923f17986b0f9db841",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_TerrainTakeoverClient.c": "70f192d5d749b4211c5604575d2b9d7e39deca589b5841ffdd03f99baeca1280",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_TerrainTakeoverManagers.c": "ab1d64c8073e4daebf14f4ad2c745d874032675ebcac3fdb0fdae4626acb8dbf",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_TerrainTakeoverPresentation.c": "91d450215eb6ed2da74446b5fbb805356e3881e3cb43e37fe45308e30b22be9c",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_TerrainTakeoverSettings.c": "da22775930b13e41d4a71409e37af3bb99e4cc1d94bdea0e3b59fbdcd4d40132",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_TimeService.c": "63867760876d523a1794f619118a52c5cd387d5d92756cd286b2c16a348a6c7b",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_UnconsciousCameraProbe.c": "cfc63058a20fad99e76c59b64d0d288cc3441fd3486ff63a6dde9998b4ab103d",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_UnconsciousWeapon.c": "24d31bc857486638e55c605283c17cde0cdbd3c5c6021eac1ec93611387b10d1",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_VehicleSecurityActions.c": "bd7d0aeb4abcc9d8044e4888f9a92f9e5fc97c098bdfa3bbad57e1a29697a779",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_VehicleSecurityComponent.c": "2ffec4e646584ec546147fc4b08249825cb32b531aba26467b586d760485adc3",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_ViewDistance.c": "8514f72f8207f12570d2317e64094a45507a1647dfd45a1501499ef81e90189f",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_WelcomeIdentity.c": "8624bac67c1990f87b3fb799361e5facd31c2e03cb621563b9c73c4fe9d7f87b",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_WelcomeVoice.c": "a6a9a816dee1c766675990c158a757cf9ea8628a7b2b0de991af67ff4cd23e47",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_ZBakedSpeechProbe.c": "533c89b6a258dccb61d7ff6abe0a43da58d52ffae60735a38c2545fbb4480afb",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_ZSelfEpinephrineProbe.c": "a13e14d1ef525209d4609a2532c6d72135377ce058298937b632a91eeb6392fe",
|
||||||
|
"Scripts/Game/ERR/00_Core/ERR_ZStartBackpackProbe.c": "6778cd98392f4e73dfe974782e626d98472251c1266698020d63edf8fe735bcf",
|
||||||
|
"Scripts/Game/ERR/10_AI/ERR_AIDriverHorn.c": "db9f100c6cc10efc6f5b86e8fe9adb75657ebabee6f8bf0c89b997c2e947750a",
|
||||||
|
"Scripts/Game/ERR/10_AI/ERR_AirAmmoMission.c": "0a471a40c8f7dfb797d8d35e41c5b1ff91e8d2ab13b43cf866e46c0e4ab4ed9d",
|
||||||
|
"Scripts/Game/ERR/10_AI/ERR_AirAssaultLoad.c": "de7b6c485167ab68ab0b37b96fe161ee821c2efd41362172b810448a02110e68",
|
||||||
|
"Scripts/Game/ERR/10_AI/ERR_AirAssaultSystem.c": "2eaf9816eee3e1cd2ac70744a6ef7ea5a90d0a3eebdf925e384028a7edde6a42",
|
||||||
|
"Scripts/Game/ERR/10_AI/ERR_AirReconSystem.c": "f8a0e3cf4552d8133efd33c2126ea15a7694676773a7047c15e00021c1d9721e",
|
||||||
|
"Scripts/Game/ERR/10_AI/ERR_AirSupportPolicy.c": "c1a7ac8759ca8ec8b43cbccf303255a2f0b69de447d0d991e44b6bd3db415d51",
|
||||||
|
"Scripts/Game/ERR/10_AI/ERR_AircraftAmmo.c": "2be282406d0c45ab2e35b0ced791b5e494c662588f536701a4e82e6f5fb7c913",
|
||||||
|
"Scripts/Game/ERR/10_AI/ERR_AircraftControlBridge.c": "b8f0141644d8f043c6db4c2d4bb93215c548e5c27ab5468c66e996d62bdf905a",
|
||||||
|
"Scripts/Game/ERR/10_AI/ERR_AircraftFieldEnvelope.c": "0f53c7d9ab167a804eb904d63725decebb53fd5796fdf27864a75abed5679838",
|
||||||
|
"Scripts/Game/ERR/10_AI/ERR_AircraftFieldFlight.c": "c04e264cff9963821852094c451502d31bf9c96d4deae2e8ff8a2373b53b5665",
|
||||||
|
"Scripts/Game/ERR/10_AI/ERR_AircraftFieldRules.c": "30be68f4ca2db7e169f6f0432815821179cddf9159f7b150341dc8eb479bbd17",
|
||||||
|
"Scripts/Game/ERR/10_AI/ERR_AircraftFlight.c": "aa25a8e67a30c48677bf528236402b7f8e5d815dc18df93b878520ad3d1fe8a7",
|
||||||
|
"Scripts/Game/ERR/10_AI/ERR_AircraftFlightEnvelope.c": "8125cef61fb283d0d7c4dd2df3c04b062b448f1101fd48dd53f4f4097df5fef3",
|
||||||
|
"Scripts/Game/ERR/10_AI/ERR_AircraftRouteEnvelope.c": "e8fcef844239c47a1f2f36be420afe943bc450091b05859435406b46c87fa511",
|
||||||
|
"Scripts/Game/ERR/10_AI/ERR_AircraftRouteFlight.c": "1d8d92bf6d97429d68a9f62018232e90cc124cc8d7445efeabe863706a31e2b9",
|
||||||
|
"Scripts/Game/ERR/10_AI/ERR_AircraftService.c": "3f05209227986b5c6bfb193f8f53783cfd4ef083bce898e22257c3e63daed913",
|
||||||
|
"Scripts/Game/ERR/10_AI/ERR_AirfieldSupport.c": "c6d88ede0b1b6bac5a7075b6e2e783ccfa8850210aabd28bfa4bcdb698cc5f87",
|
||||||
|
"Scripts/Game/ERR/10_AI/ERR_AssaultParachute.c": "a93c996059e7166988e9d1b0b498cbfd36f19a1cf8520cb4e9215a8884752e18",
|
||||||
|
"Scripts/Game/ERR/10_AI/ERR_AttackSpace.c": "e7be303231b5946d78c61480a5de3f5b37a63d0d2281a9a30a21e59f072904d0",
|
||||||
|
"Scripts/Game/ERR/10_AI/ERR_AutomaticEquipment.c": "8658421f846fcd3402289103762edaccbe3ca26280d7d72df2846c32ae8a4cdc",
|
||||||
|
"Scripts/Game/ERR/10_AI/ERR_BodyRecovery.c": "f5fc311ecac4533c2d053a686c51e71216e69130a34483f27146627172914c99",
|
||||||
|
"Scripts/Game/ERR/10_AI/ERR_CessnaBridge.c": "f1adb0f9b92f6ed94a8e9897b64e2fccba0f28552525a93f1ab893faa4fc5da2",
|
||||||
|
"Scripts/Game/ERR/10_AI/ERR_CivilianTraffic.c": "b6509be9cc891ba4c1fc0f3fed8b09ebb31ca69bf2e5b28b50a6060706baed73",
|
||||||
|
"Scripts/Game/ERR/10_AI/ERR_ConvoyBoardingProgress.c": "328f8a5eabb8174b7727eee1d675db83a2eb0be7b8e834db4e950a645ca5d7a3",
|
||||||
|
"Scripts/Game/ERR/10_AI/ERR_ConvoyBudget.c": "fc7e254056c1da4aadd26d4f56d51ee375d5d3331f5f7e5183581108c7474a10",
|
||||||
|
"Scripts/Game/ERR/10_AI/ERR_ConvoyCombat.c": "5c4b7576b28d51edea868cbb91a0ab31a40e6ddb558f1b8a38e07e20fdb2969d",
|
||||||
|
"Scripts/Game/ERR/10_AI/ERR_ConvoyMineStock.c": "4497d6b790a45df2b76d18541ddaf299b406def88b868caa29f096849026a42c",
|
||||||
|
"Scripts/Game/ERR/10_AI/ERR_ConvoyPlacement.c": "af4799e3028448e1a73f944989313e5d10c6262521bd29a8cdd5236842717963",
|
||||||
|
"Scripts/Game/ERR/10_AI/ERR_ConvoyRoadPlan.c": "fae404f85cae63e63976938a5fdb73efc988ba25c5846564f12edca04fb88551",
|
||||||
|
"Scripts/Game/ERR/10_AI/ERR_ConvoyService.c": "5abc35861aebf2e4ad00de11f040d01f784c6f2184de2e10beaf46a74ec8758c",
|
||||||
|
"Scripts/Game/ERR/10_AI/ERR_ConvoyStartup.c": "360228fd45aa6ecd9426e36120b5e637d2feee1e3a4a89aac8207526b871c87e",
|
||||||
|
"Scripts/Game/ERR/10_AI/ERR_DroneBridge.c": "9ad23a763c5995b2ac6f68ed02def487b0ba887e8ca68f0e546d1b6812504cc9",
|
||||||
|
"Scripts/Game/ERR/10_AI/ERR_DroneRecon.c": "dc685b57c884d733e0ff90cf7937f5664ec08545f4cbf59d63bc8a84383dc442",
|
||||||
|
"Scripts/Game/ERR/10_AI/ERR_EnemyEquipment.c": "547965c1435de35e438546eec177e5f58814488fd1cbc591d8200328b4d8cfce",
|
||||||
|
"Scripts/Game/ERR/10_AI/ERR_EnemyGunnerSkill.c": "adf8bac5a6f7e40b2f9caff5fe9be590c4e4ce2b2b387ba39e741a3c4f4cc564",
|
||||||
|
"Scripts/Game/ERR/10_AI/ERR_EnemyLoadout.c": "a48f32dbd7f209bf08fce2840aaffc1781c571fc679763be58987f6b082e776c",
|
||||||
|
"Scripts/Game/ERR/10_AI/ERR_EnemyMapMarking.c": "0f161fd3e08a54e3e1063679127549e482c40253a022e9d06cd9ee4d740b8625",
|
||||||
|
"Scripts/Game/ERR/10_AI/ERR_EnemyMedicine.c": "68b65c98214e1a27383e155727901a4f70e9c065bb0cf133bdcf7fe6d5a57a40",
|
||||||
|
"Scripts/Game/ERR/10_AI/ERR_EnemyOptics.c": "215e8a05594c541861b48e093520c00091708eb0f3635dcee5d0b5e1160230eb",
|
||||||
|
"Scripts/Game/ERR/10_AI/ERR_EnemyRadio.c": "3a97e5c3de9ff33873d97c6b2d84ae505cfc4f3146e047b928e76ec3b22c8789",
|
||||||
|
"Scripts/Game/ERR/10_AI/ERR_EnemySkillAwareness.c": "00c450d033e43fc45c9e2cb64a1d81161d123cc594a4292cfc5f68eb6c17ee60",
|
||||||
|
"Scripts/Game/ERR/10_AI/ERR_EngineerMine.c": "067bed625a3f4d0fa189f46476988e90528c59b2351ec0ea71916317b06efabb",
|
||||||
|
"Scripts/Game/ERR/10_AI/ERR_EngineerMinePosts.c": "bcddb72845189b52e5ed71c687d7dd4b0b40b91b7306c3f6edf84a631002fc5b",
|
||||||
|
"Scripts/Game/ERR/10_AI/ERR_EngineerMineSite.c": "d838f5693d4fa5d252d529e59777f560674c02532f1041a5598e938b3a850839",
|
||||||
|
"Scripts/Game/ERR/10_AI/ERR_EquipmentLog.c": "df9eec7f94e4bf1b30b9463604e9b97ba3cbff36028a80b81327b0b021cbb2a9",
|
||||||
|
"Scripts/Game/ERR/10_AI/ERR_FiniteMagazineReservation.c": "8278590ced1936d618905b0cbd0b5aebddda238d426a6a2a52e455fc36bbb502",
|
||||||
|
"Scripts/Game/ERR/10_AI/ERR_GarageVehicles.c": "673661374e0854fd896d3d51aba84c07088057c941751b311daa4a97b899633e",
|
||||||
|
"Scripts/Game/ERR/10_AI/ERR_GroundDepotHQ.c": "c51fccd0ecdb0a1d6ba99ae965e2e572fc1ea65a5d8dc2e1e2a058698dae45c3",
|
||||||
|
"Scripts/Game/ERR/10_AI/ERR_GroundDepotLoading.c": "6abb278409527bb67db084138a773de240d99ba7f63f9ac740f8167615d53f1d",
|
||||||
|
"Scripts/Game/ERR/10_AI/ERR_GroundDepotTransfer.c": "21daa9ed8cb5f2dc08a0fa85e305fa4b4f3e7b01e16c71fd1ca98d66a4e8b652",
|
||||||
|
"Scripts/Game/ERR/10_AI/ERR_HQ.c": "64df9de7b62b65988e3bec1c8959d5094bd62d21b14803afa6b473d7b2974aea",
|
||||||
|
"Scripts/Game/ERR/10_AI/ERR_HQAdminProvider.c": "8879febe59fd99584add06690b29853f7cf14b580bb15c9a955cf1a2ce033908",
|
||||||
|
"Scripts/Game/ERR/10_AI/ERR_HQAmmoReporting.c": "95c024cbdd35c02d9b0c3d389d29bb042e5dda6ffd2f5f0d896078274b3adb35",
|
||||||
|
"Scripts/Game/ERR/10_AI/ERR_HQAmmoSampler.c": "8bb0ec1422887feaa340307d3c60bae50fc82d424fce6390876e580ff8b75e8b",
|
||||||
|
"Scripts/Game/ERR/10_AI/ERR_HQBodyObserver.c": "131e94ceb1e8ce339619a86fe695009b409ae7c0f47575a6e914bc7f37511377",
|
||||||
|
"Scripts/Game/ERR/10_AI/ERR_HQCoordinated.c": "5b67ad624c4a6b0bbb715314ab9cf14e527018fccb7d38af479184b4952b8c49",
|
||||||
|
"Scripts/Game/ERR/10_AI/ERR_HQCoverage.c": "0ef1ed718797114d95c636c8fa5a9e46a5f2a7ccbe3f432049b0c7d37f1eebd0",
|
||||||
|
"Scripts/Game/ERR/10_AI/ERR_HQDeliveredCasualties.c": "1f738127e55e843ee2705007cedb5c08741f52f63c75eca7c80242177af82273",
|
||||||
|
"Scripts/Game/ERR/10_AI/ERR_HQDoctrine.c": "6335728e89ed40ce11b811f00b61bfea76e94dd3379e4357cbfc438b05522bb0",
|
||||||
|
"Scripts/Game/ERR/10_AI/ERR_HQExecution.c": "d286b8273faec0acf87366bf53ad2517d5b7d909741e981cdf283cd1f4f50314",
|
||||||
|
"Scripts/Game/ERR/10_AI/ERR_HQHunterOperations.c": "b9200b6de3a3a61de94ad720aca94aca64db542acc64ba65e7b8061a5e4884e7",
|
||||||
|
"Scripts/Game/ERR/10_AI/ERR_HQHypotheses.c": "060796bbbed604f9733d23e131c9836702870c6e25c81cc0b396c885eb06ade2",
|
||||||
|
"Scripts/Game/ERR/10_AI/ERR_HQJournal.c": "53563ff54fc4e0656713d6eaec5e88ddf69fd4bfa8ef6a67cfa13380d24031e1",
|
||||||
|
"Scripts/Game/ERR/10_AI/ERR_HQLocalAwareness.c": "124260280ac8eda0e920bfcfc86932c9b21df6b1f7a6aa8acfc43feea3da149f",
|
||||||
|
"Scripts/Game/ERR/10_AI/ERR_HQLocalHandoff.c": "2dd700dae9d9b232d22ca63ff01af75a3f5cc213ac24b7c0a43ffa38bc0b9ffa",
|
||||||
|
"Scripts/Game/ERR/10_AI/ERR_HQMemory.c": "ec2047a477fb4273e22ae6bb68e7365f321f55c583b5d2c48c4abf2ac38e3b7d",
|
||||||
|
"Scripts/Game/ERR/10_AI/ERR_HQMineSampler.c": "2a0fdc4d27e947a1d77b02ae23f757c7fa074eb456f817b7df0766583d757f55",
|
||||||
|
"Scripts/Game/ERR/10_AI/ERR_HQMountedAmmoSampler.c": "97dfab7381385959b0906be13fa2575253ac43be91a271a5d41edaf4106366ac",
|
||||||
|
"Scripts/Game/ERR/10_AI/ERR_HQMountedDispatch.c": "12769b56019e9fa5b8141498a1c33814ba5262253193495e72f85972365961a7",
|
||||||
|
"Scripts/Game/ERR/10_AI/ERR_HQMountedIntercept.c": "5f45545c11de5e183969203cdf07e29089697ddc89752a9c5aea0fa2a1a33a97",
|
||||||
|
"Scripts/Game/ERR/10_AI/ERR_HQNetwork.c": "0b73be993628a55e3b21c8670d540e39c938093dd5cb4d586e800ac530509b25",
|
||||||
|
"Scripts/Game/ERR/10_AI/ERR_HQObservation.c": "57ad3f0b68d150791e30a7e4bd7dfedfb1ddd78a1c76f228e67b33ea9cb7144e",
|
||||||
|
"Scripts/Game/ERR/10_AI/ERR_HQOperationSpeech.c": "6f133c104223ce23262c2927db9e16df0f76f1ee647085114baef1d51417f4f3",
|
||||||
|
"Scripts/Game/ERR/10_AI/ERR_HQOperations.c": "b83b805c61c3960801d24ae54854ba7aa4dc914ea89e61db365b5ec99f305ae5",
|
||||||
|
"Scripts/Game/ERR/10_AI/ERR_HQPursuit.c": "280e91feecc4e5b6d0886fc4201b12117b58c56857d4386b6c4cb963557274bf",
|
||||||
|
"Scripts/Game/ERR/10_AI/ERR_HQReport.c": "d6e79ce7035dadd64debeb8405041b3efb0c57e29ddec48d3112a1731738d999",
|
||||||
|
"Scripts/Game/ERR/10_AI/ERR_HQRoadIntercept.c": "f87727aa1c722a180c7b71fa2d896601b6250978a21bd2d1e973501fee81373b",
|
||||||
|
"Scripts/Game/ERR/10_AI/ERR_HQSquadJudgment.c": "12e9ccc9d42a858a998bd46708fbb04d05d48dcf460303a5ecc1629021051bb4",
|
||||||
|
"Scripts/Game/ERR/10_AI/ERR_HQStatusSampler.c": "b937eaed913a5095afa8e678dc1c36b5c805541bf8cd5be927069533d6baed1c",
|
||||||
|
"Scripts/Game/ERR/10_AI/ERR_HQTacticalGround.c": "eba9a9cabdaa80b936aa5e7025544e8b011fb597b96cbdb8d781583c025afbe8",
|
||||||
|
"Scripts/Game/ERR/10_AI/ERR_HQTask.c": "29359f52734cbf3400e12696057bbb7aa54466a018fc88c42015b6eb9bb9990c",
|
||||||
|
"Scripts/Game/ERR/10_AI/ERR_HQWatch.c": "abe634cf6003ae920ec1ed18e305ed462920204960894520d3dd11f7e5ef1c33",
|
||||||
|
"Scripts/Game/ERR/10_AI/ERR_HelicopterAvailability.c": "60eaef2f6d4b2fd44861c5a4434ef97e732e40a5ff7401e2da451ed2dd9c2762",
|
||||||
|
"Scripts/Game/ERR/10_AI/ERR_HunterCloseContact.c": "56f22051566354ccdc61531af4869b62458a30d945e4d21de5aadf7079d2245b",
|
||||||
|
"Scripts/Game/ERR/10_AI/ERR_HunterCombat.c": "df1c319d10efd07ed6f971cf0e41d8d7e377b04ea7f0fe143bf94df733fd1d9c",
|
||||||
|
"Scripts/Game/ERR/10_AI/ERR_HunterCrewRecovery.c": "22e192ca222017d4d7a27210c6e42cf0f128827bca00b37924c9c8d6866b62a4",
|
||||||
|
"Scripts/Game/ERR/10_AI/ERR_HunterGunTeam.c": "0e66d82964ef8eeba29de11d5bb2af954ad72a8090855ac4c1b28fe1e66c0d69",
|
||||||
|
"Scripts/Game/ERR/10_AI/ERR_HunterOpeningPlan.c": "7791513b8b41f4d2ba1b593b5219d7f6e2bf036e352f8e4eb1a8029fc97ab7c8",
|
||||||
|
"Scripts/Game/ERR/10_AI/ERR_HunterSarkaRules.c": "8c8c96e2f985f553e303f7e459b73a2a5cd0051951b22aa0ed364bc2ae19e194",
|
||||||
|
"Scripts/Game/ERR/10_AI/ERR_HunterService.c": "c938b8beb3f72ca1b2a76b48052dee70fe52651593dcdc16b7993a9398bc92e8",
|
||||||
|
"Scripts/Game/ERR/10_AI/ERR_HunterTactics.c": "274ae619589b85cf64df1510631ab914aa9fe8c50fc2a76e6e8c5aa5a2c8d9ba",
|
||||||
|
"Scripts/Game/ERR/10_AI/ERR_InfantryAmmoAccess.c": "ab4262f78d54782c5ecbf5fff4ebe3da16d72329658d7e18c0c35387dc8b3c7d",
|
||||||
|
"Scripts/Game/ERR/10_AI/ERR_InfantryAmmoTransfer.c": "99fa26beb0c0869d0cd694500f3bfc0705c2c1cf674dea90d98fb93a59570ef7",
|
||||||
|
"Scripts/Game/ERR/10_AI/ERR_InfantryCombat.c": "5d7a8e579edf95003133ddb6e509202dba56ac9e68385247e1ac0256c1b319ec",
|
||||||
|
"Scripts/Game/ERR/10_AI/ERR_InfantryMineTransfer.c": "02c399413f80879c22b4891e8ec807c67a6235677095fc4b98bafdc360d6944c",
|
||||||
|
"Scripts/Game/ERR/10_AI/ERR_InfantryResupply.c": "ca8eee2704e7758172e33014404bb1307c683f19b561b840d4592f6312051e62",
|
||||||
|
"Scripts/Game/ERR/10_AI/ERR_InfantrySupplyPool.c": "c8e454573cf064ff392291d6feebf1f23be64390b5b8e944c03dd065f9f46b42",
|
||||||
|
"Scripts/Game/ERR/10_AI/ERR_InterceptVehicleFootprint.c": "5dea67d14ebab67231c485e14bc92f34c005a5f1bf6d9c0943db28e9857e958a",
|
||||||
|
"Scripts/Game/ERR/10_AI/ERR_KnownMines.c": "5772711f3389d43418b93011ce4416b73d0498a8c7518a49dae8dad9a988c0c6",
|
||||||
|
"Scripts/Game/ERR/10_AI/ERR_MortarAimSolution.c": "59e8343d09f7a44871d8d3335d6ad1d02216abb5deed30d38b5ec9ba3f2c0649",
|
||||||
|
"Scripts/Game/ERR/10_AI/ERR_MortarBattery.c": "157024afc8fd3c1ffeea6ae923ff091e5773b9ffcf5f5864f8040d001e689110",
|
||||||
|
"Scripts/Game/ERR/10_AI/ERR_MortarCourierTransfer.c": "968e58ca700b4a11e5e04a5c159696f514a0b1bce531210172b913e495f7e2b7",
|
||||||
|
"Scripts/Game/ERR/10_AI/ERR_MortarFiring.c": "2606ed8c19d5569815dacd3248f012072bb76834f429ce7557d24d884724f733",
|
||||||
|
"Scripts/Game/ERR/10_AI/ERR_MortarLogistics.c": "b3624e4a00a2bdef16f6c100bbd79910e3bb8c2ae8ec5fe2ad5aa70bffecd303",
|
||||||
|
"Scripts/Game/ERR/10_AI/ERR_MortarPrediction.c": "05863b2b4f9f70cdb288f91c722cbea163c13f2a2927dc485482e5bd4fa7d57f",
|
||||||
|
"Scripts/Game/ERR/10_AI/ERR_MortarReadiness.c": "4c3799b3f2681e977669de0cbfaeb307d9a682b04365bfc9f59079e762965758",
|
||||||
|
"Scripts/Game/ERR/10_AI/ERR_MortarRefresh.c": "52ae8d9d6cad92f42d68c634091b80a474d2666b6c06d63a8c30a3fab71494c4",
|
||||||
|
"Scripts/Game/ERR/10_AI/ERR_MortarReportLedger.c": "42a96040b63e56677353e55164ae23031c90f70b4d6673a9f412ad7b19e636ae",
|
||||||
|
"Scripts/Game/ERR/10_AI/ERR_MortarSalvo.c": "c128850c7a78a4d8fee00ad38f48b265f1fbd1d9b24b092ddc5c205b0f0ad6da",
|
||||||
|
"Scripts/Game/ERR/10_AI/ERR_MortarSpotting.c": "39b3c223ade610ed9f1d73040423339ac65c90b153f30c6f5c42290978c57427",
|
||||||
|
"Scripts/Game/ERR/10_AI/ERR_MortarStation.c": "cbbd7c86f722b664c85ab7c070ae1131d2ce5c41d1dacb4381bff9c1720a1866",
|
||||||
|
"Scripts/Game/ERR/10_AI/ERR_MortarSupplyTransfer.c": "ad71084f507ad9c32d3055e7ec6844a1ec5ddf568c0216ab8391e902b56e417c",
|
||||||
|
"Scripts/Game/ERR/10_AI/ERR_MortarSystem.c": "01bae0bab685e9f0c86c3a8939d18ce6f20dc0b8c1a389d179d91e93008c6957",
|
||||||
|
"Scripts/Game/ERR/10_AI/ERR_MountedAmmoPickup.c": "5f7ca5b31f3b405c2a6ca32ff91042f5b4dac6ab9640ce67fb10d7a74236ba69",
|
||||||
|
"Scripts/Game/ERR/10_AI/ERR_MountedAmmoTransfer.c": "0b195784497672fdaf651f336c14f7be98c257f98c85cfbeb4f96fe1a401999b",
|
||||||
|
"Scripts/Game/ERR/10_AI/ERR_MountedMagazineSeed.c": "b42d0aac142907433df8bedc40de24c94813544016cf5f451846f1980250f995",
|
||||||
|
"Scripts/Game/ERR/10_AI/ERR_MountedResupply.c": "c26ad43705765be1c20eca37fbe2978b8c647151f6620ed37141657a4b7dc312",
|
||||||
|
"Scripts/Game/ERR/10_AI/ERR_NativeAirAssaultProbe.c": "c1d55b338b157b758e6ffb993d5f689029b28b13929797c91e5dcb15b5e561ea",
|
||||||
|
"Scripts/Game/ERR/10_AI/ERR_NativeAirLogisticsProbe.c": "58fe863775d0ad575cb566c78cef696c9826691cf49ef9adde76376be7316db1",
|
||||||
|
"Scripts/Game/ERR/10_AI/ERR_NativeAirReconProbe.c": "c1216e0512a0268e4dbb82429e228334401c0c3cac52ba4486ae6dc91e41576d",
|
||||||
|
"Scripts/Game/ERR/10_AI/ERR_NativeAircraftControlProbe.c": "0cf3e72ccdc42e6ef20fb71d743f0e037a9e69b2e082c720fa705628cf790205",
|
||||||
|
"Scripts/Game/ERR/10_AI/ERR_NativeAircraftFieldProbe.c": "b64907c7566a894ca2f3c49ede5d972d4087a938da1a0ca87bcbd7c2203b2c52",
|
||||||
|
"Scripts/Game/ERR/10_AI/ERR_NativeAircraftRouteProbe.c": "8d0dca97e5106d1c84b64992c789e1af0689514beefc027e713ca6ab901fc470",
|
||||||
|
"Scripts/Game/ERR/10_AI/ERR_NativeMortarCourierProbe.c": "740c8bebbd4128a9311b1167d1058549475d6b46f81c9b6c0d19650f4b50616f",
|
||||||
|
"Scripts/Game/ERR/10_AI/ERR_NativeMortarFiringProbe.c": "ee570d21bede8baebefc799399712d9582b3e30ebda7299f6c941777f02ad2a2",
|
||||||
|
"Scripts/Game/ERR/10_AI/ERR_NativeMortarSalvoProbe.c": "fb9ccc6b36247ab3ad828ffbb2556abf5c2838d93ea6cd1ad259c0a015142f5e",
|
||||||
|
"Scripts/Game/ERR/10_AI/ERR_NativeMortarStationProbe.c": "a110f0abc753cb1d2f781e457e637dd5346ecd2e924eb5eb3a5c7dca3d1e2340",
|
||||||
|
"Scripts/Game/ERR/10_AI/ERR_NativeMortarTransferProbe.c": "399c21940ef10777b46fdb3e905430ce43404ce1de2f4a6bb62f9c61c1a0689c",
|
||||||
|
"Scripts/Game/ERR/10_AI/ERR_NativePatrolHQProbe.c": "9784b551cbb91f017004fb728ce08b5c36bead0ffc83aa7149c2c46a7c4dc495",
|
||||||
|
"Scripts/Game/ERR/10_AI/ERR_NativeScoutProbe.c": "41b39b1abe5e51a5b8a428d533cccbfb0dda9d7a570228dc3489408c60543f17",
|
||||||
|
"Scripts/Game/ERR/10_AI/ERR_NativeTownProbe.c": "28876e65f9f8a7d96d8056f446b61e12e97d9bbf1a5ac0d4c40edee44e6c4a21",
|
||||||
|
"Scripts/Game/ERR/10_AI/ERR_ObjectiveDefence.c": "83ef91c2118521aedb4c1838b2e47909c80e0950086449b98ced168f1fd87080",
|
||||||
|
"Scripts/Game/ERR/10_AI/ERR_OptionalMotorbikes.c": "a99dd598fea505005610810fb408a959e981775abe6113b6a964e08a57b6006a",
|
||||||
|
"Scripts/Game/ERR/10_AI/ERR_ParkedCarCatalog.c": "1d865c263e910071b127ccd1bdc8b58dd45768c4629194da49705f76995ff0e7",
|
||||||
|
"Scripts/Game/ERR/10_AI/ERR_PlaneFlight.c": "14fa2328e1d31cf59fb89cbb53ba33224be6cfcdd2813525fa9585f8b2e237c7",
|
||||||
|
"Scripts/Game/ERR/10_AI/ERR_PlaneRecon.c": "fe94c29fd9befd3c1bf3ab97b9b27458a8563697d4d46f72df43c6e642f3664e",
|
||||||
|
"Scripts/Game/ERR/10_AI/ERR_ReconAirports.c": "7551347d776d6e0eec818d6468cacbca7ac53daee7317e0a1618ca3d39ebc762",
|
||||||
|
"Scripts/Game/ERR/10_AI/ERR_ReconCrewLocks.c": "83b63c21574140208792aaf3d24e3d22b255a078871382122110bb48520d4541",
|
||||||
|
"Scripts/Game/ERR/10_AI/ERR_ReconFlightComponent.c": "1386e2a2d2a635417ca517aa1d8ddd4f657dd415ff59be2465543cd8f601e7a9",
|
||||||
|
"Scripts/Game/ERR/10_AI/ERR_RescueAssets.c": "fca1a4518baf09f0b2c97f3a51995001d9674849417fea9ca1233e8d1f578495",
|
||||||
|
"Scripts/Game/ERR/10_AI/ERR_RescueFlightComponent.c": "60db8029bbfbbb362b5bce61f509740eabea5925b93bc975e7c2b44addcf03f3",
|
||||||
|
"Scripts/Game/ERR/10_AI/ERR_RoadblockMining.c": "47d0212cd20c0b320a47123d17f2b89f7d60b44072a00c69944ada7bb83c4e5a",
|
||||||
|
"Scripts/Game/ERR/10_AI/ERR_Roadblocks.c": "ba7e064550463da098fe01c27d456c7509a12928fee4aee335f61d047472770c",
|
||||||
|
"Scripts/Game/ERR/10_AI/ERR_ScoutSystem.c": "63287a252e4e7d5aefce840279f26ce3e1f286cb79cadb32596c37897cec7119",
|
||||||
|
"Scripts/Game/ERR/10_AI/ERR_SettlementSafety.c": "e5c0ebc95521a9a33a3f7d9cca6c551dda862a08b7af20b017877aba9584795b",
|
||||||
|
"Scripts/Game/ERR/10_AI/ERR_ShoreBoats.c": "e8205562bb5e98a73ef958485470f53bb1f71113457b8717c123df79db8937f4",
|
||||||
|
"Scripts/Game/ERR/10_AI/ERR_ShoreMap.c": "ad7126e5efae6951ee689d38954a69ed25388e2075e0e090a2e78b4626ca5dfd",
|
||||||
|
"Scripts/Game/ERR/10_AI/ERR_SoldierSpeech.c": "ca87494ecd355052b46b72e2faf13660e458f3d376285bb0e4c20fd0112ef2e2",
|
||||||
|
"Scripts/Game/ERR/10_AI/ERR_SoldierSpeechAudio.c": "4734d614c5366ae3ff57717f514664c9dfdbe4408e16ba36f6b10d807361e313",
|
||||||
|
"Scripts/Game/ERR/10_AI/ERR_SoldierSpeechContext.c": "d2baa94f036f7dde5cf24e004ad1fb9416f249cbf7d0c6c07c5898f7d21751be",
|
||||||
|
"Scripts/Game/ERR/10_AI/ERR_SupplyConvoyColumn.c": "bd898aabcac5724d60dbecc4ff5ab6f062c66cf7c735ff59127c588ff94f898e",
|
||||||
|
"Scripts/Game/ERR/10_AI/ERR_SupplyConvoyService.c": "5393efab9d663382e67b9b27a388063986a4f99c2607328c998f007588074ca4",
|
||||||
|
"Scripts/Game/ERR/10_AI/ERR_SupplyConvoySystem.c": "f09aa817c27d6af0ccfb544f4ab1ae2afafb63d626641e03d87cfe159475d821",
|
||||||
|
"Scripts/Game/ERR/10_AI/ERR_SupplyConvoyTactics.c": "d2fe073b0c23c877afaa65e246544751eecabce4febd72412fc9a4ec18eb1c8c",
|
||||||
|
"Scripts/Game/ERR/10_AI/ERR_SupportScenario.c": "151eb6189701e559bd4f1359c91187f5a64deab1f2bacbd521c4f4cf3de6d878",
|
||||||
|
"Scripts/Game/ERR/10_AI/ERR_TownGarrisons.c": "9b48331ff8bf7e5a111b498c59a57a5d0210125af983424535286a4aeda9a18d",
|
||||||
|
"Scripts/Game/ERR/10_AI/ERR_VehicleAlarmPerception.c": "45ac71d25e10a057a26a5b0fc7128935baaf47f4c0f87208a4420fa52086fd98",
|
||||||
|
"Scripts/Game/ERR/20_Intel/ERR_IntelAdminProvider.c": "40adf8497b64cc74b1390149fe5ba789ee2f14e6fb3c325af8f5ffa8c806878e",
|
||||||
|
"Scripts/Game/ERR/20_Intel/ERR_IntelDiscoveryFeedback.c": "741de1dbadfd46c154905a0918aad41386ddc139d843553db55d20d60700c020",
|
||||||
|
"Scripts/Game/ERR/20_Intel/ERR_IntelEvidence.c": "ff436bd3c7aa0fcd5c24e940430c1ffdda934889953f63e877ae418bc9557d26",
|
||||||
|
"Scripts/Game/ERR/20_Intel/ERR_IntelReroll.c": "d8b04de9ea789732cc78ebce9aa60786c86fe46d05f671cf251eefa68a214b59",
|
||||||
|
"Scripts/Game/ERR/20_Intel/ERR_IntelService.c": "2911325c79a7a372628b18ffa0e110d11919ce2c2cd7b19277bfd608fdb03dfc",
|
||||||
|
"Scripts/Game/ERR/20_Intel/ERR_MineIntel.c": "3ce16cebaa9703b2f9803df7c11614f94de6460a9136dab8f80dcad41ae2b1c2",
|
||||||
|
"Scripts/Game/ERR/30_Map/ERRM_AtlasPresentation.c": "f0b36472b16477b8c3b5b62f55cfb2a3b3a08304b0779bc39244359af1abe203",
|
||||||
|
"Scripts/Game/ERR/30_Map/ERRM_NativeAtlasAnimationProbe.c": "845b39276bfdbadd6bfd9b41f445fce1a9d40231d38ef32adc7a6654868e17f2",
|
||||||
|
"Scripts/Game/ERR/30_Map/ERRM_NativeHeldMapProbe.c": "46c0210a3aef40fc34e4c9682d9364b1cc1e15d4373d8aabfeac7d9b8e55c351",
|
||||||
|
"Scripts/Game/ERR/30_Map/ERRM_NativeMapOwnershipProbe.c": "32418602f085e3edba7343f42a6a691630b533be262002f29248e8ae87a38254",
|
||||||
|
"Scripts/Game/ERR/30_Map/ERRM_SharedMapComponent.c": "73298c94ecc8d227452b0eddfcaec7fe9df4748875fa7fafcc52544a43658f36",
|
||||||
|
"Scripts/Game/ERR/30_Map/ERRM_SharedMapPages.c": "2286d327b87f127f052e06c22f553b30ea31d25127b860fc02a220aeb4ce3ea2",
|
||||||
|
"Scripts/Game/ERR/30_Map/ERR_ScenarioMap.c": "75fa1d742129ef7f33c005cd48f56db7f49ee7bde3c5428532b0b501b032b0a3",
|
||||||
|
"Scripts/Game/ERR/40_Chat/ERR_AdminCommands.c": "282fe1463add7af8771aa58507b254e69d2d06f50274d4c77321db073f8394f0",
|
||||||
|
"Scripts/Game/ERR/40_Chat/ERR_NativeAlarmHearingProbe.c": "5dbb6a48909b76cd141e3a79ef01d2e68cafee55153821c4471f85c761fff94f",
|
||||||
|
"Scripts/Game/ERR/40_Chat/ERR_NativeConvoyCoverProbe.c": "d2450140cf9bdf09210473234605b4c0d818ea5b91f9532209166a35c5d13701",
|
||||||
|
"Scripts/Game/ERR/40_Chat/ERR_NativeConvoyProbe.c": "87df652b339df4fe4239617752ac5fd9f47aa4396ba94742a0af39a32b54e784",
|
||||||
|
"Scripts/Game/ERR/40_Chat/ERR_NativeCrashGeometryProbe.c": "7867ce1794aa0d1bbab72c32f60f5bd0c2bad4f5ff6224978c215e7828840178",
|
||||||
|
"Scripts/Game/ERR/40_Chat/ERR_NativeCrashStartProbe.c": "957f40e36bfc025b8bc752b1f41dc177c8d0844c69ee5994321a47cf3ddea1ad",
|
||||||
|
"Scripts/Game/ERR/40_Chat/ERR_NativeHQBodyProbe.c": "811244cc8297817efbfc3ee4edf01c868eae23c88127ba0c72e98ee7422da72f",
|
||||||
|
"Scripts/Game/ERR/40_Chat/ERR_NativeHQMemoryProbe.c": "9bcd0b2e1007d40cb794aabe80368a2584ae58aad6a3ebbee070efc7b21a8147",
|
||||||
|
"Scripts/Game/ERR/40_Chat/ERR_NativeHQResponseProof.c": "0f8b09fd8753234c91fd6baaca0e2f812e409ae1c4be8f340b648ae59b69c2f3",
|
||||||
|
"Scripts/Game/ERR/40_Chat/ERR_NativeInfantryTransferProbe.c": "9b2de4dc22bdadd51b0271219a971dc8dc07f70ed3534f306acf03ed81b29424",
|
||||||
|
"Scripts/Game/ERR/40_Chat/ERR_NativeLocalHandoffProbe.c": "0d4d61c424a16008595f86fa61f3b848caf9bd6e9ebbacea9c10254d88ba378e",
|
||||||
|
"Scripts/Game/ERR/40_Chat/ERR_NativeMaintenanceProbe.c": "852b9b397efc3f919c97fec63bc3df1a850cd7833421af8441994afd191951d4",
|
||||||
|
"Scripts/Game/ERR/40_Chat/ERR_NativeMortarProbe.c": "ddb892141500c192c0787b011d57dd8c07dd8c9a3ca5fdc407f6c271897bde0a",
|
||||||
|
"Scripts/Game/ERR/40_Chat/ERR_NativeMountedAmmoProbe.c": "7ddb634444c79ad9291d53a754dc0ed383342e36720ddaa4b7aa4bd4e7ee656d",
|
||||||
|
"Scripts/Game/ERR/40_Chat/ERR_NativeMountedCourierProbe.c": "12710e9e5548fe8856f7a52f3566338369a8a1eedf0bd92af16229271872ada5",
|
||||||
|
"Scripts/Game/ERR/40_Chat/ERR_NativeMountedInterceptProbe.c": "34b0b1e38a59f14c4e83d93ec412779945388e6f4d697bda2f6cb90f519a6372",
|
||||||
|
"Scripts/Game/ERR/40_Chat/ERR_NativeMountedSwapProbe.c": "a6721fcaaccadf8eddb06687c7d587d0a3e377d5d1bb0b8e72e630fede8690ac",
|
||||||
|
"Scripts/Game/ERR/40_Chat/ERR_NativeRadioProbe.c": "a4bd5cd9fe0594e05238b2d6dcd80466773f8fa160dc60bbe1eda70e3acdbe79",
|
||||||
|
"Scripts/Game/ERR/40_Chat/ERR_NativeRandomRadiusTrace.c": "7e946406067092e30b6b75cc6ef0c56db7f866249e02bd13648156933ee578d9",
|
||||||
|
"Scripts/Game/ERR/40_Chat/ERR_NativeSmoke.c": "4dfb218419db4cd7a46d25cb1f2e578e75ad89efc43f99c6ca8ab8e591e139d7",
|
||||||
|
"Scripts/Game/ERR/40_Chat/ERR_NativeSupplyConvoyProbe.c": "89c2696071912500840f4bb91d754f695bf674335b51a7ee1d03727084fd4869",
|
||||||
|
"Scripts/Game/ERR/40_Chat/ERR_NativeSupplyTravelProbe.c": "32e6074e912491f2643a24cb44311b9fe5b069c76e4e94a45e7409ac82d36507",
|
||||||
|
"Scripts/Game/ERR/40_Chat/ERR_OrdinaryScenarioLaunchChat.c": "a747af09599ce4d0c52051f18f00c4624d24d137e328341b580b82e896c6bf65",
|
||||||
|
"Scripts/GameLib/ERR/00_Core/ERR_DiagnosticNoSplash.c": "0ea1b402f8927b6d68bf6f7e5caa2967f7e3a39147634faab147796b791933b5",
|
||||||
|
"Scripts/WorkbenchGame/ERR/00_Core/ERR_BuildAtlasModel.c": "f6cb5e6f5afc9bb60a8a46d96b52c7506882faf0a880e0b20a01a2603b336d2c",
|
||||||
|
"Scripts/WorkbenchGame/ERR/00_Core/ERR_ValidateBaseWorldPlugin.c": "49a38c37b51e5318c7dcbcb01543dd9a6300d053f0d39808b3974f4edc45b871",
|
||||||
|
"Scripts/WorkbenchGame/ERR/40_Chat/ERR_ValidateWorldPlugin.c": "d1f3fc372d0d16062a5983f2a6cffb6e72f202cb93fea5b33b4d77e0c852ecc7",
|
||||||
|
"Sounds/ERR/Speech/radio_01.acp": "cf63378bf3950f5e6c1c1f46c057ad38a371b14b945b1201777820384805c3af",
|
||||||
|
"Sounds/ERR/Speech/radio_01.acp.meta": "d5966526f35aa64dc980238f72f4f93f9d0e6a360f10e3f6538e97b7d086aa47",
|
||||||
|
"Sounds/ERR/Speech/radio_01.wav": "cfe4a00000bc9b629a9e8e282ed64e7177673f829c5657b1ae2b2cb9e661d2ae",
|
||||||
|
"Sounds/ERR/Speech/radio_01.wav.meta": "eaf33fa344fccf9aacab626117d03b96b135fa819d3e63ae300fac544291b571",
|
||||||
|
"Sounds/ERR/Speech/radio_02.acp": "9111d118594094a8e09acdf80d8b107cc7d5d890b6ab086274e0e1004039e345",
|
||||||
|
"Sounds/ERR/Speech/radio_02.acp.meta": "76b55d9abf7f599c5db3269a5829546a6d5f92e6350b2fe987245f9cd6b599fb",
|
||||||
|
"Sounds/ERR/Speech/radio_02.wav": "6f0c94ae0e501afe6cc1aba804ba6a0403ba4de931debc28bf22970f591d0798",
|
||||||
|
"Sounds/ERR/Speech/radio_02.wav.meta": "06ec85166aa4c54a6fafa1fa2eb2cc32f4a36dc8eecde8f9ba9912229e5e00e0",
|
||||||
|
"Sounds/ERR/Speech/radio_03.acp": "019f939d65396f4a334a024bbf53c41479a9f8ce806610945af2be13e7352c70",
|
||||||
|
"Sounds/ERR/Speech/radio_03.acp.meta": "8aa2f4f26f04bc3085ae046f543c047cdadf9af9e06a38920f1e1fd8a3aa02fe",
|
||||||
|
"Sounds/ERR/Speech/radio_03.wav": "415a206bd1de167342cf1b82d59c708441b8d802395f941d15097c064133802a",
|
||||||
|
"Sounds/ERR/Speech/radio_03.wav.meta": "de1d81fb653146404de5b6a6018c1cd73e902571b82d544de5b6cfccf21f5410",
|
||||||
|
"Sounds/ERR/Speech/radio_04.acp": "77bcff7cc7ce49036a440e829fb4eab1dbe5252b0fc9ea24c42e6f6b68e2698e",
|
||||||
|
"Sounds/ERR/Speech/radio_04.acp.meta": "dd61ee2545776cf23403240424470661c737048d01432d90b24f2c9e75f45d82",
|
||||||
|
"Sounds/ERR/Speech/radio_04.wav": "a225810c7fba048517248fd9f7e9f7ab8aad5bac35e59f22e11e69166551f7f3",
|
||||||
|
"Sounds/ERR/Speech/radio_04.wav.meta": "0ae046e2ac7f9653661ba99646d40dd78d52f113ea6554e1dbfd6e578572a4f4",
|
||||||
|
"Sounds/ERR/Speech/radio_05.acp": "7dbc2b3b3d251eb8d3e749b0a7f32186b0421a95fa5585be493cf04b45510e3d",
|
||||||
|
"Sounds/ERR/Speech/radio_05.acp.meta": "cbf3b48ed3865e30ba5d838d96ec4f1ee950cdcd51368f7a9259460e4b78cc1b",
|
||||||
|
"Sounds/ERR/Speech/radio_05.wav": "90f5abe221165ac5cd7d88c9b3e01cf6fd4d00b594c84d09c6baf101fdb776ad",
|
||||||
|
"Sounds/ERR/Speech/radio_05.wav.meta": "d8e3de0e1ae8670a01bcc272a1adf4199ffcea514ce024ee3286820dedab4d83",
|
||||||
|
"Sounds/ERR/Speech/radio_06.acp": "e14da41c1cd186f35a4f385fab71ad85ad6fe718e67299a65466339ae23a2922",
|
||||||
|
"Sounds/ERR/Speech/radio_06.acp.meta": "efc810a60e93453942adba476b423121f2a7dc1133b25d8764c1bec546a3949b",
|
||||||
|
"Sounds/ERR/Speech/radio_06.wav": "b3f86b8dde535bc1a63301376c8d42775446d1b6117168557841565391fe0a14",
|
||||||
|
"Sounds/ERR/Speech/radio_06.wav.meta": "07f53131f4ad153cc09051ba1de07f7b43d38f69781aad24371c4eeb331b280b",
|
||||||
|
"Sounds/ERR/Speech/radio_07.acp": "bf3a48af07ad6e5da2ca6ed6c581fc6232e1bd62ebb905b934188366f2bc3d77",
|
||||||
|
"Sounds/ERR/Speech/radio_07.acp.meta": "60aab59223c0ea734f7c1e88f803de30164ccef1a909730abed3eb76b3378ca2",
|
||||||
|
"Sounds/ERR/Speech/radio_07.wav": "f3fd18ddaebe9eb3d0db9ac73c89a7b7a7f18b76e4b66d404d544be660a6825e",
|
||||||
|
"Sounds/ERR/Speech/radio_07.wav.meta": "ef6c72aa32c1c46f7133782536744bdaf4eee03bcdb75aecb87accef6d1c4f2d",
|
||||||
|
"Sounds/ERR/Speech/radio_08.acp": "a82c5dbcd7094085324d93d539c6f829c53dcf3781f40b8d65a10b7cb4125bae",
|
||||||
|
"Sounds/ERR/Speech/radio_08.acp.meta": "69fb3400109e19d4f4d0fb371d056edbecc0a96a0a923174d1aba95dfeac1014",
|
||||||
|
"Sounds/ERR/Speech/radio_08.wav": "ce3c2aff20dbea83aa6545a383c454969c5caeb53d5a88155ec182f789047d4a",
|
||||||
|
"Sounds/ERR/Speech/radio_08.wav.meta": "72c5e117ab7b605b8370fe90923edee73593df6071c39b86556731387814a014",
|
||||||
|
"Sounds/ERR/Speech/radio_09.acp": "73725377def1832742c7620fec46dc0100400d92b9cb79add8b4d44e94c46c0a",
|
||||||
|
"Sounds/ERR/Speech/radio_09.acp.meta": "95456fe20def274a1972867024e9d0eb572f3878eae19c63522fcefe401dcb07",
|
||||||
|
"Sounds/ERR/Speech/radio_09.wav": "3eb0be6393c431b526dbddc723cb608a7681a2dcd8af6910d9f2234aa98c923c",
|
||||||
|
"Sounds/ERR/Speech/radio_09.wav.meta": "724dd301d1b25e41318503a815e87b54e7283735c51fd122af55c070f26adb37",
|
||||||
|
"Sounds/ERR/Speech/radio_10.acp": "f976a0fecf73b3379ffb9728e96c68ca79800712919320e7ff7f3484cd2c9724",
|
||||||
|
"Sounds/ERR/Speech/radio_10.acp.meta": "5411a9ffa23e42c8a2e8d4eba75d6e87631bcf542128327dfefd603a64d5b6ec",
|
||||||
|
"Sounds/ERR/Speech/radio_10.wav": "2b2dac499a45a7779e79465d628a67b87078c0951db7db3e051feeb4342f2816",
|
||||||
|
"Sounds/ERR/Speech/radio_10.wav.meta": "c3ac10a092dcb26ec637be6c9264a85eae1b6da55b9d8b44a14766a70ddf2933",
|
||||||
|
"Sounds/ERR/Speech/soldier_1001.acp": "1af0d303063f37811a9b1a25424d887fe5eed4b5c57da71cf36ba6985f8cf002",
|
||||||
|
"Sounds/ERR/Speech/soldier_1001.acp.meta": "2fbdda4d9fa83c6945985bd2f2215aa9f745b3a18adb0e7edafac1b01c161ba5",
|
||||||
|
"Sounds/ERR/Speech/soldier_1001.wav": "a8935a5aded028f2fb03734f4423e731ea4f5b17394526df47c0407a3deddfe7",
|
||||||
|
"Sounds/ERR/Speech/soldier_1001.wav.meta": "aff7a92a727d8bd4df033be2961fb85cafdc5c45fd272c5ea718bc07fb8e5cce",
|
||||||
|
"Sounds/ERR/Speech/soldier_1002.acp": "1444636949683a430efe20a7f296e85e669cb8e26799c326f73a00c4f8d32fa5",
|
||||||
|
"Sounds/ERR/Speech/soldier_1002.acp.meta": "d8eb34135a3b76f0a4f889f9662d954b3b0b3638c10c0732e25ca29d7b2ef412",
|
||||||
|
"Sounds/ERR/Speech/soldier_1002.wav": "8535643e93757dd916f4158b5b03671cefc599489dbccf6bb0f7abf294fbae88",
|
||||||
|
"Sounds/ERR/Speech/soldier_1002.wav.meta": "e8c8813e5a1989a0d7e4d2a5c90622c4b0f909aafb929f4737c82e5710220d1f",
|
||||||
|
"Sounds/ERR/Speech/soldier_1003.acp": "5ab123f150debd6fda0b822fee7ffca5a0bdc168f4d8d2e28b3982972db05613",
|
||||||
|
"Sounds/ERR/Speech/soldier_1003.acp.meta": "f89fa8e7ac42e7f675d29f0b241d181df572413c6c41bf31cfb98fa205baa87e",
|
||||||
|
"Sounds/ERR/Speech/soldier_1003.wav": "5910896661ad67333d2374a16ca44ce831a5820feb337655df99c02df2915d5a",
|
||||||
|
"Sounds/ERR/Speech/soldier_1003.wav.meta": "5281a71be599a70aeb9972ea85364e5ef32f824db94c71953d8a1912fb2a27c2",
|
||||||
|
"Sounds/ERR/Speech/soldier_1004.acp": "10ac847b206834168e63d8d0f7ad25d7542a58a49d331af50aecf13e7e070ac9",
|
||||||
|
"Sounds/ERR/Speech/soldier_1004.acp.meta": "8c073328d3f5f06ca583d97e9ce2453d8167ec7bc5643ab90783748a4cd9b6bf",
|
||||||
|
"Sounds/ERR/Speech/soldier_1004.wav": "76375e462ba518c76f752d4b194c9370dffcebd8ce0037865133b37af3ff9a9e",
|
||||||
|
"Sounds/ERR/Speech/soldier_1004.wav.meta": "563aae8d93efeaa7ca098c12bf0004da279321607793bb32a93b2530d6832d06",
|
||||||
|
"Sounds/ERR/Speech/soldier_1005.acp": "ea3d874f84dd85f09871444c348b1c7f4948fc043c59cba4d3aea8b8eaa8b86e",
|
||||||
|
"Sounds/ERR/Speech/soldier_1005.acp.meta": "40cbfddfa9937e319d412f3ecb66b75e2c1c88f2823a64e43a81a2939fb9021a",
|
||||||
|
"Sounds/ERR/Speech/soldier_1005.wav": "3e20728fb61863278738f5366343cddd6fac1b8b114a14867f91ebb5cac547d8",
|
||||||
|
"Sounds/ERR/Speech/soldier_1005.wav.meta": "e330fc819872b0a97a280a42d936ff75e30d21ea3ac96891988b48ded36af7b0",
|
||||||
|
"Sounds/ERR/Speech/soldier_1100.acp": "86dc8e90d826947672342f44a6ff8d2fd4a8f014db0b215c0865b3728b14ea88",
|
||||||
|
"Sounds/ERR/Speech/soldier_1100.acp.meta": "1a41730365335ebfabf6c75ab1c67ecb1d0d6c85db56d1d85f688a780a3ecf15",
|
||||||
|
"Sounds/ERR/Speech/soldier_1100.wav": "eaf1deb5381f6bac165e364a652920fcf78438c351c564ebe50a216f3f3ba5a0",
|
||||||
|
"Sounds/ERR/Speech/soldier_1100.wav.meta": "dcd087d3e0bec53abdd4e42218a3bbb234b7ae3cd2da05dcee71a298632a8da9",
|
||||||
|
"Sounds/ERR/Speech/soldier_1101.acp": "2680131b5364efe39f3dee44ce1605dbc9e064cea9baf8247a8c5b55dcfa8d99",
|
||||||
|
"Sounds/ERR/Speech/soldier_1101.acp.meta": "4feaa2b8e069ee2e9576d4009329f585b1b5ade9e47816882b78075f4897646f",
|
||||||
|
"Sounds/ERR/Speech/soldier_1101.wav": "4bca012ec25d8456cd38d26606312f54b480b674365b76a9c9f54e408314570b",
|
||||||
|
"Sounds/ERR/Speech/soldier_1101.wav.meta": "6ac6bd7a06be3fa35c513137b4584e405c0cd7e32d0c6912f2d7f9b5a3087d36",
|
||||||
|
"Sounds/ERR/Speech/soldier_1102.acp": "08002dc26a4c07d6bf488d5f7c8c6587787c1755ce374b4053dad582eb2d77cb",
|
||||||
|
"Sounds/ERR/Speech/soldier_1102.acp.meta": "2133e516f162d6aaa7f0d3a191421964ca6df7b00d0a50fa42ffaba70864bef4",
|
||||||
|
"Sounds/ERR/Speech/soldier_1102.wav": "1432bb3c9d99910314a84d9773d2afafe4f5fbb143afb291b0deed55d25ee6d0",
|
||||||
|
"Sounds/ERR/Speech/soldier_1102.wav.meta": "a6ca33938733e22789434db35ca2cdfb0fc4c51716feadf4a28a60ee9d1044b2",
|
||||||
|
"Sounds/ERR/Speech/soldier_1103.acp": "c93e1e75c272d31107fde86205b859cf505e2acf7d8776fbd81357bc8b3625b9",
|
||||||
|
"Sounds/ERR/Speech/soldier_1103.acp.meta": "f3d41ab27e932b10d46c3a2aa63f826825403a70640381a089db608c1c00a257",
|
||||||
|
"Sounds/ERR/Speech/soldier_1103.wav": "c294454907a229d521c2285eec26dbb82f9782f2a7eca764e11713ff63f0e004",
|
||||||
|
"Sounds/ERR/Speech/soldier_1103.wav.meta": "968d93e9dee2104aee94407604d021d8849a83dc3d115484088e81289654c246",
|
||||||
|
"Sounds/ERR/Speech/soldier_1104.acp": "cb94ed3c95670f11f78f6470f1f50492fff6d2f0ac94602d054d474d52400cec",
|
||||||
|
"Sounds/ERR/Speech/soldier_1104.acp.meta": "92d43bf610784953d8d94322b73ae235f7a8aeb83ece72733d795c8034275052",
|
||||||
|
"Sounds/ERR/Speech/soldier_1104.wav": "952b3d71366c26fc12bdbb9014665bfc0402f30944c22b1b2369d26a93db7104",
|
||||||
|
"Sounds/ERR/Speech/soldier_1104.wav.meta": "939562214b39250feaa8f6f6c6bd10c3d4e0b4c529f338490a2dc234919c0d31",
|
||||||
|
"Sounds/ERR/Speech/soldier_1105.acp": "62c5d3d230a8a15cf2a4de193620ccdf83ca9973b550ace4e8edf7cc49f52851",
|
||||||
|
"Sounds/ERR/Speech/soldier_1105.acp.meta": "6774063562b9c83975bc394dd3c72aa2a0d8001d0990ab8ff870ae2876889f93",
|
||||||
|
"Sounds/ERR/Speech/soldier_1105.wav": "20e9e82d9897b598497da4722432f83ae03a5e6bf9a1f7a77caab712e3fc3130",
|
||||||
|
"Sounds/ERR/Speech/soldier_1105.wav.meta": "6f21652352edbd59d1244ce9c2dcd1ad4ab65f022222381d9709c28148121c42",
|
||||||
|
"Sounds/ERR/Speech/soldier_1200.acp": "c27db60629a41145697e041224cc2dde21c72d6a883fa305c71ec9c5b86bd84e",
|
||||||
|
"Sounds/ERR/Speech/soldier_1200.acp.meta": "ea228ec869a7a0266f5604266f68c4166abc6cfeaa29180cb3b4351464b71079",
|
||||||
|
"Sounds/ERR/Speech/soldier_1200.wav": "5a1561e821ef33a574c1f9ef95ccf76e69b832bf0a20bcbbf914760345921859",
|
||||||
|
"Sounds/ERR/Speech/soldier_1200.wav.meta": "ccf3b62fd2eea460d576fa68863a901eb0025f47b1b76729a4289162d0dfa0c8",
|
||||||
|
"Sounds/ERR/Speech/soldier_1201.acp": "45f220c5b6bac64db61eebcf54bb52da572f9f8f1ea0872c5af9fd3238c25a4e",
|
||||||
|
"Sounds/ERR/Speech/soldier_1201.acp.meta": "3be417d66b05e11e0b520af136dfc45c86c17d5e35b56a611efbcf38e0d35003",
|
||||||
|
"Sounds/ERR/Speech/soldier_1201.wav": "f058f0482cfe4034fdf37d9b596f7ba8172fae1c57aeb387ce153f8041895e45",
|
||||||
|
"Sounds/ERR/Speech/soldier_1201.wav.meta": "abaebe719eff7e009eb4d0222060280877451126c02154706df6d13e4c5d3e11",
|
||||||
|
"Sounds/ERR/Speech/soldier_1202.acp": "c08625886d8c6dc405cf96c640c9dafd4510ba5cef2c22b037c8c7b3eb5bea39",
|
||||||
|
"Sounds/ERR/Speech/soldier_1202.acp.meta": "cf345e968edad1b825dd33b87267b63f770c169250f8c51195bffc3161d396bd",
|
||||||
|
"Sounds/ERR/Speech/soldier_1202.wav": "c875f4e798ff5e24c3eb3b48bdfa1b8af03de9326a19c671eca86660297ad737",
|
||||||
|
"Sounds/ERR/Speech/soldier_1202.wav.meta": "dd2d6411abe914bce71c6688a1647c2699303ca248191ec01c6325b366e5d7fb",
|
||||||
|
"Sounds/ERR/Speech/soldier_1203.acp": "f0237a51ffe0e7d463154d321117a9b19c6914f6ee680ebf07a0ff9ab51fc340",
|
||||||
|
"Sounds/ERR/Speech/soldier_1203.acp.meta": "0e93332191ac74be950ce8139b96ed6fdfe3ddbe68de8949826dc801d12c97f2",
|
||||||
|
"Sounds/ERR/Speech/soldier_1203.wav": "6e7857dc96dfb556f011ba89f2f4ea659cfd7b605b88790c69e754d5cc51398a",
|
||||||
|
"Sounds/ERR/Speech/soldier_1203.wav.meta": "0f564169dc05a95f7b01f64f72bdabf6de9ed3f37a2f44b4751f89b38eb18cd8",
|
||||||
|
"Sounds/ERR/Speech/soldier_1204.acp": "94dbf98b5e05f1ebf6960495032c46203caaa4440dfb1ffd3beda2679fe6bec5",
|
||||||
|
"Sounds/ERR/Speech/soldier_1204.acp.meta": "7cc8c61f4bb210c0576fac350d170f8f54a6e55531db6102c1a0fa7cb7a8a809",
|
||||||
|
"Sounds/ERR/Speech/soldier_1204.wav": "bd170ca015b017114e42078dcc5c49d5626aef17d22e4a12b8282e9ee4908ae6",
|
||||||
|
"Sounds/ERR/Speech/soldier_1204.wav.meta": "1c6ddb11c22a14d9d498074e2fb2864783f91afc552c4cd671452fa8df483de0",
|
||||||
|
"Sounds/ERR/Speech/soldier_1205.acp": "47180a3445a265335d682eac6fa51fedca51d76f329adc39b1802092b311118b",
|
||||||
|
"Sounds/ERR/Speech/soldier_1205.acp.meta": "c34346f4b10149b426ebb4e94db8c29883c9d0e36f2b42d07d41570eb8932554",
|
||||||
|
"Sounds/ERR/Speech/soldier_1205.wav": "769c457805376e9c0172ddb525ead5f1d8774e15bd1f3f3b218a19f9d77b6883",
|
||||||
|
"Sounds/ERR/Speech/soldier_1205.wav.meta": "31a2a7314b44afb3f0031376b2ad6df22649e8089bf1a3bbeb64cdc41156cff7",
|
||||||
|
"Sounds/ERR/Speech/soldier_clear.acp": "f33f03f3d24182a95db7d02058f2dd6ae52098e3b5142a33ede833ee881d54ed",
|
||||||
|
"Sounds/ERR/Speech/soldier_clear.acp.meta": "7d3643c9de2d81ab0f1b4898e781341c1962bd8505c20882233ef7c40159b23b",
|
||||||
|
"Sounds/ERR/Speech/soldier_clear.wav": "d6527b8136aa720b721463210420f47de0dbc45acc4e4c390b6a44968c5f0acd",
|
||||||
|
"Sounds/ERR/Speech/soldier_clear.wav.meta": "d9f9a921a85fe275c6cce649421a19946ff6aec49559796725c3858d9fe9b261",
|
||||||
|
"Sounds/ERR/Speech/soldier_covering.acp": "7d4109edbd6c20f9e2af0b394fa12e8b3b40fc18bf2b5ac118beebb1fa4a79b1",
|
||||||
|
"Sounds/ERR/Speech/soldier_covering.acp.meta": "320908bf7decea55b8d8b4a89b30e84e7d96a033d4a9cd1bd84912dce013f0d8",
|
||||||
|
"Sounds/ERR/Speech/soldier_covering.wav": "f51e0086eaf0eece8b4061711088a413a2dbeae263deab7ea30fb1852dafda69",
|
||||||
|
"Sounds/ERR/Speech/soldier_covering.wav.meta": "7bdf2d2c5f9cf741bae523e1ab0b9acc99b38ccd1228ebfbcba92f2b9a5cba9d",
|
||||||
|
"Sounds/ERR/Speech/soldier_engaging.acp": "9f052e87edaf182030edb656821621cdeabbf13d65bc181308357530c9d93a74",
|
||||||
|
"Sounds/ERR/Speech/soldier_engaging.acp.meta": "9e487fa3746c46b2993f1dfd1f0513f375571728704533674bee62586e25b72b",
|
||||||
|
"Sounds/ERR/Speech/soldier_engaging.wav": "ac0f2d7d698732e3d7c270186e7aa2ab7e6bd4c908f36b07fb6f66a3cbe75ccf",
|
||||||
|
"Sounds/ERR/Speech/soldier_engaging.wav.meta": "d571b9ebce196cc209078a83e4bde8f6a5f4b6d28c2945e2b47953ccb6889e97",
|
||||||
|
"Sounds/ERR/Speech/soldier_moving.acp": "05503ca7af13a7ad03ed2a3aa562cc58504fdfff3148477f8d81b5a01abdf37c",
|
||||||
|
"Sounds/ERR/Speech/soldier_moving.acp.meta": "a2474c87e4e1587226919dfdbd03739d938803d34f4a4f441889b0d8015513bd",
|
||||||
|
"Sounds/ERR/Speech/soldier_moving.wav": "a61dda64e6fc2a11eac3e6008ee14b89f360bd67e258dce1191a71d9e2e26fad",
|
||||||
|
"Sounds/ERR/Speech/soldier_moving.wav.meta": "bd87cd72ccb819584f9da09fb0d6973ffd6eb0bb5572c562978500e2af467217",
|
||||||
|
"Sounds/ERR/Speech/soldier_no_ammo.acp": "c821c61afb2ddc12d3ecdb552a66d2a9ff89a5258a567ff2a99fed4f45a33520",
|
||||||
|
"Sounds/ERR/Speech/soldier_no_ammo.acp.meta": "65a27b81a5b437163befd4dc566785a9dda4def1798495ca53c8f768a5d7a73f",
|
||||||
|
"Sounds/ERR/Speech/soldier_no_ammo.wav": "ffe6ef5fdf30411749e0cb73186e3005b1ce6a52fcb7c836caeb1bca422ed3ed",
|
||||||
|
"Sounds/ERR/Speech/soldier_no_ammo.wav.meta": "25b5680fd2a313c18e15ce6e0d3f709d78352b93206c22c7881be19b81faddd5",
|
||||||
|
"Sounds/ERR/Speech/soldier_reloading.acp": "51c5cb464bab6637cf9e3b1880a010e05774d76a92298daf40b1d84970845be7",
|
||||||
|
"Sounds/ERR/Speech/soldier_reloading.acp.meta": "ca351e809b1ba7c69b066d2c1d0a5d2afdcaa833c1163e6d13a0396437e98cf6",
|
||||||
|
"Sounds/ERR/Speech/soldier_reloading.wav": "15b2749f79bc73fd0784bcd6e6076e1bc50da835e0c434cd43bd185d0735c732",
|
||||||
|
"Sounds/ERR/Speech/soldier_reloading.wav.meta": "161c9ebee1d0496c7aa9501d00eba646094bf1ce89cda4efde6e3a0229a49e4f",
|
||||||
|
"Sounds/ERR/Speech/soldier_target_down.acp": "77acc89c4ef0b912b969a2e5f6c41e071e04d10cfe89666fbc1296878dab62bf",
|
||||||
|
"Sounds/ERR/Speech/soldier_target_down.acp.meta": "fe456d354ace93b0f2261de483e86ccc92991011b1738c5703d6d7bc0daa49a6",
|
||||||
|
"Sounds/ERR/Speech/soldier_target_down.wav": "e2e60e8b83a24a548c90b84c5e1137adb7e792cf1d4ba6232ddfb1012fa78892",
|
||||||
|
"Sounds/ERR/Speech/soldier_target_down.wav.meta": "064588b86589ac9437fbccafedeefae04bec3331dd8a229d1c6d27b5e524a9e9",
|
||||||
|
"Sounds/ERR/Speech/soldier_target_lost.acp": "5ffd3ff57550296274e9e93fb64efdf2fb06a51161d6deb221c1f3eb408d1459",
|
||||||
|
"Sounds/ERR/Speech/soldier_target_lost.acp.meta": "366a3c9e20f27c0f73bdff5827576df8924e99241061f933e72bd342e5bc7119",
|
||||||
|
"Sounds/ERR/Speech/soldier_target_lost.wav": "bbcf454d48adea47478d410b1baf14df3a5d018237272e70ae33ee62823f822f",
|
||||||
|
"Sounds/ERR/Speech/soldier_target_lost.wav.meta": "d1ac64242280521a7e40de51ae32a007878d7801401020e7a074a48e0f8ce62e",
|
||||||
|
"Sounds/ERR/Speech/soldier_under_fire.acp": "5af1c949d4662c2f33320165d2efdbd69cb183af1101aa246fe538bf0d91a33e",
|
||||||
|
"Sounds/ERR/Speech/soldier_under_fire.acp.meta": "aa7799e8a790539166a1d3a9c691416e7b2f6589d1674f5cf4b3e47523f15259",
|
||||||
|
"Sounds/ERR/Speech/soldier_under_fire.wav": "e4bd5e69fda289593fc6e6b8c2fae9a271a10d0a9bae877f18ba02dbbf75d1fc",
|
||||||
|
"Sounds/ERR/Speech/soldier_under_fire.wav.meta": "25a988c31e4fc3ae6540920df3d4548307a4a1e3b96b1303e9b7bdb4ac5eea27",
|
||||||
|
"Sounds/ERR/Speech/welcome.acp": "f8a7b6cdd08b57b4b227a2d5b480a6c76857d7fc8ace3434478aec01c0de5a83",
|
||||||
|
"Sounds/ERR/Speech/welcome.acp.meta": "d3ac98b02c0725d347b30d0ac7586cb22904d46b65a145e4a1131222484a6929",
|
||||||
|
"Sounds/ERR/Speech/welcome.wav": "01de068469bd6746dba7634fb6b5b85b150621d3359c17fd01bcb916b34b1720",
|
||||||
|
"Sounds/ERR/Speech/welcome.wav.meta": "bf33edad44bbb04df852501154f08a9a9900ce503248abc698127a51e9eec934",
|
||||||
|
"UI/Textures/ERR/SiteMarkers.edds": "611ec6c68c2456c2af017c47135134d73122461017b315f64ed7ca9891f20c21",
|
||||||
|
"UI/Textures/ERR/SiteMarkers.edds.meta": "90f40b38e52a79951b72da2960e30887d5ee8bbcefbada0c0ac950c1bfcf847f",
|
||||||
|
"UI/Textures/ERR/SiteMarkers.imageset": "3f947d03b3492ada541032539cdb3f34a03d68ae83c0ef8796dc7fd091b5911d",
|
||||||
|
"UI/Textures/ERR/SiteMarkers.imageset.meta": "1dc5285abd0062af288fb40b2f22b5b7c3925cf7270a096862335db250ac1453",
|
||||||
|
"UI/Textures/ERR/SiteMarkers.png": "76b472982234bd27050a9430e6a53f4c14fa38f7388db3706ebef506eab4e660",
|
||||||
|
"UI/layouts/ERR/AdminMenu.layout": "30393ca0dca95fd81f578e805dd035ded2a5ce07df932e5ba6e29e07a82f1474",
|
||||||
|
"UI/layouts/ERR/AdminMenu.layout.meta": "9deeece996f43b1f1fed6b5ec89279645c7b6424250200a42580cc088142e9bf",
|
||||||
|
"UI/layouts/ERR/AdminValue.layout": "cd811af6d2fb187f01c74e20ea07ad85669546b0ad70efae2ce52921ce26cbca",
|
||||||
|
"UI/layouts/ERR/AdminValue.layout.meta": "56b3d2335db400c1308e07c4a35d278b23ef32013dfd6dc82951866327428d08",
|
||||||
|
"UI/layouts/ERR/ContentRow.layout": "7bf19d12b1b5e2c165f8671e92ae9227b54b4d1e551de94fa67bd54d3a66fddb",
|
||||||
|
"UI/layouts/ERR/ContentRow.layout.meta": "8c4bc13b41e7aee38e0ca640a97813ed1a6964a00e2cff9e1fe4ebd71fc2fdc6",
|
||||||
|
"UI/layouts/ERR/ItemRow.layout": "3c7ae3acdf2fad0ba661a1152ea319392668d774adc09a2a8b61e9a0319db312",
|
||||||
|
"UI/layouts/ERR/ItemRow.layout.meta": "33eaef9c403ea3a030e58ec17f78e46af457048243571ad5856fff04101fb60b",
|
||||||
|
"UI/layouts/ERR/ItemWeightRow.layout": "f71a5a0bd8d28191eca69154d05191179cab5187d573f0f72a8bbf11f06f4f8d",
|
||||||
|
"UI/layouts/ERR/ItemWeightRow.layout.meta": "eb4b28587abdf6100092fd6eee1695663fa6e1548d5e53017173c4a5f7320240",
|
||||||
|
"UI/layouts/ERR/PauseModsButton.layout": "d21d436291e2c1b262e33dc228b0d60a1d188dc9e85cfda6d2373f8281431b79",
|
||||||
|
"UI/layouts/ERR/PauseModsButton.layout.meta": "9ed6adabd8f53eb9a562d7186789876bba5c4202155ca894c1af866ca47354f3",
|
||||||
|
"UI/layouts/ERR/PreparationFailure.layout": "b7c4a2e6aa2be0992b478bb4f969f80355753573fffbc15be44670f3b136ea2e",
|
||||||
|
"UI/layouts/ERR/PreparationFailure.layout.meta": "17ca2c9a12f691680883cec368ff06f511c996e5da5c25498f5f0955887867b0",
|
||||||
|
"UI/layouts/ERR/PreparationStatus.layout": "ec3369f4030e593d34043e70a311b0963606cf024cb452648671556f25f5b52a",
|
||||||
|
"UI/layouts/ERR/PreparationStatus.layout.meta": "75b12176a443bb911fc4ad446982d762201fda42ed38736b79bc5439fca31ccc",
|
||||||
|
"UI/layouts/ERR/RoundResults.layout": "8550ebc009024f619827a43fd766aff8b7fbf8bc87ef7593db0fd7f4d778c615",
|
||||||
|
"UI/layouts/ERR/RoundResults.layout.meta": "7509e050b3910ee5730dd25c60aacf405110e943f4ab46e3fc2186b3b15a3cf9",
|
||||||
|
"UI/layouts/ERRMap/ObjectiveMapElement.layout": "82d9ae77f076f945583791dfa0b01f1c925e6ff8aaebcf382fd56089fe61a115",
|
||||||
|
"UI/layouts/ERRMap/ObjectiveMapElement.layout.meta": "8691fe2eaf46568bca4a9f8128b247a8da810bb87a5546aa7ca3334e740270d6",
|
||||||
|
"UI/layouts/ERRMap/SharedMapRenderTarget.layout": "aef5d565301046ae902033ec4eb4799ff1bdd9a37bc507898781d8790f04fc2a",
|
||||||
|
"UI/layouts/ERRMap/SharedMapRenderTarget.layout.meta": "5c846445cc089e2e08899ba703059d4adb805ff30ab5a16409a3cd59718cbd54",
|
||||||
|
"Worlds/ERR_Everon.ent": "22324bc7eb0d80dec8a1f3bd61a9df9201b72f749f4e751766b0c9d0b7d46b87",
|
||||||
|
"Worlds/ERR_Everon.ent.meta": "19d1903ca72baa326b4724a6791d0da1104a1e53f3f31dc1ca41a856efd68e83",
|
||||||
|
"Worlds/ERR_Everon_Layers/default.layer": "6bcb7fbb27b6282719dae8a37486e518d4cbaea385f2ea9af1918b36bb28b175",
|
||||||
|
"addon.gproj": "73e973a1f1c5910393e16f86a3a40d792031bb2fa3fc7f4dd87a06a16c3e34a4"
|
||||||
|
},
|
||||||
|
"addon_links": {
|
||||||
|
"ArmaReforger": "/home/jakub/.local/share/Steam/steamapps/common/Arma Reforger/addons/data",
|
||||||
|
"ERRI_1337C0DE5DABBEEF": "/home/jakub/.local/share/Steam/steamapps/compatdata/1874880/pfx/drive_c/users/steamuser/Documents/My Games/ArmaReforger/addons/RHS-ContentPack01_1337C0DE5DABBEEF",
|
||||||
|
"ERRI_595F2BF2F44836FB": "/home/jakub/.local/share/Steam/steamapps/compatdata/1874880/pfx/drive_c/users/steamuser/Documents/My Games/ArmaReforger/addons/RHS-StatusQuo_595F2BF2F44836FB",
|
||||||
|
"ERRI_5E389BB9F58B79A6": "/home/jakub/.local/share/Steam/steamapps/compatdata/1874880/pfx/drive_c/users/steamuser/Documents/My Games/ArmaReforger/addons/SpaceCore_5E389BB9F58B79A6",
|
||||||
|
"ERRI_5E524E4FEECCA92B": "/home/jakub/.local/share/Steam/steamapps/compatdata/1874880/pfx/drive_c/users/steamuser/Documents/My Games/ArmaReforger/addons/BMP-1IFV_5E524E4FEECCA92B",
|
||||||
|
"ERRI_629B2BA37EFFD577": "/home/jakub/.local/share/Steam/steamapps/compatdata/1874880/pfx/drive_c/users/steamuser/Documents/My Games/ArmaReforger/addons/WCS_Armaments_629B2BA37EFFD577",
|
||||||
|
"ERRI_65930CB4CD0237B2": "/home/jakub/.local/share/Steam/steamapps/compatdata/1874880/pfx/drive_c/users/steamuser/Documents/My Games/ArmaReforger/addons/ParachuteFramework_65930CB4CD0237B2",
|
||||||
|
"ERRI_BADC0DEDABBEDA5E": "/home/jakub/.local/share/Steam/steamapps/compatdata/1874880/pfx/drive_c/users/steamuser/Documents/My Games/ArmaReforger/addons/RHS-ContentPack02_BADC0DEDABBEDA5E"
|
||||||
|
},
|
||||||
|
"helper_sha256": "17058ceb089fa58176e853a2c83c5c081ce6c61df368cdb1a845cfc2054971eb"
|
||||||
|
}
|
||||||
@@ -91,7 +91,7 @@ struct Recon{SCR_AIGroup owned=nullptr;bool Owns(SCR_AIGroup group){return group
|
|||||||
struct BodyService:GroupService{void RegisterGroup(SCR_AIGroup g,Sampler& s){assert(s.Bound()&&s.group==g);GroupService::RegisterGroup(g);}};
|
struct BodyService:GroupService{void RegisterGroup(SCR_AIGroup g,Sampler& s){assert(s.Bound()&&s.group==g);GroupService::RegisterGroup(g);}};
|
||||||
struct Reporting{int initializations=0;void Initialize(int id,float now){assert(id>0&&now==10);initializations++;}};
|
struct Reporting{int initializations=0;void Initialize(int id,float now){assert(id>0&&now==10);initializations++;}};
|
||||||
struct Unit{Reporting AmmoReporting;string HomeId,ForceSourceId;bool ReservedForSupport=false;bool HomeGuard=false;float NextStatus=0;Sampler StatusSampler;int Id=0;SCR_AIGroup Group=nullptr;struct Utility* Utility=nullptr;float NextReport=0;};using ERR_HQUnit=Unit*;
|
struct Unit{Reporting AmmoReporting;string HomeId,ForceSourceId;bool ReservedForSupport=false;bool HomeGuard=false;float NextStatus=0;Sampler StatusSampler;int Id=0;SCR_AIGroup Group=nullptr;struct Utility* Utility=nullptr;float NextReport=0;};using ERR_HQUnit=Unit*;
|
||||||
struct Roadblocks{SCR_AIGroup owned=nullptr;bool Contains(SCR_AIGroup g){return g&&g==owned;}};
|
struct Roadblocks{SCR_AIGroup owned=nullptr,local=nullptr;bool Contains(SCR_AIGroup g){return g&&g==owned;}bool LocalOnly(SCR_AIGroup g){return g&&g==local;}};
|
||||||
struct HQ{void BindSpecialSkills(SCR_AIGroup){}void AuditGroup(ERR_HQUnit){}Mode* m_Mode;GroupService m_Equipment;BodyService m_Bodies;int m_NextId=0;Array<ERR_HQUnit> m_Units;Mortars* m_Mortars=nullptr;Scouts* m_Scouts=nullptr;Recon* m_Recon=nullptr;Recon* m_PlaneRecon=nullptr;Airfield* m_Airfield=nullptr;Scouts* m_Hunters=nullptr;Scouts* m_Towns=nullptr;Roadblocks* m_Roadblocks=nullptr;
|
struct HQ{void BindSpecialSkills(SCR_AIGroup){}void AuditGroup(ERR_HQUnit){}Mode* m_Mode;GroupService m_Equipment;BodyService m_Bodies;int m_NextId=0;Array<ERR_HQUnit> m_Units;Mortars* m_Mortars=nullptr;Scouts* m_Scouts=nullptr;Recon* m_Recon=nullptr;Recon* m_PlaneRecon=nullptr;Airfield* m_Airfield=nullptr;Scouts* m_Hunters=nullptr;Scouts* m_Towns=nullptr;Roadblocks* m_Roadblocks=nullptr;
|
||||||
'''+hqbind+hqregister+r'''
|
'''+hqbind+hqregister+r'''
|
||||||
};
|
};
|
||||||
@@ -153,6 +153,20 @@ int main(){
|
|||||||
assert(hq.m_Equipment.ids.back()==1&&hq.m_Equipment.fits.back());
|
assert(hq.m_Equipment.ids.back()==1&&hq.m_Equipment.fits.back());
|
||||||
int checkpointUnits=hq.m_Units.Count(),checkpointFits=hq.m_Equipment.ids.Count();
|
int checkpointUnits=hq.m_Units.Count(),checkpointFits=hq.m_Equipment.ids.Count();
|
||||||
hq.RegisterGroup(&checkpoint);assert(hq.m_Units.Count()==checkpointUnits&&hq.m_Equipment.ids.Count()==checkpointFits);
|
hq.RegisterGroup(&checkpoint);assert(hq.m_Units.Count()==checkpointUnits&&hq.m_Equipment.ids.Count()==checkpointFits);
|
||||||
|
// The parallel local pair keeps equipment/skills but never enters HQ,
|
||||||
|
// receives a radio allocation, reserves an HQ ID, or binds an HQ body roster.
|
||||||
|
Group localCheckpoint;posts.local=&localCheckpoint;
|
||||||
|
int beforeLocalUnits=hq.m_Units.Count(),beforeLocalId=hq.m_NextId,beforeLocalBodies=hq.m_Bodies.registrations;
|
||||||
|
int beforeLocalEquipment=hq.m_Equipment.registrations;
|
||||||
|
for(int repeat=0;repeat<5;repeat++){
|
||||||
|
hq.RegisterGroup(&localCheckpoint);
|
||||||
|
assert(hq.m_Units.Count()==beforeLocalUnits&&hq.m_NextId==beforeLocalId);
|
||||||
|
assert(hq.m_Bodies.registrations==beforeLocalBodies);
|
||||||
|
assert(hq.m_Equipment.ids.back()==0&&!hq.m_Equipment.fits.back());
|
||||||
|
}
|
||||||
|
assert(hq.m_Equipment.registrations==beforeLocalEquipment+1);
|
||||||
|
assert(!posts.Contains(&localCheckpoint)&&posts.LocalOnly(&localCheckpoint));
|
||||||
|
assert(posts.Contains(&checkpoint)&&!posts.LocalOnly(&checkpoint));
|
||||||
Group ordinaryAgain;hq.RegisterGroup(&ordinaryAgain);assert(hq.m_Equipment.ids.back()==8); // ordinary fitting remains distributed
|
Group ordinaryAgain;hq.RegisterGroup(&ordinaryAgain);assert(hq.m_Equipment.ids.back()==8); // ordinary fitting remains distributed
|
||||||
Group town;Scouts towns;towns.owned=&town;hq.m_Towns=&towns;hq.RegisterGroup(&town);
|
Group town;Scouts towns;towns.owned=&town;hq.m_Towns=&towns;hq.RegisterGroup(&town);
|
||||||
assert(hq.m_Equipment.ids.back()==1&&hq.m_Equipment.fits.back()&&!hq.m_Units.back()->ReservedForSupport&&!hq.m_Units.back()->HomeGuard);
|
assert(hq.m_Equipment.ids.back()==1&&hq.m_Equipment.fits.back()&&!hq.m_Units.back()->ReservedForSupport&&!hq.m_Units.back()->HomeGuard);
|
||||||
|
|||||||
@@ -98,15 +98,17 @@ assert 'if (!PlayersClear() || m_Mode.Forces().Count() >= 250 ||' in body(p,'pro
|
|||||||
assert 'if (!PlayersClear() || m_Mode.Forces().Count() >= 250) { CancelPost(); return; }' in body(p,'protected void BuildPost(')
|
assert 'if (!PlayersClear() || m_Mode.Forces().Count() >= 250) { CancelPost(); return; }' in body(p,'protected void BuildPost(')
|
||||||
print('PASS: actual roadblock scheduler yields initial deadline/attempt cap to background, budgets samples, pauses empty/full worlds, completes 30 after unlock, preserves safety and never replenishes losses; teardown cancels work')
|
print('PASS: actual roadblock scheduler yields initial deadline/attempt cap to background, budgets samples, pauses empty/full worlds, completes 30 after unlock, preserves safety and never replenishes losses; teardown cancels work')
|
||||||
|
|
||||||
# Run actual staged physical creation and rollback, with native entities doubled.
|
# Run actual staged physical creation/rollback. Opaque native boundaries are doubled.
|
||||||
s='\n'.join(body(p,sig) for sig in ('protected bool SpawnPost(', 'protected void CancelPost()', 'protected bool ShareProps()', 'protected void BuildPost()'))
|
s='\n'.join(body(p,sig) for sig in ('bool LocalOnly(', 'protected void Rollback(', 'protected bool SpawnPost(', 'protected void CancelPost()', 'protected bool ShareProps()', 'protected void BuildPost()'))
|
||||||
s=s.replace('protected ', '').replace('array<vector> positions','Array<int>& positions').replace('array<ref ERR_RoadblockProp> covers','Array<Prop>& covers').replace('ERR_RoadblockProp prop', 'Prop prop')
|
s=s.replace('protected ', '').replace('array<vector> positions','Array<int>& positions').replace('array<ref ERR_RoadblockProp> covers','Array<Prop>& covers').replace('ERR_RoadblockProp prop', 'Prop prop')
|
||||||
|
s=s.replace('array<IEntity> spawned', 'Array<Node*>& spawned').replace('SCR_AIGroup group', 'Node* group').replace('SCR_AIGroup guardGroup', 'Node* guardGroup')
|
||||||
s=s.replace('SCR_AIGroup.Cast','Node::Cast').replace('AIWaypoint.Cast','Node::Cast').replace('IEntity actor','Node* actor').replace('IEntity cover','Node* cover')
|
s=s.replace('SCR_AIGroup.Cast','Node::Cast').replace('AIWaypoint.Cast','Node::Cast').replace('IEntity actor','Node* actor').replace('IEntity cover','Node* cover')
|
||||||
s=s.replace('foreach (IEntity ownedEntity : m_BuildSpawned)','for (Node* ownedEntity : m_BuildSpawned)').replace('vector point','int point').replace('vector coverPosition','int coverPosition')
|
s=s.replace('foreach (IEntity ownedEntity : m_BuildSpawned)','for (Node* ownedEntity : m_BuildSpawned)').replace('foreach (IEntity entity : spawned)', 'for (Node* entity : spawned)').replace('vector point','int point').replace('vector coverPosition','int coverPosition')
|
||||||
s=s.replace('foreach (ERR_RoadblockProp plannedProp : covers)', 'for (Prop plannedProp : covers)')
|
s=s.replace('foreach (ERR_RoadblockProp plannedProp : covers)', 'for (Prop plannedProp : covers)')
|
||||||
s=s.replace('m_Forward.VectorToAngles()', '0').replace('m_Positions.Count().ToString()', 'std::to_string(m_Positions.Count())')
|
s=s.replace('m_Forward.VectorToAngles()', '0').replace('m_PostSerial.ToString()', 'std::to_string(m_PostSerial)')
|
||||||
|
s=s.replace('ERR_ForceRecord responders', 'Record* responders').replace('responders.Id', 'responders->Id')
|
||||||
s=s.replace('GetGame().GetWorld().GetWorldTime()', 'Now()').replace('System.GetTickCount()', 'Now()').replace('null','nullptr')
|
s=s.replace('GetGame().GetWorld().GetWorldTime()', 'Now()').replace('System.GetTickCount()', 'Now()').replace('null','nullptr')
|
||||||
s=s.replace('m_BuildGroup.', 'm_BuildGroup->').replace('m_BuildHold.', 'm_BuildHold->')
|
for name in ('m_BuildGroup','m_BuildHold','m_BuildLocalGroup','m_BuildLocalHold','guardGroup'):s=s.replace(name+'.',name+'->')
|
||||||
s=s.replace('IEntity entity', 'Node* entity').replace('RplComponent component;', 'Replica* component=nullptr;').replace('RplComponent component =', 'Replica* component =')
|
s=s.replace('IEntity entity', 'Node* entity').replace('RplComponent component;', 'Replica* component=nullptr;').replace('RplComponent component =', 'Replica* component =')
|
||||||
s=s.replace('RplComponent.Cast', 'Replica::Cast').replace('FindComponent(RplComponent)', 'FindComponent()').replace('RplId.Invalid()', '-1')
|
s=s.replace('RplComponent.Cast', 'Replica::Cast').replace('FindComponent(RplComponent)', 'FindComponent()').replace('RplId.Invalid()', '-1')
|
||||||
s=s.replace('entity.FindComponent', 'entity->FindComponent').replace('m_BuildSpawned[i].FindComponent', 'm_BuildSpawned[i]->FindComponent').replace('component.', 'component->')
|
s=s.replace('entity.FindComponent', 'entity->FindComponent').replace('m_BuildSpawned[i].FindComponent', 'm_BuildSpawned[i]->FindComponent').replace('component.', 'component->')
|
||||||
@@ -116,58 +118,100 @@ run(r'''
|
|||||||
#include <cassert>
|
#include <cassert>
|
||||||
#include <string>
|
#include <string>
|
||||||
#include <vector>
|
#include <vector>
|
||||||
|
#include <algorithm>
|
||||||
|
#include <map>
|
||||||
|
#include <set>
|
||||||
|
#include <functional>
|
||||||
using string=std::string;
|
using string=std::string;
|
||||||
int Now(){return 100;}
|
int Now(){return 100;}
|
||||||
template<class...T>void PrintFormat(T...){}
|
template<class...T>void PrintFormat(T...){}
|
||||||
template<class T>struct Array:std::vector<T>{using std::vector<T>::vector;using std::vector<T>::operator=;int Count(){return this->size();}void Clear(){this->clear();}void Copy(Array<T>&other){*this=other;}void Insert(T value){this->push_back(value);}};
|
template<class T>struct Array:std::vector<T>{using std::vector<T>::vector;using std::vector<T>::operator=;int Count(){return this->size();}void Clear(){this->clear();}void Copy(Array<T>&other){*this=other;}void Insert(T value){this->push_back(value);}bool Contains(T value){return std::find(this->begin(),this->end(),value)!=this->end();}};
|
||||||
struct Replica{int id=1;bool streaming=true;static Replica* Cast(Replica*r){return r;}int Id(){return id;}void EnableStreaming(bool value){streaming=value;}};
|
struct Replica{int id=1;bool streaming=true;static Replica* Cast(Replica*r){return r;}int Id(){return id;}void EnableStreaming(bool value){streaming=value;}};
|
||||||
struct Node{Replica replica;bool missing=false;Replica* FindComponent(){return missing?nullptr:&replica;}static Node* Cast(Node*n){return n;}void SetFaction(int){}void SetSpawnImmediately(bool){}void SetDeleteWhenEmpty(bool){}void SetPermanentLOD(int){}bool AddAIEntityToGroup(Node*){return true;}void SetCompletionRadius(int r){assert(r==25);}void AddWaypoint(Node*){}void ActivateAI(){}};
|
struct Node{Replica replica;int position=0,deleted=0,activated=0;bool missing=false,acceptMember=true;Array<Node*>members,holds;
|
||||||
namespace ERR_Actors{int calls=0,failAt=0;Array<Node*> all;Node* Spawn(string,int,int=0){calls++;if(calls==failAt)return nullptr;auto*n=new Node;all.Insert(n);return n;}bool SetFaction(Node*,int){return true;}}
|
Replica* FindComponent(){return missing?nullptr:&replica;}static Node* Cast(Node*n){return n;}void SetFaction(int){}void SetSpawnImmediately(bool){}void SetDeleteWhenEmpty(bool){}void SetPermanentLOD(int){}
|
||||||
|
bool AddAIEntityToGroup(Node*n){if(!acceptMember)return false;members.Insert(n);return true;}void SetCompletionRadius(int r){assert(r==25);}void AddWaypoint(Node*n){holds.Insert(n);}void ActivateAI(){activated++;}};
|
||||||
|
namespace ERR_Actors{int calls=0,failAt=0,deletes=0;bool faction=true;Array<Node*>all;
|
||||||
|
Node* Spawn(string,int position,int=0){calls++;if(calls==failAt)return nullptr;auto*n=new Node;n->position=position;all.Insert(n);return n;}
|
||||||
|
bool SetFaction(Node*,int){return faction;}void DeleteSpawned(Node*n){if(!n)return;assert(!n->deleted);n->deleted++;deletes++;}}
|
||||||
namespace ERR_Resources{string DefendWaypoint(){return "hold";}}
|
namespace ERR_Resources{string DefendWaypoint(){return "hold";}}
|
||||||
namespace ERR_ForceKind{int CHECKPOINT=1;}
|
namespace ERR_ForceKind{int CHECKPOINT=1;}
|
||||||
struct Ledger{int count=0,registered=0;bool accept=true;int Count(){return count;}bool Register(string,int,int,int strength,void*,Node*,int){assert(strength==4||strength==8);if(!accept)return false;registered++;return true;}};
|
struct Record{int Id=0,strength=0;Node*group=nullptr;};
|
||||||
struct Mode{Ledger ledger;int owned=0,groups=0;Ledger& Forces(){return ledger;}int EnemyFaction(){return 1;}void Own(Node*n){assert(n);owned++;}void RegisterGroup(Node*){groups++;}};
|
struct Ledger{int count=0,attempts=0,failAt=0,unregistered=0,next=0;std::map<int,Record>live;std::set<string>sources;
|
||||||
|
int Count(){return count+live.size();}
|
||||||
|
Record* Register(string id,int,int,int strength,void*,Node*group,int){assert(strength==2&&group&&group->members.Count()==2);attempts++;if(attempts==failAt)return nullptr;assert(sources.insert(id).second);int n=++next;live[n]={n,strength,group};return &live[n];}
|
||||||
|
void Unregister(int id){assert(live.erase(id)==1);unregistered++;}};
|
||||||
|
struct Mode{Ledger ledger;int owned=0,groups=0,hqGroups=0,localGroups=0;Array<Node*>ownedNodes,published;std::function<bool(Node*)>local;
|
||||||
|
Ledger& Forces(){return ledger;}int EnemyFaction(){return 1;}void Own(Node*n){assert(n&&!n->deleted&&!ownedNodes.Contains(n));owned++;ownedNodes.Insert(n);}
|
||||||
|
void RegisterGroup(Node*n){assert(n&&ownedNodes.Contains(n)&&n->members.Count()==2&&n->holds.Count()==1);groups++;published.Insert(n);if(local(n))localGroups++;else hqGroups++;}};
|
||||||
struct Placement{bool clear=true;bool Clear(int,void*){return clear;}};
|
struct Placement{bool clear=true;bool Clear(int,void*){return clear;}};
|
||||||
struct Mining{int registered=0;void Register(Node*,Node*,int){registered++;}};
|
struct Mining{int registered=0;Node*group=nullptr;Node*hold=nullptr;void Register(Node*g,Node*h,int){registered++;group=g;hold=h;}};
|
||||||
struct Prop{string Prefab="cover";int Position=5,Angles=0;};
|
struct Prop{string Prefab="cover";int Position=5,Angles=0;};
|
||||||
namespace ERR_RoadblockRules{'''+rule+r'''}
|
namespace ERR_RoadblockRules{'''+rule+r'''}
|
||||||
struct Build{
|
struct Build{
|
||||||
bool m_Large=false;int m_SmallPlaced=0,m_LargePlaced=0;
|
bool m_Large=false;int m_SmallPlaced=0,m_LargePlaced=0,m_PostSerial=0;
|
||||||
Mode m_Mode;Placement m_Placement;Mining m_Mining;Node* m_BuildGroup=nullptr;Node* m_BuildHold=nullptr;
|
Mode m_Mode;Placement m_Placement;Mining m_Mining;Node* m_BuildGroup=nullptr;Node* m_BuildHold=nullptr;Node* m_BuildLocalGroup=nullptr;Node* m_BuildLocalHold=nullptr;
|
||||||
Array<int> m_BuildPositions,m_Positions;Array<Prop>m_BuildCovers;Array<Node*>m_BuildSpawned,m_Groups;Array<string>m_Roster={"one","two"};
|
Array<int>m_BuildPositions,m_Positions;Array<Prop>m_BuildCovers;Array<Node*>m_BuildSpawned,m_Groups,m_LocalGroups;Array<string>m_Roster={"one","two"};
|
||||||
int m_BuildActors=0,m_BuildCoverCount=0,m_Centre=10,m_Right=0,m_NextSearch=0,rolledBack=0;string COVER="cover";bool playersClear=true,coversClear=true;
|
int m_BuildActors=0,m_BuildCoverCount=0,m_Centre=10,m_Right=0,m_NextSearch=0;string COVER="cover";bool playersClear=true,coversClear=true;
|
||||||
|
Build(){m_Mode.local=[this](Node*g){return LocalOnly(g);};}
|
||||||
bool PlayersClear(){return playersClear;}bool CoverClear(Prop){return coversClear;}
|
bool PlayersClear(){return playersClear;}bool CoverClear(Prop){return coversClear;}
|
||||||
void Rollback(Array<Node*>&entities,Node*group){rolledBack+=entities.Count()+(group?1:0);}
|
|
||||||
'''+s+r'''
|
'''+s+r'''
|
||||||
};
|
};
|
||||||
int main(){for(bool large:{false,true}){
|
int main(){for(bool large:{false,true}){
|
||||||
const int guards=ERR_RoadblockRules::GuardCount(large);Array<int> positions(guards,1);Array<Prop>covers(ERR_RoadblockRules::PropCount(large));const int pieces=guards+covers.Count()+1;
|
const int guards=ERR_RoadblockRules::GuardCount(large);assert(guards==4);
|
||||||
|
Array<int>positions={10,20,30,40};Array<Prop>covers(ERR_RoadblockRules::PropCount(large));
|
||||||
|
const int pieces=guards+covers.Count()+2; // actors, props and two holds; neither group is in this array
|
||||||
|
const int callbacks=pieces+1; // local group has its own callback; HQ group is created by SpawnPost
|
||||||
|
auto empty=[&](Build&b){assert(!b.m_BuildGroup&&!b.m_BuildLocalGroup&&!b.m_BuildHold&&!b.m_BuildLocalHold&&b.m_BuildSpawned.Count()==0&&b.m_Positions.Count()==0&&b.m_Groups.Count()==0&&b.m_LocalGroups.Count()==0&&b.m_Mode.owned==0&&b.m_Mode.groups==0&&b.m_Mode.ledger.live.empty());};
|
||||||
|
auto finish=[&](Build&b){for(int i=0;i<callbacks;i++){int calls=ERR_Actors::calls;b.BuildPost();assert(ERR_Actors::calls==calls+1);}b.BuildPost();};
|
||||||
{Build b;b.m_Large=large;int start=ERR_Actors::calls;assert(b.SpawnPost(positions,covers));assert(ERR_Actors::calls==start+1);
|
{Build b;b.m_Large=large;int start=ERR_Actors::calls;assert(b.SpawnPost(positions,covers));assert(ERR_Actors::calls==start+1);
|
||||||
for(int piece=0;piece<pieces;piece++){int calls=ERR_Actors::calls;b.BuildPost();assert(ERR_Actors::calls==calls+1&&b.m_Positions.Count()==0&&b.m_Mode.owned==0);}
|
Node*hq=b.m_BuildGroup;for(int piece=0;piece<callbacks;piece++){int calls=ERR_Actors::calls;b.BuildPost();assert(ERR_Actors::calls==calls+1&&b.m_Positions.Count()==0&&b.m_Mode.owned==0);}
|
||||||
auto shared=b.m_BuildSpawned;for(int i=guards;i<guards+covers.Count();i++)assert(shared[i]->replica.streaming);
|
Node*local=b.m_BuildLocalGroup;Node*hold=b.m_BuildHold;Node*localHold=b.m_BuildLocalHold;auto shared=b.m_BuildSpawned;
|
||||||
b.BuildPost();for(int i=guards;i<guards+covers.Count();i++)assert(!shared[i]->replica.streaming);assert(!b.m_BuildGroup&&b.m_Positions.Count()==1&&b.m_Groups.Count()==1&&b.m_Mode.owned==pieces+1&&b.m_Mode.groups==1&&b.m_Mining.registered==1&&b.m_NextSearch==2100);
|
assert(local&&local!=hq&&shared.Count()==pieces&&!shared.Contains(hq)&&!shared.Contains(local));
|
||||||
|
assert(hq->members.Count()==2&&local->members.Count()==2);assert(hq->members[0]==shared[0]&&hq->members[1]==shared[2]);assert(local->members[0]==shared[1]&&local->members[1]==shared[3]);
|
||||||
|
assert(hold!=localHold&&hold->position==positions[0]&&localHold->position==positions[1]);
|
||||||
|
for(int i=guards;i<guards+covers.Count();i++)assert(shared[i]->replica.streaming);
|
||||||
|
int commitCalls=ERR_Actors::calls;b.BuildPost();assert(ERR_Actors::calls==commitCalls);
|
||||||
|
for(int i=guards;i<guards+covers.Count();i++)assert(!shared[i]->replica.streaming);
|
||||||
|
assert(!b.m_BuildGroup&&!b.m_BuildLocalGroup&&b.m_Positions.Count()==1&&b.m_Groups.Count()==1&&b.m_LocalGroups.Count()==1&&b.m_Mode.owned==pieces+2&&b.m_Mode.groups==2&&b.m_Mode.hqGroups==1&&b.m_Mode.localGroups==1);
|
||||||
|
assert(b.m_Mode.published[0]==hq&&b.m_Mode.published[1]==local&&b.LocalOnly(local)&&!b.LocalOnly(hq)&&!b.LocalOnly(nullptr));
|
||||||
|
assert(hq->holds[0]==hold&&local->holds[0]==localHold&&hq->activated==1&&local->activated==1);
|
||||||
|
assert(b.m_Mining.registered==1&&b.m_Mining.group==hq&&b.m_Mining.hold==hold&&b.m_NextSearch==2100);
|
||||||
|
assert(b.m_Mode.ledger.live.size()==2&&b.m_Mode.ledger.sources.count("roadblock-1")&&b.m_Mode.ledger.sources.count("roadblock-1-local"));
|
||||||
assert(b.m_SmallPlaced==(large?0:1)&&b.m_LargePlaced==(large?1:0));
|
assert(b.m_SmallPlaced==(large?0:1)&&b.m_LargePlaced==(large?1:0));
|
||||||
}
|
}
|
||||||
// A server-only or unregistered prop must never count as a complete roadblock.
|
// Unreplicated props cannot consume a quota or publish either guard pair.
|
||||||
for(int bad=guards;bad<guards+covers.Count();bad++)for(bool missing:{false,true}){
|
for(int bad=guards;bad<guards+covers.Count();bad++)for(bool missing:{false,true}){
|
||||||
Build b;b.m_Large=large;b.SpawnPost(positions,covers);for(int i=0;i<pieces;i++)b.BuildPost();
|
Build b;b.m_Large=large;int deleted=ERR_Actors::deletes;b.SpawnPost(positions,covers);for(int i=0;i<callbacks;i++)b.BuildPost();
|
||||||
auto spawned=b.m_BuildSpawned;spawned[bad]->missing=missing;spawned[bad]->replica.id=-1;
|
auto spawned=b.m_BuildSpawned;spawned[bad]->missing=missing;spawned[bad]->replica.id=-1;
|
||||||
b.BuildPost();assert(b.m_Positions.Count()==0&&!b.m_BuildGroup&&b.m_Mode.owned==0&&b.rolledBack==pieces+1);
|
b.BuildPost();empty(b);assert(ERR_Actors::deletes-deleted==pieces+2);
|
||||||
for(int i=guards;i<guards+covers.Count();i++)assert(spawned[i]->replica.streaming); // reject before changing any streaming rule
|
for(int i=guards;i<guards+covers.Count();i++)assert(spawned[i]->replica.streaming);
|
||||||
}
|
}
|
||||||
// Player approaches at any stage: no registered post and every owned piece removed.
|
// Player approach at every stage, including before local group creation and final commit.
|
||||||
for(int stage=0;stage<=pieces;stage++){Build b;b.m_Large=large;assert(b.SpawnPost(positions,covers));for(int i=0;i<stage;i++)b.BuildPost();b.playersClear=false;b.BuildPost();assert(!b.m_BuildGroup&&b.m_Positions.Count()==0&&b.m_Mode.owned==0&&b.rolledBack==stage+1);}
|
for(int stage=0;stage<=callbacks;stage++){Build b;b.m_Large=large;int deleted=ERR_Actors::deletes;assert(b.SpawnPost(positions,covers));for(int i=0;i<stage;i++)b.BuildPost();b.playersClear=false;b.BuildPost();empty(b);assert(ERR_Actors::deletes-deleted==stage+1);}
|
||||||
// Any native entity creation failure rolls back rather than consuming a post.
|
// Every native creation failure cleans up both groups and all existing pieces exactly once.
|
||||||
for(int stage=0;stage<pieces+1;stage++){Build b;b.m_Large=large;ERR_Actors::failAt=ERR_Actors::calls+stage+1;bool begun=b.SpawnPost(positions,covers);
|
for(int stage=0;stage<callbacks+1;stage++){Build b;b.m_Large=large;int deleted=ERR_Actors::deletes;ERR_Actors::failAt=ERR_Actors::calls+stage+1;bool begun=b.SpawnPost(positions,covers);
|
||||||
if(stage==0)assert(!begun);else{for(int i=0;i<stage;i++)b.BuildPost();assert(b.rolledBack==stage);}
|
if(stage==0)assert(!begun);else for(int i=0;i<stage;i++)b.BuildPost();
|
||||||
assert(!b.m_BuildGroup&&b.m_Positions.Count()==0&&b.m_Mode.owned==0);ERR_Actors::failAt=0;
|
empty(b);assert(ERR_Actors::deletes-deleted==stage);ERR_Actors::failAt=0;
|
||||||
}
|
}
|
||||||
{Build b;b.m_Large=large;b.SpawnPost(positions,covers);b.m_Placement.clear=false;b.BuildPost();assert(!b.m_BuildGroup&&b.rolledBack==1);}
|
// Either ledger registration can fail; failed first IDs stay retired, next attempt is unique.
|
||||||
{Build b;b.m_Large=large;b.SpawnPost(positions,covers);for(int i=0;i<guards;i++)b.BuildPost();b.coversClear=false;b.BuildPost();assert(!b.m_BuildGroup&&b.rolledBack==guards+1);}
|
for(int failure:{1,2}){Build b;b.m_Large=large;int deleted=ERR_Actors::deletes;b.m_Mode.ledger.failAt=failure;b.SpawnPost(positions,covers);finish(b);empty(b);
|
||||||
{Build b;b.m_Large=large;b.SpawnPost(positions,covers);for(int i=0;i<pieces;i++)b.BuildPost();b.m_Mode.ledger.accept=false;b.BuildPost();assert(!b.m_BuildGroup&&b.rolledBack==pieces+1&&b.m_Positions.Count()==0);}
|
assert(ERR_Actors::deletes-deleted==pieces+2&&b.m_Mode.ledger.unregistered==(failure==2?1:0)&&b.m_PostSerial==1);
|
||||||
{Build b;b.m_Large=large;b.SpawnPost(positions,covers);b.BuildPost();b.CancelPost();assert(!b.m_BuildGroup&&b.rolledBack==2&&b.m_Mode.owned==0);}
|
b.m_Mode.ledger.failAt=0;b.SpawnPost(positions,covers);finish(b);assert(b.m_Positions.Count()==1&&b.m_PostSerial==2&&b.m_Mode.ledger.live.size()==2&&b.m_Mode.ledger.sources.count("roadblock-2")&&b.m_Mode.ledger.sources.count("roadblock-2-local"));
|
||||||
|
}
|
||||||
|
{Build b;b.m_Large=large;b.SpawnPost(positions,covers);b.BuildPost();b.m_Placement.clear=false;b.BuildPost();empty(b);}
|
||||||
|
{Build b;b.m_Large=large;b.SpawnPost(positions,covers);for(int i=0;i<guards+1;i++)b.BuildPost();b.coversClear=false;b.BuildPost();empty(b);}
|
||||||
|
for(bool factionFailure:{false,true})for(int actorSlot=0;actorSlot<4;actorSlot++){
|
||||||
|
Build b;b.m_Large=large;b.SpawnPost(positions,covers);b.BuildPost();for(int i=0;i<actorSlot;i++)b.BuildPost();
|
||||||
|
if(factionFailure)ERR_Actors::faction=false;else (actorSlot%2?b.m_BuildLocalGroup:b.m_BuildGroup)->acceptMember=false;
|
||||||
|
b.BuildPost();empty(b);ERR_Actors::faction=true;
|
||||||
|
}
|
||||||
|
for(int stage=0;stage<=callbacks;stage++){Build b;b.m_Large=large;b.SpawnPost(positions,covers);for(int i=0;i<stage;i++)b.BuildPost();int deleted=ERR_Actors::deletes;b.CancelPost();empty(b);assert(ERR_Actors::deletes-deleted==stage+1);b.CancelPost();assert(ERR_Actors::deletes-deleted==stage+1);}
|
||||||
|
// Existing scheduler cap remains 250; a full ledger cancels any partial build.
|
||||||
|
for(int stage=0;stage<=callbacks;stage++){Build b;b.m_Large=large;b.SpawnPost(positions,covers);for(int i=0;i<stage;i++)b.BuildPost();b.m_Mode.ledger.count=250;b.BuildPost();empty(b);}
|
||||||
|
{Build b;b.m_Large=large;b.m_Mode.ledger.count=250;int calls=ERR_Actors::calls;assert(!b.SpawnPost(positions,covers)&&ERR_Actors::calls==calls);}
|
||||||
|
{Build b;b.m_Large=large;b.m_Mode.ledger.count=249;assert(b.SpawnPost(positions,covers));finish(b);assert(b.m_Mode.ledger.Count()==251);}
|
||||||
}
|
}
|
||||||
for(auto*n:ERR_Actors::all)delete n;
|
for(auto*n:ERR_Actors::all)delete n;
|
||||||
}
|
}
|
||||||
''')
|
''')
|
||||||
print('PASS: actual staged post creation spawns at most one entity per callback, commits only all four/eight guards, all planned props and waypoint, and rolls back player approach, obstructions, spawn/replication/ledger failure and cancellation; all committed props bypass distance streaming')
|
print('PASS: both actual staged checkpoint sizes commit four guards in two distinct strength-two groups/holds; only HQ pair enters the modeled HQ boundary and mining; one entity per callback; second-ledger failure retires first ID; all-stage approach/full-ledger/cancellation and every spawn/replication/membership failure clean up without quota consumption')
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
from policy_harness import ROOT, body, run
|
from policy_harness import ROOT, body, run
|
||||||
import re
|
import re
|
||||||
p=ROOT/'addons/core/Scripts/Game/ERR/10_AI/ERR_Roadblocks.c'
|
p=ROOT/'addons/core/Scripts/Game/ERR/10_AI/ERR_Roadblocks.c'
|
||||||
s='\n'.join(body(p,x) for x in ('protected void Layout(', 'protected void AddProp(', 'protected vector GuardPosition('))
|
s='\n'.join(body(p,x) for x in ('static int GuardCount(', 'protected void Layout(', 'protected void AddProp(', 'protected vector GuardPosition('))
|
||||||
s=s.replace('protected ', '').replace('out ', '').replace('array<ref ERR_RoadblockProp> covers', 'Array<Prop*>& covers')
|
s=s.replace('protected ', '').replace('out ', '').replace('array<ref ERR_RoadblockProp> covers', 'Array<Prop*>& covers')
|
||||||
s=s.replace('ResourceName ', 'string ').replace('vector ', 'Vec ').replace('ERR_Actors.Ground','Ground').replace('new ERR_RoadblockProp','new Prop')
|
s=s.replace('ResourceName ', 'string ').replace('vector ', 'Vec ').replace('ERR_Actors.Ground','Ground').replace('new ERR_RoadblockProp','new Prop')
|
||||||
shoulder = re.search(r'm_Shoulder = ([^;]+);', body(p, 'protected bool Candidate('))[1]
|
shoulder = re.search(r'm_Shoulder = ([^;]+);', body(p, 'protected bool Candidate('))[1]
|
||||||
@@ -44,12 +44,25 @@ int main(){
|
|||||||
if(p->Prefab=="barrier")barriers.push_back(along);
|
if(p->Prefab=="barrier")barriers.push_back(along);
|
||||||
if(p->Prefab=="sign")assert(dot(p->Forward,l.m_Forward)*along>0); // both approaches face outward
|
if(p->Prefab=="sign")assert(dot(p->Forward,l.m_Forward)*along>0); // both approaches face outward
|
||||||
// Guard starting volumes cannot intersect any prop in the planned post.
|
// Guard starting volumes cannot intersect any prop in the planned post.
|
||||||
for(int side:{-1,1})for(int row=0;row<(large?4:2);row++){
|
for(int side:{-1,1})for(int row=0;row<2;row++){
|
||||||
Vec guard=l.GuardPosition(side,row);
|
Vec guard=l.GuardPosition(side,row);
|
||||||
Vec rel=guard-p->Position;
|
Vec rel=guard-p->Position;
|
||||||
assert(std::abs(dot(rel,p->Right))>p->HalfWidth+.6 || std::abs(dot(rel,p->Forward))>p->HalfDepth+.6);
|
assert(std::abs(dot(rel,p->Right))>p->HalfWidth+.6 || std::abs(dot(rel,p->Forward))>p->HalfDepth+.6);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
// Four distinct slots for both sizes: two on each shoulder. Large posts
|
||||||
|
// retain their wider approach footprint with guards at -9m and +9m.
|
||||||
|
assert(l.GuardCount(large)==4);
|
||||||
|
std::vector<Vec> guards;
|
||||||
|
for(int side:{-1,1})for(int row=0;row<2;row++){
|
||||||
|
Vec guard=l.GuardPosition(side,row);Vec rel=guard-l.m_Centre;
|
||||||
|
assert(std::abs(dot(rel,l.m_Right)-side*(l.m_Shoulder+1.5))<1e-6);
|
||||||
|
double expectedAlong=large?(row*18-9):side*(row*2-2.5);
|
||||||
|
assert(std::abs(dot(rel,l.m_Forward)-expectedAlong)<1e-6);
|
||||||
|
for(Vec other:guards)assert(dot(guard-other,guard-other)>1.);
|
||||||
|
guards.push_back(guard);
|
||||||
|
}
|
||||||
|
assert(guards.size()==4);
|
||||||
assert(counts["cover"]==(large?8:4)&&counts["barrier"]==(large?4:2)&&counts["sign"]==2&&counts.size()==3);
|
assert(counts["cover"]==(large?8:4)&&counts["barrier"]==(large?4:2)&&counts["sign"]==2&&counts.size()==3);
|
||||||
assert(barriers.size()==(large?4:2));
|
assert(barriers.size()==(large?4:2));
|
||||||
if(!large)assert(std::abs(barriers[0]-barriers[1])>11.9);
|
if(!large)assert(std::abs(barriers[0]-barriers[1])>11.9);
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
FrameWidgetClass { "Is Visible" {{VISIBLE_CheckpointsPage}} Name "CheckpointsPage" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 220 OffsetLeft 220 PositionY 160 OffsetTop 160 SizeX 1000 OffsetRight -1220 SizeY 532 OffsetBottom -692 } {
|
FrameWidgetClass { "Is Visible" {{VISIBLE_CheckpointsPage}} Name "CheckpointsPage" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 220 OffsetLeft 220 PositionY 160 OffsetTop 160 SizeX 1000 OffsetRight -1220 SizeY 532 OffsetBottom -692 } {
|
||||||
TextWidgetClass { Name "CheckpointsHelp" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 28 OffsetLeft 28 PositionY 6 OffsetTop 6 SizeX 936 OffsetRight -964 SizeY 50 OffsetBottom -56 } Color {{COLOR_TEXT}} Text "Set counts separately for small and main-road checkpoints. Changes apply next round. Road width determines the type; unsuitable locations are skipped." "Font Size" {{SIZE_INTRO}} "Min Font Size" {{SIZE_INTRO}} Wrap 1 FontProperties FontProperties { Font "{{FONT}}" } }
|
TextWidgetClass { Name "CheckpointsHelp" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 28 OffsetLeft 28 PositionY 6 OffsetTop 6 SizeX 936 OffsetRight -964 SizeY 50 OffsetBottom -56 } Color {{COLOR_TEXT}} Text "Both sizes have four guards: two HQ responders and two local sentries outside HQ. Counts apply next round; road width selects the type." "Font Size" {{SIZE_INTRO}} "Min Font Size" {{SIZE_INTRO}} Wrap 1 FontProperties FontProperties { Font "{{FONT}}" } }
|
||||||
TextWidgetClass { Name "Label_roadblockCount" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 28 OffsetLeft 28 PositionY 66 OffsetTop 66 SizeX 456 OffsetRight -484 SizeY 26 OffsetBottom -92 } Color {{COLOR_TEXT}} Text "Small checkpoints (0-30; 0 off)" "Font Size" {{SIZE_LABEL}} "Min Font Size" {{SIZE_LABEL}} Wrap 1 FontProperties FontProperties { Font "{{FONT}}" } }
|
TextWidgetClass { Name "Label_roadblockCount" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 28 OffsetLeft 28 PositionY 66 OffsetTop 66 SizeX 456 OffsetRight -484 SizeY 26 OffsetBottom -92 } Color {{COLOR_TEXT}} Text "Small checkpoints (0-30; 0 off)" "Font Size" {{SIZE_LABEL}} "Min Font Size" {{SIZE_LABEL}} Wrap 1 FontProperties FontProperties { Font "{{FONT}}" } }
|
||||||
ButtonWidgetClass : "{DA43C77A0D1E59F8}UI/layouts/ERR/AdminValue.layout" { Name "roadblockCount" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 28 OffsetLeft 28 PositionY 96 OffsetTop 96 SizeX 130 OffsetRight -158 SizeY 38 OffsetBottom -134 } components { SCR_EditBoxComponent "{547290FFBD5B33E9}" { m_sLabel "" } } }
|
ButtonWidgetClass : "{DA43C77A0D1E59F8}UI/layouts/ERR/AdminValue.layout" { Name "roadblockCount" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 28 OffsetLeft 28 PositionY 96 OffsetTop 96 SizeX 130 OffsetRight -158 SizeY 38 OffsetBottom -134 } components { SCR_EditBoxComponent "{547290FFBD5B33E9}" { m_sLabel "" } } }
|
||||||
ButtonWidgetClass : "{75C912A1C89BE6C2}UI/layouts/WidgetLibrary/Buttons/WLib_ButtonText.layout" { Name "Apply_roadblockCount" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 170 OffsetLeft 170 PositionY 96 OffsetTop 96 SizeX 110 OffsetRight -280 SizeY 38 OffsetBottom -134 } components { SCR_ButtonTextComponent "{5548F0143AE99095}" { m_sText "Apply" } } }
|
ButtonWidgetClass : "{75C912A1C89BE6C2}UI/layouts/WidgetLibrary/Buttons/WLib_ButtonText.layout" { Name "Apply_roadblockCount" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 170 OffsetLeft 170 PositionY 96 OffsetTop 96 SizeX 110 OffsetRight -280 SizeY 38 OffsetBottom -134 } components { SCR_ButtonTextComponent "{5548F0143AE99095}" { m_sText "Apply" } } }
|
||||||
@@ -9,7 +9,7 @@ TextWidgetClass { Name "Label_largeRoadblockCount" Slot FrameWidgetSlot { Anchor
|
|||||||
ButtonWidgetClass : "{DA43C77A0D1E59F8}UI/layouts/ERR/AdminValue.layout" { Name "largeRoadblockCount" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 508 OffsetLeft 508 PositionY 96 OffsetTop 96 SizeX 130 OffsetRight -638 SizeY 38 OffsetBottom -134 } components { SCR_EditBoxComponent "{547290FFBD5B33E9}" { m_sLabel "" } } }
|
ButtonWidgetClass : "{DA43C77A0D1E59F8}UI/layouts/ERR/AdminValue.layout" { Name "largeRoadblockCount" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 508 OffsetLeft 508 PositionY 96 OffsetTop 96 SizeX 130 OffsetRight -638 SizeY 38 OffsetBottom -134 } components { SCR_EditBoxComponent "{547290FFBD5B33E9}" { m_sLabel "" } } }
|
||||||
ButtonWidgetClass : "{75C912A1C89BE6C2}UI/layouts/WidgetLibrary/Buttons/WLib_ButtonText.layout" { Name "Apply_largeRoadblockCount" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 650 OffsetLeft 650 PositionY 96 OffsetTop 96 SizeX 110 OffsetRight -760 SizeY 38 OffsetBottom -134 } components { SCR_ButtonTextComponent "{5548F0143AE99095}" { m_sText "Apply" } } }
|
ButtonWidgetClass : "{75C912A1C89BE6C2}UI/layouts/WidgetLibrary/Buttons/WLib_ButtonText.layout" { Name "Apply_largeRoadblockCount" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 650 OffsetLeft 650 PositionY 96 OffsetTop 96 SizeX 110 OffsetRight -760 SizeY 38 OffsetBottom -134 } components { SCR_ButtonTextComponent "{5548F0143AE99095}" { m_sText "Apply" } } }
|
||||||
TextWidgetClass { Name "Saved_largeRoadblockCount" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 508 OffsetLeft 508 PositionY 136 OffsetTop 136 SizeX 456 OffsetRight -964 SizeY 22 OffsetBottom -158 } Color {{COLOR_TEXT}} Text "Waiting for saved value" "Font Size" {{SIZE_CAPTION}} "Min Font Size" {{SIZE_CAPTION}} FontProperties FontProperties { Font "{{FONT}}" } }
|
TextWidgetClass { Name "Saved_largeRoadblockCount" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 508 OffsetLeft 508 PositionY 136 OffsetTop 136 SizeX 456 OffsetRight -964 SizeY 22 OffsetBottom -158 } Color {{COLOR_TEXT}} Text "Waiting for saved value" "Font Size" {{SIZE_CAPTION}} "Min Font Size" {{SIZE_CAPTION}} FontProperties FontProperties { Font "{{FONT}}" } }
|
||||||
TextWidgetClass { Name "Help_largeRoadblockCount" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 508 OffsetLeft 508 PositionY 160 OffsetTop 160 SizeX 456 OffsetRight -964 SizeY 32 OffsetBottom -192 } Color {{COLOR_TEXT}} Text "Eight guards, extended cover and approach barriers." "Font Size" {{SIZE_CAPTION_SMALL}} "Min Font Size" {{SIZE_CAPTION_SMALL}} Wrap 1 FontProperties FontProperties { Font "{{FONT}}" } }
|
TextWidgetClass { Name "Help_largeRoadblockCount" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 508 OffsetLeft 508 PositionY 160 OffsetTop 160 SizeX 456 OffsetRight -964 SizeY 32 OffsetBottom -192 } Color {{COLOR_TEXT}} Text "Four guards, extended cover and approach barriers." "Font Size" {{SIZE_CAPTION_SMALL}} "Min Font Size" {{SIZE_CAPTION_SMALL}} Wrap 1 FontProperties FontProperties { Font "{{FONT}}" } }
|
||||||
TextWidgetClass { Name "Label_mainRoadWidthMetres" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 28 OffsetLeft 28 PositionY 202 OffsetTop 202 SizeX 456 OffsetRight -484 SizeY 26 OffsetBottom -228 } Color {{COLOR_TEXT}} Text "Main-road minimum width (5-12 m)" "Font Size" {{SIZE_LABEL}} "Min Font Size" {{SIZE_LABEL}} Wrap 1 FontProperties FontProperties { Font "{{FONT}}" } }
|
TextWidgetClass { Name "Label_mainRoadWidthMetres" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 28 OffsetLeft 28 PositionY 202 OffsetTop 202 SizeX 456 OffsetRight -484 SizeY 26 OffsetBottom -228 } Color {{COLOR_TEXT}} Text "Main-road minimum width (5-12 m)" "Font Size" {{SIZE_LABEL}} "Min Font Size" {{SIZE_LABEL}} Wrap 1 FontProperties FontProperties { Font "{{FONT}}" } }
|
||||||
ButtonWidgetClass : "{DA43C77A0D1E59F8}UI/layouts/ERR/AdminValue.layout" { Name "mainRoadWidthMetres" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 28 OffsetLeft 28 PositionY 232 OffsetTop 232 SizeX 130 OffsetRight -158 SizeY 38 OffsetBottom -270 } components { SCR_EditBoxComponent "{547290FFBD5B33E9}" { m_sLabel "" } } }
|
ButtonWidgetClass : "{DA43C77A0D1E59F8}UI/layouts/ERR/AdminValue.layout" { Name "mainRoadWidthMetres" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 28 OffsetLeft 28 PositionY 232 OffsetTop 232 SizeX 130 OffsetRight -158 SizeY 38 OffsetBottom -270 } components { SCR_EditBoxComponent "{547290FFBD5B33E9}" { m_sLabel "" } } }
|
||||||
ButtonWidgetClass : "{75C912A1C89BE6C2}UI/layouts/WidgetLibrary/Buttons/WLib_ButtonText.layout" { Name "Apply_mainRoadWidthMetres" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 170 OffsetLeft 170 PositionY 232 OffsetTop 232 SizeX 110 OffsetRight -280 SizeY 38 OffsetBottom -270 } components { SCR_ButtonTextComponent "{5548F0143AE99095}" { m_sText "Apply" } } }
|
ButtonWidgetClass : "{75C912A1C89BE6C2}UI/layouts/WidgetLibrary/Buttons/WLib_ButtonText.layout" { Name "Apply_mainRoadWidthMetres" Slot FrameWidgetSlot { Anchor 0 0 0 0 PositionX 170 OffsetLeft 170 PositionY 232 OffsetTop 232 SizeX 110 OffsetRight -280 SizeY 38 OffsetBottom -270 } components { SCR_ButtonTextComponent "{5548F0143AE99095}" { m_sText "Apply" } } }
|
||||||
|
|||||||
Reference in New Issue
Block a user