Add typed field-flight prototype and preserve native qualification failures
This commit is contained in:
@@ -0,0 +1,90 @@
|
||||
// Experimental single immutable100m field only. No route tiling or fallback.
|
||||
// Inherits the original exact-instance, single-use, two-second claim contract.
|
||||
class ERR_AircraftFieldEnvelope : ERR_AircraftFlightEnvelope
|
||||
{
|
||||
static const int MAX_TERRAIN_NODES = 4096;
|
||||
protected vector m_Destination;
|
||||
vector Destination() { return m_Destination; }
|
||||
bool Contains(vector position, float upright) { return ERR_AircraftFieldRules.Contains(m_Home, m_Destination, position, upright); }
|
||||
static bool FinitePoint(vector point)
|
||||
{
|
||||
for (int axis = 0; axis < 3; axis++)
|
||||
if (!(Math.AbsFloat(point[axis]) <= 1000000)) return false;
|
||||
return true;
|
||||
}
|
||||
static int TerrainColumns(float distance)
|
||||
{
|
||||
if (!ERR_AircraftFieldRules.Length(distance)) return 0;
|
||||
return Math.Ceil((distance + 80) / 2);
|
||||
}
|
||||
static bool TerrainBudget(int columns, int rows)
|
||||
{
|
||||
if (columns < 1 || rows < 1 || columns >= MAX_TERRAIN_NODES || rows >= MAX_TERRAIN_NODES) return false;
|
||||
return (columns + 1) * (rows + 1) <= MAX_TERRAIN_NODES;
|
||||
}
|
||||
static bool Survey(vector start, vector end, array<IEntity> excluded = null)
|
||||
{
|
||||
if (!GetGame() || !GetGame().GetWorld() || !FinitePoint(start) || !FinitePoint(end)) return false;
|
||||
float distance = vector.DistanceXZ(start, end);
|
||||
int columns = TerrainColumns(distance), rows = 40;
|
||||
if (!TerrainBudget(columns, rows) || !(start[1] >= 2) || !(Math.AbsFloat(end[1] - start[1]) <= 0.3)) return false;
|
||||
vector along = end - start; along[1] = 0; along = along * (1 / distance);
|
||||
vector across = Vector(-along[2], 0, along[0]);
|
||||
float span = distance + 80;
|
||||
// Route-aligned grid includes40m beyond both ends and each side, enclosing
|
||||
// every allowed centre (8m cap) plus the measured complete footprint/margin.
|
||||
// <=2m along either grid axis, <=4096 total; all nodes must pass before traces.
|
||||
for (int x = 0; x <= columns; x++)
|
||||
for (int z = 0; z <= rows; z++)
|
||||
{
|
||||
vector sample = start + along * (-40 + span * x / columns) + across * (-40 + 80 * z / rows);
|
||||
if (!(Math.AbsFloat(SCR_TerrainHelper.GetTerrainY(sample) - start[1]) <= 0.3)) return false;
|
||||
}
|
||||
vector lower, upper;
|
||||
for (int axis = 0; axis < 3; axis++)
|
||||
{
|
||||
lower[axis] = Math.Min(start[axis], end[axis]);
|
||||
upper[axis] = Math.Max(start[axis], end[axis]);
|
||||
}
|
||||
vector centre = (lower + upper) * 0.5; centre[1] = start[1];
|
||||
vector half = (upper - lower) * 0.5;
|
||||
half[0] = half[0] + 40; half[2] = half[2] + 40;
|
||||
// AABB encloses the entire finite segment expanded40m, including endpoint
|
||||
// caps. A failed whole-volume trace never becomes a partly qualified leg.
|
||||
TraceBox corridor = new TraceBox();
|
||||
corridor.Start = centre + "0 3 0"; corridor.End = centre + "0 60 0";
|
||||
corridor.Mins = Vector(-half[0], -1, -half[2]); corridor.Maxs = Vector(half[0], 1, half[2]);
|
||||
corridor.Flags = TraceFlags.ENTS | TraceFlags.WORLD; corridor.ExcludeArray = excluded;
|
||||
if (!(GetGame().GetWorld().TraceMove(corridor, null) >= 1)) return false;
|
||||
TraceBox low = new TraceBox(); low.Start = centre + "0 0.5 0"; low.End = centre + "0 3 0";
|
||||
low.Mins = Vector(-half[0], -0.2, -half[2]); low.Maxs = Vector(half[0], 0.2, half[2]);
|
||||
low.Flags = TraceFlags.ENTS; low.ExcludeArray = excluded;
|
||||
return GetGame().GetWorld().TraceMove(low, null) >= 1;
|
||||
}
|
||||
static ERR_AircraftFieldEnvelope QualifyField(ERR_GameMode mode, Vehicle aircraft, IEntity pilot, vector destination)
|
||||
{
|
||||
if (!GetGame() || !GetGame().GetWorld() || !FinitePoint(destination)) return null;
|
||||
BaseWorld world = GetGame().GetWorld();
|
||||
float began = world.GetWorldTime();
|
||||
// Reuse complete native model/rotor measurement, exact vanilla airframe,
|
||||
// original occupied pilot seat and grounded qualification. Never synthesize it.
|
||||
ERR_AircraftFlightEnvelope point = ERR_AircraftFlightEnvelope.Qualify(mode, aircraft, pilot);
|
||||
if (!point) return null;
|
||||
vector start = ERR_Actors.Ground(point.Home());
|
||||
vector end = ERR_Actors.Ground(destination);
|
||||
if (!FinitePoint(start) || !FinitePoint(end) || !ERR_AircraftFieldRules.Length(vector.DistanceXZ(start, end)) || !(end[1] >= 2) || !(Math.AbsFloat(end[1] - start[1]) <= 0.3)) return null;
|
||||
array<IEntity> excluded = {};
|
||||
if (!Hierarchy(aircraft, excluded) || !Hierarchy(pilot, excluded)) return null;
|
||||
if (!ClearColumn(aircraft, pilot, end) || !Survey(start, end, excluded)) return null;
|
||||
if (!GetGame() || GetGame().GetWorld() != world || !mode || mode != ERR_GameMode.Get() || !mode.Active()) return null;
|
||||
float now = world.GetWorldTime();
|
||||
if (!(now >= began && now - began <= 2000) || !aircraft || !pilot || aircraft.GetWorld() != world || pilot.GetWorld() != world || vector.Distance(aircraft.GetOrigin(), point.Home()) > 0.1) return null;
|
||||
ERR_AircraftFieldEnvelope record = new ERR_AircraftFieldEnvelope();
|
||||
record.m_Mode = mode; record.m_Aircraft = aircraft; record.m_Pilot = pilot;
|
||||
record.m_Home = point.Home(); record.m_Radius = point.Radius();
|
||||
record.m_Destination = end; record.m_Destination[1] = record.m_Home[1];
|
||||
// Survey work consumes the original admission lifetime; it cannot renew it.
|
||||
record.m_QualifiedAt = began;
|
||||
return record;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,231 @@
|
||||
// Unqualified 100m field-route prototype. No allocation, HQ dispatch or service
|
||||
// integration. The shared base registry/bridge remains the sole input owner.
|
||||
class ERR_AircraftFieldFlight : ERR_AircraftFlight
|
||||
{
|
||||
protected ref ERR_AircraftFieldEnvelope m_Field;
|
||||
protected int m_FieldPhase; // 0 startup, 1 cruise, 2 braking, 3 slow settling
|
||||
protected vector m_FieldReference;
|
||||
protected vector m_FieldIntegral;
|
||||
protected float m_FieldBrakeSpeed;
|
||||
protected vector m_FieldLandingPoint;
|
||||
protected bool m_FieldStopFrozen;
|
||||
protected bool m_FieldArrived;
|
||||
protected float m_FieldLowSince = -1;
|
||||
int FieldPhase() { return m_FieldPhase; }
|
||||
bool Arrived() { return m_FieldArrived; }
|
||||
vector LandingPoint() { return m_FieldLandingPoint; }
|
||||
vector ReferenceVelocity() { return m_FieldReference; }
|
||||
vector IntegralDemand() { return m_FieldIntegral; }
|
||||
vector Destination() { vector result = "0 0 0"; if (m_Field) result = m_Field.Destination(); return result; }
|
||||
// Candidate native fuel quantities, not a demonstrated range/reserve model.
|
||||
protected bool FuelAdmission(Vehicle aircraft)
|
||||
{
|
||||
if (!aircraft) return false;
|
||||
FuelManagerComponent fuel = FuelManagerComponent.Cast(aircraft.FindComponent(FuelManagerComponent));
|
||||
return fuel && fuel.HasFuel() && fuel.GetTotalFuel() >= 50;
|
||||
}
|
||||
bool StartField(ERR_GameMode mode, Vehicle aircraft, SCR_AIGroup group, IEntity pilot, PilotCompartmentSlot seat, ERR_AircraftFieldEnvelope field, int token, float deadline)
|
||||
{
|
||||
if (m_StartAttempted || m_Field || !field || !ERR_AircraftFieldRules.Length(vector.DistanceXZ(field.Home(), field.Destination()))) return false;
|
||||
if (!ERR_AircraftFieldRules.LeaseAdmitted(Now(), deadline) || !FuelAdmission(aircraft)) return false;
|
||||
m_Field = field; m_TranslationRequested = true;
|
||||
vector home = field.Home();
|
||||
m_TranslationTarget = field.Destination(); m_TranslationTarget[1] = home[1] + 8;
|
||||
m_FieldLandingPoint = field.Home();
|
||||
return super.Start(mode, aircraft, group, pilot, seat, field, token, deadline);
|
||||
}
|
||||
override bool Start(ERR_GameMode mode, Vehicle aircraft, SCR_AIGroup group, IEntity pilot, PilotCompartmentSlot seat, ERR_AircraftFlightEnvelope qualification, int token, float deadline) { return false; }
|
||||
override bool StartTranslation(ERR_GameMode mode, Vehicle aircraft, SCR_AIGroup group, IEntity pilot, PilotCompartmentSlot seat, ERR_AircraftFlightEnvelope qualification, int token, float deadline, vector target) { return false; }
|
||||
protected bool FieldContains(vector position, float upright)
|
||||
{
|
||||
if (!m_Field || !m_Field.Contains(position, upright)) return false;
|
||||
if (m_FieldPhase == 0) return vector.DistanceXZ(position, m_Home) < 8;
|
||||
return true;
|
||||
}
|
||||
protected override bool Grounded()
|
||||
{
|
||||
if (!super.Grounded()) return false;
|
||||
if (m_State == ERR_AircraftFlightState.LANDING || m_State == ERR_AircraftFlightState.SHUTDOWN)
|
||||
return vector.DistanceXZ(m_Aircraft.GetOrigin(), m_FieldLandingPoint) <= 0.75;
|
||||
return true;
|
||||
}
|
||||
// A normal arrival and an airborne cancellation both brake before descent.
|
||||
// Once selected, the landing centre and braking deadline cannot be renewed.
|
||||
protected bool BeginFieldBrake(float now)
|
||||
{
|
||||
if (m_FieldStopFrozen) return true;
|
||||
if (!Owns() || !m_Field || !Healthy()) { Fail("field braking ownership or capability unavailable"); return false; }
|
||||
vector point = m_Field.Destination();
|
||||
if (m_Cancelled)
|
||||
{
|
||||
point = m_Aircraft.GetOrigin();
|
||||
vector velocity = m_Simulation.GetVelocity(); velocity[1] = 0;
|
||||
float speed = velocity.Length();
|
||||
if (speed >= 0.25) point = point + velocity * (ERR_AircraftFieldRules.BrakingReserve(speed) / speed);
|
||||
}
|
||||
point[1] = m_Home[1];
|
||||
if (!m_Field.Contains(point, 1)) { Fail("field stopping centre outside original qualified corridor"); return false; }
|
||||
// Cancel can arrive while airborne during the signed collective checks,
|
||||
// before shared startup enables autohover. Match the base landing handshake.
|
||||
m_Controller.SetAutohoverEnabled(true);
|
||||
if (!m_Controller.GetAutohoverEnabled()) { Fail("native field braking autohover enable refused"); return false; }
|
||||
m_FieldLandingPoint = point; m_FieldStopFrozen = true;
|
||||
// Begin reducing the reference at entry, before the modeled reserve boundary.
|
||||
// This one frozen ceiling cannot increase on another cancellation or tick.
|
||||
m_FieldBrakeSpeed = m_FieldReference.Length() * 0.9;
|
||||
m_FieldPhase = 2; m_State = ERR_AircraftFlightState.TRANSLATING;
|
||||
m_FieldLowSince = -1; m_Stable = -1;
|
||||
// Includes braking, two low-speed seconds and five seconds of final hold.
|
||||
m_StageDeadline = Math.Min(m_Deadline, now + 45000);
|
||||
PrintFormat("ERR AIRCRAFT FIELD BRAKE: token=%1 cancelled=%2 centre=%3 deadline=%4 originalDeadline=%5", m_Token, m_Cancelled, point, m_StageDeadline, m_Deadline);
|
||||
return true;
|
||||
}
|
||||
protected override bool Landing(float now)
|
||||
{
|
||||
if (!Owns() || !m_Field) { Relinquish("field landing lost original ownership"); return false; }
|
||||
if (m_Cancelled)
|
||||
{
|
||||
if (m_FieldPhase != 3) return BeginFieldBrake(now);
|
||||
if (m_Stable < 0 || now - m_Stable < 5000) return true; // retain the current settle/hold budget
|
||||
}
|
||||
if (!m_FieldStopFrozen || m_FieldPhase != 3 || m_Stable < 0 || now - m_Stable < 5000) { Fail("field descent requires observed braking and destination hold"); return false; }
|
||||
if (!super.Landing(now)) return false;
|
||||
m_StageDeadline = Math.Min(m_Deadline, now + 25000);
|
||||
return true;
|
||||
}
|
||||
protected override bool BeginTranslation(float now, vector position)
|
||||
{
|
||||
if (!m_Field || !m_TranslationRequested || m_TranslationStarted || m_State != ERR_AircraftFlightState.CLIMB) { Cancel("field stage ownership refused"); return false; }
|
||||
SignalsManagerComponent signals = m_Controller.GetSignalsManager();
|
||||
if (!signals || signals.FindSignal("MainRotorCyclicForward") < 0 || signals.FindSignal("MainRotorCyclicAside") < 0 || !m_Controller.GetAutohoverEnabled()) { Cancel("native field cyclic signals unavailable"); return false; }
|
||||
m_TranslationOrigin = position; m_TranslationDistance = vector.DistanceXZ(position, m_Field.Destination());
|
||||
m_TranslationStarted = true; m_State = ERR_AircraftFlightState.TRANSLATING; m_FieldPhase = 1;
|
||||
m_FieldReference = "0 0 0"; m_FieldIntegral = "0 0 0"; m_Stable = -1;
|
||||
m_StageDeadline = Math.Min(m_Deadline, now + 160000);
|
||||
PrintFormat("ERR AIRCRAFT FIELD BEGIN: token=%1 home=%2 destination=%3 actualOrigin=%4 deadline=%5", m_Token, m_Home, m_Field.Destination(), position, m_Deadline);
|
||||
return true;
|
||||
}
|
||||
protected override bool ControlLease()
|
||||
{
|
||||
if (!Lease()) return false;
|
||||
if (!Owns()) { Relinquish("field callback lost original ownership"); return false; }
|
||||
float now = Now();
|
||||
if (now < 0 || now >= m_Deadline || now >= m_StageDeadline) { Fail("bounded field stage expired"); return false; }
|
||||
if (!Healthy() || !m_Readback) { Fail("field capability or native input readback lost"); return false; }
|
||||
vector transform[4]; m_Aircraft.GetWorldTransform(transform);
|
||||
if (!FieldContains(transform[3], transform[1][1]) || !ERR_AircraftFieldRules.SpeedAllowed(m_Simulation.GetVelocity())) { Fail("qualified field position, attitude or speed exceeded"); return false; }
|
||||
return true;
|
||||
}
|
||||
protected vector FieldDemand(vector position, vector velocity, float dt)
|
||||
{
|
||||
vector target = m_Field.Destination(); if (m_FieldStopFrozen) target = m_FieldLandingPoint;
|
||||
if (m_FieldPhase == 3 || m_State == ERR_AircraftFlightState.LANDING) return ERR_AircraftTranslationRules.Demand(target, position, velocity);
|
||||
vector direction = target - position; direction[1] = 0;
|
||||
float remaining = direction.Length(); float targetSpeed = 2;
|
||||
if (m_FieldPhase == 2) targetSpeed = ERR_AircraftFieldRules.ApproachSpeed(remaining, Math.Min(m_FieldReference.Length(), m_FieldBrakeSpeed));
|
||||
vector desired;
|
||||
if (remaining > 0.001) desired = direction * (targetSpeed / remaining);
|
||||
m_FieldReference = ERR_AircraftFieldRules.RampReference(m_FieldReference, desired, dt);
|
||||
vector nextIntegral;
|
||||
vector demand = ERR_AircraftFieldRules.VelocityDemand(m_FieldReference, velocity, m_FieldIntegral, dt, nextIntegral);
|
||||
m_FieldIntegral = nextIntegral;
|
||||
return demand;
|
||||
}
|
||||
override void PrepareActions(CharacterControllerComponent controller, IEntity owner, ActionManager actions, float dt)
|
||||
{
|
||||
if (m_State != ERR_AircraftFlightState.TRANSLATING && m_State != ERR_AircraftFlightState.LANDING) { super.PrepareActions(controller, owner, actions, dt); return; }
|
||||
if (!Lease() || controller != m_Character || owner != m_Pilot || actions != m_Actions || !ControlLease()) return;
|
||||
if (!m_Readback || !ERR_AircraftFieldRules.ValidStep(dt) || dt > 0.2) return;
|
||||
if (!actions.IsContextActive("HelicopterContext")) actions.ActivateContext("HelicopterContext", 1);
|
||||
if (!actions.IsContextActive("HelicopterContext")) { m_Readback = false; return; }
|
||||
if (!m_Controller.GetAutohoverEnabled()) { Fail("native field autohover lost"); return; }
|
||||
vector position = m_Aircraft.GetOrigin(); vector velocity = m_Simulation.GetVelocity();
|
||||
float height = position[1] - m_Home[1];
|
||||
float error = ERR_AircraftFlightRules.Vertical(height, m_State == ERR_AircraftFlightState.LANDING) - velocity[1];
|
||||
m_Collective = Math.Clamp(m_Collective + error * dt * 0.12, -0.95, 0.8);
|
||||
float collective = Math.Clamp(m_Collective + error * 0.12, -1, 0.9);
|
||||
float headingError = m_Heading - m_Aircraft.GetYawPitchRoll()[0];
|
||||
while (headingError > 180) headingError -= 360;
|
||||
while (headingError < -180) headingError += 360;
|
||||
vector angular = m_Simulation.GetAngularVelocityLocal();
|
||||
float torque = Math.Clamp(headingError * 0.01 - angular[1] * 0.3, -0.3, 0.3);
|
||||
vector transform[4]; m_Aircraft.GetWorldTransform(transform);
|
||||
vector demand = FieldDemand(transform[3], m_Simulation.GetVelocity(), dt);
|
||||
float limit = 0.08; if (m_FieldPhase == 3 || m_State == ERR_AircraftFlightState.LANDING) limit = 0.03;
|
||||
float forward = Math.Clamp(vector.Dot(demand, transform[2]), -limit, limit);
|
||||
float aside = Math.Clamp(vector.Dot(demand, transform[0]), -limit, limit);
|
||||
if (m_State == ERR_AircraftFlightState.LANDING && Grounded()) { collective = -1; forward = 0; aside = 0; }
|
||||
bool a = Pair("HelicopterCollectiveIncrease", "HelicopterCollectiveDecrease", collective);
|
||||
bool b = Pair("HelicopterCyclicForward", "HelicopterCyclicBack", forward);
|
||||
bool c = Pair("HelicopterCyclicRight", "HelicopterCyclicLeft", aside);
|
||||
bool d = Pair("HelicopterAntiTorqueRight", "HelicopterAntiTorqueLeft", torque);
|
||||
m_Readback = a && b && c && d; m_ActionUpdates++; m_LastControl = Now();
|
||||
if (m_State == ERR_AircraftFlightState.TRANSLATING) m_TranslationUpdates++;
|
||||
}
|
||||
protected override void CheckTranslation(float now, vector position, float height, float speed, float upright)
|
||||
{
|
||||
if (!m_Field || !m_Controller.GetAutohoverEnabled()) { Fail("field route or autohover unavailable"); return; }
|
||||
vector velocity = m_Simulation.GetVelocity(); float horizontal = ERR_AircraftFieldRules.HorizontalSpeed(velocity);
|
||||
if (m_FieldPhase == 1)
|
||||
{
|
||||
if (ERR_AircraftFieldRules.ShouldBrake(vector.DistanceXZ(position, m_Field.Destination()), horizontal)) BeginFieldBrake(now);
|
||||
return;
|
||||
}
|
||||
if (m_FieldPhase == 2)
|
||||
{
|
||||
if (!(horizontal < 0.25)) m_FieldLowSince = -1;
|
||||
else if (m_FieldLowSince < 0) m_FieldLowSince = now;
|
||||
if (!ERR_AircraftFieldRules.LowSpeedHeld(horizontal, m_FieldLowSince, now)) return;
|
||||
m_FieldPhase = 3; m_FieldReference = "0 0 0"; m_FieldIntegral = "0 0 0"; m_Stable = -1;
|
||||
// No new deadline: slow positioning/hold belongs to the same braking budget.
|
||||
}
|
||||
bool held = m_FieldPhase == 3 && !m_Simulation.HasAnyGroundContact() && ERR_AircraftFlightRules.Hover(height, speed, velocity[1], upright) && horizontal < 0.25 && vector.DistanceXZ(position, m_FieldLandingPoint) <= 0.75;
|
||||
if (!held) { m_Stable = -1; return; }
|
||||
if (m_Stable < 0) m_Stable = now;
|
||||
if (now - m_Stable < 5000) return;
|
||||
if (!m_Cancelled) { m_FieldArrived = true; m_TranslationProven = true; }
|
||||
Landing(now);
|
||||
}
|
||||
override void Tick()
|
||||
{
|
||||
if (!ControlLease()) return;
|
||||
float now = Now();
|
||||
// The owner must continue Tick even with no players. Do not transition an
|
||||
// inherited startup callback into a field phase halfway through native input.
|
||||
// 86.5s soft threshold reserves the 85s phase budget plus the maximum
|
||||
// accepted 1.5s observation gap. Hard stage/original deadlines never move.
|
||||
bool reserveAbort = ERR_AircraftFieldRules.AbortDue(now + 1500, m_Deadline);
|
||||
bool fuelAbort = !m_Fuel || !(m_Fuel.GetTotalFuel() > 20);
|
||||
if (!m_Cancelled && !m_FieldArrived && m_State != ERR_AircraftFlightState.LANDING && m_State != ERR_AircraftFlightState.SHUTDOWN && (reserveAbort || fuelAbort))
|
||||
{
|
||||
string reason = "field remaining lease reserved for braking and landing";
|
||||
if (fuelAbort) reason = "field candidate low-fuel reserve reached";
|
||||
Cancel(reason);
|
||||
if (Finished()) return;
|
||||
}
|
||||
// The stock-independent shared startup includes native signed collective
|
||||
// consumption, engine/fuel proof and five-second hover without duplication.
|
||||
if (m_State != ERR_AircraftFlightState.TRANSLATING && m_State != ERR_AircraftFlightState.LANDING && m_State != ERR_AircraftFlightState.SHUTDOWN) { super.Tick(); return; }
|
||||
if (m_LastTick >= 0 && (now < m_LastTick || now - m_LastTick > 1500)) { m_Stable = -1; m_FieldLowSince = -1; }
|
||||
m_LastTick = now;
|
||||
if (m_LastControl < 0 || now - m_LastControl > 1000) { Fail("field pilot callback stopped"); return; }
|
||||
if (m_State != ERR_AircraftFlightState.SHUTDOWN && !m_Controller.IsEngineOn()) { Fail("field running engine lost"); return; }
|
||||
vector transform[4]; m_Aircraft.GetWorldTransform(transform);
|
||||
if (m_State == ERR_AircraftFlightState.TRANSLATING) { CheckTranslation(now, transform[3], transform[3][1] - m_Home[1], m_Simulation.GetVelocity().Length(), transform[1][1]); return; }
|
||||
if (m_State == ERR_AircraftFlightState.LANDING)
|
||||
{
|
||||
if (!m_Controller.GetAutohoverEnabled()) { Fail("field landing autohover lost"); return; }
|
||||
if (!Grounded()) m_Stable = -1;
|
||||
else if (m_Stable < 0) m_Stable = now;
|
||||
if (m_Stable >= 0 && now - m_Stable >= 2000) Shutdown(now);
|
||||
return;
|
||||
}
|
||||
if (m_State == ERR_AircraftFlightState.SHUTDOWN && !m_Controller.IsEngineOn())
|
||||
{
|
||||
if (!Grounded()) { Fail("field engine-off physical ground check failed"); return; }
|
||||
if (m_Cancelled) m_State = ERR_AircraftFlightState.CANCELLED;
|
||||
else m_State = ERR_AircraftFlightState.COMPLETE;
|
||||
Release(true); RecordState();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,112 @@
|
||||
// Candidate 100m field experiment only. BrakingReserve is an admission
|
||||
// hypothesis, not measured stopping performance or an emergency-landing promise.
|
||||
class ERR_AircraftFieldRules
|
||||
{
|
||||
static bool Length(float distance) { return distance >= 99.95 && distance <= 100.05; }
|
||||
static bool FiniteVector(vector value)
|
||||
{
|
||||
return Math.AbsFloat(value[0]) <= 1000000 && Math.AbsFloat(value[1]) <= 1000000 && Math.AbsFloat(value[2]) <= 1000000;
|
||||
}
|
||||
static float HorizontalSpeed(vector velocity)
|
||||
{
|
||||
velocity[1] = 0;
|
||||
return velocity.Length();
|
||||
}
|
||||
static bool SpeedAllowed(vector velocity) { return FiniteVector(velocity) && HorizontalSpeed(velocity) <= 2.5; }
|
||||
static bool ValidStep(float dt) { return dt > 0 && dt <= 0.5; }
|
||||
static float RampSpeed(float current, float target, float dt)
|
||||
{
|
||||
if (!(current >= 0 && current <= 2)) return 0;
|
||||
if (!(target >= 0 && target <= 2) || !ValidStep(dt)) return current;
|
||||
return current + Math.Clamp(target - current, -0.2 * dt, 0.2 * dt);
|
||||
}
|
||||
static vector CapHorizontal(vector value, float limit)
|
||||
{
|
||||
value[1] = 0;
|
||||
float magnitude = value.Length();
|
||||
if (magnitude > limit) value = value * (limit / magnitude);
|
||||
return value;
|
||||
}
|
||||
// Slew the complete horizontal vector: changing bearing cannot bypass the
|
||||
// acceleration velocityReference cap through an instantaneous sign/direction change.
|
||||
static vector RampReference(vector current, vector desired, float dt)
|
||||
{
|
||||
if (!FiniteVector(current)) return "0 0 0";
|
||||
current = CapHorizontal(current, 2);
|
||||
if (!FiniteVector(desired) || !ValidStep(dt)) return current;
|
||||
desired = CapHorizontal(desired, 2);
|
||||
return CapHorizontal(current + CapHorizontal(desired - current, 0.2 * dt), 2);
|
||||
}
|
||||
// Remaining target distance includes permitted takeoff/corridor drift; its
|
||||
// 120m arithmetic bound grants no authority beyond Contains/Length.
|
||||
// Invert the entire candidate stopping reserve (including1s latency and3m
|
||||
// margin), not just its deceleration term. Caller also freezes a0.9 entry-speed
|
||||
// cap to begin reducing the velocityReference immediately, then slews the vector.
|
||||
// The assumed0.15m/s² physical deceleration still requires native measurement.
|
||||
static float ApproachSpeed(float remaining, float current)
|
||||
{
|
||||
if (!(remaining >= 0 && remaining <= 120) || !(current >= 0 && current <= 2)) return 0;
|
||||
float reservedSpeed = (Math.Sqrt(0.09 + 1.2 * Math.Max(0, remaining - 3)) - 0.3) * 0.5;
|
||||
return Math.Min(current, Math.Max(0, reservedSpeed));
|
||||
}
|
||||
// Integral units are (m/s)*seconds; nextIntegral is caller-owned state.
|
||||
// Horizontal demand is world-space; the exact-owner controller converts it
|
||||
// to the native airframe basis. The caller resets state at phase transitions.
|
||||
static vector VelocityDemand(vector velocityReference, vector velocity, vector integral, float dt, out vector nextIntegral)
|
||||
{
|
||||
nextIntegral = "0 0 0";
|
||||
if (!FiniteVector(velocityReference) || !FiniteVector(velocity) || !FiniteVector(integral) || !ValidStep(dt)) return "0 0 0";
|
||||
velocityReference = CapHorizontal(velocityReference, 2);
|
||||
velocity[1] = 0;
|
||||
integral = CapHorizontal(integral, 4);
|
||||
vector error = velocityReference - velocity;
|
||||
vector candidate = CapHorizontal(integral + error * dt, 4);
|
||||
vector proposed = error * 0.10 + candidate * 0.02;
|
||||
// Freeze only integration which pushes an already saturated vector outward.
|
||||
// Opposing error can unwind stored demand while the output remains capped.
|
||||
nextIntegral = candidate;
|
||||
if (proposed.Length() > 0.08 && vector.Dot(proposed, error) > 0) nextIntegral = integral;
|
||||
return CapHorizontal(error * 0.10 + nextIntegral * 0.02, 0.08);
|
||||
}
|
||||
static float BrakingReserve(float speed)
|
||||
{
|
||||
if (!(speed >= 0 && speed <= 2.5)) return 1000000;
|
||||
return speed * speed / 0.30 + speed + 3;
|
||||
}
|
||||
static bool ShouldBrake(float remaining, float speed)
|
||||
{
|
||||
if (!(remaining >= 0 && remaining <= 120) || !(speed >= 0 && speed <= 2.5)) return true;
|
||||
return remaining <= Math.Max(25, BrakingReserve(speed));
|
||||
}
|
||||
// Admit only the full experimental lease, with <=1s dispatch allowance.
|
||||
// Never recompute a deadline from these checks or renew the original lease.
|
||||
static bool LeaseAdmitted(float now, float deadline)
|
||||
{
|
||||
return now >= 0 && deadline - now >= 239000 && deadline - now <= 240000;
|
||||
}
|
||||
static bool AbortDue(float now, float deadline)
|
||||
{
|
||||
if (!(now >= 0 && deadline > now && deadline - now <= 240000)) return true;
|
||||
return deadline - now <= 85000;
|
||||
}
|
||||
// 'since' is the caller's continuous low-speed observation start, in ms.
|
||||
// The caller clears it whenever actual horizontal speed is >=0.25m/s.
|
||||
static bool LowSpeedHeld(float speed, float since, float now)
|
||||
{
|
||||
return speed >= 0 && speed < 0.25 && since >= 0 && now >= since && now - since >= 2000;
|
||||
}
|
||||
static vector Nearest(vector start, vector end, vector point)
|
||||
{
|
||||
vector leg = end - start; leg[1] = 0;
|
||||
vector offset = point - start; offset[1] = 0;
|
||||
float squared = vector.Dot(leg, leg);
|
||||
if (!(squared > 0)) return start;
|
||||
return start + leg * Math.Clamp(vector.Dot(offset, leg) / squared, 0, 1);
|
||||
}
|
||||
static bool Contains(vector start, vector end, vector point, float upright)
|
||||
{
|
||||
if (!FiniteVector(start) || !FiniteVector(end) || !FiniteVector(point) || !Length(vector.DistanceXZ(start, end))) return false;
|
||||
float height = point[1] - start[1];
|
||||
return height >= -3 && height <= 18 && upright >= 0.85 && upright <= 1.01 && vector.DistanceXZ(point, Nearest(start, end, point)) < 8;
|
||||
}
|
||||
}
|
||||
@@ -6,7 +6,7 @@ class ERR_AircraftServiceEntry
|
||||
SCR_AIGroup Group;
|
||||
IEntity Pilot;
|
||||
PilotCompartmentSlot Seat;
|
||||
ref ERR_AircraftRouteFlight Flight;
|
||||
ref ERR_AircraftFlight Flight;
|
||||
int Token;
|
||||
float Deadline;
|
||||
vector Destination;
|
||||
@@ -89,18 +89,45 @@ class ERR_AircraftService
|
||||
if (!Context() || m_Stopping || !entry || entry.Pending || entry.Retired || s_Retainers.Get(aircraft) != this) return false;
|
||||
return PhysicalReady(entry);
|
||||
}
|
||||
bool StartRoute(Vehicle aircraft, ERR_AircraftRouteEnvelope qualification, int token, float deadline)
|
||||
// Both explicit kinds share one attempt history and physical reservation.
|
||||
protected ERR_AircraftServiceEntry BeginAttempt(Vehicle aircraft, int token, float deadline)
|
||||
{
|
||||
if (!Context() || m_Stopping || !qualification || token <= 0 || m_UsedTokens.Contains(token) || m_UsedTokens.Count() >= MAX_ORDERS || !Ready(aircraft)) return false;
|
||||
if (!Context() || m_Stopping || token <= 0 || m_UsedTokens.Contains(token) || m_UsedTokens.Count() >= MAX_ORDERS || !Ready(aircraft)) return null;
|
||||
float now = m_World.GetWorldTime();
|
||||
if (!ERR_AircraftFlightRules.Deadline(now, deadline)) return false;
|
||||
if (!ERR_AircraftFlightRules.Deadline(now, deadline)) return null;
|
||||
ERR_AircraftServiceEntry entry = Find(aircraft);
|
||||
// Commit the attempt before calling the native-backed controller. No retry of
|
||||
// this token, including a partially initialized or conflicting Start refusal.
|
||||
m_UsedTokens.Insert(token); entry.Token = token; entry.Deadline = deadline;
|
||||
entry.Destination = qualification.Destination(); entry.CancelRequested = false;
|
||||
entry.Flight = new ERR_AircraftRouteFlight(); entry.Pending = true;
|
||||
bool started = entry.Flight.StartRoute(m_Mode, entry.Aircraft, entry.Group, entry.Pilot, entry.Seat, qualification, token, deadline);
|
||||
entry.CancelRequested = false;
|
||||
return entry;
|
||||
}
|
||||
bool StartRoute(Vehicle aircraft, ERR_AircraftRouteEnvelope qualification, int token, float deadline)
|
||||
{
|
||||
if (!qualification) return false;
|
||||
ERR_AircraftServiceEntry entry = BeginAttempt(aircraft, token, deadline);
|
||||
if (!entry) return false;
|
||||
entry.Destination = qualification.Destination();
|
||||
ERR_AircraftRouteFlight flight = new ERR_AircraftRouteFlight();
|
||||
entry.Flight = flight; entry.Pending = true;
|
||||
bool started = flight.StartRoute(m_Mode, entry.Aircraft, entry.Group, entry.Pilot, entry.Seat, qualification, token, deadline);
|
||||
return RecordStart(entry, started);
|
||||
}
|
||||
// This explicit prototype entry point accepts only a field certificate and
|
||||
// constructs its known controller. No arbitrary caller-owned flight is adopted.
|
||||
bool StartField(Vehicle aircraft, ERR_AircraftFieldEnvelope qualification, int token, float deadline)
|
||||
{
|
||||
if (!qualification) return false;
|
||||
ERR_AircraftServiceEntry entry = BeginAttempt(aircraft, token, deadline);
|
||||
if (!entry) return false;
|
||||
entry.Destination = qualification.Destination();
|
||||
ERR_AircraftFieldFlight flight = new ERR_AircraftFieldFlight();
|
||||
entry.Flight = flight; entry.Pending = true;
|
||||
bool started = flight.StartField(m_Mode, entry.Aircraft, entry.Group, entry.Pilot, entry.Seat, qualification, token, deadline);
|
||||
return RecordStart(entry, started);
|
||||
}
|
||||
protected bool RecordStart(ERR_AircraftServiceEntry entry, bool started)
|
||||
{
|
||||
if (!started)
|
||||
{
|
||||
entry.Retired = true; entry.Reason = "flight start refused; no automatic retry or replacement";
|
||||
|
||||
@@ -0,0 +1,424 @@
|
||||
#ifdef WORKBENCH
|
||||
// Separate opt-in experimental100m field fixture; original aircraft outcomes unchanged.
|
||||
// Full terrain/clearance refusal is retained; no operational dispatch is installed.
|
||||
modded class ERR_AircraftFieldFlight
|
||||
{
|
||||
float ERR_NativeFieldStageDeadline() { return m_StageDeadline; }
|
||||
int ERR_NativeFieldActionUpdates() { return m_ActionUpdates; }
|
||||
int ERR_NativeFieldHelicopterUpdates() { return m_HelicopterUpdates; }
|
||||
bool ERR_NativeFieldFreshReadback(float now) { return m_Readback && m_LastControl >= 0 && now >= m_LastControl && now - m_LastControl <= 1000; }
|
||||
vector ERR_NativeFieldInputDemand()
|
||||
{
|
||||
vector result;
|
||||
if (m_Actions) result = Vector(m_Actions.GetActionValue("HelicopterCyclicRight") - m_Actions.GetActionValue("HelicopterCyclicLeft"), 0, m_Actions.GetActionValue("HelicopterCyclicForward") - m_Actions.GetActionValue("HelicopterCyclicBack"));
|
||||
return result;
|
||||
}
|
||||
protected override bool BeginFieldBrake(float now)
|
||||
{
|
||||
bool alreadyFrozen = m_FieldStopFrozen;
|
||||
bool result = super.BeginFieldBrake(now);
|
||||
ERR_NativeAircraftFieldProbe probe = ERR_NativeAircraftFieldProbe.Current();
|
||||
if (result && !alreadyFrozen && probe && m_Aircraft && m_Simulation) probe.BrakeBegan(this, now, m_Aircraft.GetOrigin(), m_Simulation.GetVelocity());
|
||||
return result;
|
||||
}
|
||||
protected override void CheckTranslation(float now, vector position, float height, float speed, float upright)
|
||||
{
|
||||
int oldPhase = m_FieldPhase;
|
||||
super.CheckTranslation(now, position, height, speed, upright);
|
||||
ERR_NativeAircraftFieldProbe probe = ERR_NativeAircraftFieldProbe.Current();
|
||||
if (oldPhase == 2 && m_FieldPhase == 3 && probe && m_Aircraft && m_Simulation) probe.BrakeStopped(this, now, m_Aircraft.GetOrigin(), m_Simulation.GetVelocity());
|
||||
}
|
||||
|
||||
}
|
||||
// Read-only fixture access to the service's exact retained controller.
|
||||
modded class ERR_AircraftService
|
||||
{
|
||||
ERR_AircraftFieldFlight ERR_NativeOriginalFieldFlight(Vehicle aircraft)
|
||||
{
|
||||
ERR_AircraftFieldFlight result;
|
||||
ERR_AircraftServiceEntry entry = Find(aircraft);
|
||||
if (entry) result = ERR_AircraftFieldFlight.Cast(entry.Flight);
|
||||
return result;
|
||||
}
|
||||
}
|
||||
modded class SCR_CharacterControllerComponent
|
||||
{
|
||||
override void OnPrepareControls(IEntity owner, ActionManager am, float dt, bool player)
|
||||
{
|
||||
ERR_NativeAircraftFieldProbe probe = ERR_NativeAircraftFieldProbe.Current();
|
||||
if (probe && !player) probe.PrepareActions(this, owner, am, dt);
|
||||
super.OnPrepareControls(owner, am, dt, player);
|
||||
}
|
||||
}
|
||||
modded class SCR_HelicopterControllerComponent
|
||||
{
|
||||
protected override event void OnPrepareControls()
|
||||
{
|
||||
super.OnPrepareControls();
|
||||
ERR_NativeAircraftFieldProbe probe = ERR_NativeAircraftFieldProbe.Current();
|
||||
if (probe) probe.PrepareHelicopter(this);
|
||||
}
|
||||
}
|
||||
class ERR_NativeAircraftFieldRules
|
||||
{
|
||||
static bool Cruise(float alongSpeed, float horizontal, bool contact, int phase)
|
||||
{
|
||||
return phase == 1 && !contact && alongSpeed >= 1 && horizontal >= 1 && horizontal <= 2.5;
|
||||
}
|
||||
static bool Braking(float reserve, float sampledTravel, float displacement, float lowSince, float now, float horizontal)
|
||||
{
|
||||
return reserve >= 3 && reserve <= 26.334 && sampledTravel >= 0 && sampledTravel <= reserve && displacement >= 0 && displacement <= reserve && horizontal >= 0 && horizontal < 0.25 && lowSince >= 0 && now - lowSince >= 2000;
|
||||
}
|
||||
static bool Terminal(bool cancellation, int state, int stops, bool arrived, bool cruiseHeld, bool endpointHeld, bool braking, float displacement, float targetError)
|
||||
{
|
||||
if (!braking || !(targetError >= 0 && targetError <= 0.75)) return false;
|
||||
if (cancellation) return state == ERR_AircraftFlightState.CANCELLED && stops == 1 && !arrived;
|
||||
return state == ERR_AircraftFlightState.COMPLETE && stops == 0 && arrived && cruiseHeld && endpointHeld && displacement >= 99.25 && displacement <= 100.8;
|
||||
}
|
||||
static bool PhysicalFinish(bool originalOccupancy, bool landed, bool engineOff, float fuelUsed, int wakes, int starts, int controllerStarts, int pilotHooks, int helicopterHooks)
|
||||
{
|
||||
return originalOccupancy && landed && engineOff && fuelUsed > 0.05 && fuelUsed < 1000000 && wakes == 1 && starts == 1 && controllerStarts == 1 && pilotHooks > 100 && helicopterHooks > 100;
|
||||
}
|
||||
static bool CanDispose(bool context, bool noPlayers, bool sameFaction, bool groupUnchanged, bool pilotUnchanged)
|
||||
{
|
||||
return context && noPlayers && sameFaction && groupUnchanged && pilotUnchanged;
|
||||
}
|
||||
}
|
||||
class ERR_NativeAircraftFieldProbe
|
||||
{
|
||||
protected static ERR_NativeAircraftFieldProbe s_Current;
|
||||
protected ERR_GameMode m_Mode;
|
||||
protected Vehicle m_Aircraft;
|
||||
protected SCR_AIGroup m_Group;
|
||||
protected IEntity m_Pilot;
|
||||
protected PilotCompartmentSlot m_Seat;
|
||||
protected HelicopterControllerComponent m_Controller;
|
||||
protected VehicleHelicopterSimulation m_Simulation;
|
||||
protected FuelManagerComponent m_Fuel;
|
||||
protected ref ERR_AircraftFieldEnvelope m_Envelope;
|
||||
protected ref ERR_AircraftFieldFlight m_Flight;
|
||||
protected ref ERR_AircraftService m_Service;
|
||||
protected float m_Deadline;
|
||||
protected float m_StageDeadline;
|
||||
protected float m_Stable = -1;
|
||||
protected float m_LastTick = -1;
|
||||
protected float m_NextLog;
|
||||
protected float m_InitialFuel;
|
||||
protected float m_ControlDeadline;
|
||||
protected int m_CancelCount;
|
||||
protected bool m_CancelFixture;
|
||||
protected float m_CancelAt = -1;
|
||||
protected float m_LandingStable = -1;
|
||||
protected int m_CancelActionUpdates;
|
||||
protected int m_CancelHelicopterUpdates;
|
||||
protected bool m_ContinuedAirborneControl;
|
||||
protected bool m_LandingHeld;
|
||||
protected vector m_CancelLandingPoint;
|
||||
protected bool m_TranslationHeld;
|
||||
protected float m_TranslationStable = -1;
|
||||
protected vector m_Pad;
|
||||
protected vector m_Destination;
|
||||
protected float m_CruiseSince = -1;
|
||||
protected bool m_CruiseHeld;
|
||||
protected bool m_BrakeObserved;
|
||||
protected bool m_BrakeStopped;
|
||||
protected bool m_BrakePassed;
|
||||
protected string m_ObservationFailure;
|
||||
protected vector m_BrakeOrigin;
|
||||
protected vector m_BrakeLandingPoint;
|
||||
protected vector m_BrakePrevious;
|
||||
protected float m_BrakeReserve;
|
||||
protected float m_BrakeSampledTravel;
|
||||
protected float m_BrakeLowSince = -1;
|
||||
protected float m_BrakeAt;
|
||||
protected float m_BrakeStageDeadline;
|
||||
protected int m_Step;
|
||||
protected int m_Wakes;
|
||||
protected int m_ControllerStarts;
|
||||
protected int m_EngineStarts;
|
||||
protected int m_PilotHooks;
|
||||
protected int m_HelicopterHooks;
|
||||
protected bool m_LastEngine;
|
||||
protected bool m_AllocationRequested;
|
||||
protected bool m_PilotRequested;
|
||||
protected bool m_Stopped;
|
||||
protected bool m_Complete;
|
||||
static const int ORDER_TOKEN = 771101;
|
||||
static const ResourceName AIRCRAFT = "{DF5CCB7C0FF049F4}Prefabs/Vehicles/Helicopters/Mi8MT/Mi8MT_unarmed_transport.et";
|
||||
static const ResourceName GROUP = "{000CD338713F2B5A}Prefabs/AI/Groups/Group_Base.et";
|
||||
static const ResourceName PILOT = "{86E565387A634103}Prefabs/Characters/Campaign/Final/OPFOR/USSR_Army/Regular/Campaign_USSR_Player_MortarCrew.et";
|
||||
static bool Enabled()
|
||||
{
|
||||
string enabled, outcome;
|
||||
return Replication.IsServer() && System.GetCLIParam("errSmoke", enabled) && enabled == "1" && System.GetCLIParam("errSmokeOutcome", outcome) && outcome == "aircraft-field";
|
||||
}
|
||||
static ERR_NativeAircraftFieldProbe Current() { return s_Current; }
|
||||
void ERR_NativeAircraftFieldProbe(ERR_GameMode mode)
|
||||
{
|
||||
m_Mode = mode;
|
||||
if (!GetGame() || !GetGame().GetWorld() || !Enabled() || s_Current) { m_Stopped = true; return; }
|
||||
string cancellation; m_CancelFixture = System.GetCLIParam("errSmokeFieldServiceCancel", cancellation) && cancellation == "1";
|
||||
m_Deadline = GetGame().GetWorld().GetWorldTime() + 300000;
|
||||
s_Current = this;
|
||||
}
|
||||
protected bool Check(bool passed, string detail)
|
||||
{
|
||||
string outcome = "aircraft-field";
|
||||
if (passed) { Print("ERR SMOKE PASS: " + outcome + " " + detail); return true; }
|
||||
Print("ERR SMOKE FAIL: " + outcome + " " + detail, LogLevel.ERROR); Stop(); return false;
|
||||
}
|
||||
protected bool NoPlayers()
|
||||
{
|
||||
if (!GetGame() || !GetGame().GetPlayerManager()) return false;
|
||||
if (m_Group && m_Group.GetPlayerCount(true) > 0) return false;
|
||||
array<int> players = {}; GetGame().GetPlayerManager().GetPlayers(players);
|
||||
foreach (int id : players)
|
||||
{
|
||||
IEntity actor = GetGame().GetPlayerManager().GetPlayerControlledEntity(id);
|
||||
if (actor && (actor == m_Pilot || actor == m_Aircraft || (m_Aircraft && CompartmentAccessComponent.GetVehicleIn(actor) == m_Aircraft))) return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
protected bool OriginalOccupancy()
|
||||
{
|
||||
if (!m_Pilot || !m_Group || !m_Aircraft || !m_Controller || !m_Seat || !NoPlayers()) return false;
|
||||
if (m_Group.GetAgentsCount() != 1 || ERR_Actors.Group(m_Pilot) != m_Group || !ERR_Actors.CanFight(m_Pilot)) return false;
|
||||
return m_Seat.GetOccupant() == m_Pilot && m_Controller.GetPilotCompartmentSlot() == m_Seat && CompartmentAccessComponent.GetVehicleIn(m_Pilot) == m_Aircraft;
|
||||
}
|
||||
void PrepareActions(CharacterControllerComponent controller, IEntity owner, ActionManager am, float dt)
|
||||
{
|
||||
if (m_Stopped || !m_Flight || owner != m_Pilot) return;
|
||||
// Observation only: the production bridge owns the sole control dispatch.
|
||||
m_PilotHooks++;
|
||||
}
|
||||
void PrepareHelicopter(HelicopterControllerComponent controller)
|
||||
{
|
||||
if (m_Stopped || !m_Flight || controller != m_Controller) return;
|
||||
// Observation only: super-chain order cannot cause a second control write.
|
||||
m_HelicopterHooks++;
|
||||
}
|
||||
protected bool FindPad(out vector result)
|
||||
{
|
||||
// This exact airport start was observed in the twenty-metre fixture. The
|
||||
// longer corridor still requires its own complete survey; there is no search.
|
||||
vector candidate = ERR_Actors.Ground("4850.953 0 11787.412");
|
||||
vector destination = ERR_Actors.Ground(candidate + "100 0 0");
|
||||
if (!ERR_AircraftFieldEnvelope.Survey(candidate, destination)) return false;
|
||||
PrintFormat("ERR AIRCRAFT FIELD FIXTURE CORRIDOR: singleStart=%1 destination=%2; fixed100m complete survey passed", candidate, destination);
|
||||
result = candidate; m_Destination = destination; return true;
|
||||
}
|
||||
protected bool ReadyComponents()
|
||||
{
|
||||
m_Controller = HelicopterControllerComponent.Cast(m_Aircraft.FindComponent(HelicopterControllerComponent));
|
||||
if (!m_Controller) return false;
|
||||
m_Simulation = m_Controller.GetSimulation();
|
||||
m_Fuel = FuelManagerComponent.Cast(m_Aircraft.FindComponent(FuelManagerComponent));
|
||||
if (!m_Simulation || !m_Simulation.IsValid() || !m_Fuel || !m_Fuel.HasFuel()) return false;
|
||||
BaseCompartmentManagerComponent manager = BaseCompartmentManagerComponent.Cast(m_Aircraft.FindComponent(BaseCompartmentManagerComponent));
|
||||
if (!manager) return false;
|
||||
array<BaseCompartmentSlot> slots = {}; manager.GetCompartments(slots);
|
||||
if (slots.Count() > 64) return false;
|
||||
foreach (BaseCompartmentSlot slot : slots)
|
||||
{
|
||||
PilotCompartmentSlot pilotSlot = PilotCompartmentSlot.Cast(slot);
|
||||
if (!pilotSlot || pilotSlot.GetOwner() != m_Aircraft || pilotSlot.GetVehicle() != m_Aircraft || pilotSlot.GetCompartmentName() != "PilotCompartment") continue;
|
||||
if (pilotSlot.GetType() != ECompartmentType.PILOT) continue;
|
||||
if (pilotSlot.GetOccupant() || pilotSlot.IsReserved() || pilotSlot.IsGetInLocked() || !pilotSlot.IsCompartmentAccessible()) continue;
|
||||
m_Seat = pilotSlot; return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
protected bool RetainedIdentity()
|
||||
{
|
||||
return m_Service && m_Flight && m_Service.ERR_NativeOriginalFieldFlight(m_Aircraft) == m_Flight && m_Service.RegisteredCount() == 1 && m_Service.AttemptedOrders() == 1 && m_Service.OrderToken(m_Aircraft) == ORDER_TOKEN && m_Service.OrderDeadline(m_Aircraft) == m_ControlDeadline;
|
||||
}
|
||||
protected bool StartRetainedField()
|
||||
{
|
||||
if (m_Service || m_Flight) return Check(false, "one retained aircraft service only");
|
||||
m_Service = new ERR_AircraftService(m_Mode);
|
||||
if (!Check(m_Service.Register(m_Aircraft, m_Group, m_Pilot, m_Seat) && m_Service.RegisteredCount() == 1 && m_Service.Ready(m_Aircraft), "retention service registers one exact physical aircraft, original pilot/group/seat and current readiness")) return false;
|
||||
m_ControllerStarts++;
|
||||
bool started = m_Service.StartField(m_Aircraft, m_Envelope, ORDER_TOKEN, m_ControlDeadline);
|
||||
m_Flight = m_Service.ERR_NativeOriginalFieldFlight(m_Aircraft);
|
||||
return Check(started && RetainedIdentity() && m_Service.Pending(m_Aircraft), "actual controller accepts one qualified original pilot/aircraft order through retention service");
|
||||
}
|
||||
protected bool StopRetainedField(float now)
|
||||
{
|
||||
if (m_CancelCount != 0 || !RetainedIdentity() || m_Service.Stopping()) return Check(false, "one explicit retained field service stop only");
|
||||
m_CancelCount = 1; m_CancelAt = now;
|
||||
m_CancelActionUpdates = m_Flight.ERR_NativeFieldActionUpdates();
|
||||
m_CancelHelicopterUpdates = m_Flight.ERR_NativeFieldHelicopterUpdates();
|
||||
m_Service.Stop(); m_CancelLandingPoint = m_Flight.LandingPoint();
|
||||
return Check(RetainedIdentity() && m_Service.Stopping() && m_Service.Pending(m_Aircraft) && !m_Service.Drained() && !m_Service.Ready(m_Aircraft) && m_Flight.State() == ERR_AircraftFlightState.TRANSLATING && m_Flight.FieldPhase() == 2 && m_Flight.ERR_NativeControlDeadline() == m_ControlDeadline && m_Envelope.Contains(m_CancelLandingPoint, 1), "service Stop retains airborne braking, original controller and frozen qualified point under same lease");
|
||||
}
|
||||
protected void Diagnostic(float now)
|
||||
{
|
||||
if (!m_Flight || !m_Aircraft || !m_Simulation || !m_Envelope || now < m_NextLog) return;
|
||||
m_NextLog = now + 1000;
|
||||
vector position = m_Aircraft.GetOrigin(); vector velocity = m_Simulation.GetVelocity();
|
||||
PrintFormat("ERR AIRCRAFT FIELD MOTION: now=%1 state=%2 phase=%3 position=%4 velocity=%5 refVelocity=%6 integral=%7 observedLocalInput=%8 fuel=%9", now, m_Flight.State(), m_Flight.FieldPhase(), position, velocity, m_Flight.ReferenceVelocity(), m_Flight.IntegralDemand(), m_Flight.ERR_NativeFieldInputDemand(), m_Fuel.GetTotalFuel());
|
||||
PrintFormat("ERR AIRCRAFT FIELD LEASE: token=%1 originalDeadline=%2 stageDeadline=%3 actions=%4 helicopter=%5 contact=%6 engine=%7 targetError=%8", m_Flight.OrderToken(), m_ControlDeadline, m_Flight.ERR_NativeFieldStageDeadline(), m_Flight.ERR_NativeFieldActionUpdates(), m_Flight.ERR_NativeFieldHelicopterUpdates(), m_Simulation.HasAnyGroundContact(), m_Controller.IsEngineOn(), vector.DistanceXZ(position, m_Flight.LandingPoint()));
|
||||
}
|
||||
void BrakeBegan(ERR_AircraftFieldFlight flight, float now, vector position, vector velocity)
|
||||
{
|
||||
if (m_Stopped || flight != m_Flight) return;
|
||||
if (m_BrakeObserved) { m_ObservationFailure = "production brake event occurs exactly once"; return; }
|
||||
m_BrakeObserved = true; m_BrakeAt = now;
|
||||
m_BrakeOrigin = position; m_BrakePrevious = position;
|
||||
m_BrakeReserve = ERR_AircraftFieldRules.BrakingReserve(ERR_AircraftFieldRules.HorizontalSpeed(velocity));
|
||||
m_BrakeStageDeadline = flight.ERR_NativeFieldStageDeadline(); m_BrakeLandingPoint = flight.LandingPoint();
|
||||
PrintFormat("ERR AIRCRAFT FIELD BRAKE OBSERVED: now=%1 position=%2 velocity=%3 declaredHypothesisReserve=%4 stageDeadline=%5 originalDeadline=%6", now, position, velocity, m_BrakeReserve, m_BrakeStageDeadline, m_ControlDeadline);
|
||||
}
|
||||
void BrakeStopped(ERR_AircraftFieldFlight flight, float now, vector position, vector velocity)
|
||||
{
|
||||
if (m_Stopped || flight != m_Flight) return;
|
||||
if (!m_BrakeObserved || m_BrakeStopped) { m_ObservationFailure = "one actual low-speed braking transition after original brake event"; return; }
|
||||
m_BrakeStopped = true;
|
||||
m_BrakeSampledTravel += vector.DistanceXZ(position, m_BrakePrevious);
|
||||
m_BrakePrevious = position;
|
||||
float displacement = vector.DistanceXZ(position, m_BrakeOrigin);
|
||||
m_BrakePassed = ERR_NativeAircraftFieldRules.Braking(m_BrakeReserve, m_BrakeSampledTravel, displacement, m_BrakeLowSince, now, ERR_AircraftFieldRules.HorizontalSpeed(velocity));
|
||||
PrintFormat("ERR AIRCRAFT FIELD STOP OBSERVED: now=%1 position=%2 sampledTravel=%3 displacement=%4 declaredReserve=%5 lowSince=%6 passed=%7", now, position, m_BrakeSampledTravel, displacement, m_BrakeReserve, m_BrakeLowSince, m_BrakePassed);
|
||||
if (!m_BrakePassed) m_ObservationFailure = "observed braking exceeded declared reserve or lacked independent two-second low-speed observations";
|
||||
}
|
||||
int Tick(float now)
|
||||
{
|
||||
if (m_Complete) return 1;
|
||||
if (m_Stopped) return -1;
|
||||
if (!Enabled() || !m_Mode || m_Mode != ERR_GameMode.Get() || !m_Mode.Active() || now >= m_Deadline) { Check(false, "active exact mission and bounded300-second fixture"); return -1; }
|
||||
if (!NoPlayers()) { Check(false, "fixture remains unclaimed by any human"); return -1; }
|
||||
if (m_LastTick >= 0 && (now < m_LastTick || now - m_LastTick > 1500)) { m_Stable = -1; m_TranslationStable = -1; m_LandingStable = -1; m_CruiseSince = -1; m_BrakeLowSince = -1; }
|
||||
m_LastTick = now;
|
||||
if (m_Step == 0)
|
||||
{
|
||||
if (!m_Mode.ExtractionVehicle()) return 0;
|
||||
if (!Check(!m_AllocationRequested && FindPad(m_Pad), "independent qualified candidate found before one finite allocation")) return -1;
|
||||
m_AllocationRequested = true;
|
||||
m_Aircraft = Vehicle.Cast(ERR_Actors.Spawn(AIRCRAFT, m_Pad));
|
||||
m_Group = SCR_AIGroup.Cast(ERR_Actors.Spawn(GROUP, m_Pad + "20 0 0"));
|
||||
if (!Check(m_Aircraft && m_Group && m_Group.InitFactionKey("USSR") && m_Group.GetFaction() == m_Mode.EnemyFaction(), "one finite native Mi8 and memberless enemy group created")) return -1;
|
||||
m_Group.SetPermanentLOD(0); m_Group.ActivateAI();
|
||||
m_Step = 1; m_StageDeadline = now + 30000; return 0;
|
||||
}
|
||||
if (!m_Aircraft || !m_Group || !ERR_Actors.Alive(m_Aircraft)) { Check(false, "original airframe and group survive without replacement"); return -1; }
|
||||
if (m_Step == 1)
|
||||
{
|
||||
if (now >= m_StageDeadline) { Check(false, "real components and original pilot initialize within30seconds"); return -1; }
|
||||
if (!ReadyComponents()) return 0;
|
||||
if (!Check(!m_PilotRequested && m_Group.GetAgentsCount() == 0, "one original native pilot request only")) return -1;
|
||||
m_PilotRequested = true; AIGroup originalGroup = m_Group;
|
||||
m_Pilot = m_Seat.SpawnCharacterInCompartment(PILOT, originalGroup, GROUP);
|
||||
AIControlComponent control; if (m_Pilot) control = AIControlComponent.Cast(m_Pilot.FindComponent(AIControlComponent));
|
||||
AIAgent agent; if (control) agent = control.GetControlAIAgent();
|
||||
if (!Check(m_Pilot && originalGroup == m_Group && agent, "pilot seated by native mechanism in original group")) return -1;
|
||||
agent.SetPermanentLOD(0); agent.ActivateAI(); m_Step = 2; return 0;
|
||||
}
|
||||
Diagnostic(now);
|
||||
if (m_Step == 2)
|
||||
{
|
||||
if (now >= m_StageDeadline) { Check(false, "actual initial seating and native ground settling within30seconds"); return -1; }
|
||||
if (!OriginalOccupancy()) { m_Stable = -1; return 0; }
|
||||
Physics physics = m_Aircraft.GetPhysics();
|
||||
if (!physics || !physics.IsDynamic()) return 0;
|
||||
if (m_Wakes == 0) { m_Wakes = 1; physics.SetActive(ActiveState.ACTIVE); m_Stable = -1; return 0; }
|
||||
if (!m_Simulation.HasAnyGroundContact() || !ERR_CasualtyLoadingRules.AircraftReady(m_Aircraft)) { m_Stable = -1; return 0; }
|
||||
if (m_Stable < 0) m_Stable = now;
|
||||
if (now - m_Stable < 1000) return 0;
|
||||
if (!Check(!m_Controller.IsEngineOn(), "post-spawn qualification precedes native engine start")) return -1;
|
||||
m_Envelope = ERR_AircraftFieldEnvelope.QualifyField(m_Mode, m_Aircraft, m_Pilot, m_Destination);
|
||||
if (!Check(m_Envelope != null, "actual full corridor, both pads and complete native rotor/model footprint issue exact route qualification")) return -1;
|
||||
m_InitialFuel = m_Fuel.GetTotalFuel();
|
||||
m_ControlDeadline = Math.Min(m_Deadline, now + 240000);
|
||||
if (!StartRetainedField()) return -1;
|
||||
m_Step = 3; return 0;
|
||||
}
|
||||
if (m_Step == 3)
|
||||
{
|
||||
if (!RetainedIdentity() || !OriginalOccupancy()) { Check(false, "service and exact original airframe/pilot/group/seat retained"); return -1; }
|
||||
if (m_Flight.ERR_NativeControlDeadline() != m_ControlDeadline || m_Flight.Destination() != m_Envelope.Destination()) { Check(false, "original endpoint/token/deadline never change"); return -1; }
|
||||
if (m_BrakeObserved)
|
||||
{
|
||||
if (m_Flight.LandingPoint() != m_BrakeLandingPoint) { Check(false, "first production braking point remains immutable"); return -1; }
|
||||
if (m_Flight.State() == ERR_AircraftFlightState.TRANSLATING && m_Flight.ERR_NativeFieldStageDeadline() != m_BrakeStageDeadline) { Check(false, "braking and settling never renew their stage deadline"); return -1; }
|
||||
}
|
||||
bool engine = m_Controller.IsEngineOn(); if (engine && !m_LastEngine) m_EngineStarts++; m_LastEngine = engine;
|
||||
vector transform[4]; m_Aircraft.GetWorldTransform(transform);
|
||||
vector position = transform[3]; vector velocity = m_Simulation.GetVelocity();
|
||||
vector home = m_Envelope.Home(); vector leg = m_Envelope.Destination() - home; leg[1] = 0;
|
||||
float alongSpeed = vector.Dot(velocity, leg * (1 / leg.Length()));
|
||||
float horizontal = ERR_AircraftFieldRules.HorizontalSpeed(velocity);
|
||||
bool contact = m_Simulation.HasAnyGroundContact(); float height = position[1] - home[1];
|
||||
bool cruise = ERR_NativeAircraftFieldRules.Cruise(alongSpeed, horizontal, contact, m_Flight.FieldPhase());
|
||||
if (!cruise) m_CruiseSince = -1;
|
||||
else if (m_CruiseSince < 0) m_CruiseSince = now;
|
||||
if (m_CruiseSince >= 0 && now - m_CruiseSince >= 10000) m_CruiseHeld = true;
|
||||
if (m_CancelFixture && m_CancelCount == 0 && m_CruiseSince >= 0 && now - m_CruiseSince >= 1000)
|
||||
if (!StopRetainedField(now)) return -1;
|
||||
if (m_BrakeObserved && !m_BrakeStopped)
|
||||
{
|
||||
m_BrakeSampledTravel += vector.DistanceXZ(position, m_BrakePrevious); m_BrakePrevious = position;
|
||||
if (!(horizontal < 0.25)) m_BrakeLowSince = -1;
|
||||
else if (m_BrakeLowSince < 0) m_BrakeLowSince = now;
|
||||
}
|
||||
bool held = !contact && ERR_AircraftFlightRules.Hover(height, velocity.Length(), velocity[1], transform[1][1]) && horizontal < 0.25 && vector.DistanceXZ(position, m_Envelope.Destination()) <= 0.75;
|
||||
if (!held) m_TranslationStable = -1;
|
||||
else if (m_TranslationStable < 0) m_TranslationStable = now;
|
||||
if (m_TranslationStable >= 0 && now - m_TranslationStable >= 5000) m_TranslationHeld = true;
|
||||
bool landed = ERR_AircraftFlightRules.Landed(contact, height, velocity.Length(), m_Simulation.GetAngularVelocity().Length(), transform[1][1]) && vector.DistanceXZ(position, m_Flight.LandingPoint()) <= 0.75;
|
||||
if (!landed) m_LandingStable = -1;
|
||||
else if (m_LandingStable < 0) m_LandingStable = now;
|
||||
if (m_CancelCount == 1)
|
||||
{
|
||||
if (!m_Service.Stopping() || m_Service.Ready(m_Aircraft) || m_Flight.LandingPoint() != m_CancelLandingPoint || !m_Envelope.Contains(m_CancelLandingPoint, 1)) { Check(false, "cancelled order retains frozen qualified point and no new admission"); return -1; }
|
||||
if (!m_Flight.Finished() && (!m_Service.Pending(m_Aircraft) || m_Service.Drained())) { Check(false, "nonterminal cancellation stays pending"); return -1; }
|
||||
if (!contact && height > 1 && m_Flight.ERR_NativeFieldActionUpdates() > m_CancelActionUpdates + 10 && m_Flight.ERR_NativeFieldHelicopterUpdates() > m_CancelHelicopterUpdates + 10 && m_Flight.ERR_NativeFieldFreshReadback(now)) m_ContinuedAirborneControl = true;
|
||||
}
|
||||
m_Service.Tick();
|
||||
if (!m_ObservationFailure.IsEmpty()) { Check(false, m_ObservationFailure); return -1; } // outside production callback stack
|
||||
if (m_Flight.State() == ERR_AircraftFlightState.LANDING && !m_BrakePassed) { Check(false, "no descent before qualified observed braking"); return -1; }
|
||||
if (m_Flight.State() == ERR_AircraftFlightState.SHUTDOWN)
|
||||
{
|
||||
if (!m_LandingHeld && !Check(landed && m_LandingStable >= 0 && now - m_LandingStable >= 2000, "shutdown follows two independently observed stable grounded seconds")) return -1;
|
||||
m_LandingHeld = true;
|
||||
}
|
||||
if (!m_Flight.Finished()) return 0;
|
||||
float targetError = vector.DistanceXZ(position, m_Flight.LandingPoint());
|
||||
float displacement = vector.DistanceXZ(position, home);
|
||||
bool complete = ERR_NativeAircraftFieldRules.Terminal(m_CancelFixture, m_Flight.State(), m_CancelCount, m_Flight.Arrived(), m_CruiseHeld, m_TranslationHeld, m_BrakePassed, displacement, targetError);
|
||||
complete = complete && m_LandingHeld && ERR_NativeAircraftFieldRules.PhysicalFinish(OriginalOccupancy(), landed, !m_Controller.IsEngineOn(), m_InitialFuel - m_Fuel.GetTotalFuel(), m_Wakes, m_EngineStarts, m_ControllerStarts, m_PilotHooks, m_HelicopterHooks);
|
||||
if (m_CancelFixture) complete = complete && m_ContinuedAirborneControl && m_Service.Stopping();
|
||||
PrintFormat("ERR AIRCRAFT FIELD RESULT: state=%1 cancellation=%2 displacement=%3 targetError=%4 cruise10s=%5 endpoint5s=%6 braking=%7 grounded2s=%8 fuelUsed=%9", m_Flight.State(), m_CancelFixture, displacement, targetError, m_CruiseHeld, m_TranslationHeld, m_BrakePassed, m_LandingHeld, m_InitialFuel - m_Fuel.GetTotalFuel());
|
||||
if (!Check(complete, "original physical aircraft completes exact field outcome, measured motion/braking, grounded engine-off and finite fuel use")) return -1;
|
||||
if (!Check(RetainedIdentity() && m_Service.Drained() && !m_Service.Pending(m_Aircraft) && !m_Service.Retired(m_Aircraft), "one original retained flight drains only after actual terminal observation")) return -1;
|
||||
m_Complete = true; Stop(); return 1;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
void Stop()
|
||||
{
|
||||
if (m_Stopped) return;
|
||||
m_Stopped = true;
|
||||
if (s_Current == this) s_Current = null;
|
||||
if (m_Service && !m_Service.Stopping()) m_Service.Stop();
|
||||
// End-of-test disposal is not successful flight or a production cancellation.
|
||||
// These assets are fixture-owned only, never registered with mission cleanup.
|
||||
// Retain service/controller through guarded disposal; then observe ownership
|
||||
// loss before releasing their references. No direct second Cancel or Tick.
|
||||
|
||||
bool context = GetGame() && GetGame().GetWorld() && GetGame().GetPlayerManager() && m_Mode && m_Mode == ERR_GameMode.Get();
|
||||
bool faction = context && (!m_Group || (!m_PilotRequested && m_Group.GetAgentsCount() == 0 && !m_Group.GetFaction()) || m_Group.GetFaction() == m_Mode.EnemyFaction()) && (!m_Aircraft || SCR_FactionManager.SGetFaction(m_Aircraft) == m_Mode.EnemyFaction());
|
||||
bool groupUnchanged = context && (!m_Group || m_Group.GetAgentsCount() == 0 || (m_Group.GetAgentsCount() == 1 && m_Pilot && ERR_Actors.Group(m_Pilot) == m_Group));
|
||||
bool pilotUnchanged = context && (!m_Pilot || (m_Group && ERR_Actors.Group(m_Pilot) == m_Group && !ERR_Actors.Player(m_Pilot)));
|
||||
if (ERR_NativeAircraftFieldRules.CanDispose(context, NoPlayers(), faction, groupUnchanged, pilotUnchanged))
|
||||
{
|
||||
ERR_Actors.DeleteSpawned(m_Group); ERR_Actors.DeleteSpawned(m_Pilot); ERR_Actors.DeleteSpawned(m_Aircraft);
|
||||
}
|
||||
else Print("ERR AIRCRAFT FIELD FIXTURE CLEANUP: ownership changed; captured entities preserved");
|
||||
if (m_Service) m_Service.Tick();
|
||||
m_Flight = null;
|
||||
m_Service = null;
|
||||
m_Envelope = null;
|
||||
}
|
||||
void ~ERR_NativeAircraftFieldProbe() { Stop(); }
|
||||
}
|
||||
#endif
|
||||
@@ -13,9 +13,10 @@ modded class ERR_AircraftService
|
||||
{
|
||||
ERR_AircraftRouteFlight ERR_NativeOriginalFlight(Vehicle aircraft)
|
||||
{
|
||||
ERR_AircraftRouteFlight flight = null;
|
||||
ERR_AircraftServiceEntry entry = Find(aircraft);
|
||||
if (entry) return entry.Flight;
|
||||
return null;
|
||||
if (entry) flight = ERR_AircraftRouteFlight.Cast(entry.Flight);
|
||||
return flight;
|
||||
}
|
||||
}
|
||||
modded class SCR_CharacterControllerComponent
|
||||
|
||||
@@ -19,6 +19,8 @@ modded class ERR_GameMode
|
||||
protected bool m_ERRTestMortar;
|
||||
protected bool m_ERRTestMortarFire;
|
||||
protected bool m_ERRTestMapOwnership;
|
||||
protected bool m_ERRTestAircraftField;
|
||||
protected ref ERR_NativeAircraftFieldProbe m_ERRAircraftField;
|
||||
protected bool m_ERRTestAircraftRoute;
|
||||
protected ref ERR_NativeAircraftRouteProbe m_ERRAircraftRoute;
|
||||
protected bool m_ERRTestAircraftControl;
|
||||
@@ -49,6 +51,7 @@ modded class ERR_GameMode
|
||||
m_ERRTestHQResponse = outcome == "hq-response";
|
||||
m_ERRTestMortar = outcome == "mortar-inventory";
|
||||
m_ERRTestMapOwnership = outcome == "map-ownership";
|
||||
m_ERRTestAircraftField = outcome == "aircraft-field";
|
||||
m_ERRTestAircraftRoute = outcome == "aircraft-route";
|
||||
m_ERRTestAircraftCancel = outcome == "aircraft-cancel";
|
||||
m_ERRTestAircraftTranslate = outcome == "aircraft-translate";
|
||||
@@ -60,7 +63,7 @@ modded class ERR_GameMode
|
||||
m_ERRTestPatrolHQ = outcome == "patrol-hq";
|
||||
m_ERRTestPlayerDeath = outcome == "player-death" || m_ERRTestRadioNetwork || m_ERRTestHQResponse || m_ERRTestMortar;
|
||||
m_ERRSmokeDeadline = GetWorld().GetWorldTime() + 150000;
|
||||
if (m_ERRTestAircraftControl || m_ERRTestAircraftRoute) m_ERRSmokeDeadline = GetWorld().GetWorldTime() + 330000;
|
||||
if (m_ERRTestAircraftControl || m_ERRTestAircraftRoute || m_ERRTestAircraftField) m_ERRSmokeDeadline = GetWorld().GetWorldTime() + 330000;
|
||||
if (m_ERRTestMortarCourier) m_ERRSmokeDeadline = GetWorld().GetWorldTime() + 450000;
|
||||
if (m_ERRTestMortarTransfer) m_ERRSmokeDeadline = GetWorld().GetWorldTime() + 330000;
|
||||
if (m_ERRTestMortarSalvo) m_ERRSmokeDeadline = GetWorld().GetWorldTime() + 330000;
|
||||
@@ -86,6 +89,7 @@ modded class ERR_GameMode
|
||||
if (m_ERRMapOwnership) m_ERRMapOwnership.Stop();
|
||||
if (m_ERRAircraftControl) m_ERRAircraftControl.Stop();
|
||||
if (m_ERRAircraftRoute) m_ERRAircraftRoute.Stop();
|
||||
if (m_ERRAircraftField) m_ERRAircraftField.Stop();
|
||||
if (m_ERRHQResponseProof) m_ERRHQResponseProof.Stop();
|
||||
if (m_ERRMortarSalvo) m_ERRMortarSalvo.Stop();
|
||||
if (m_ERRMortarCourier) m_ERRMortarCourier.Stop();
|
||||
@@ -126,6 +130,19 @@ modded class ERR_GameMode
|
||||
protected void ERR_SmokePhase(ERR_Phase previous, ERR_Phase current)
|
||||
{
|
||||
if (m_ERRSmokeDone || !ERR_MissionRules.Terminal(current)) return;
|
||||
if (m_ERRTestAircraftField)
|
||||
{
|
||||
if (!ERR_Check(current == ERR_Phase.DEFEAT && m_ERRSmokeStep == 241, "actual aircraft field fixture completed before explicit reset")) return;
|
||||
m_ERRSmokeDone = true;
|
||||
GetGame().GetCallqueue().Remove(ERR_SmokeTick);
|
||||
ERR_StopHQPatrol();
|
||||
string fieldCancel;
|
||||
string fieldResult = "actual immutable100m field route, measured cruise/braking, destination hold and contact landing; bounded prototype, not HQ support";
|
||||
if (System.GetCLIParam("errSmokeFieldServiceCancel", fieldCancel) && fieldCancel == "1")
|
||||
fieldResult = "actual moving field service Stop retains control through braking, frozen-point contact landing and engine shutdown; no destination arrival or HQ support claim";
|
||||
Print("ERR SMOKE COMPLETE: " + fieldResult);
|
||||
return;
|
||||
}
|
||||
if (m_ERRTestAircraftRoute)
|
||||
{
|
||||
if (!ERR_Check(current == ERR_Phase.DEFEAT && m_ERRSmokeStep == 231, "actual aircraft route completed before explicit fixture reset")) return;
|
||||
@@ -259,6 +276,13 @@ modded class ERR_GameMode
|
||||
if (m_ERRSmokeDone) return;
|
||||
if (now > m_ERRSmokeDeadline) { ERR_Check(false, "timeout at step " + m_ERRSmokeStep.ToString()); return; }
|
||||
if (now < m_ERRSmokeWait) return;
|
||||
if (m_ERRSmokeStep == 240)
|
||||
{
|
||||
int result = m_ERRAircraftField.Tick(now);
|
||||
if (result < 0) { ERR_Check(false, "native actual aircraft field fixture"); return; }
|
||||
if (result == 1) { m_ERRSmokeStep = 241; Transition(ERR_Phase.DEFEAT); }
|
||||
return;
|
||||
}
|
||||
if (m_ERRSmokeStep == 230)
|
||||
{
|
||||
int result = m_ERRAircraftRoute.Tick(now);
|
||||
@@ -333,6 +357,13 @@ modded class ERR_GameMode
|
||||
if (players.Count() != 1 || Phase() != ERR_Phase.PRISON) return;
|
||||
m_ERRSmokePlayer = players[0];
|
||||
if (!ERR_CheckRoster() || !ERR_NativeContractsProbe.Run(this, m_ERRSmokePlayer) || !ERR_CheckCompanionCommands()) return;
|
||||
if (m_ERRTestAircraftField)
|
||||
{
|
||||
DamageManagerComponent.Cast(m_ERRSmokePlayer.FindComponent(DamageManagerComponent)).EnableDamageHandling(false);
|
||||
m_ERRAircraftField = new ERR_NativeAircraftFieldProbe(this);
|
||||
m_ERRSmokeStep = 240;
|
||||
return;
|
||||
}
|
||||
if (m_ERRTestAircraftRoute)
|
||||
{
|
||||
DamageManagerComponent.Cast(m_ERRSmokePlayer.FindComponent(DamageManagerComponent)).EnableDamageHandling(false);
|
||||
|
||||
@@ -37,6 +37,8 @@ class ERR_OrdinaryGateObserver
|
||||
protected int m_Previous;
|
||||
protected int m_Index;
|
||||
protected bool m_Stopped;
|
||||
protected bool m_HeldAction;
|
||||
protected int m_ObservedPhase = -1;
|
||||
|
||||
protected static bool Enabled(string nonce)
|
||||
{
|
||||
@@ -64,6 +66,8 @@ class ERR_OrdinaryGateObserver
|
||||
s_Request.m_Nonce = nonce; s_Request.m_Start = started; s_Request.m_Previous = started;
|
||||
if (mode && mode.Players()) s_Request.m_Life = mode.Players().CurrentActor(actor);
|
||||
if (s_Request.m_Life) s_Request.m_Account = s_Request.m_Life.AccountId;
|
||||
if (!ERR_OrdinaryInputObserverRules.HeldScope(nonce, s_Request.m_HeldAction))
|
||||
{ s_Request.Cancel(index, now, "held-option-binding-lost"); return; }
|
||||
if (!s_Request.BindGate()) { s_Request.Cancel(index, now, "original-prison-lock-unavailable"); return; }
|
||||
}
|
||||
s_Request.Observe(mode, world, controller, actor, nonce, started, index, now);
|
||||
@@ -95,7 +99,7 @@ class ERR_OrdinaryGateObserver
|
||||
protected bool Context()
|
||||
{
|
||||
if (!GetGame() || !m_Mode || !m_World || !m_Controller || !m_Actor || !m_Life || !m_Gate || !m_Manager || !m_Lock || !m_Context || !m_Door || !m_Handler) return false;
|
||||
if (m_Mode != ERR_GameMode.Get() || !m_Mode.Active() || (m_Mode.Phase() != ERR_Phase.PRISON && m_Mode.Phase() != ERR_Phase.RADIO_SEARCH)) return false;
|
||||
if (m_Mode != ERR_GameMode.Get() || !m_Mode.Active()) return false;
|
||||
if (GetGame().GetWorld() != m_World || m_Mode.GetWorld() != m_World || m_Actor.GetWorld() != m_World || m_Gate.GetWorld() != m_World) return false;
|
||||
if (GetGame().GetPlayerController() != m_Controller || m_Controller.GetControlledEntity() != m_Actor || m_Handler.GetControlledEntity() != m_Actor) return false;
|
||||
PlayerManager players = GetGame().GetPlayerManager();
|
||||
@@ -106,6 +110,11 @@ class ERR_OrdinaryGateObserver
|
||||
if (m_Gate.FindComponent(BaseActionsManagerComponent) != m_Manager || m_Gate.FindComponent(BaseDoorComponent) != m_Door || m_Controller.FindComponent(SCR_InteractionHandlerComponent) != m_Handler) return false;
|
||||
if (m_Manager.GetContext("SCR_DoorUserAction") != m_Context || m_Manager.FindAction(m_Lock.GetActionID()) != m_Lock || m_Lock.GetOwner() != m_Gate || m_Lock.GetActionDuration() != 4) return false;
|
||||
if (!GetGame().GetInputManager() || !GetGame().GetMenuManager() || GetGame().GetMenuManager().GetTopMenu()) return false;
|
||||
bool held;
|
||||
if (!ERR_OrdinaryInputObserverRules.HeldScope(m_Nonce, held) || held != m_HeldAction) return false;
|
||||
int phase = m_Mode.Phase();
|
||||
if (!ERR_OrdinaryInputObserverRules.PhaseAllowed(phase, m_ObservedPhase, held, true)) return false;
|
||||
m_ObservedPhase = phase;
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
@@ -24,6 +24,26 @@ class ERR_OrdinaryInputObserverRules
|
||||
for (int i = 0; i < nonce.Length(); i++) if (!allowed.Contains(nonce[i])) return false;
|
||||
return true;
|
||||
}
|
||||
// A held-action observer is only a same-run phase extension, never input.
|
||||
static bool HeldScope(string nonce, out bool held)
|
||||
{
|
||||
held = false;
|
||||
string requested, input, look, gate;
|
||||
if (!System.GetCLIParam("errOrdinaryHeldAction", requested)) return true;
|
||||
if (System.IsConsoleApp() || !Replication.IsServer() || RplSession.Mode() != RplMode.None || requested != nonce || !Nonce(nonce)
|
||||
|| !System.GetCLIParam("errOrdinaryInputObserve", input) || input != nonce
|
||||
|| !System.GetCLIParam("errOrdinaryLookObserve", look) || look != nonce
|
||||
|| !System.GetCLIParam("errOrdinaryGateObserve", gate) || gate != nonce) return false;
|
||||
held = true;
|
||||
return true;
|
||||
}
|
||||
static bool PhaseAllowed(int phase, int previous, bool held, bool legacyGate = false)
|
||||
{
|
||||
if (previous < 0) return phase == ERR_Phase.PRISON;
|
||||
if (!held) return phase == ERR_Phase.PRISON || (legacyGate && phase == ERR_Phase.RADIO_SEARCH);
|
||||
if (previous == ERR_Phase.PRISON) return phase == ERR_Phase.PRISON || phase == ERR_Phase.RADIO_SEARCH;
|
||||
return previous == ERR_Phase.RADIO_SEARCH && phase == ERR_Phase.RADIO_SEARCH;
|
||||
}
|
||||
static bool Within(int start, int previous, int now, int samples)
|
||||
{
|
||||
return now >= start && now >= previous && now - start < 45000 && samples < 450;
|
||||
@@ -46,6 +66,8 @@ class ERR_OrdinaryInputObserver : Managed
|
||||
protected UUID m_Account;
|
||||
protected int m_PlayerId;
|
||||
protected string m_Nonce;
|
||||
protected bool m_HeldAction;
|
||||
protected int m_ObservedPhase = -1;
|
||||
protected bool m_Screenshots;
|
||||
protected bool m_Finished;
|
||||
protected bool m_Ready;
|
||||
@@ -88,6 +110,10 @@ class ERR_OrdinaryInputObserver : Managed
|
||||
request.m_Character = CharacterControllerComponent.Cast(actor.FindComponent(CharacterControllerComponent));
|
||||
request.m_Life = life; request.m_Account = life.AccountId;
|
||||
request.m_PlayerId = controller.GetPlayerId(); request.m_Nonce = nonce;
|
||||
if (!ERR_OrdinaryInputObserverRules.HeldScope(nonce, request.m_HeldAction)) return;
|
||||
// Once a held run has an admitted life, invalid initial context is terminal.
|
||||
// A later PRISON phase or replacement admission cannot restart its evidence.
|
||||
if (request.m_HeldAction) s_Attempted = true;
|
||||
if (!request.Valid()) return;
|
||||
string screenshots;
|
||||
request.m_Screenshots = System.GetCLIParam("errOrdinaryInputScreenshots", screenshots) && screenshots == "1";
|
||||
@@ -102,14 +128,21 @@ class ERR_OrdinaryInputObserver : Managed
|
||||
{
|
||||
string nonce;
|
||||
if (!Enabled(nonce) || nonce != m_Nonce || !GetGame() || !m_Mode || m_Mode != ERR_GameMode.Get()) return false;
|
||||
if (!m_World || GetGame().GetWorld() != m_World || m_Mode.GetWorld() != m_World || !m_Mode.Active() || m_Mode.Phase() != ERR_Phase.PRISON) return false;
|
||||
if (!m_World || GetGame().GetWorld() != m_World || m_Mode.GetWorld() != m_World || !m_Mode.Active()) return false;
|
||||
if (!m_Controller || m_Controller != GetGame().GetPlayerController() || m_Controller.GetPlayerId() != m_PlayerId || m_PlayerId <= 0) return false;
|
||||
PlayerManager manager = GetGame().GetPlayerManager();
|
||||
if (!manager || manager.GetPlayerController(m_PlayerId) != m_Controller || manager.GetPlayerControlledEntity(m_PlayerId) != m_Actor || m_Controller.GetControlledEntity() != m_Actor) return false;
|
||||
if (!ERR_Actors.CanFight(m_Actor) || m_Actor.GetWorld() != m_World || !m_Mode.Players()) return false;
|
||||
if (!m_Character || m_Actor.FindComponent(CharacterControllerComponent) != m_Character || m_Character.IsUnconscious()) return false;
|
||||
ERR_PlayerLife current = m_Mode.Players().CurrentActor(m_Actor);
|
||||
return current && current == m_Life && current.AccountId == m_Account;
|
||||
if (!current || current != m_Life || current.AccountId != m_Account) return false;
|
||||
bool held;
|
||||
if (!ERR_OrdinaryInputObserverRules.HeldScope(m_Nonce, held) || held != m_HeldAction) return false;
|
||||
if (held && (CompartmentAccessComponent.GetVehicleIn(m_Actor) || !GetGame().GetMenuManager() || GetGame().GetMenuManager().GetTopMenu())) return false;
|
||||
int phase = m_Mode.Phase();
|
||||
if (!ERR_OrdinaryInputObserverRules.PhaseAllowed(phase, m_ObservedPhase, held)) return false;
|
||||
m_ObservedPhase = phase;
|
||||
return true;
|
||||
}
|
||||
protected void Record(string detail)
|
||||
{
|
||||
|
||||
@@ -17,6 +17,8 @@ class ERR_OrdinaryLookObserver
|
||||
protected int m_Previous;
|
||||
protected int m_Index;
|
||||
protected bool m_Stopped;
|
||||
protected bool m_HeldAction;
|
||||
protected int m_ObservedPhase = -1;
|
||||
|
||||
protected static bool Enabled(string nonce)
|
||||
{
|
||||
@@ -45,6 +47,8 @@ class ERR_OrdinaryLookObserver
|
||||
if (controller) s_Request.m_Camera = controller.GetPlayerCamera();
|
||||
if (mode && mode.Players()) s_Request.m_Life = mode.Players().CurrentActor(actor);
|
||||
if (s_Request.m_Life) s_Request.m_Account = s_Request.m_Life.AccountId;
|
||||
if (!ERR_OrdinaryInputObserverRules.HeldScope(nonce, s_Request.m_HeldAction))
|
||||
{ s_Request.Cancel(index, now, "held-option-binding-lost"); return; }
|
||||
}
|
||||
s_Request.Observe(mode, world, controller, actor, nonce, started, index, now);
|
||||
}
|
||||
@@ -60,7 +64,7 @@ class ERR_OrdinaryLookObserver
|
||||
protected bool Context()
|
||||
{
|
||||
if (!GetGame() || !m_Mode || !m_World || !m_Controller || !m_Actor || !m_Camera || !m_Life) return false;
|
||||
if (m_Mode != ERR_GameMode.Get() || !m_Mode.Active() || m_Mode.Phase() != ERR_Phase.PRISON) return false;
|
||||
if (m_Mode != ERR_GameMode.Get() || !m_Mode.Active()) return false;
|
||||
if (GetGame().GetWorld() != m_World || m_Mode.GetWorld() != m_World || m_Actor.GetWorld() != m_World || m_Camera.GetWorld() != m_World) return false;
|
||||
if (GetGame().GetPlayerController() != m_Controller || m_Controller.GetControlledEntity() != m_Actor || m_Controller.GetPlayerCamera() != m_Camera) return false;
|
||||
PlayerManager manager = GetGame().GetPlayerManager();
|
||||
@@ -70,6 +74,12 @@ class ERR_OrdinaryLookObserver
|
||||
CameraManager cameras = GetGame().GetCameraManager();
|
||||
if (!cameras || cameras.CurrentCamera() != m_Camera) return false;
|
||||
if (!GetGame().GetInputManager() || !GetGame().GetMenuManager() || GetGame().GetMenuManager().GetTopMenu()) return false;
|
||||
bool held;
|
||||
if (!ERR_OrdinaryInputObserverRules.HeldScope(m_Nonce, held) || held != m_HeldAction) return false;
|
||||
if (held && CompartmentAccessComponent.GetVehicleIn(m_Actor)) return false;
|
||||
int phase = m_Mode.Phase();
|
||||
if (!ERR_OrdinaryInputObserverRules.PhaseAllowed(phase, m_ObservedPhase, held)) return false;
|
||||
m_ObservedPhase = phase;
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
+11
-5
@@ -91,8 +91,8 @@
|
||||
]
|
||||
},
|
||||
"clean_native_runtime": {
|
||||
"status": "passed",
|
||||
"scope": "Current197-file source: retained-service normal20m route40assertions and actual airborneStop42assertions, zero errors/unchanged source/verifiedcleanup. Stop preserves originalcontroller/token/deadline and freshnativecontrol through frozen-point contactlanding, engineoff andCANCELLED/drained. No HQaircraft, ordinaryescape, multiplayer, repeatedreliability orFPS qualification.",
|
||||
"status": "pending",
|
||||
"scope": "Current201-file source compiles in Workbench, but the new100m field fixture refuses the fixed corridor before allocation; no current successful integrated runtime completion. Previous200-file shared-map and197-file route/Stop passes remain historical. Held-action phase observers compile; no held-F or100m flight qualification.",
|
||||
"evidence": [
|
||||
"docs/evidence/native-2026-09-19-065351/report.json",
|
||||
"docs/evidence/native-2026-09-19-065351/console.log.txt",
|
||||
@@ -205,10 +205,16 @@
|
||||
"docs/evidence/native-2026-09-19-202253-retained-aircraft-route/runner.json.txt",
|
||||
"docs/evidence/native-2026-09-19-202706-retained-aircraft-stop/report.json",
|
||||
"docs/evidence/native-2026-09-19-202706-retained-aircraft-stop/source-sha256.json",
|
||||
"docs/evidence/native-2026-09-19-202706-retained-aircraft-stop/runner.json.txt"
|
||||
"docs/evidence/native-2026-09-19-202706-retained-aircraft-stop/runner.json.txt",
|
||||
"docs/evidence/native-2026-09-19-204500-field-compile-map/report.json",
|
||||
"docs/evidence/native-2026-09-19-204500-field-compile-map/source-sha256.json",
|
||||
"docs/evidence/native-2026-09-19-204500-field-compile-map/runner.json.txt",
|
||||
"docs/evidence/native-2026-09-19-205734-field-survey-refusal/report.json",
|
||||
"docs/evidence/native-2026-09-19-205734-field-survey-refusal/console.log.txt",
|
||||
"docs/evidence/native-2026-09-19-205734-field-survey-refusal/source-sha256.json"
|
||||
],
|
||||
"source_manifest": "docs/evidence/native-2026-09-19-202706-retained-aircraft-stop/source-sha256.json",
|
||||
"native_report": "docs/evidence/native-2026-09-19-202706-retained-aircraft-stop/report.json"
|
||||
"source_manifest": "docs/evidence/native-2026-09-19-204500-field-compile-map/source-sha256.json",
|
||||
"native_report": "docs/evidence/native-2026-09-19-204500-field-compile-map/report.json"
|
||||
},
|
||||
"scripted_helicopter_loss_and_restart": {
|
||||
"status": "passed",
|
||||
|
||||
@@ -102,3 +102,23 @@ SHA-256 of the exact local files read for the main API and controller findings.
|
||||
| `actual successor: addons/ai/Scripts/Game/ERR/ERR_AircraftRouteFlight.c` | `1d8d92bf6d97429d68a9f62018232e90cc124cc8d7445efeabe863706a31e2b9` |
|
||||
| `actual successor: addons/ai/Scripts/Game/ERR/ERR_AircraftRouteEnvelope.c` | `e8fcef844239c47a1f2f36be420afe943bc450091b05859435406b46c87fa511` |
|
||||
| `staged successor: addons/ai/Scripts/Game/ERR/ERR_AircraftService.c` | `bf52361c9d07b2c632d6ad755cbca76683f5ad4a8208e6eec690c367efa44549` |
|
||||
|
||||
|
||||
## Dormant implementation checkpoint
|
||||
|
||||
The three new FieldRules, FieldEnvelope and FieldFlight classes now implement the
|
||||
bounded prototype and pass source-method regressions and independent review.
|
||||
They have no normal-mission, HQ, retained-service or native-fixture entrypoint.
|
||||
Native compilation and100m physical flight remain pending at this checkpoint.
|
||||
Braking uses a frozen90% entry-reference ceiling and the inverse full modeled
|
||||
stopping reserve, with unchanged vector slew. Candidate fuel admission is50native
|
||||
units and low-fuel abort20units; neither establishes reserve adequacy or units as
|
||||
litres. The softabort begins at86.5s remaining to reserve85s phases plus the
|
||||
maximum1.5s caller cadence. Phase3 cancellation retains settling control, and
|
||||
pre-CLIMB airborne cancellation now enables/reads back autohover before entering
|
||||
braking. Both issues were found before integration and covered through the actual
|
||||
inherited Cancel path. No prior native flight archive qualifies this prototype.
|
||||
|
||||
## First integrated native attempt,20:57
|
||||
|
||||
The typed service and optional Chat field fixture compile in Enfusion at the201-file snapshot. The fixed airport corridor4850.953→4950.953X fails its original complete survey before fixture allocation ([full evidence](evidence/native-2026-09-19-205734-field-survey-refusal/report.json)). No fallback point or aircraft is allocated. First-refusal diagnostics must identify the failed original predicate before changing route geometry or attempting flight. The stopping reserve remains a hypothesis: source review also identifies that approach travel can exceed the instantaneous reserve because the controller continues positioning after braking entry. Keep the strict measured check and resolve against explicit policy and actual telemetry.
|
||||
|
||||
@@ -10,6 +10,12 @@ Each group, pilot and seat can appear only once in a service. A separate weak se
|
||||
|
||||
`StartRoute(aircraft, qualification, positiveToken, absoluteDeadline)` requires a registered, currently ready original asset and a caller-supplied `ERR_AircraftRouteEnvelope`. The controller performs the existing single qualification claim; the service never calls `Claim` or constructs a substitute qualification. The original 18–20.05 m range, terrain/clearance checks, finite fuel, native callback proof, flight bounds and deadline limits are unchanged.
|
||||
|
||||
`StartField(aircraft, qualification, positiveToken, absoluteDeadline)` is a separate, unqualified prototype entry point accepting only `ERR_AircraftFieldEnvelope`. It constructs only `ERR_AircraftFieldFlight`, retaining it through the common `ERR_AircraftFlight` base. No caller-supplied controller is accepted. The existing `StartRoute` still constructs its exact original route class and preserves its admission and failure behavior. Neither entry point is connected to HQ or ordinary scenario activation here.
|
||||
|
||||
Both kinds share the same four-asset reservation limit, 128-attempt history, `BeginAttempt` bookkeeping and start-result handling. A token attempted through one kind cannot be replayed through the other, including on a different aircraft. A pending or retired asset cannot switch kinds to bypass its state. Each controller alone validates and claims its typed certificate. Field-specific refusal, including its stricter lease or 50-native-unit fuel admission, retires the attempted asset and burns the recorded token just like a route-controller refusal; it does not trigger a fallback controller or retry. Basic null-certificate/common-admission refusals still consume no attempt.
|
||||
|
||||
The field controller's 100 m geometry, candidate PI/braking response, initial fuel quantity and 20-unit low-fuel abort reserve remain **unqualified physical behavior**. These quantities are not a demonstrated range model or an asserted unit of litres. The prior twenty-metre native archives above do not qualify this typed-service change or a field flight. See [the field plan](aircraft-field-route-plan.md). The allocating owner still must retain and tick the service until terminal; common-base storage does not weaken that requirement.
|
||||
|
||||
An accepted start attempt records its immutable token, absolute deadline and destination before calling the controller. Attempted tokens cannot be reused on any aircraft in that service, even after successful completion or a native start refusal. History is bounded to 128 attempts per service/round; exhaustion refuses additional work without dropping replay protection. Basic refusals before a ready, valid-deadline attempt consume no token. The future HQ owner must issue globally unique order tokens and must not reconstruct services to replay an old order.
|
||||
|
||||
If controller startup refuses after the attempt is recorded, that asset is conservatively retired for the service's lifetime. This includes a stale/already-used qualification or an external flight conflict. The service does not automatically retry, replace the pilot or mint a second order. An unexpected refusal after a nonterminal lease was established retains that flight and requests cancellation until its terminal result can be observed.
|
||||
@@ -30,7 +36,7 @@ Retired entries continue to count toward the four registered assets. The service
|
||||
|
||||
## Verification and next integration
|
||||
|
||||
`python tests/test_aircraft_service.py` executes the actual service context, registration, readiness gate, start, cancellation, Tick, Stop and observation methods with fake physical/controller boundaries. It checks the four-asset limit, cross-service conflicts, duplicate tuple members, immutable tokens/destination/deadline, one delegated claim, repeated cancellation, retained airborne work, final physical readiness, capture/terminal retirement, partial-start failure and the 128-attempt replay bound. The test also checks the actual native-readiness call sites and absence of spawning, deletion, physics/input writes and scheduling. These checks are not native flight or multiplayer evidence.
|
||||
`python tests/test_aircraft_service.py` executes the actual service context, registration, readiness gate, start, cancellation, Tick, Stop and observation methods with fake physical/controller boundaries. It checks the four-asset limit, cross-service conflicts, duplicate tuple members, immutable tokens/destination/deadline, one delegated claim, repeated cancellation, retained airborne work, final physical readiness, capture/terminal retirement, partial-start failure and the 128-attempt replay bound. The typed integration adds actual-method checks for known controller construction, cross-kind token replay refusal, mixed-kind attempt-budget exhaustion, field partial-start failures, and retained cancellation/Stop across both kinds. The WORKBENCH route observer casts the retained base reference back to its exact route subtype and returns null for a field flight, preventing route evidence from being relabeled. The test also checks the actual native-readiness call sites and absence of spawning, deletion, physics/input writes and scheduling. These checks are not native flight or multiplayer evidence.
|
||||
|
||||
The bounded native normal-route follow-up now registers the fixture's one finite aircraft/pilot after its usual physical readiness gate, then runs the same qualified20m route through this service. The separate cancellation run keeps the service alive after Stop and verifies actual continued airborne callbacks, contact landing, unchanged token/deadline, and Drained only at completion. Test refusal and capture without claiming a successful return. Production HQ radio delivery, asset authoring, empty-server scheduling and useful field-length routes remain separate work.
|
||||
|
||||
|
||||
@@ -1,10 +1,12 @@
|
||||
# Current development status
|
||||
|
||||
Updated **19 September 2026, 20:27**. The new [finite aircraft retention service](aircraft-service.md) now passes its [first native route](evidence/native-2026-09-19-202253-retained-aircraft-route/report.json):40assertions, actual destination hold/contact landing/engine shutdown, zero captured errors, unchanged197-file source and verified cleanup. The first compiler failure remains archived; four status getters were corrected. The default-inert [command maintenance hook](aircraft-hq-integration-plan.md) compiles in this checkpoint and has offline lifecycle coverage; the [airborne service Stop](evidence/native-2026-09-19-202706-retained-aircraft-stop/report.json) also passes42native assertions through retained control, frozen-point landing and engine shutdown. Actual empty-server maintenance and operational HQ aircraft remain separate qualification.
|
||||
Updated **19 September 2026, 20:59**. All repository checks pass after integrating the typed aircraft service, opt-in100m fixture and read-only held-action observer phase extension. The [first native100m trial](evidence/native-2026-09-19-205734-field-survey-refusal/report.json) compiles the201-file snapshot but refuses its fixed corridor before any test aircraft allocation. Its failure is retained; clearance diagnosis comes next. The current clean-runtime development gate is pending again. No100m flight, braking adequacy, operational HQ aircraft or held-F completion is established.
|
||||
|
||||
The explicit one-wheel prison selection path and independent raw-log validators are implemented and pass offline checks. Two native attempts remain failed before reaching selection: [201104](evidence/game-2026-09-19-201104-selection-look-timeout/runner.json.txt) exceeded the unchanged0.35-degree camera-return threshold; [201352](evidence/game-2026-09-19-201352-selection-owner-refusal/runner.json.txt) refused changed private window/process identity. Neither sent a wheel or F. The [documented exit-after-init packaging control](evidence/package-control-2026-09-19-201532-exit-after-init/review.json) reproduced the same25shutdown errors with an empty addon. Its original cleanup failure remains recorded alongside separate exact-prefix cleanup; packaging now uses the shared narrow cleanup adapter.
|
||||
The [coarse prison approach trial](evidence/game-2026-09-19-205021-coarse-selection-refusal/runner.json.txt) physically completes approach and facing, then refuses selection with1.457s remaining against its unchanged1.5s admission requirement. All attempted keyboard presses were paired with releases; no wheel or F was sent. Approach took25.605s and facing5.824s. These partial observations do not turn the failed overall trial into a pass.
|
||||
|
||||
**All seventeen first-release acceptance cases remain pending.** The ordinary held lock action/full escape, real multiplayer, improved FPS and clean native packaging remain unqualified. Aircraft HQ activation also needs authored enemy aircraft/destinations and a useful field-length controller; the proven route remains approximately20m.
|
||||
The earlier [finite aircraft service route](evidence/native-2026-09-19-202253-retained-aircraft-route/report.json) passes40native assertions and [airborne service Stop](evidence/native-2026-09-19-202706-retained-aircraft-stop/report.json) passes42, both at their197-file snapshot through retained physical control, contact landing and engine shutdown. The [200-file map regression](evidence/native-2026-09-19-204500-field-compile-map/report.json) passes58assertions. Subsequent typed-service and observer changes need their own successful integrated runtime evidence.
|
||||
|
||||
**All seventeen first-release acceptance cases remain pending.** The ordinary held lock action/full escape, real multiplayer, improved FPS and clean native packaging remain unqualified. The [empty-addon exit-after-init control](evidence/package-control-2026-09-19-201532-exit-after-init/review.json) still reproduces25shutdown errors. Tests remain hidden and muted, with separate profiles and guarded cleanup; original missions remain untouched.
|
||||
|
||||
The [route gain comparison](evidence/route-comparison-2026-09-19-192238/comparison.json) measures one native20m route per gain: translation through arrival hold improved155.365→69.293seconds, and final target error improved0.130→0.099m. The candidate passed38assertions, physical contact landing and engine shutdown. This is an isolated flight-controller result, not an FPS comparison or operational HQ air support; the production callback bridge has separate native evidence, while retained-service qualification and longer routes remain pending.
|
||||
|
||||
|
||||
@@ -0,0 +1,42 @@
|
||||
from pathlib import Path
|
||||
import sys,json,hashlib,statistics,time,re,math
|
||||
root=Path('/home/jakub/devel/escapistsrereintroduced'); archive=root/'docs/evidence/game-2026-09-19-205021-coarse-selection-refusal';out=Path('/tmp/erri-coarse-selection-audit')
|
||||
sys.path.insert(0,str(root/'tools'))
|
||||
from ordinary_gate_choices import join_choice_snapshots
|
||||
from ordinary_look_evidence import validate_look_evidence
|
||||
from prison_approach_evidence import validate_approach_evidence
|
||||
from prison_alignment_evidence import validate_facing_evidence
|
||||
from prison_action_selection_evidence import validate_selection_evidence
|
||||
from ordinary_gate_evidence import validate_gate_geometry
|
||||
h=json.loads((archive/'input-proof.json.txt').read_text()); text=(archive/'console.log.txt').read_text();r=json.loads((archive/'runner.json.txt').read_text());nonce=h['nonce'];a=h['approach_proof'];f=h['facing_proof'];s=h['action_selection_proof'];l=h['look_proof'];data=join_choice_snapshots(text,nonce);frames=data['snapshots']
|
||||
def digest(p):return hashlib.sha256(p.read_bytes()).hexdigest()
|
||||
def stats(v):return {'count':len(v),'minimum':min(v),'median':statistics.median(v),'maximum':max(v),'sum':sum(v)}
|
||||
sourcehash={k:v for group in ('approach_module_sha256','alignment_module_sha256','selection_module_sha256') for k,v in h[group].items()};sourcehash['headless_input_proof.py']=h['helper_sha256'];sourcehash['headless_display_probe.py']=h['ownership_helper_sha256']
|
||||
bindings={k:{'recorded_sha256':v,'actual_sha256':digest(root/'tools'/k),'matches':digest(root/'tools'/k)==v} for k,v in sourcehash.items()}
|
||||
assert all(v['matches'] for v in bindings.values()),bindings
|
||||
validations={
|
||||
'look':validate_look_evidence(text,nonce,l,a['events'][:2]),
|
||||
'approach':validate_approach_evidence(text,nonce,l,a),
|
||||
'facing':validate_facing_evidence(text,nonce,l,a,f),
|
||||
'selection':validate_selection_evidence(text,nonce,l,a,f,s)}
|
||||
queued=int(re.findall(r'ERR INPUT OBSERVE: run='+nonce+r' sample=0 real=(\d+) world=[^ ]+ QUEUED',text)[0]); ready=data['ready']['real_ms'];ready_host=a['deadline_monotonic']-35
|
||||
original_end=ready_host+(45000-(ready-queued))/1000-.5
|
||||
motions=[]
|
||||
for name,proof in [('approach',a),('facing',f)]:
|
||||
receipts={x['sample']:x['received_monotonic'] for x in proof['samples']}
|
||||
for m in proof['motions']:
|
||||
before=frames[m['after_sample']];after=frames[m['response_sample']];yaw=lambda x:math.degrees(math.atan2(x[0],x[2]));turn=(yaw(after['look']['direction'])-yaw(before['look']['direction'])+180)%360-180
|
||||
motions.append({'stage':name,**m,'native_turn_degrees':turn,'before_receipt_to_dispatch_s':m['monotonic']-receipts[m['after_sample']],'dispatch_to_response_receipt_s':receipts[m['response_sample']]-m['monotonic'],'native_span_ms':after['real_ms']-before['real_ms']})
|
||||
events=h['events'];holds=[events[i+1]['monotonic']-events[i]['monotonic'] for i in range(0,len(events),2)];releaseguards=[g['returned_monotonic']-g['entered_monotonic'] for t in a['release_timings'] for g in t['guards']]
|
||||
metrics={'queued_real_ms':queued,'ready_real_ms':ready,'ready_host':ready_host,'raw_original_end_ms':queued+45000,'conservative_original_end_host':original_end,'look_duration_s':l['finished_monotonic']-l['started_monotonic'],'approach_duration_s':a['finished_monotonic']-a['started_monotonic'],'approach_first_turn_through_first_W_s':events[0]['monotonic']-a['motions'][0]['monotonic'],'approach_final_distance_m':validations['approach']['final_distance_metres'],'approach_path_m':validations['approach']['path_metres'],'approach_pulses':len(holds),'approach_yaw_requests':len(a['motions']),'holds_s':stats(holds),'release_guards_s':stats(releaseguards),'total_release_guard_s':sum(releaseguards),'actual_release_over_guard_s':sum(holds)-sum(releaseguards),'largest_stop_m':max(t['distance'] for t in a['stops']),'facing_wrapper_started_host':f['deadline_monotonic']-8,'facing_prerequisite_before_module_s':f['started_monotonic']-(f['deadline_monotonic']-8),'facing_duration_s':f['finished_monotonic']-f['started_monotonic'],'facing_yaw_requests':len(f['motions']),'facing_finish_to_selection_start_s':s['started_monotonic']-f['finished_monotonic'],'selection_initial_read_s':s['finished_monotonic']-s['started_monotonic'],'shared_deadline_host':f['deadline_monotonic'],'remaining_at_facing_end_s':f['deadline_monotonic']-f['finished_monotonic'],'remaining_at_selection_entry_s':f['deadline_monotonic']-s['started_monotonic'],'remaining_at_refusal_s':f['deadline_monotonic']-s['finished_monotonic'],'shortfall_to_1_5_admission_s':1.5-(f['deadline_monotonic']-s['finished_monotonic']),'unused_original_time_beyond_stage_s':original_end-f['deadline_monotonic'],'raw_original_ms_remaining_at_facing_last_sample':queued+45000-frames[f['final_sample']]['real_ms'],'facing_final_pair':f['facing_samples'],'facing_last_response_sample':f['motions'][-1]['response_sample'],'facing_last_response_receipt_to_finish_s':f['finished_monotonic']-next(x['received_monotonic'] for x in f['samples'] if x['sample']==f['motions'][-1]['response_sample'])}
|
||||
# Timing here is a separate offline replay, not the archived runtime latency.
|
||||
functions={'join_choice_snapshots':lambda:join_choice_snapshots(text,nonce),'validate_gate_geometry':lambda:validate_gate_geometry(text,nonce,data['ready']['sample'],max(frames)),'validate_approach_evidence':lambda:validate_approach_evidence(text,nonce,l,a),'validate_facing_evidence':lambda:validate_facing_evidence(text,nonce,l,a,f)}
|
||||
bench={}
|
||||
for name,fn in functions.items():
|
||||
times=[]
|
||||
for _ in range(7):
|
||||
start=time.perf_counter();fn();times.append(time.perf_counter()-start)
|
||||
bench[name]=stats(times)
|
||||
result={'scope':'Read-only diagnosis of archived local coarse approach/facing refusal; no input/runtime/source changes, no selection or held-action qualification','archive':str(archive),'nonce':nonce,'artifact_hashes':{p.name:digest(p) for p in archive.iterdir() if p.is_file() and p.suffix!='.bmp'},'tool_source_bindings':bindings,'independent_raw_validation':validations,'metrics':metrics,'motions':motions,'offline_replay_seconds_not_native_timings':bench,'input_end':{'keys':[e['key'] for e in events],'wheel_events':h['wheel_events'],'paired_release_errors':h['paired_release_errors'],'wheel_release_errors':h['wheel_release_errors'],'held_key':h['unconfirmed_held_key'],'held_button':h['unconfirmed_held_button'],'all_attempted_presses_released':h['all_attempted_presses_released'],'runner_result':r['result'],'runner_cleanup_confirmed':r['cleanup_confirmed'],'helper_supervision_error':h.get('supervision_error')}}
|
||||
(out/'diagnostic.json').write_text(json.dumps(result,indent=2)+'\n')
|
||||
print(json.dumps({'metrics':metrics,'validation':{k:v.get('verified') for k,v in validations.items()},'offline_benchmark':bench,'source_bindings_match':all(x['matches'] for x in bindings.values())},indent=2))
|
||||
@@ -0,0 +1,435 @@
|
||||
{
|
||||
"scope": "Read-only diagnosis of archived local coarse approach/facing refusal; no input/runtime/source changes, no selection or held-action qualification",
|
||||
"archive": "/home/jakub/devel/escapistsrereintroduced/docs/evidence/game-2026-09-19-205021-coarse-selection-refusal",
|
||||
"nonce": "ce06dd0073694c469d53956617d51bdf",
|
||||
"artifact_hashes": {
|
||||
"console.log.txt": "19f664515ff2ad37fd31faf7f71d319672809e9f21900a223dfa55b416e9c9cf",
|
||||
"script.log.txt": "cc0436cd1f083c3ef05dca13f1ed4f020944e1dc17a2de55153e728dc9efd69c",
|
||||
"error.log.txt": "4f6c4fa0f54fa4e46af4c1380bd184d74f707a7c6efbfd76f66fb80742df1dc7",
|
||||
"rereintroduced-hq.log.txt": "8db452edc8255b731774e105ba7ebbe4d6e9965ca2ee497051a9c7953bc82c66",
|
||||
"headless-launch.log.txt": "82b9b6c857b929110f34f0db1927587784def0d6d026e1745f5c5f04057802f0",
|
||||
"runner.json.txt": "b198bd8329760be145fb34ef472f5ac8dc7be4f0588263dd6c3235362fc6970f",
|
||||
"game-startup-report.json.txt": "d427c1cbbc33b900d52091bd80ebc7b354061922fc7a6e8d2dade7317432895c",
|
||||
"display-ownership.json.txt": "ca694fe7db29ea5e96a541c9e5b708c3f4a05ff434eb3e52a051042775077f77",
|
||||
"input-proof.json.txt": "23a1ed5fad7b15408ff37dc0dd0b8713be7825a096e3449f05b80c338b77cd62",
|
||||
"source-sha256.json": "9d8168a101d52df79a76b53dce0829cff501a0fb7478b88a3652d7fe34364715",
|
||||
"source-provenance.json": "c1f270c1969af10bbfb78e1d661ce66873eb4c96f321df980a722a80c71c05f1",
|
||||
"launch-source-sha256.json": "9d8168a101d52df79a76b53dce0829cff501a0fb7478b88a3652d7fe34364715",
|
||||
"launch-source.json": "a4d5aa3fcbcdcc47f6f46626b468535cc24867f888a50e8bb12385fcec4428ce",
|
||||
"report.json": "14115e1fca0855bf31e20e65ee2130b71a9e2aa3f9daf6ec6f703b718f2ab180"
|
||||
},
|
||||
"tool_source_bindings": {
|
||||
"prison_approach_proof.py": {
|
||||
"recorded_sha256": "fcd2936fa5a67ba6a970c56e8e4d04cc76bff6ffc6087ac95085716fb5fa673f",
|
||||
"actual_sha256": "fcd2936fa5a67ba6a970c56e8e4d04cc76bff6ffc6087ac95085716fb5fa673f",
|
||||
"matches": true
|
||||
},
|
||||
"ordinary_gate_evidence.py": {
|
||||
"recorded_sha256": "5f02596c92b945b28081d861e466f01897875489e673bf0feafa6e4ebdae1708",
|
||||
"actual_sha256": "5f02596c92b945b28081d861e466f01897875489e673bf0feafa6e4ebdae1708",
|
||||
"matches": true
|
||||
},
|
||||
"ordinary_look_evidence.py": {
|
||||
"recorded_sha256": "3b6a0415352295e15e988ff78659e81981001e1ee03430a5b4c2df1518dd9a31",
|
||||
"actual_sha256": "3b6a0415352295e15e988ff78659e81981001e1ee03430a5b4c2df1518dd9a31",
|
||||
"matches": true
|
||||
},
|
||||
"prison_approach_evidence.py": {
|
||||
"recorded_sha256": "12f1618b16f845d987ba928c8d95f2d448bc6a600fb76f8870b2ae8fd4a660cb",
|
||||
"actual_sha256": "12f1618b16f845d987ba928c8d95f2d448bc6a600fb76f8870b2ae8fd4a660cb",
|
||||
"matches": true
|
||||
},
|
||||
"prison_alignment_proof.py": {
|
||||
"recorded_sha256": "605cb374d42dec637934188b8f69492e924787c309139ee3dd6233ae073e4063",
|
||||
"actual_sha256": "605cb374d42dec637934188b8f69492e924787c309139ee3dd6233ae073e4063",
|
||||
"matches": true
|
||||
},
|
||||
"prison_alignment_evidence.py": {
|
||||
"recorded_sha256": "e6c3bdae65a216ae5db7b2a18f7b2f5e347b0998ec55845d7c263d2909dc64f7",
|
||||
"actual_sha256": "e6c3bdae65a216ae5db7b2a18f7b2f5e347b0998ec55845d7c263d2909dc64f7",
|
||||
"matches": true
|
||||
},
|
||||
"ordinary_gate_choices.py": {
|
||||
"recorded_sha256": "59a0055d44f2f5b27c530406e5cbd46847357285d2d260d08e5c34cc53b7a795",
|
||||
"actual_sha256": "59a0055d44f2f5b27c530406e5cbd46847357285d2d260d08e5c34cc53b7a795",
|
||||
"matches": true
|
||||
},
|
||||
"prison_action_selection_proof.py": {
|
||||
"recorded_sha256": "00d397bf9b13405a2612678ec866f09d452acb4079f2072eb97c79a7fdf650da",
|
||||
"actual_sha256": "00d397bf9b13405a2612678ec866f09d452acb4079f2072eb97c79a7fdf650da",
|
||||
"matches": true
|
||||
},
|
||||
"prison_action_selection_evidence.py": {
|
||||
"recorded_sha256": "bd38768efb724076444a88406cddceade4cb3492b1c88fe17e4feca3684529f5",
|
||||
"actual_sha256": "bd38768efb724076444a88406cddceade4cb3492b1c88fe17e4feca3684529f5",
|
||||
"matches": true
|
||||
},
|
||||
"headless_input_proof.py": {
|
||||
"recorded_sha256": "8530fc61dac15fe09e558f9866d33b512d0357d5369f8ec652be0e5582ea3b8f",
|
||||
"actual_sha256": "8530fc61dac15fe09e558f9866d33b512d0357d5369f8ec652be0e5582ea3b8f",
|
||||
"matches": true
|
||||
},
|
||||
"headless_display_probe.py": {
|
||||
"recorded_sha256": "4ec3851835474eb4d8b84fc74c20d08567d92906ce832643d911f1d062abf0bd",
|
||||
"actual_sha256": "4ec3851835474eb4d8b84fc74c20d08567d92906ce832643d911f1d062abf0bd",
|
||||
"matches": true
|
||||
}
|
||||
},
|
||||
"independent_raw_validation": {
|
||||
"look": {
|
||||
"verified": true,
|
||||
"errors": [],
|
||||
"scope": "two fixed relative mouse requests with native camera yaw response and return; stationary body; no visual, aiming, multiplayer or general input qualification",
|
||||
"baseline_samples": [
|
||||
25,
|
||||
26
|
||||
],
|
||||
"response_sample": 35,
|
||||
"return_sample": 43,
|
||||
"baseline_yaw_delta_degrees": 0.0,
|
||||
"response_yaw_degrees": 1.7573359632885115,
|
||||
"return_yaw_degrees": -0.026015146900135733,
|
||||
"native_duration_ms": 2031,
|
||||
"motion_count": 2,
|
||||
"keyboard_order_verified": true
|
||||
},
|
||||
"approach": {
|
||||
"verified": true,
|
||||
"errors": [],
|
||||
"scope": "one private ordinary-input approach to the interior prison gate waypoint; no unlock, escape, visual, multiplayer or FPS qualification",
|
||||
"held_action_verified": false,
|
||||
"escape_verified": false,
|
||||
"profile": "coarse",
|
||||
"first_sample": 47,
|
||||
"last_sample": 272,
|
||||
"native_duration_ms": 25467,
|
||||
"path_metres": 4.5739295536078455,
|
||||
"target": [
|
||||
6092.77,
|
||||
211.444,
|
||||
7155.5
|
||||
],
|
||||
"final_distance_metres": 0.676239602508427,
|
||||
"pulse_count": 15,
|
||||
"turn_count": 7,
|
||||
"geometry": {
|
||||
"verified": true,
|
||||
"errors": [],
|
||||
"scope": "same-session native gate/input/camera telemetry and stable prison/lock geometry only; no approach, held-action completion, visual or multiplayer qualification",
|
||||
"approach_verified": false,
|
||||
"held_action_verified": false,
|
||||
"start_sample": 47,
|
||||
"end_sample": 272,
|
||||
"native_duration_ms": 25467,
|
||||
"snapshot_count": 226,
|
||||
"geometry_max_drift_metres": 0.0,
|
||||
"prison": [
|
||||
6090.0,
|
||||
211.444,
|
||||
7160.0
|
||||
],
|
||||
"gate": [
|
||||
6090.0,
|
||||
211.344,
|
||||
7154.0
|
||||
],
|
||||
"context": [
|
||||
6092.77,
|
||||
213.226,
|
||||
7154.0
|
||||
],
|
||||
"radius": 2.0,
|
||||
"gate_forward": [
|
||||
0.0,
|
||||
0.0,
|
||||
1.0
|
||||
],
|
||||
"initial_context_distance_metres": 6.469450981343299,
|
||||
"final_context_distance_metres": 2.7679205190902723
|
||||
}
|
||||
},
|
||||
"facing": {
|
||||
"verified": true,
|
||||
"errors": [],
|
||||
"scope": "stationary yaw facing the original gate with exact disabled door and available lock diagnostics; lock selection, held action and escape remain unverified",
|
||||
"held_action_verified": false,
|
||||
"escape_verified": false,
|
||||
"lock_selection_verified": false,
|
||||
"first_sample": 272,
|
||||
"last_sample": 323,
|
||||
"turn_count": 4,
|
||||
"native_duration_ms": 6000,
|
||||
"final_yaw_error_degrees": 0.6123750700397466,
|
||||
"facing_samples": [
|
||||
322,
|
||||
323
|
||||
]
|
||||
},
|
||||
"selection": {
|
||||
"verified": false,
|
||||
"errors": [
|
||||
"selection did not complete under exact nonce without extra input"
|
||||
],
|
||||
"scope": "one guarded private wheel pair and native selection of the original prison lock after verified approach/facing; no F hold, unlock, exit or multiplayer qualification",
|
||||
"held_action_verified": false,
|
||||
"escape_verified": false
|
||||
}
|
||||
},
|
||||
"metrics": {
|
||||
"queued_real_ms": 30453,
|
||||
"ready_real_ms": 32719,
|
||||
"ready_host": 820514.195862484,
|
||||
"raw_original_end_ms": 75453,
|
||||
"conservative_original_end_host": 820556.4298624841,
|
||||
"look_duration_s": 2.559277907013893,
|
||||
"approach_duration_s": 25.60461599996779,
|
||||
"approach_first_turn_through_first_W_s": 5.956018910976127,
|
||||
"approach_final_distance_m": 0.676239602508427,
|
||||
"approach_path_m": 4.5739295536078455,
|
||||
"approach_pulses": 15,
|
||||
"approach_yaw_requests": 7,
|
||||
"holds_s": {
|
||||
"count": 15,
|
||||
"minimum": 0.19054808898363262,
|
||||
"median": 0.1954068309860304,
|
||||
"maximum": 0.2074798799585551,
|
||||
"sum": 2.945522066554986
|
||||
},
|
||||
"release_guards_s": {
|
||||
"count": 15,
|
||||
"minimum": 0.19048968993593007,
|
||||
"median": 0.19536762195639312,
|
||||
"maximum": 0.20743700093589723,
|
||||
"sum": 2.944871062063612
|
||||
},
|
||||
"total_release_guard_s": 2.944871062063612,
|
||||
"actual_release_over_guard_s": 0.0006510044913738966,
|
||||
"largest_stop_m": 0.43829214001670064,
|
||||
"facing_wrapper_started_host": 820542.866666449,
|
||||
"facing_prerequisite_before_module_s": 0.15752315195277333,
|
||||
"facing_duration_s": 5.824266928015277,
|
||||
"facing_yaw_requests": 4,
|
||||
"facing_finish_to_selection_start_s": 0.27541963499970734,
|
||||
"selection_initial_read_s": 0.2856277449754998,
|
||||
"shared_deadline_host": 820550.866666449,
|
||||
"remaining_at_facing_end_s": 2.01820992003195,
|
||||
"remaining_at_selection_entry_s": 1.7427902850322425,
|
||||
"remaining_at_refusal_s": 1.4571625400567427,
|
||||
"shortfall_to_1_5_admission_s": 0.04283745994325727,
|
||||
"unused_original_time_beyond_stage_s": 5.56319603510201,
|
||||
"raw_original_ms_remaining_at_facing_last_sample": 8168,
|
||||
"facing_final_pair": [
|
||||
322,
|
||||
323
|
||||
],
|
||||
"facing_last_response_sample": 320,
|
||||
"facing_last_response_receipt_to_finish_s": 0.34708530991338193
|
||||
},
|
||||
"motions": [
|
||||
{
|
||||
"stage": "approach",
|
||||
"dx": 341,
|
||||
"dy": 0,
|
||||
"monotonic": 820518.497399937,
|
||||
"after_sample": 54,
|
||||
"response_sample": 60,
|
||||
"native_turn_degrees": 25.643902930191132,
|
||||
"before_receipt_to_dispatch_s": 0.39629169506952167,
|
||||
"dispatch_to_response_receipt_s": 0.4164421010063961,
|
||||
"native_span_ms": 700
|
||||
},
|
||||
{
|
||||
"stage": "approach",
|
||||
"dx": 341,
|
||||
"dy": 0,
|
||||
"monotonic": 820519.522170431,
|
||||
"after_sample": 62,
|
||||
"response_sample": 70,
|
||||
"native_turn_degrees": 26.4583592407501,
|
||||
"before_receipt_to_dispatch_s": 0.39604878902900964,
|
||||
"dispatch_to_response_receipt_s": 0.4280811380594969,
|
||||
"native_span_ms": 900
|
||||
},
|
||||
{
|
||||
"stage": "approach",
|
||||
"dx": 341,
|
||||
"dy": 0,
|
||||
"monotonic": 820520.572737873,
|
||||
"after_sample": 72,
|
||||
"response_sample": 78,
|
||||
"native_turn_degrees": 26.700881879664365,
|
||||
"before_receipt_to_dispatch_s": 0.4093965779757127,
|
||||
"dispatch_to_response_receipt_s": 0.42311287007760257,
|
||||
"native_span_ms": 733
|
||||
},
|
||||
{
|
||||
"stage": "approach",
|
||||
"dx": 341,
|
||||
"dy": 0,
|
||||
"monotonic": 820521.615695336,
|
||||
"after_sample": 80,
|
||||
"response_sample": 88,
|
||||
"native_turn_degrees": 26.824306620040772,
|
||||
"before_receipt_to_dispatch_s": 0.407363394042477,
|
||||
"dispatch_to_response_receipt_s": 0.43050858203787357,
|
||||
"native_span_ms": 867
|
||||
},
|
||||
{
|
||||
"stage": "approach",
|
||||
"dx": 200,
|
||||
"dy": 0,
|
||||
"monotonic": 820522.650648577,
|
||||
"after_sample": 89,
|
||||
"response_sample": 97,
|
||||
"native_turn_degrees": 15.108903862000403,
|
||||
"before_receipt_to_dispatch_s": 0.39425166801083833,
|
||||
"dispatch_to_response_receipt_s": 0.4525398960104212,
|
||||
"native_span_ms": 898
|
||||
},
|
||||
{
|
||||
"stage": "approach",
|
||||
"dx": 45,
|
||||
"dy": 0,
|
||||
"monotonic": 820523.740309086,
|
||||
"after_sample": 99,
|
||||
"response_sample": 107,
|
||||
"native_turn_degrees": 3.4696216165246483,
|
||||
"before_receipt_to_dispatch_s": 0.4120595670538023,
|
||||
"dispatch_to_response_receipt_s": 0.46701870998367667,
|
||||
"native_span_ms": 866
|
||||
},
|
||||
{
|
||||
"stage": "approach",
|
||||
"dx": 33,
|
||||
"dy": 0,
|
||||
"monotonic": 820537.319254032,
|
||||
"after_sample": 219,
|
||||
"response_sample": 227,
|
||||
"native_turn_degrees": 2.7455479541940804,
|
||||
"before_receipt_to_dispatch_s": 0.42555468797218055,
|
||||
"dispatch_to_response_receipt_s": 0.47311301599256694,
|
||||
"native_span_ms": 867
|
||||
},
|
||||
{
|
||||
"stage": "facing",
|
||||
"dx": 128,
|
||||
"dy": 0,
|
||||
"monotonic": 820543.973141197,
|
||||
"after_sample": 278,
|
||||
"response_sample": 284,
|
||||
"native_turn_degrees": 10.260641687863767,
|
||||
"before_receipt_to_dispatch_s": 0.4740198829676956,
|
||||
"dispatch_to_response_receipt_s": 0.202212834963575,
|
||||
"native_span_ms": 667
|
||||
},
|
||||
{
|
||||
"stage": "facing",
|
||||
"dx": 128,
|
||||
"dy": 0,
|
||||
"monotonic": 820544.91196243,
|
||||
"after_sample": 286,
|
||||
"response_sample": 294,
|
||||
"native_turn_degrees": 10.703148333470523,
|
||||
"before_receipt_to_dispatch_s": 0.469738899031654,
|
||||
"dispatch_to_response_receipt_s": 0.5037237229989842,
|
||||
"native_span_ms": 1000
|
||||
},
|
||||
{
|
||||
"stage": "facing",
|
||||
"dx": 128,
|
||||
"dy": 0,
|
||||
"monotonic": 820546.163581055,
|
||||
"after_sample": 296,
|
||||
"response_sample": 310,
|
||||
"native_turn_degrees": 10.010158948301068,
|
||||
"before_receipt_to_dispatch_s": 0.47138093097601086,
|
||||
"dispatch_to_response_receipt_s": 1.0812573919538409,
|
||||
"native_span_ms": 1567
|
||||
},
|
||||
{
|
||||
"stage": "facing",
|
||||
"dx": 51,
|
||||
"dy": 0,
|
||||
"monotonic": 820547.994536107,
|
||||
"after_sample": 312,
|
||||
"response_sample": 320,
|
||||
"native_turn_degrees": 4.081253970741187,
|
||||
"before_receipt_to_dispatch_s": 0.4826455160509795,
|
||||
"dispatch_to_response_receipt_s": 0.5068351119989529,
|
||||
"native_span_ms": 967
|
||||
}
|
||||
],
|
||||
"offline_replay_seconds_not_native_timings": {
|
||||
"join_choice_snapshots": {
|
||||
"count": 7,
|
||||
"minimum": 0.03783283696975559,
|
||||
"median": 0.04051079694181681,
|
||||
"maximum": 0.0408189290901646,
|
||||
"sum": 0.27835581090766937
|
||||
},
|
||||
"validate_gate_geometry": {
|
||||
"count": 7,
|
||||
"minimum": 0.036523447022773325,
|
||||
"median": 0.037821937003172934,
|
||||
"maximum": 0.03948510903865099,
|
||||
"sum": 0.26564939005766064
|
||||
},
|
||||
"validate_approach_evidence": {
|
||||
"count": 7,
|
||||
"minimum": 0.08901217998936772,
|
||||
"median": 0.09373382106423378,
|
||||
"maximum": 0.10571677796542645,
|
||||
"sum": 0.6610238321591169
|
||||
},
|
||||
"validate_facing_evidence": {
|
||||
"count": 7,
|
||||
"minimum": 0.1799939649645239,
|
||||
"median": 0.18100794102065265,
|
||||
"maximum": 0.2001678440719843,
|
||||
"sum": 1.2925933171063662
|
||||
}
|
||||
},
|
||||
"input_end": {
|
||||
"keys": [
|
||||
"W",
|
||||
"W",
|
||||
"W",
|
||||
"W",
|
||||
"W",
|
||||
"W",
|
||||
"W",
|
||||
"W",
|
||||
"W",
|
||||
"W",
|
||||
"W",
|
||||
"W",
|
||||
"W",
|
||||
"W",
|
||||
"W",
|
||||
"W",
|
||||
"W",
|
||||
"W",
|
||||
"W",
|
||||
"W",
|
||||
"W",
|
||||
"W",
|
||||
"W",
|
||||
"W",
|
||||
"W",
|
||||
"W",
|
||||
"W",
|
||||
"W",
|
||||
"W",
|
||||
"W"
|
||||
],
|
||||
"wheel_events": [],
|
||||
"paired_release_errors": [],
|
||||
"wheel_release_errors": [],
|
||||
"held_key": null,
|
||||
"held_button": null,
|
||||
"all_attempted_presses_released": true,
|
||||
"runner_result": "input-exercise-failed",
|
||||
"runner_cleanup_confirmed": true,
|
||||
"helper_supervision_error": "Private input worker exited unsuccessfully"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,40 @@
|
||||
# Archived coarse approach: selection refused safely
|
||||
|
||||
Read-only audit of `docs/evidence/game-2026-09-19-205021-coarse-selection-refusal`, nonce `ce06dd0073694c469d53956617d51bdf`. `diagnostic.json` records archive hashes, exact matching helper/module hashes, raw validator outcomes and reproducible timing calculations. `analyze.py` reparses preserved console bytes; its small offline parser benchmark is explicitly separate from native runtime timing. No source, input or runtime changes were made.
|
||||
|
||||
The independent raw look, approach and facing validators pass. Selection does not pass: no wheel event occurred. The native startup report has no script/runtime or engine errors, while the outer runner correctly records `input-exercise-failed` and confirmed containment cleanup. The helper's worker-failure/supervision record is retained; successful approach/facing do not make the requested selection trial successful.
|
||||
|
||||
## Measured cost and refusal
|
||||
|
||||
| Interval or observation | Archived measurement |
|
||||
|---|---:|
|
||||
| Look calibration | 2.559s |
|
||||
| Coarse approach | 25.605s; 7 mouse requests, 15 W pairs |
|
||||
| First approach turn through first W | 5.956s |
|
||||
| Physical path / final target error | 4.574m / 0.676m |
|
||||
| W holds min / median / max | 190.548 / 195.407 / 207.480ms |
|
||||
| Sum of W holds / their release guards | 2.945522s / 2.944871s |
|
||||
| Largest complete physical stop | 0.4383m |
|
||||
| Facing prerequisite before module entry | 0.1575s |
|
||||
| Facing module | 5.8243s; 4 mouse requests |
|
||||
| Remaining shared lease at facing completion | 2.0182s |
|
||||
| Facing completion through selection module entry | 0.2754s |
|
||||
| Selection initial guarded read | 0.2856s |
|
||||
| Remaining lease at wheel admission check | **1.45716s** |
|
||||
| Shortfall against unchanged 1.5s admission | **42.84ms** |
|
||||
|
||||
The fifteen release guards account for all but0.651ms of aggregate actual W-held duration. This run therefore does not support shortening a wait or removing a release ownership check. All W pairs were released; there is no held key/button uncertainty, paired-release error, wheel input, F input or gate operation.
|
||||
|
||||
The bottleneck is the separate frozen **8-second facing→selection lease**, not the45-second native observation clock. That stage expires at host820550.866666. The conservative original observation deadline is820556.429862, but using its additional5.563s would renew the forbidden stage lease. At facing's last native sample323, real67285ms, the raw QUEUED30453ms+45000ms lifetime had8.168s left. None of this authorizes a longer selection attempt or a held-F attempt.
|
||||
|
||||
## Narrow candidate: do not drain an already accepted facing pair twice
|
||||
|
||||
`tools/prison_alignment_proof.py`, `_perform_alignment` completion branch around lines171–181, first finds a valid stable pair, then unconditionally calls `read()` again and recomputes that pair. Every `read()` already performs the full live ownership guard, idle check, ordered complete-history consumption, stationary/geometry/action checks, sample freshness and immutable deadline checks. On this run the last turn was acknowledged at sample320; **319/320 already meet the native facing condition**: consecutive100ms, identical yaw161.9807°, original context and lock permission true, and original disabled door selected. Their handle-bearing errors were0.5392°/0.2516°. The next drain advanced to321–323, which remained equally valid. Sample320's receipt through final completion consumed0.3471s; that span includes processing and the redundant final guarded read, so it is not an exact guard-only measurement.
|
||||
|
||||
A bounded future change could let **facing-only** return the already accepted pair after `require_idle()` and explicit final freshness/deadline checks. Strict alignment's default path can remain unchanged. This is not an input operation and need not authorize anything new: retain the subsequent independent raw facing validation, selection's full guarded initial read, and every live guard/pointer/idle check immediately before wheel-down/up. Selection must still consume all intervening samples starting at the earlier facing-final index, preserving original receipts and refusing body movement, changed identity/context/permission, pressed/progress input, stale evidence or lost focus before any wheel event. Do not discard or relabel any later raw records.
|
||||
|
||||
The expected saving is one existing observation guard plus one complete-history parse, plausibly a few tenths of a second here; **43ms is only the admission deficit, not a promised execution margin**. Native timing could vary, and wheel delivery/confirmation/acknowledgement must still finish within the same old deadline. No lease,1.5s admission, pointer bound, turn bound or input capability should change. A regression should prove an already fresh pair returns without an extra observation drain, while stale/expired/non-idle pairs refuse and a changed next selection sample blocks input. Re-run the full independent raw chain. A future native run must retain refusal if this is still insufficient.
|
||||
|
||||
An alternative is parse-result reuse keyed to exact immutable console content within one observer call. The current `Observer.approach_data()` separately runs `join_choice_snapshots` and `validate_gate_geometry` (which reparses); `validate_facing_evidence` also independently revalidates the prior route. Seven offline replays measured medians40.5ms/37.8ms for the first two functions and181.0ms for complete facing validation. Those numbers are diagnostic CPU measurements on current hardware, not attribution of the historical runtime. Broad caching would require careful immutable-prefix/receipt/source binding and is a larger change than removing the redundant no-input completion drain. Do not remove independent validation or any input guard to recover time.
|
||||
|
||||
This report establishes a concrete source-supported optimization candidate only. It does not qualify lock selection, F hold, opening, passage through the gate, multiplayer or FPS.
|
||||
@@ -0,0 +1,14 @@
|
||||
{
|
||||
"analyze.py": {
|
||||
"bytes": 6791,
|
||||
"sha256": "c1b31a1dca3d69d3858673483af7795da4037d668db53765acf2ccf1dfb516e8"
|
||||
},
|
||||
"diagnostic.json": {
|
||||
"bytes": 15118,
|
||||
"sha256": "abb486a28b93cc5ad0912ca117d2a7dcf94cfb5fe8f043b17a4c9ac766c4c572"
|
||||
},
|
||||
"review.md": {
|
||||
"bytes": 5966,
|
||||
"sha256": "676228c77fe715715aa2bb3f7196f0b3758aa968627ccf1219178a4401448a6f"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
# Offline actual-rule calculation only: assumes instantaneous reference tracking.
|
||||
# This is deliberately NOT an engine/physics measurement or benchmark.
|
||||
import runpy,sys,types,tempfile,subprocess,contextlib,io
|
||||
from pathlib import Path
|
||||
root=Path('/tmp/erri-next-build');captured=[]
|
||||
sys.modules['policy_harness']=types.SimpleNamespace(ROOT=root,run=captured.append)
|
||||
with contextlib.redirect_stdout(io.StringIO()):
|
||||
runpy.run_path(str(root/'tests/test_aircraft_field_rules.py'))
|
||||
code=captured[0].split('int main(){',1)[0]
|
||||
code+='#include <cstdio>\nint main(){for(float v:{1.0f,1.5f,2.0f}){float remaining=25, elapsed=0, low=-1;vector ref={v,0,0};float cap=.9f*v;while(elapsed<100){float target=Rules::ApproachSpeed(remaining,std::min(ref.Length(),cap));ref=Rules::RampReference(ref,{target,0,0},.01f);remaining-=ref[0]*.01f;elapsed+=.01f;if(ref.Length()<.25f){if(low<0)low=elapsed;if(elapsed-low>=2)break;}else low=-1;}std::printf("initial_v=%.2f reserve=%.6f travel=%.6f time=%.3f final_remaining=%.6f final_speed=%.6f\\n",v,Rules::BrakingReserve(v),25-remaining,elapsed,remaining,ref.Length());}}\n'
|
||||
with tempfile.TemporaryDirectory(prefix='erri-field-model-') as d:
|
||||
p=Path(d);(p/'model.cpp').write_text(code);subprocess.run(['g++','-std=c++17',str(p/'model.cpp'),'-o',str(p/'model')],check=True);r=subprocess.run([str(p/'model')],capture_output=True,text=True,check=True);print(r.stdout);Path('/tmp/erri-field-idealized-stop.txt').write_text('IDEALIZED ACTUAL-RULE CALCULATION; NOT NATIVE MEASUREMENTS\n'+r.stdout)
|
||||
@@ -0,0 +1,4 @@
|
||||
IDEALIZED ACTUAL-RULE CALCULATION; NOT NATIVE MEASUREMENTS
|
||||
initial_v=1.00 reserve=7.333333 travel=21.876759 time=28.041 final_remaining=3.123242 final_speed=0.094451
|
||||
initial_v=1.50 reserve=12.000000 travel=21.876585 time=21.780 final_remaining=3.123415 final_speed=0.094557
|
||||
initial_v=2.00 reserve=18.333332 travel=21.876722 time=19.480 final_remaining=3.123278 final_speed=0.094473
|
||||
@@ -0,0 +1,35 @@
|
||||
# Field-flight operational audit — read-only, before first100m trial
|
||||
|
||||
Scope: staged production `ERR_AircraftFieldFlight.c`, `ERR_AircraftFieldRules.c`, existing native20m log, and field fixture evidence contract. No engine, display, gameplay, source or fixture changes were made. The following offline calculation executes actual pure rule bodies inside an explicitly idealized reference-following model; it is neither native measurement nor a performance benchmark.
|
||||
|
||||
## Actionable mismatch: approach travel versus immediate stopping reserve
|
||||
|
||||
`ERR_AircraftFieldFlight.CheckTranslation` enters braking at25m or the speed-derived reserve. `BeginFieldBrake` freezes the normal landing target at the destination and caps the prior reference speed by0.9. `FieldDemand` then continues toward that destination using `ApproachSpeed(remaining,min(current,cap))`. The inverse-reserve schedule correctly includes the1s latency and3m margin, but it intentionally keeps advancing until roughly3m remains; it does not request an immediate stop within the reserve measured at the beginning of that phase.
|
||||
|
||||
The fixture's read-only `BrakeBegan` records that initial reserve and `BrakeStopped` rejects sampled path or displacement exceeding it. This is a stronger immediate-stopping contract. The two contracts disagree even with instantaneous, perfectly followed velocity references. `/tmp/erri_field_idealized_stop.py` extracts and compiles the actual Rules bodies, integrates at0.01s with actual vector slew and frozen0.9 cap, and stops after two seconds below0.25m/s. `/tmp/erri-field-idealized-stop.txt` records its explicitly non-native results:
|
||||
|
||||
| Initial actual/reference speed | Declared immediate reserve | Idealized phase travel | Idealized elapsed |
|
||||
|---|---:|---:|---:|
|
||||
|1.0m/s|7.333m|21.877m|28.041s|
|
||||
|1.5m/s|12.000m|21.877m|21.780s|
|
||||
|2.0m/s|18.333m|21.877m|19.480s|
|
||||
|
||||
These values are analytical counterexamples to the joint policy contract, not predictions of actual Mi8 stopping. Native overshoot, lag, autohover and integral history can change them. A successful endpoint arrival does not cure the evidence mismatch.
|
||||
|
||||
Smallest next decision: retain the strict fixture and make production explicitly stop within its declared initial reserve (e.g. a genuine immediate zero-reference braking phase), accepting that slow positioning afterward may exceed the unchanged45s phase budget. Alternatively, deliberately design separate bounded approach and stopping phases with the stopping point/reserve declared before the actual stop command, then independently review its measurement contract. Do not merely relabel the current25m point, increase the reserve to the observed travel, or remove the failed stopping criterion after a trial.
|
||||
|
||||
## Other reviewed behavior and limits
|
||||
|
||||
- Field-demand signs and airframe projection follow the existing independently authored route controller: world desired-minus-actual velocity, then projections onto actual forward/right basis and nonnegative opposing action pairs. The20m native run202706 moved along positiveX using this path. I found no source-backed sign inversion. This does not establish stability of the new0.08 cap, integral gain0.02 or higher velocity.
|
||||
- Integral suppression when saturated and outward, vector0.2m/s² reference slew, native actual-speed2.5m/s refusal, and reset before slow-position/landing are present. The autohover transfer function and physical deceleration remain unidentified. Integral lag/oscillation is a native risk, not a proven defect from source alone.
|
||||
- The immutable original deadline remains inherited. Owner Tick begins reserve cancellation by86.5s remaining, and braking/settling45s, landing25s and shutdown15s remain individually clamped by that original deadline. This covers the85s allocation only while the expected owner cadence holds; arbitrary scheduling stalls cannot guarantee the reserve. Native callbacks still refuse hard expiry.
|
||||
- Early airborne POSITIVE/NEGATIVE cancellation now enables and reads back autohover before committing braking. Mid-settle cancellation retains the original point and deadline. No public base Start/StartTranslation shortcut admits a field flight.
|
||||
- Preflight50 and abort20 native fuel units are explicit candidate thresholds. They are not a measured endurance model. The existing20m native cancellation202706 completed roughly74s after initial control admission and16.67s after serviceStop; this does not establish higher-speed100m fuel or stopping requirements.
|
||||
- No additional source-proven operational defect was found in this pass. Native geometry/survey refusal, actual control consumption, cruise speed, braking, landing and finite fuel remain pending. The fixed airport corridor may refuse before allocation.
|
||||
|
||||
## Exact source identities read
|
||||
|
||||
- FieldFlight: `e3322b6d85b1234bfbf218a119cf6f7eed0b9ddd160004d2d9fe02c64ed857ba`
|
||||
- FieldRules: `395eadae1067f230c26dbf73f43e39180173e173fd04a346839c474e084feaae`
|
||||
- NativeFieldProbe: `d2d2dd65e202672f285ed9afb7ee0247da31b8eb29e0fc3091ccb846f49236e8`
|
||||
- Installed/current20m evidence read: `/tmp/erri-workbench-profile/logs/logs_2026-09-19_20-27-06/console.log` (read only).
|
||||
@@ -0,0 +1,5 @@
|
||||
{
|
||||
"idealized_model.py": "c8d773414f4a337f243d9e306bffa8a03107fe6c65805715b13208f192a10669",
|
||||
"idealized_result.txt": "280d54f198e724e5c4d0fe7a4eb789d392c6746fe298eb0ac28ec23e48214718",
|
||||
"review.md": "dcd4fd6cba34b92eebdf00924542537eefd189052031b8b8db46702207b4fe8c"
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
+565
@@ -0,0 +1,565 @@
|
||||
{
|
||||
"schema": 1,
|
||||
"kind": "headless-display-read-only",
|
||||
"binding": {
|
||||
"display": ":2",
|
||||
"gamescope": {
|
||||
"pid": 1074649,
|
||||
"start": 82047958,
|
||||
"uid": 1000
|
||||
},
|
||||
"xwayland": {
|
||||
"pid": 1074672,
|
||||
"start": 82047963,
|
||||
"uid": 1000
|
||||
},
|
||||
"sockets": [
|
||||
{
|
||||
"path": "/tmp/.X11-unix/X2",
|
||||
"inode": 68966519
|
||||
},
|
||||
{
|
||||
"path": "@/tmp/.X11-unix/X2",
|
||||
"inode": 68966518
|
||||
}
|
||||
],
|
||||
"relationship": {
|
||||
"mode": "shared-listeners",
|
||||
"checks": {
|
||||
"start_not_older_than_gamescope": true,
|
||||
"wrapper_run_nonce_valid": true,
|
||||
"xwayland_prefix_matches": true,
|
||||
"gamescope_prefix_matches": true,
|
||||
"xwayland_run_nonce_matches": true,
|
||||
"gamescope_run_nonce_matches": true,
|
||||
"xwayland_holds_all_display_listeners": true,
|
||||
"gamescope_holds_all_display_listeners": true,
|
||||
"same_listener_inodes": true,
|
||||
"listener_inodes": [
|
||||
68966519,
|
||||
68966518
|
||||
],
|
||||
"process_identities_stable": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"owned_game_window_verified": true,
|
||||
"input_target_verified": true,
|
||||
"read_only": true,
|
||||
"input_sent": false,
|
||||
"release_qualified": false,
|
||||
"scope": "Read-only private X11 process/window ownership; no input or gameplay proof",
|
||||
"helper_sha256": "4ec3851835474eb4d8b84fc74c20d08567d92906ce832643d911f1d062abf0bd",
|
||||
"wrapper": {
|
||||
"pid": 1074726,
|
||||
"start": 82047991,
|
||||
"uid": 1000
|
||||
},
|
||||
"command": [
|
||||
"/home/jakub/.local/share/Steam/steamapps/common/Proton - Experimental/proton",
|
||||
"run",
|
||||
"/home/jakub/.local/share/Steam/steamapps/common/Arma Reforger/ArmaReforgerSteam.exe",
|
||||
"-addonsDir",
|
||||
"Z:/home/jakub/devel/escapistsrereintroduced/addons",
|
||||
"-addons",
|
||||
"FA804F411BDDF2C6",
|
||||
"-profile",
|
||||
"Z:/tmp/erri-game-profile",
|
||||
"-errOrdinaryScenario",
|
||||
"chat",
|
||||
"-noSplash",
|
||||
"-noBackend",
|
||||
"-noSound",
|
||||
"-noThrow",
|
||||
"-disableCrashReporter",
|
||||
"-logconsole",
|
||||
"-errOrdinaryInputObserve",
|
||||
"ce06dd0073694c469d53956617d51bdf",
|
||||
"-errOrdinaryInputScreenshots",
|
||||
"1",
|
||||
"-errOrdinaryLookObserve",
|
||||
"ce06dd0073694c469d53956617d51bdf",
|
||||
"-errOrdinaryGateObserve",
|
||||
"ce06dd0073694c469d53956617d51bdf",
|
||||
"-errOrdinaryGateChoices",
|
||||
"ce06dd0073694c469d53956617d51bdf"
|
||||
],
|
||||
"prefix": "/tmp/erri-headless-compat/pfx",
|
||||
"profile": "/tmp/erri-game-profile",
|
||||
"game_executable": "/home/jakub/.local/share/Steam/steamapps/common/Arma Reforger/ArmaReforgerSteam.exe",
|
||||
"report": "/tmp/erri-game-profile/display-ownership-ce06dd0073694c469d53956617d51bdf.json",
|
||||
"query_attempts": 4,
|
||||
"successful_queries": 4,
|
||||
"first_window_count": 0,
|
||||
"last_window_count": 12,
|
||||
"first_query_error": null,
|
||||
"last_query_error": null,
|
||||
"last_query_status": "ok",
|
||||
"owned_windows": [
|
||||
{
|
||||
"window": 29360129,
|
||||
"pid": 1074875,
|
||||
"server_pid": 1074875,
|
||||
"xres_query": {
|
||||
"status": 0,
|
||||
"count": 1,
|
||||
"mask": 2
|
||||
},
|
||||
"title": "Arma Reforger",
|
||||
"process": {
|
||||
"pid": 1074875,
|
||||
"start": 82048134,
|
||||
"uid": 1000
|
||||
}
|
||||
}
|
||||
],
|
||||
"input_target": {
|
||||
"window": 29360129,
|
||||
"verified": true,
|
||||
"reason": "owned-mapped-existing-focus",
|
||||
"geometry": {
|
||||
"window": 29360129,
|
||||
"root": 1020,
|
||||
"map_state": 2,
|
||||
"window_class": 1,
|
||||
"x": 0,
|
||||
"y": 0,
|
||||
"width": 2560,
|
||||
"height": 720,
|
||||
"root_width": 2560,
|
||||
"root_height": 720,
|
||||
"clipped_bounds": [
|
||||
0,
|
||||
0,
|
||||
2560,
|
||||
720
|
||||
]
|
||||
},
|
||||
"focus_window": 29360129,
|
||||
"focus_revert_to": 0,
|
||||
"focus_chain": [
|
||||
29360129
|
||||
],
|
||||
"focused_clipped_bounds": [
|
||||
0,
|
||||
0,
|
||||
2560,
|
||||
720
|
||||
]
|
||||
},
|
||||
"input_target_observations": [
|
||||
{
|
||||
"window": 29360129,
|
||||
"verified": true,
|
||||
"reason": "owned-mapped-existing-focus",
|
||||
"geometry": {
|
||||
"window": 29360129,
|
||||
"root": 1020,
|
||||
"map_state": 2,
|
||||
"window_class": 1,
|
||||
"x": 0,
|
||||
"y": 0,
|
||||
"width": 2560,
|
||||
"height": 720,
|
||||
"root_width": 2560,
|
||||
"root_height": 720,
|
||||
"clipped_bounds": [
|
||||
0,
|
||||
0,
|
||||
2560,
|
||||
720
|
||||
]
|
||||
},
|
||||
"focus_window": 29360129,
|
||||
"focus_revert_to": 0,
|
||||
"focus_chain": [
|
||||
29360129
|
||||
],
|
||||
"focused_clipped_bounds": [
|
||||
0,
|
||||
0,
|
||||
2560,
|
||||
720
|
||||
]
|
||||
}
|
||||
],
|
||||
"input_target_limit": 16,
|
||||
"window_count": 12,
|
||||
"window_diagnostic_limit": 16,
|
||||
"window_diagnostics": [
|
||||
{
|
||||
"window": 29360129,
|
||||
"pid": 1074875,
|
||||
"server_pid": 1074875,
|
||||
"rejection_stage": "checks-passed",
|
||||
"property_process": {
|
||||
"readable": true,
|
||||
"same_user": true,
|
||||
"game_executable_match": true,
|
||||
"argv0_class": "exact-wine-z-game",
|
||||
"argv0_case_insensitive_exact": true,
|
||||
"prefix_matches": true,
|
||||
"display_matches": true,
|
||||
"process_stable": true
|
||||
},
|
||||
"server_process": {
|
||||
"readable": true,
|
||||
"same_user": true,
|
||||
"game_executable_match": true,
|
||||
"argv0_class": "exact-wine-z-game",
|
||||
"argv0_case_insensitive_exact": true,
|
||||
"prefix_matches": true,
|
||||
"display_matches": true,
|
||||
"process_stable": true
|
||||
},
|
||||
"xres_query": {
|
||||
"status": 0,
|
||||
"count": 1,
|
||||
"mask": 2
|
||||
}
|
||||
},
|
||||
{
|
||||
"window": 25165827,
|
||||
"pid": 1074870,
|
||||
"server_pid": 1074870,
|
||||
"rejection_stage": "game-executable-mismatch",
|
||||
"property_process": {
|
||||
"readable": true,
|
||||
"same_user": true,
|
||||
"game_executable_match": false,
|
||||
"argv0_class": "other-windows-executable",
|
||||
"argv0_case_insensitive_exact": false,
|
||||
"prefix_matches": true,
|
||||
"display_matches": true,
|
||||
"process_stable": true
|
||||
},
|
||||
"server_process": {
|
||||
"readable": true,
|
||||
"same_user": true,
|
||||
"game_executable_match": false,
|
||||
"argv0_class": "other-windows-executable",
|
||||
"argv0_case_insensitive_exact": false,
|
||||
"prefix_matches": true,
|
||||
"display_matches": true,
|
||||
"process_stable": true
|
||||
},
|
||||
"xres_query": {
|
||||
"status": 0,
|
||||
"count": 1,
|
||||
"mask": 2
|
||||
}
|
||||
},
|
||||
{
|
||||
"window": 25165825,
|
||||
"pid": 1074870,
|
||||
"server_pid": 1074870,
|
||||
"rejection_stage": "game-executable-mismatch",
|
||||
"property_process": {
|
||||
"readable": true,
|
||||
"same_user": true,
|
||||
"game_executable_match": false,
|
||||
"argv0_class": "other-windows-executable",
|
||||
"argv0_case_insensitive_exact": false,
|
||||
"prefix_matches": true,
|
||||
"display_matches": true,
|
||||
"process_stable": true
|
||||
},
|
||||
"server_process": {
|
||||
"readable": true,
|
||||
"same_user": true,
|
||||
"game_executable_match": false,
|
||||
"argv0_class": "other-windows-executable",
|
||||
"argv0_case_insensitive_exact": false,
|
||||
"prefix_matches": true,
|
||||
"display_matches": true,
|
||||
"process_stable": true
|
||||
},
|
||||
"xres_query": {
|
||||
"status": 0,
|
||||
"count": 1,
|
||||
"mask": 2
|
||||
}
|
||||
},
|
||||
{
|
||||
"window": 25165826,
|
||||
"pid": 1074870,
|
||||
"server_pid": 1074870,
|
||||
"rejection_stage": "game-executable-mismatch",
|
||||
"property_process": {
|
||||
"readable": true,
|
||||
"same_user": true,
|
||||
"game_executable_match": false,
|
||||
"argv0_class": "other-windows-executable",
|
||||
"argv0_case_insensitive_exact": false,
|
||||
"prefix_matches": true,
|
||||
"display_matches": true,
|
||||
"process_stable": true
|
||||
},
|
||||
"server_process": {
|
||||
"readable": true,
|
||||
"same_user": true,
|
||||
"game_executable_match": false,
|
||||
"argv0_class": "other-windows-executable",
|
||||
"argv0_case_insensitive_exact": false,
|
||||
"prefix_matches": true,
|
||||
"display_matches": true,
|
||||
"process_stable": true
|
||||
},
|
||||
"xres_query": {
|
||||
"status": 0,
|
||||
"count": 1,
|
||||
"mask": 2
|
||||
}
|
||||
},
|
||||
{
|
||||
"window": 16777218,
|
||||
"pid": 1074867,
|
||||
"server_pid": 1074867,
|
||||
"rejection_stage": "game-executable-mismatch",
|
||||
"property_process": {
|
||||
"readable": true,
|
||||
"same_user": true,
|
||||
"game_executable_match": false,
|
||||
"argv0_class": "other-windows-executable",
|
||||
"argv0_case_insensitive_exact": false,
|
||||
"prefix_matches": true,
|
||||
"display_matches": true,
|
||||
"process_stable": true
|
||||
},
|
||||
"server_process": {
|
||||
"readable": true,
|
||||
"same_user": true,
|
||||
"game_executable_match": false,
|
||||
"argv0_class": "other-windows-executable",
|
||||
"argv0_case_insensitive_exact": false,
|
||||
"prefix_matches": true,
|
||||
"display_matches": true,
|
||||
"process_stable": true
|
||||
},
|
||||
"xres_query": {
|
||||
"status": 0,
|
||||
"count": 1,
|
||||
"mask": 2
|
||||
}
|
||||
},
|
||||
{
|
||||
"window": 16777217,
|
||||
"pid": 1074867,
|
||||
"server_pid": 1074867,
|
||||
"rejection_stage": "game-executable-mismatch",
|
||||
"property_process": {
|
||||
"readable": true,
|
||||
"same_user": true,
|
||||
"game_executable_match": false,
|
||||
"argv0_class": "other-windows-executable",
|
||||
"argv0_case_insensitive_exact": false,
|
||||
"prefix_matches": true,
|
||||
"display_matches": true,
|
||||
"process_stable": true
|
||||
},
|
||||
"server_process": {
|
||||
"readable": true,
|
||||
"same_user": true,
|
||||
"game_executable_match": false,
|
||||
"argv0_class": "other-windows-executable",
|
||||
"argv0_case_insensitive_exact": false,
|
||||
"prefix_matches": true,
|
||||
"display_matches": true,
|
||||
"process_stable": true
|
||||
},
|
||||
"xres_query": {
|
||||
"status": 0,
|
||||
"count": 1,
|
||||
"mask": 2
|
||||
}
|
||||
},
|
||||
{
|
||||
"window": 6291463,
|
||||
"pid": 1074838,
|
||||
"server_pid": 1074838,
|
||||
"rejection_stage": "game-executable-mismatch",
|
||||
"property_process": {
|
||||
"readable": true,
|
||||
"same_user": true,
|
||||
"game_executable_match": false,
|
||||
"argv0_class": "other-windows-executable",
|
||||
"argv0_case_insensitive_exact": false,
|
||||
"prefix_matches": true,
|
||||
"display_matches": true,
|
||||
"process_stable": true
|
||||
},
|
||||
"server_process": {
|
||||
"readable": true,
|
||||
"same_user": true,
|
||||
"game_executable_match": false,
|
||||
"argv0_class": "other-windows-executable",
|
||||
"argv0_case_insensitive_exact": false,
|
||||
"prefix_matches": true,
|
||||
"display_matches": true,
|
||||
"process_stable": true
|
||||
},
|
||||
"xres_query": {
|
||||
"status": 0,
|
||||
"count": 1,
|
||||
"mask": 2
|
||||
}
|
||||
},
|
||||
{
|
||||
"window": 6291462,
|
||||
"pid": 1074838,
|
||||
"server_pid": 1074838,
|
||||
"rejection_stage": "game-executable-mismatch",
|
||||
"property_process": {
|
||||
"readable": true,
|
||||
"same_user": true,
|
||||
"game_executable_match": false,
|
||||
"argv0_class": "other-windows-executable",
|
||||
"argv0_case_insensitive_exact": false,
|
||||
"prefix_matches": true,
|
||||
"display_matches": true,
|
||||
"process_stable": true
|
||||
},
|
||||
"server_process": {
|
||||
"readable": true,
|
||||
"same_user": true,
|
||||
"game_executable_match": false,
|
||||
"argv0_class": "other-windows-executable",
|
||||
"argv0_case_insensitive_exact": false,
|
||||
"prefix_matches": true,
|
||||
"display_matches": true,
|
||||
"process_stable": true
|
||||
},
|
||||
"xres_query": {
|
||||
"status": 0,
|
||||
"count": 1,
|
||||
"mask": 2
|
||||
}
|
||||
},
|
||||
{
|
||||
"window": 6291461,
|
||||
"pid": 1074838,
|
||||
"server_pid": 1074838,
|
||||
"rejection_stage": "game-executable-mismatch",
|
||||
"property_process": {
|
||||
"readable": true,
|
||||
"same_user": true,
|
||||
"game_executable_match": false,
|
||||
"argv0_class": "other-windows-executable",
|
||||
"argv0_case_insensitive_exact": false,
|
||||
"prefix_matches": true,
|
||||
"display_matches": true,
|
||||
"process_stable": true
|
||||
},
|
||||
"server_process": {
|
||||
"readable": true,
|
||||
"same_user": true,
|
||||
"game_executable_match": false,
|
||||
"argv0_class": "other-windows-executable",
|
||||
"argv0_case_insensitive_exact": false,
|
||||
"prefix_matches": true,
|
||||
"display_matches": true,
|
||||
"process_stable": true
|
||||
},
|
||||
"xres_query": {
|
||||
"status": 0,
|
||||
"count": 1,
|
||||
"mask": 2
|
||||
}
|
||||
},
|
||||
{
|
||||
"window": 6291460,
|
||||
"pid": 1074838,
|
||||
"server_pid": 1074838,
|
||||
"rejection_stage": "game-executable-mismatch",
|
||||
"property_process": {
|
||||
"readable": true,
|
||||
"same_user": true,
|
||||
"game_executable_match": false,
|
||||
"argv0_class": "other-windows-executable",
|
||||
"argv0_case_insensitive_exact": false,
|
||||
"prefix_matches": true,
|
||||
"display_matches": true,
|
||||
"process_stable": true
|
||||
},
|
||||
"server_process": {
|
||||
"readable": true,
|
||||
"same_user": true,
|
||||
"game_executable_match": false,
|
||||
"argv0_class": "other-windows-executable",
|
||||
"argv0_case_insensitive_exact": false,
|
||||
"prefix_matches": true,
|
||||
"display_matches": true,
|
||||
"process_stable": true
|
||||
},
|
||||
"xres_query": {
|
||||
"status": 0,
|
||||
"count": 1,
|
||||
"mask": 2
|
||||
}
|
||||
},
|
||||
{
|
||||
"window": 6291459,
|
||||
"pid": 1074838,
|
||||
"server_pid": 1074838,
|
||||
"rejection_stage": "game-executable-mismatch",
|
||||
"property_process": {
|
||||
"readable": true,
|
||||
"same_user": true,
|
||||
"game_executable_match": false,
|
||||
"argv0_class": "other-windows-executable",
|
||||
"argv0_case_insensitive_exact": false,
|
||||
"prefix_matches": true,
|
||||
"display_matches": true,
|
||||
"process_stable": true
|
||||
},
|
||||
"server_process": {
|
||||
"readable": true,
|
||||
"same_user": true,
|
||||
"game_executable_match": false,
|
||||
"argv0_class": "other-windows-executable",
|
||||
"argv0_case_insensitive_exact": false,
|
||||
"prefix_matches": true,
|
||||
"display_matches": true,
|
||||
"process_stable": true
|
||||
},
|
||||
"xres_query": {
|
||||
"status": 0,
|
||||
"count": 1,
|
||||
"mask": 2
|
||||
}
|
||||
},
|
||||
{
|
||||
"window": 6291458,
|
||||
"pid": 1074838,
|
||||
"server_pid": 1074838,
|
||||
"rejection_stage": "game-executable-mismatch",
|
||||
"property_process": {
|
||||
"readable": true,
|
||||
"same_user": true,
|
||||
"game_executable_match": false,
|
||||
"argv0_class": "other-windows-executable",
|
||||
"argv0_case_insensitive_exact": false,
|
||||
"prefix_matches": true,
|
||||
"display_matches": true,
|
||||
"process_stable": true
|
||||
},
|
||||
"server_process": {
|
||||
"readable": true,
|
||||
"same_user": true,
|
||||
"game_executable_match": false,
|
||||
"argv0_class": "other-windows-executable",
|
||||
"argv0_case_insensitive_exact": false,
|
||||
"prefix_matches": true,
|
||||
"display_matches": true,
|
||||
"process_stable": true
|
||||
},
|
||||
"xres_query": {
|
||||
"status": 0,
|
||||
"count": 1,
|
||||
"mask": 2
|
||||
}
|
||||
}
|
||||
],
|
||||
"unverified_window_count": 11,
|
||||
"observation_finished": true
|
||||
}
|
||||
BIN
Binary file not shown.
|
After Width: | Height: | Size: 5.3 MiB |
@@ -0,0 +1,81 @@
|
||||
---------------------------------------------
|
||||
Log Z:\tmp\erri-game-profile\logs\logs_2026-09-19_20-50-21\error.log started at 2026-09-19 20:50:23 (2026-09-19 18:50:23 UTC)
|
||||
|
||||
20:50:23.302 DEFAULT (W): LogiLED: Cannot initialize! (service not running or no compatible device detected)
|
||||
20:50:24.568 SCRIPT : Compiling Game scripts
|
||||
20:50:24.568 SCRIPT (W): @"Scripts/Game/Editor/Components/EditableEntity/SCR_EditableEntityComponent.c,785": 'GetPlayerPlatformKind' is obsolete
|
||||
20:50:24.568 SCRIPT (W): @"Scripts/Game/Editor/Components/EditableEntity/SCR_EditableEntityComponent.c,786": 'GetPlayerPlatformId' is obsolete
|
||||
20:50:24.809 SCRIPT (W): @"Scripts/Game/ERR/ERR_SiteService.c,191": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly.
|
||||
20:50:24.821 SCRIPT (W): @"Scripts/Game/Workshop/SCR_AddonManager.c,876": 'GetRefCount' is obsolete: Will be removed
|
||||
20:50:24.847 SCRIPT (W): @"Scripts/Game/Campaign/SCR_PlayerProfileManagerComponent.c,142": 'PlayerData' is obsolete
|
||||
20:50:24.945 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,159": 'GetDSSession' is obsolete
|
||||
20:50:24.945 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,162": 'RoomID' is obsolete
|
||||
20:50:24.946 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,197": 'GetDSSession' is obsolete
|
||||
20:50:24.946 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,201": 'RoomID' is obsolete
|
||||
20:50:24.983 SCRIPT (W): @"Scripts/Game/ERR/ERR_CasualtyGroundSupport.c,21": 'GetBoneIndex' is obsolete: Use GetAnimation().GetBoneIndex() instead
|
||||
20:50:25.028 SCRIPT (W): @"Scripts/Game/ERR/ERR_SpawnLogic.c,64": 'GetPlayerIdentityId' is obsolete
|
||||
20:50:25.040 SCRIPT (W): @"Scripts/Game/DataCollection/SCR_DataCollectorComponent.c,481": 'GetStorage' is obsolete
|
||||
20:50:25.040 SCRIPT (W): @"Scripts/Game/DataCollection/SCR_DataCollectorComponent.c,483": 'GetOnlineWritePrivilege' is obsolete
|
||||
20:50:25.042 SCRIPT (W): @"Scripts/Game/Utilities/SCR_PlayerIdentityUtils.c,20": 'GetPlayerIdentityId' is obsolete
|
||||
20:50:25.083 SCRIPT (W): @"Scripts/Game/ERR/ERR_ExtractionService.c,45": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly.
|
||||
20:50:25.084 SCRIPT (W): @"Scripts/Game/ERR/ERR_ExtractionService.c,56": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly.
|
||||
20:50:25.085 SCRIPT (W): @"Scripts/Game/UI/Menu/MainMenuUI.c,643": 'GetNotifyCount' is obsolete: Will be substitued by Notification Api.
|
||||
20:50:25.085 SCRIPT (W): @"Scripts/Game/UI/Menu/MainMenuUI.c,645": 'GetNotifyItem' is obsolete: Will be substitued by Notification Api.
|
||||
20:50:25.131 SCRIPT (W): @"Scripts/Game/DataCollection/PlayerData/SCR_PlayerData.c,210": 'PlayerData' is obsolete
|
||||
20:50:26.289 DEFAULT (W): No GameMode present in the world, using fallback logic!
|
||||
20:50:28.541 SCRIPT : Compiling Game scripts
|
||||
20:50:28.541 SCRIPT (W): @"Scripts/Game/Editor/Components/EditableEntity/SCR_EditableEntityComponent.c,785": 'GetPlayerPlatformKind' is obsolete
|
||||
20:50:28.541 SCRIPT (W): @"Scripts/Game/Editor/Components/EditableEntity/SCR_EditableEntityComponent.c,786": 'GetPlayerPlatformId' is obsolete
|
||||
20:50:28.789 SCRIPT (W): @"Scripts/Game/ERR/ERR_SiteService.c,191": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly.
|
||||
20:50:28.799 SCRIPT (W): @"Scripts/Game/Workshop/SCR_AddonManager.c,876": 'GetRefCount' is obsolete: Will be removed
|
||||
20:50:28.826 SCRIPT (W): @"Scripts/Game/Campaign/SCR_PlayerProfileManagerComponent.c,142": 'PlayerData' is obsolete
|
||||
20:50:28.921 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,159": 'GetDSSession' is obsolete
|
||||
20:50:28.921 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,162": 'RoomID' is obsolete
|
||||
20:50:28.921 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,197": 'GetDSSession' is obsolete
|
||||
20:50:28.921 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,201": 'RoomID' is obsolete
|
||||
20:50:28.957 SCRIPT (W): @"Scripts/Game/ERR/ERR_CasualtyGroundSupport.c,21": 'GetBoneIndex' is obsolete: Use GetAnimation().GetBoneIndex() instead
|
||||
20:50:28.999 SCRIPT (W): @"Scripts/Game/ERR/ERR_SpawnLogic.c,64": 'GetPlayerIdentityId' is obsolete
|
||||
20:50:29.012 SCRIPT (W): @"Scripts/Game/DataCollection/SCR_DataCollectorComponent.c,481": 'GetStorage' is obsolete
|
||||
20:50:29.012 SCRIPT (W): @"Scripts/Game/DataCollection/SCR_DataCollectorComponent.c,483": 'GetOnlineWritePrivilege' is obsolete
|
||||
20:50:29.013 SCRIPT (W): @"Scripts/Game/Utilities/SCR_PlayerIdentityUtils.c,20": 'GetPlayerIdentityId' is obsolete
|
||||
20:50:29.054 SCRIPT (W): @"Scripts/Game/ERR/ERR_ExtractionService.c,45": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly.
|
||||
20:50:29.054 SCRIPT (W): @"Scripts/Game/ERR/ERR_ExtractionService.c,56": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly.
|
||||
20:50:29.055 SCRIPT (W): @"Scripts/Game/UI/Menu/MainMenuUI.c,643": 'GetNotifyCount' is obsolete: Will be substitued by Notification Api.
|
||||
20:50:29.055 SCRIPT (W): @"Scripts/Game/UI/Menu/MainMenuUI.c,645": 'GetNotifyItem' is obsolete: Will be substitued by Notification Api.
|
||||
20:50:29.102 SCRIPT (W): @"Scripts/Game/DataCollection/PlayerData/SCR_PlayerData.c,210": 'PlayerData' is obsolete
|
||||
20:50:36.073 WORLD : Game::LoadEntities
|
||||
20:50:36.073 WORLD : CreateEntities
|
||||
20:50:36.073 WORLD : CreateEntities
|
||||
20:50:36.073 ENTITY : Create entity @"ENTITY:610406" ('StaticModelEntity','Assets/Structures/Infrastructure/Towers/TransmitterTower_01/TransmitterTower_01_small.xob') at <1931.796021 81.777000 5138.725098> @"{6A004A8F0571D456}Prefabs/Structures/Infrastructure/Towers/TransmitterTower_01/TransmitterTower_01_small.et"
|
||||
20:50:36.073 ENTITY : CreateComponent 'ScriptedRadioComponent'
|
||||
20:50:36.073 DEFAULT (W): World doesn't contain RadioManagerEntity to support any BaseRadioComponent.
|
||||
20:50:42.541 WORLD : InitEntities 'world'
|
||||
20:50:42.541 ENTITY : Init entity @"ENTITY:2305843009213693953" ('Rereintroduced', ERR_GameMode) at <1076.468018 51.000999 1325.246948> @"{978E045E53EF36C8}Prefabs/ERR/GameMode.et"
|
||||
20:50:42.541 SCRIPT (W): SCR_PerceivedFactionManagerComponent trying to set fall back faction 'CIV' but this faction could not be found so it is null instead.
|
||||
20:50:43.489 ENTITY : SpawnEntityPrefab @"{225E51284CC95CFA}Prefabs/Characters/Core/DefaultPlayerControllerMP.et"
|
||||
20:50:43.489 ENTITY : Create entity @"ENTITY:4611686018427388381" ('SCR_PlayerController') at <0.000000 0.000000 0.000000>
|
||||
20:50:43.489 ENTITY : EntityPrefabUse @"{225E51284CC95CFA}Prefabs/Characters/Core/DefaultPlayerControllerMP.et"
|
||||
20:50:43.489 SCRIPT (W): Notification data in 'SCR_NotificationsLogDisplay' has duplicate notification info key: 'EDITOR_PERCEIVED_FACTION_PUNISHMENT_KILLING_SET'. There should only be one of each key!
|
||||
20:50:43.489 SCRIPT (W): Notification data in 'SCR_NotificationsLogDisplay' has duplicate notification info key: 'EDITOR_PERCEIVED_FACTION_TYPE_DISABLED'. There should only be one of each key!
|
||||
20:50:43.491 SCRIPT (W): Can't open config file ""
|
||||
20:50:43.491 SCRIPT (W): Cannot update game blocklist. Backend is offline.
|
||||
20:50:43.492 WORLD : InitEntities 'world'
|
||||
20:50:43.492 ENTITY : Init entity @"ENTITY:4611686018427388381" ('SCR_PlayerController') at <0.000000 0.000000 0.000000> @"{225E51284CC95CFA}Prefabs/Characters/Core/DefaultPlayerControllerMP.et"
|
||||
20:50:43.492 GUI : WidgetManager: CrateWidgets @"{3C9DCDD76AB83157}UI/layouts/HUD/HUDLayouts/HUDManager_Root.layout"
|
||||
20:50:43.492 SCRIPT (W): Slot_WeaponInfo Has no Content!
|
||||
20:50:43.492 SCRIPT (W): Slot_Chat Has no Content!
|
||||
20:50:43.492 SCRIPT (W): Slot_VON Has no Content!
|
||||
20:50:43.492 SCRIPT (W): Slot_AvailableActions Has no Content!
|
||||
20:50:43.492 SCRIPT (W): Slot_Vehicle Has no Content!
|
||||
20:50:43.492 SCRIPT (W): Slot_GameVersion Has no Content!
|
||||
20:50:43.492 SCRIPT (W): Slot_Notifications Has no Content!
|
||||
20:50:43.492 SCRIPT (W): Slot_Hints Has no Content!
|
||||
20:50:43.503 SCRIPT (W): Ban Settings could not be loaded from BE Storage: Relying on default config
|
||||
20:50:43.693 WORLD : UpdateEntities
|
||||
20:50:43.693 WORLD : PostFrame
|
||||
20:50:43.693 GUI : WidgetManager: CrateWidgets @"{D89BBA18F99053D6}UI/layouts/HUD/Chat/ChatHud.layout"
|
||||
20:50:43.693 SCRIPT (W): EditBoxFilterComponent used on invalid widget type.
|
||||
20:50:43.742 RESOURCES : GetResourceObject @"{20A6917D2114E29A}UI/layouts/HUD/Hint/HintInfoDisplay.layout"
|
||||
20:50:43.742 GUI : Layout load @"{20A6917D2114E29A}UI/layouts/HUD/Hint/HintInfoDisplay.layout"
|
||||
20:50:43.742 GUI : Widget prefab @"{EA1CC57D868E94F9}UI/layouts/HUD/Hint/Hint.layout"
|
||||
20:50:43.742 GUI (W): Overridden prefab member (GUID: '{661AB14E0F471C66}' type: ButtonWidgetClass) no longer exists in prefab
|
||||
+81
@@ -0,0 +1,81 @@
|
||||
{
|
||||
"log": "console.log",
|
||||
"smoke_completions": 0,
|
||||
"assertions_passed": 0,
|
||||
"script_or_runtime_failures": [],
|
||||
"engine_errors": [],
|
||||
"missing_end_screen": [],
|
||||
"scope": "ordinary game startup with an explicitly requested bounded private input experiment; see input_exercise for sent-input and native-proof results; no full escape, multiplayer or FPS qualification",
|
||||
"local_participant_verified": true,
|
||||
"scenario_header_verified": true,
|
||||
"verified_header_projects": [
|
||||
"chat"
|
||||
],
|
||||
"game_module_defines": [
|
||||
"PLATFORM_WINDOWS,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE,ENABLE_BASE_DESTRUCTION,BUDGET_OPTIMIZATION_CHECKS,DEBUG,RESPAWN_TIMER_COMPONENT_DEBUG,DEBUG_CONFIGURABLE_DIALOGS,DISABLE_WEAPON_SWITCHING,SCRIPTED_AIM_MODIFIER_DEBUG",
|
||||
"PLATFORM_WINDOWS,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE,ENABLE_BASE_DESTRUCTION,BUDGET_OPTIMIZATION_CHECKS,DEBUG,RESPAWN_TIMER_COMPONENT_DEBUG,DEBUG_CONFIGURABLE_DIALOGS,DISABLE_WEAPON_SWITCHING,SCRIPTED_AIM_MODIFIER_DEBUG"
|
||||
],
|
||||
"workbench_undefined": true,
|
||||
"normal_mission_ready": true,
|
||||
"unexpected_smoke_fixture": false,
|
||||
"failed": false,
|
||||
"ready": true,
|
||||
"failure_observed_during_polling": false,
|
||||
"input_observation": {
|
||||
"nonce": "ce06dd0073694c469d53956617d51bdf",
|
||||
"read_only": true,
|
||||
"input_sent": false,
|
||||
"sampler_complete": false,
|
||||
"queued": true,
|
||||
"ready": true,
|
||||
"finished": false,
|
||||
"cancelled": false,
|
||||
"sample_count": 329,
|
||||
"record_count": 332,
|
||||
"inventory_open_observed": false,
|
||||
"inventory_close_observed": false,
|
||||
"capture_requests": [
|
||||
"baseline"
|
||||
],
|
||||
"movement": {
|
||||
"action_observed": false,
|
||||
"physical_motion_observed": false,
|
||||
"released_input_observed": false,
|
||||
"max_horizontal_displacement": 0.0
|
||||
},
|
||||
"transitions": [
|
||||
{
|
||||
"sample": 0,
|
||||
"real_ms": 30453,
|
||||
"world_ms": 7684.52,
|
||||
"event": "QUEUED"
|
||||
},
|
||||
{
|
||||
"sample": 20,
|
||||
"real_ms": 32719,
|
||||
"world_ms": 9938.07,
|
||||
"event": "READY"
|
||||
},
|
||||
{
|
||||
"sample": 22,
|
||||
"real_ms": 33039,
|
||||
"world_ms": 10238.3,
|
||||
"event": "CAPTURE_REQUEST baseline"
|
||||
}
|
||||
],
|
||||
"errors": [
|
||||
"missing/duplicate/misordered FINISHED"
|
||||
],
|
||||
"scope": "native read-only sampler lifecycle only; no generated input, movement success, inventory usability, screenshot file verification, manual playtest or multiplayer claim"
|
||||
},
|
||||
"input_exercise": {
|
||||
"requested": true,
|
||||
"verified": false,
|
||||
"input_sent": true,
|
||||
"gameplay_qualified": false,
|
||||
"scope": "bounded private keyboard delivery plus native movement/inventory observations; no full escape or multiplayer qualification",
|
||||
"sha256": "23a1ed5fad7b15408ff37dc0dd0b8713be7825a096e3449f05b80c338b77cd62",
|
||||
"archive_file": "input-proof.json",
|
||||
"error": "Private input sequence did not complete with confirmed paired release"
|
||||
}
|
||||
}
|
||||
+140
@@ -0,0 +1,140 @@
|
||||
[gamescope] [[0;34mInfo[0m] [0;37mconsole:[0m gamescope version 3.16.28 (gcc 16.2.1)
|
||||
No CAP_SYS_NICE, falling back to regular-priority compute and threads.
|
||||
Performance will be affected.
|
||||
[gamescope] [[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/deckhd.steamdeck.deckhd-lcd.lua' (id: 4)
|
||||
[gamescope] [[0;34mInfo[0m] [0;37mscriptmgr:[0m Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/gpd.win4.lcd.lua' (id: 5)
|
||||
[gamescope] [[0;34mInfo[0m] [0;37mscriptmgr:[0m Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/lenovo.legiongo.lcd.lua' (id: 6)
|
||||
[gamescope] [[0;34mInfo[0m] [0;37mscriptmgr:[0m Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/lenovo.legiongos.lcd.lua' (id: 7)
|
||||
[gamescope] [[0;34mInfo[0m] [0;37mscriptmgr:[0m Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/onexplayer.f1.oled.lua' (id: 8)
|
||||
[gamescope] [[0;34mInfo[0m] [0;37mscriptmgr:[0m Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/valve.steamdeck.lcd.lua' (id: 9)
|
||||
[gamescope] [[0;34mInfo[0m] [0;37mscriptmgr:[0m Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/valve.steamdeck.oled.lua' (id: 10)
|
||||
[gamescope] [[0;34mInfo[0m] [0;37mscriptmgr:[0m Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/zotac.zone.oled.lua' (id: 11)
|
||||
[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 :2
|
||||
The XKEYBOARD keymap compiler (xkbcomp) reports:
|
||||
> Warning: Multiple symbols for level 1/group 1 on key <FK23>
|
||||
> Using F23, ignoring XF86TouchpadOff
|
||||
> Warning: Symbol map for key <FK23> redefined
|
||||
> Using last definition for conflicting fields
|
||||
> Warning: Symbol map for key <FK24> redefined
|
||||
> Using last definition for conflicting fields
|
||||
> Warning: Could not resolve keysym XF86ElectronicPrivacyScreenOn
|
||||
> Warning: Could not resolve keysym XF86ElectronicPrivacyScreenOff
|
||||
> Warning: Could not resolve keysym XF86ActionOnSelection
|
||||
> Warning: Could not resolve keysym XF86ContextualInsert
|
||||
> Warning: Could not resolve keysym XF86ContextualQuery
|
||||
Errors from xkbcomp are not fatal to the X server
|
||||
[gamescope] [[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: 127
|
||||
[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
|
||||
ATTENTION: default value of option vk_wsi_force_swapchain_to_current_extent overridden by environment.
|
||||
[Gamescope WSI] Application info:
|
||||
pApplicationName: xalia.exe
|
||||
applicationVersion: 0
|
||||
pEngineName: DXVK
|
||||
engineVersion: 12587008
|
||||
apiVersion: 4206592
|
||||
[Gamescope WSI] Executable name: xalia.exe
|
||||
ATTENTION: default value of option vk_wsi_force_swapchain_to_current_extent overridden by environment.
|
||||
[Gamescope WSI] No application info given.
|
||||
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
|
||||
[Gamescope WSI] Application info:
|
||||
pApplicationName: ArmaReforgerSteam.exe
|
||||
applicationVersion: 0
|
||||
pEngineName: DXVK
|
||||
engineVersion: 12587008
|
||||
apiVersion: 4206592
|
||||
[Gamescope WSI] Executable name: ArmaReforgerSteam.exe
|
||||
ATTENTION: default value of option vk_wsi_force_swapchain_to_current_extent overridden by environment.
|
||||
[Gamescope WSI] Application info:
|
||||
pApplicationName: (null)
|
||||
applicationVersion: 0
|
||||
pEngineName: (null)
|
||||
engineVersion: 0
|
||||
apiVersion: 4198400
|
||||
ATTENTION: default value of option vk_wsi_force_swapchain_to_current_extent overridden by environment.
|
||||
[Gamescope WSI] Application info:
|
||||
pApplicationName: ArmaReforgerSteam.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] Application info:
|
||||
pApplicationName: (null)
|
||||
applicationVersion: 0
|
||||
pEngineName: (null)
|
||||
engineVersion: 0
|
||||
apiVersion: 4198400
|
||||
ATTENTION: default value of option vk_wsi_force_swapchain_to_current_extent overridden by environment.
|
||||
[Gamescope WSI] Application info:
|
||||
pApplicationName: ArmaReforgerSteam.exe
|
||||
applicationVersion: 0
|
||||
pEngineName: vkd3d
|
||||
engineVersion: 12587008
|
||||
apiVersion: 4206592
|
||||
[Gamescope WSI] Forcing on VK_EXT_swapchain_maintenance1.
|
||||
[Gamescope WSI] Creating Gamescope surface: xid: 0x1a00030
|
||||
[Gamescope WSI] Atom of T was wrong type. Expected XCB_ATOM_CARDINAL.
|
||||
[Gamescope WSI] Made gamescope surface for xid: 0x1a00030
|
||||
[Gamescope WSI] Surface state:
|
||||
steam app id: 1874880
|
||||
window xid: 0x1a00030
|
||||
wayland surface res id: 5
|
||||
layer client flags: 0x4
|
||||
server hdr output enabled: false
|
||||
hdr formats exposed to client: false
|
||||
[Gamescope WSI] Creating swapchain for xid: 0x1a00030 - oldSwapchain: (nil) - provided minImageCount: 3 - minImageCount: 3 - format: VK_FORMAT_R8G8B8A8_UNORM - colorspace: VK_COLOR_SPACE_SRGB_NONLINEAR_KHR - flip: true
|
||||
[Gamescope WSI] Created swapchain for xid: 0x1a00030 swapchain: 0x7f522c1815c0 - imageCount: 3
|
||||
[Gamescope WSI] Destroying swapchain: 0x7f522c1815c0
|
||||
[Gamescope WSI] Destroyed swapchain: 0x7f522c1815c0
|
||||
[Gamescope WSI] Creating swapchain for xid: 0x1a00030 - oldSwapchain: (nil) - provided minImageCount: 3 - minImageCount: 3 - format: VK_FORMAT_R8G8B8A8_UNORM - colorspace: VK_COLOR_SPACE_SRGB_NONLINEAR_KHR - flip: true
|
||||
[Gamescope WSI] Created swapchain for xid: 0x1a00030 swapchain: 0x7f522c1815c0 - imageCount: 3
|
||||
[xwayland ei] Unhandled event EI_EVENT_SYNC (91)
|
||||
[gamescope] [[0;31mError[0m] [0;37mgamescope_ei:[0m Unhandled libei event!
|
||||
File diff suppressed because it is too large
Load Diff
+202
@@ -0,0 +1,202 @@
|
||||
{
|
||||
"addons/ai/Prefabs/ERR/MortarCrew.et": "05d3e7353ff9fe5523218a1487b31b7b742b0be8adbcb060c7099978cf008bce",
|
||||
"addons/ai/Prefabs/ERR/MortarCrew.et.meta": "fdfd4fcd21a67c3d698fa4aadc4e5c76e665cebf4be86013bc389e493fab63cc",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_AircraftControlBridge.c": "b8f0141644d8f043c6db4c2d4bb93215c548e5c27ab5468c66e996d62bdf905a",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_AircraftFieldEnvelope.c": "c02c8e6fbdfd3b8c67461590d532019d3bf0002307b19aee604eb17ad230c329",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_AircraftFieldFlight.c": "e3322b6d85b1234bfbf218a119cf6f7eed0b9ddd160004d2d9fe02c64ed857ba",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_AircraftFieldRules.c": "395eadae1067f230c26dbf73f43e39180173e173fd04a346839c474e084feaae",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_AircraftFlight.c": "aa25a8e67a30c48677bf528236402b7f8e5d815dc18df93b878520ad3d1fe8a7",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_AircraftFlightEnvelope.c": "8125cef61fb283d0d7c4dd2df3c04b062b448f1101fd48dd53f4f4097df5fef3",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_AircraftRouteEnvelope.c": "e8fcef844239c47a1f2f36be420afe943bc450091b05859435406b46c87fa511",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_AircraftRouteFlight.c": "1d8d92bf6d97429d68a9f62018232e90cc124cc8d7445efeabe863706a31e2b9",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_AircraftService.c": "bf52361c9d07b2c632d6ad755cbca76683f5ad4a8208e6eec690c367efa44549",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_HQ.c": "7ee8e7a3282fd566ec330c94854b353b2c6178e9b964f7b4d5e197e4d0b7dee9",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_HQJournal.c": "b3e402cfe92d415f37f666045afb062e6e11670ba03a0ca6f2d9fd4fc3520ac1",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_HQNetwork.c": "92ff2caca52e94c2cc9642dfc8509ce6e9349b257012bade8650bace9231128c",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_HQObservation.c": "36c978ec5f052213ac1236e1398d85063efbfd7ef60fe04f1fc11447fefe1d68",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_HQReport.c": "c4d16ccb571db4d9444c0a8d2be7318845d25ff90238b6d304e96a9ea19f1a08",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_HelicopterAvailability.c": "60eaef2f6d4b2fd44861c5a4434ef97e732e40a5ff7401e2da451ed2dd9c2762",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_MortarAimSolution.c": "59e8343d09f7a44871d8d3335d6ad1d02216abb5deed30d38b5ec9ba3f2c0649",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_MortarBattery.c": "a4eed96d17f239cbf353863ebe40d2282aeacd7a4d63a7b2f0ecfb3d93a2e2b2",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_MortarCourierTransfer.c": "968e58ca700b4a11e5e04a5c159696f514a0b1bce531210172b913e495f7e2b7",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_MortarFiring.c": "7aec51c83972610d1bcbca58b84b14f16f59952d402b12c3d88e7192a3e2ee90",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_MortarLogistics.c": "e1ffb25fba384b449de576a5502a93d875c3f52e8da1941bbf590ad9845f9730",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_MortarPrediction.c": "470dd196ed64800c697d24c09d1344bacd2502587fac76af4ee0edae2563092d",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_MortarReadiness.c": "2fabe8f812fd333cea7199d1eb722c807fcc5adb285c618956bd54d31fa27ce3",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_MortarRefresh.c": "52ae8d9d6cad92f42d68c634091b80a474d2666b6c06d63a8c30a3fab71494c4",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_MortarReportLedger.c": "42a96040b63e56677353e55164ae23031c90f70b4d6673a9f412ad7b19e636ae",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_MortarSalvo.c": "697c01f479df6c505a41d984a29c02002e3052114dafa2ec6252ae55e2979a2b",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_MortarSupplyTransfer.c": "34f7eaa01dc68e97aae8c1177b7f8fd6c15d5a41c6dc86de377f00b3613a8e77",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_MortarSystem.c": "4edefc8530cc6eec7a5e1df1d0b7d56e6801186f23c61331ce0e8075b8281efb",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_NativeAircraftControlProbe.c": "0cf3e72ccdc42e6ef20fb71d743f0e037a9e69b2e082c720fa705628cf790205",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_NativeAircraftRouteProbe.c": "61d224bfecfd0701206bab4f8446394ba0b8b2e27eb0f17b81d1b6a741c25f28",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_NativeMortarCourierProbe.c": "740c8bebbd4128a9311b1167d1058549475d6b46f81c9b6c0d19650f4b50616f",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_NativeMortarFiringProbe.c": "ee570d21bede8baebefc799399712d9582b3e30ebda7299f6c941777f02ad2a2",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_NativeMortarSalvoProbe.c": "5fd7bb8953f6850ad79e646c0c286153108a10ee2d5ef397ccb65a07f8d2ed7c",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_NativeMortarTransferProbe.c": "399c21940ef10777b46fdb3e905430ce43404ce1de2f4a6bb62f9c61c1a0689c",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_NativePatrolHQProbe.c": "4c04aa3e1b6b000747da8e2a919a6501107880fd041134c019f516665bb6f758",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_SettlementSafety.c": "e5c0ebc95521a9a33a3f7d9cca6c551dda862a08b7af20b017877aba9584795b",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_SupportScenario.c": "71757018ec9716c4dc24f62a292a214919d3fd5daed3c16e03e56abd208e9f03",
|
||||
"addons/ai/addon.gproj": "5f559db8f526700db11e6ae763f5245f19b7006fc68c56e4c09fb6f940bdf2a1",
|
||||
"addons/chat/Missions/ERR_Everon.conf": "76f3ac0d21b585654beac7ddd68e3c8cbdd66dbfe909b17b04838fa813a7c29b",
|
||||
"addons/chat/Missions/ERR_Everon.conf.meta": "0a23c98bf83873536c65fa17d38dea33a1d7b9e4ab210f90633ff688abcc551f",
|
||||
"addons/chat/Scripts/Game/ERR/ERR_AdminCommands.c": "d7b4ed95fc32767911936cb0fcc60763233f2c31afd34a6a0fa998b39cec9f5c",
|
||||
"addons/chat/Scripts/Game/ERR/ERR_NativeHQResponseProof.c": "0f8b09fd8753234c91fd6baaca0e2f812e409ae1c4be8f340b648ae59b69c2f3",
|
||||
"addons/chat/Scripts/Game/ERR/ERR_NativeMortarProbe.c": "ddb892141500c192c0787b011d57dd8c07dd8c9a3ca5fdc407f6c271897bde0a",
|
||||
"addons/chat/Scripts/Game/ERR/ERR_NativeRadioProbe.c": "84524163c63402755b4f834f74dfe6d8e5c397dc26031f532593c6f79f5a93b1",
|
||||
"addons/chat/Scripts/Game/ERR/ERR_NativeSmoke.c": "cb4ae42bad04045fe15ec80e9c612a4453e18d9ee6f628e4461de9b97e6b7cda",
|
||||
"addons/chat/Scripts/Game/ERRChat/ERR_OrdinaryScenarioLaunchChat.c": "dda715c9691d366e35fa2ad5e390dee1971651f137a5a9f9aeb23dcbe53ec87e",
|
||||
"addons/chat/Scripts/WorkbenchGame/ERR/ERR_ValidateWorldPlugin.c": "81c92d408ce88cc9f98d6053f1d0c863427693ba748f00df9f1bf8079015ef94",
|
||||
"addons/chat/addon.gproj": "ea1587e0174cf795334d306c71d99b06797fc891427cd57b6cab6e21cf0e4e0e",
|
||||
"addons/core/Configs/ERR/EveronSites.conf": "ade92cc8d2b14a84ac378bbbb52608b351dca65d359dd7a315d64a145fa4b46f",
|
||||
"addons/core/Configs/ERR/EveronSites.conf.meta": "d5fe68025ef4e7c1e16082cf5873b7c7172eacbfaef4ab29b7e0e3c98f8dca56",
|
||||
"addons/core/Configs/ERR/Factions/MissionVehicles.conf": "5f74f4a7089c7e7b54ad62463159ce8f0bab25a6b85268dc3872ea6001e048fb",
|
||||
"addons/core/Configs/ERR/Factions/MissionVehicles.conf.meta": "00c368b6271d3440cc8bf627b03a384d247635723923fc5ad2104b8b4007b035",
|
||||
"addons/core/Configs/ERR/Factions/US.conf": "4c3da063abb6e3ee39a6e4e0c5a9ffd5eae9d209d58470ea18b45dba5528db1b",
|
||||
"addons/core/Configs/ERR/Factions/US.conf.meta": "a05469aef028e9e17eba545e81e2af2887b59f0fef17dac51a23c7b8155e381b",
|
||||
"addons/core/Configs/ERR/Factions/USSR.conf": "407ea27f80a64c5184c089d43cdd0bdabfc5974c84f1d2a245081fdf2afa3f30",
|
||||
"addons/core/Configs/ERR/Factions/USSR.conf.meta": "057397d97096346791b51b7b13fbe18af218bcf78e9984d9c01b49a2403de611",
|
||||
"addons/core/Configs/ERR/GameOverScreens.conf": "45231061911a1462d45fb6db0fecc2b0793f17b5ae71017174954ff4fbd20236",
|
||||
"addons/core/Configs/ERR/GameOverScreens.conf.meta": "eb654b745c0b97b41c991694569ef4877a3c2315e0826f9556337cd68690843e",
|
||||
"addons/core/Configs/ERR/VanillaFactions.conf": "db890b61b48ee15484041fd2245a862d9fa9e7ba21b1229c281ff37c448a35b1",
|
||||
"addons/core/Configs/ERR/VanillaFactions.conf.meta": "ac77725c0c21974991ef47a466b88122e939de8b46fd23e68889e7674cbb2bfd",
|
||||
"addons/core/Missions/ERR_Everon_Base.conf": "1e6a0e9a756d15495201f71121626890f01efe6b00154c561672d4ec157960bd",
|
||||
"addons/core/Missions/ERR_Everon_Base.conf.meta": "9b16267c644d815bcf98a3a3aaff30b93d7224fb24d3a2bac66730a28011f317",
|
||||
"addons/core/Prefabs/ERR/Extraction.et": "1aa286ef253c5410f09fa641e4be91a7be8ec834487a7fbb74cfb45cab60ee1e",
|
||||
"addons/core/Prefabs/ERR/Extraction.et.meta": "c2a838633001e2e3a202d39cb33aa744ebcd996017ad032359069641b5d13853",
|
||||
"addons/core/Prefabs/ERR/FactionManager.et": "425f916b890019c537f6b2f72b1af9e7be54b0a476320da969e1f313a7ac5ea5",
|
||||
"addons/core/Prefabs/ERR/FactionManager.et.meta": "9bf53d5e4bcbe60dd1a4ece1409fc23c349055c860708620f5f6e9716290a97d",
|
||||
"addons/core/Prefabs/ERR/FieldCover.et": "20f8095e69dbfe3db74ff19078e528ea75405362b335e03560ccd61f8df2e7f3",
|
||||
"addons/core/Prefabs/ERR/FieldCover.et.meta": "83461ffa76244e1d69f20b053a9741ccdf7d127009182bd540a7e5ba6150c3d9",
|
||||
"addons/core/Prefabs/ERR/GameMode.et": "385c97a5b8067091d92aa60c2d4fcf02002cf606b95523866ead65c96b8c0029",
|
||||
"addons/core/Prefabs/ERR/GameMode.et.meta": "106769cd34525c9d440057072836cb7401a6752148c40edd7fe61c03bd58328c",
|
||||
"addons/core/Prefabs/ERR/ObjectiveDocument.et": "2e72270bf186654af12d2c3ff9bf940690b03fb17fca44f873c1fde5d11384c0",
|
||||
"addons/core/Prefabs/ERR/ObjectiveDocument.et.meta": "eaba9903be147b98a1106e2273e2270773df73b9b22f2cd4e20136a8e281382e",
|
||||
"addons/core/Prefabs/ERR/Patrol.et": "c5685a8bc311cc5563fb3334beec9408d3d7a1069152fddeeb7df4f1b7f9e6ce",
|
||||
"addons/core/Prefabs/ERR/Patrol.et.meta": "7c5da568fa2fcf0709ee2959253cb068d7c7ed7c2467af3b247a7e70efd96b69",
|
||||
"addons/core/Prefabs/ERR/Prison.et": "dcd3f4dfd453303d026e68b64f7de6125bd3390822d8432dd95a3710a5b3df89",
|
||||
"addons/core/Prefabs/ERR/Prison.et.meta": "2e426ef3de68f4107907854b51e818bc11d84649a01c538e3f18dd9ebec766bb",
|
||||
"addons/core/Prefabs/ERR/PrisonDoor.et": "fc66be9d36f1f01084de59f1b0a1e8817f9e46547ead33d4fafaac0107446c40",
|
||||
"addons/core/Prefabs/ERR/PrisonDoor.et.meta": "b8f3db52bf186426026668fbb9d633c3cbd4d438ab301fba880398f6a0e781c2",
|
||||
"addons/core/Prefabs/ERR/PrisonWall.et": "8009d19365ae72a4749d7ad4fa04662575b06c65c6bf06507d380d57258b5eed",
|
||||
"addons/core/Prefabs/ERR/PrisonWall.et.meta": "0294bc5dbb56f90f8153d62459bb0a6ad91d76a479812bbec9c7db182fdb58d6",
|
||||
"addons/core/Prefabs/ERR/Prisoner.et": "198b5badabb12f218f86df7eb4dc268fd830769dc3de7eef6362cfaee4d6fc8d",
|
||||
"addons/core/Prefabs/ERR/Prisoner.et.meta": "974278ba49fafeed70b619a0067bbc70ae4d534be441c812ce2bef4a5fb3c022",
|
||||
"addons/core/Prefabs/ERR/Radio.et": "b4b5cfe125b39019855816c9a1c508ca4d65d435b5546fdaa6c1fa3c8c9b1165",
|
||||
"addons/core/Prefabs/ERR/Radio.et.meta": "bc91137b68ba550217914fb8892bb44d7e1920e4a1086f3e506623832a44212f",
|
||||
"addons/core/Prefabs/ERR/SpectatorCamera.et": "b5b87d5b7b707f3745741aebe7c923067c8a74f8fbb2a4711834bab03bb5a812",
|
||||
"addons/core/Prefabs/ERR/SpectatorCamera.et.meta": "2a16558f93915e31908a674509e9c89976470f78a84a1174a64b94b68b8f77ad",
|
||||
"addons/core/Prefabs/ERR/SupplyCache.et": "bccf7afbaae97cfcdd78dd6dbbf4be5b2c045d348f50fe4581962e556c0044d7",
|
||||
"addons/core/Prefabs/ERR/SupplyCache.et.meta": "2f5de3a4aab1e9d0e35521f48dc57b95bd6e449c383dec4f1c258e10295904cb",
|
||||
"addons/core/Prefabs/ERR/SupplySite.et": "dc5decce5cabf39b6116e8794ec3960cb1e35761854fdbe69740da118787ded4",
|
||||
"addons/core/Prefabs/ERR/SupplySite.et.meta": "b41944b12eb3528ff7a3ac94258b18c66ef161aa6a38894aee300a1ac4798630",
|
||||
"addons/core/Scripts/Game/ERR/ERR_Actions.c": "cabb21413c90b252d29708b62228d0679c51c76e39ee0e483953ad7061b2b9d6",
|
||||
"addons/core/Scripts/Game/ERR/ERR_Actors.c": "bb5e2d065ec40629cebebf2be25958b992ad05dbc906c5f66dddbe6c6d4ff124",
|
||||
"addons/core/Scripts/Game/ERR/ERR_AdminService.c": "9985747d5ddaeb91bf27937836a6c369f8dcb353263b77a49212ec28c10ba4eb",
|
||||
"addons/core/Scripts/Game/ERR/ERR_CasualtyGroundSupport.c": "26f0c7ebe8563bb022f7c383674e7d8997b0cc35c7ea321d39d74f2493c1ed9d",
|
||||
"addons/core/Scripts/Game/ERR/ERR_CasualtyLoadingGameMode.c": "f4cf19440583ac24346831a2d5f1d7f734c031e46dc266c499972329dd0533cf",
|
||||
"addons/core/Scripts/Game/ERR/ERR_CasualtyLoadingOwner.c": "6346a05ddda030f7d9b6f026f977d5f018ee16002fa519e8c49dcd700c323dc7",
|
||||
"addons/core/Scripts/Game/ERR/ERR_CasualtyLoadingService.c": "93fe23d9e1da596886c33cf76bad92b0906ff5cdd8b5b21d58906e9270246201",
|
||||
"addons/core/Scripts/Game/ERR/ERR_DiscoveryMap.c": "7553c8cc1388cca3404994e36f96946c6abd1fefb08cef2fbb3ea1a62b22861b",
|
||||
"addons/core/Scripts/Game/ERR/ERR_DiscoveryService.c": "2793bb888566dd975e5bbf93fdb47a22e3b0f33a68d04992191cf6428ae942a0",
|
||||
"addons/core/Scripts/Game/ERR/ERR_DocumentComponent.c": "17bb76b80ebd3357e46d553c44674f602c7bd6901c92aec53ac8214194aa4ff2",
|
||||
"addons/core/Scripts/Game/ERR/ERR_EnvironmentService.c": "867e9f47adfb7a9819a8b58498688ff86127282cb89cf2529ae81f73e529e1c5",
|
||||
"addons/core/Scripts/Game/ERR/ERR_EscapeGameOverScreenInfo.c": "8893b161bf168884d62f1315d3c8aa9af4ca413f621d6f8e2525bb5245d5f509",
|
||||
"addons/core/Scripts/Game/ERR/ERR_ExtractionPlacement.c": "c30222ca25cc0e91dec4077e6b82b37a9edafcf2cbebd0be5b6bd8656b53adfe",
|
||||
"addons/core/Scripts/Game/ERR/ERR_ExtractionService.c": "91357099b4e0401196b67d48963be54be30e56bdba57cdac67dc20b8ebb883e9",
|
||||
"addons/core/Scripts/Game/ERR/ERR_FactionCatalog.c": "a5a8c53acf21259e14f59cb919535910f30dabff5a9179c664bc6a7a4d744d6e",
|
||||
"addons/core/Scripts/Game/ERR/ERR_GameMode.c": "b5b07abdfecde247b9d9d6f74dddfff50fde825f3c7fe6d86abd97e85f87b2e7",
|
||||
"addons/core/Scripts/Game/ERR/ERR_InitialGuardRules.c": "8c9d6b1dc4c2af96284e34f487eebb5a221091016ef108006dec60b4e3836558",
|
||||
"addons/core/Scripts/Game/ERR/ERR_Inventory.c": "b63e679d5b650b63a7a91dfc3f42a62f4be58b0338f6df3313e66d29a93bebf6",
|
||||
"addons/core/Scripts/Game/ERR/ERR_InventoryLayout.c": "1af5df45a0f06d19a017954e9bf4b2d722e2d2389f8ffdeb1d024435b9a08be8",
|
||||
"addons/core/Scripts/Game/ERR/ERR_ItemStationTeardown.c": "102e61216e86e47ad243cc19f6f66da1fcd8cc77f8799354ceaeb4a6dc74622e",
|
||||
"addons/core/Scripts/Game/ERR/ERR_LoadCasualtyAction.c": "5d868fb065a1a0fea7d5abfc81d1d8be96823815535f2ffd0dc4ff60d8eae794",
|
||||
"addons/core/Scripts/Game/ERR/ERR_LocalAdmission.c": "b0e824c6880cbf9b1f368dc7ada9907bde78b22b948d419b6c861323f32258be",
|
||||
"addons/core/Scripts/Game/ERR/ERR_Location.c": "d2035f56ded35743312ec6ca91a67f8623a466c91255e1893c570edf0954ff24",
|
||||
"addons/core/Scripts/Game/ERR/ERR_MissionRules.c": "f7abc38ad8fdc375ce7fa63a65f0bade027d22b37e09de5e3f94ba8c3c63cc41",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeAdminSettingsProbe.c": "6a4df33a2b0e6b6aeed944c6895961e658d4f0db9aed9b8433a43a451fa35cae",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeBaseSmoke.c": "7b35e53ceb91b8235fb753d42c8d5c80f6164b6d4cb53c685e058c409662708a",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeCasualtyGroundProbe.c": "41f40db3735f8aa535c0061458d9892dcfe972222b8a17238e67b65633c46bc3",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeCasualtyLoadProbe.c": "94c533deea654ec546df3f1ebb7cd213e6cd79b1125d99bab5303ef8e87b018b",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeCasualtyRemoveProbe.c": "4cfc06f6d43b709b63caae714155ffc562502e884f49a9825623c6f46972ad36",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeCasualtyServiceProbe.c": "02a9d70d1f4ba20326df199ba41489cfbae12b7bb0aab441361421cee38ad9ea",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeContractsProbe.c": "d1556df885171cf967e96eef5d8981a2e9ee4e3938b7d32fdd0426f647bbabc0",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeDefinitionProbe.c": "c07048341396443ddf5307e340e2087254d65f0bddf8f7d93e6b6bd7f03ca360",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeDiscoveryMapProbe.c": "9ed32d391d08d937ff4f9f33bd11c3a204ce9a2230c2d72b6761e0320b31f24f",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeEndProbe.c": "2dec80c7e247ec5c257407f95d9d5edd42fe0cc44d6af9f724f6ebd10d8a355f",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeEnvironmentProbe.c": "8b1d110717aa5f07bfb8fe633847eab519109e3a8a4100970a487be05c053418",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeEnvironmentRestartProbe.c": "7a836a206381b8e8de24c92baf141beb30575723675dd6948d738169ed26b507",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeExtractionProbe.c": "4b09385f73206de004f4f3c38a6192fd658a0d2012482dc5a84dff1599ceb972",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeFactionCatalogProbe.c": "ee11486cf77da9070506ccc0cfd6e94240c5387c8be455bf864934a8fef65f78",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeFlightFootprint.c": "a8862a04ac784426f431e2e9cd3f1f19f820b38a081674d29549b8b00277c72d",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeFlightInputDiagnostics.c": "e231dcbdaefe81beb3bd587cb73be8fb3d3184bc86d18dbaa30a43ca4ba5dcc4",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeGuardCancelProbe.c": "bfa1c65cb039e19c3d1891e4a3fd33469e974c97cc7f42128efc31a8f587d514",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeItemStationTeardownProbe.c": "028588a49fa9207087cd27ec9396979cd932daa071e2490bd0262cd71dae30d9",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeLifecycleProbe.c": "b613a5dbe81c2032fd02d31070ae5631166d14d0b02cdbec3b63b782f0bbc115",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeLocalAdmissionProbe.c": "29c860ca3e51cdaa463f3c23a98ff45ee0499ce9bbc322046e0efbed587f1e09",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeMedicalProbe.c": "43fa51ffbcf9dd0cd8e905a1135bcf0756651da3af34677f3c92e7d264ed70b6",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeObjectiveLossProbe.c": "6b80fd317a8c6e8583bd4337870838a86251e3b8a681d0aa07e8b52e22abfc48",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeObjectiveProbe.c": "71fbd2479a70048f83d8b262ad1452f427be2c0afc8b071ef13bff477b9dc29b",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativePatrolProbe.c": "02bd9fdf5454db7dd4c82240efe0d947bf8d6488ace42809c3aef6505cb6266d",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativePoweredFlightProbe.c": "7ae5d6f85bbbebec214c66bfdf6f53b93c802f109fcd5bcfbad82c5d61d6cb9f",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativePreparationStatusProbe.c": "456f4d7c3272b89d5f4c6713617baa5596d846994152356fee9a659839bcd8b5",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativePrisonBreachProbe.c": "22d0923cd69ba591e783011d424c97c86520272b70da9aa6a6d15558464c264c",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativePrisonerProbe.c": "e2d1ffe5d269add55124601ff0d1dc032a398c7d51010736e6f0e4cbeb38ae86",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeProgressionIdentityProbe.c": "1d3fe20bce761a1082964bca9bad9ce79d1fa8b04db9b5053bae98da380ae560",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeRadioDefenceProbe.c": "cad54f0b43cefd72df74697dfc7e93725ff0acac6d311e963ce4f817428c272c",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeRecoveryProbe.c": "4de6868cd3e76afb80cf0ae5dac1e35d2c417838f640c2f18aa3343217eea2f2",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeResultProbe.c": "db239385dc705840240d02448eabc77fa41162cfade6f21a275a3404339e8a31",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeSiteSurvey.c": "ac0203753ade0cdff6d483132797a80e4520f14546c3f9dea288281cd4cd9c4f",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeStationTeardownDiagnostic.c": "172248540932174341882861bb78a9720a6cf89981fcdf9dffe63f7fd4023f2c",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeTimeProbe.c": "c93d049785971e51246fcc07cf24804270a752a655505f2c38e48c80df5255ae",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeTransportProbe.c": "63ec0c5ce698114daa6314b2a6e3c3e98e76094117c477f9d0d072260686d193",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeTransportSurvey.c": "3e94493bf54d15be2bceb106ad18873e14e6755af09c05f07db7fb26fb7adff5",
|
||||
"addons/core/Scripts/Game/ERR/ERR_ObjectiveDetails.c": "628ebd166dcb5544c2d18dce489619984887ee18296cf2446fc6d894f89dd5bf",
|
||||
"addons/core/Scripts/Game/ERR/ERR_ObjectiveText.c": "3b73b19429c7746425470d73ce5983f9fd442e4cd6acaab87f8728ea4dccb0c2",
|
||||
"addons/core/Scripts/Game/ERR/ERR_Objectives.c": "88d95a52fcba103483ea751571e1afeae0e6fc82115ed50d6fc195424726960f",
|
||||
"addons/core/Scripts/Game/ERR/ERR_Observer.c": "16ab78acede9b0cab86c6a74f47ffd5b8a7c50f131f44d64a8826eac6896a279",
|
||||
"addons/core/Scripts/Game/ERR/ERR_OrdinaryGateObserver.c": "c8305745807e74f2a3e42ffc15ee8f49e64ae89fed18113cb2edd61f07aa5a66",
|
||||
"addons/core/Scripts/Game/ERR/ERR_OrdinaryInputObserver.c": "116c890146f27c36dc2e0cf5f4e85a273347a8b1eb53619756f0ed820343c76d",
|
||||
"addons/core/Scripts/Game/ERR/ERR_OrdinaryLookObserver.c": "fae1c8ae518cac21ea73e53a57212d85537a493128ed79a0ec2a1cdf3d32bb81",
|
||||
"addons/core/Scripts/Game/ERR/ERR_OrdinaryScenarioLaunch.c": "a4e7e56d174ebd15b4730202dae4c8ed06144f3f27c23ed49c99e2d297dc421a",
|
||||
"addons/core/Scripts/Game/ERR/ERR_PlayerAdminCommands.c": "a084d7dc097dfcde3d6cd9c2e326b9e2f8f2a519f77b30c4f56ab7a1429aa721",
|
||||
"addons/core/Scripts/Game/ERR/ERR_PlayerEscapeResult.c": "3124ab4d2d6d471409a47aba0af528790734df53243c03fe0cdac3e407047c14",
|
||||
"addons/core/Scripts/Game/ERR/ERR_PlayerGuide.c": "59008466b1b0cf3e191ccf16ecb1f32493351df1155c167f237a35279d39c1ba",
|
||||
"addons/core/Scripts/Game/ERR/ERR_PlayerRoster.c": "c038dac0f749bd29ebc35a4e952904b41a34417ba738904d5efcd1833a263e0b",
|
||||
"addons/core/Scripts/Game/ERR/ERR_PreparationStatus.c": "1d8987d2dcc1db2a030e095b33d50f07877181037d339624156291d8317bfa5d",
|
||||
"addons/core/Scripts/Game/ERR/ERR_PrisonEscapeService.c": "ed6286342ed12cc9a3df618474f5647c7ac36bc65336be7a5bec908dee04421d",
|
||||
"addons/core/Scripts/Game/ERR/ERR_RadioDefenceService.c": "5d347cf1a3b021074d560aad8db774828b797e685b63ddff3d28f55781e33ea8",
|
||||
"addons/core/Scripts/Game/ERR/ERR_RadioFeedback.c": "545262e65e9b3645d9e514a0521e442fe08f0c2e4e7c83ba638c5105d09818db",
|
||||
"addons/core/Scripts/Game/ERR/ERR_RecoveryService.c": "ba9ffb93679012c20a665636ef6b201cbe7d8d14fdf53e8cd3eb12ac7248943f",
|
||||
"addons/core/Scripts/Game/ERR/ERR_Resources.c": "d0169aac6fd0c38928c47a9002ded0fd8ba558ea3314a600e792d307ac1ca3ee",
|
||||
"addons/core/Scripts/Game/ERR/ERR_ScenarioComponent.c": "abba03af68323d5715ba1e2497fc66f3c706e6a6a983c3a386228abdfddeec89",
|
||||
"addons/core/Scripts/Game/ERR/ERR_Settings.c": "b9390548936b386e0211d487c1b76b65410fdd2e339cd8ecd9585ef4f4ffed31",
|
||||
"addons/core/Scripts/Game/ERR/ERR_SiteDefinition.c": "b422feeaca90084ea2bee5cde94dc9c6fcae542749b55d95f7226f922a6a68ac",
|
||||
"addons/core/Scripts/Game/ERR/ERR_SiteDiscoveryRules.c": "50f7b3ff4f32bde37ce5ae2be7f598fc4dd8cc08f45914f6e3260d31c84baef2",
|
||||
"addons/core/Scripts/Game/ERR/ERR_SiteService.c": "6bc9a0b5aed326822807f05e17459d0fc2da10b709e8168972b4e40fd09f87cb",
|
||||
"addons/core/Scripts/Game/ERR/ERR_SpawnFinalization.c": "2e295b0f225208c5414728ba83333e5e0ab6eef3a708ce39eb1dfce5400c94c9",
|
||||
"addons/core/Scripts/Game/ERR/ERR_SpawnLogic.c": "ed88279cbeb3e5e6daf8471763df87a251881f550632eddadd08153594bbd1a1",
|
||||
"addons/core/Scripts/Game/ERR/ERR_SpawnPlacement.c": "55323dcb330c23d49dc8fa3fde86a3ae3958c0b6563d6c3cd0960da88333f93d",
|
||||
"addons/core/Scripts/Game/ERR/ERR_Supplies.c": "752e8a56b0b8cde33cf532032cb0a203553017b686faac2e19bee06f7a9c0713",
|
||||
"addons/core/Scripts/Game/ERR/ERR_TimeService.c": "d9f481b7da01e08d2c982a948c18ba6bde76889d7cc9d26d510708f4ba479453",
|
||||
"addons/core/Scripts/GameLib/ERR/ERR_DiagnosticNoSplash.c": "0ea1b402f8927b6d68bf6f7e5caa2967f7e3a39147634faab147796b791933b5",
|
||||
"addons/core/Scripts/WorkbenchGame/ERR/ERR_ValidateBaseWorldPlugin.c": "7f44aa64ea7b4f8b3640a37a4b781c43bf6adb80e4a3a702d9491131698056f6",
|
||||
"addons/core/UI/layouts/ERR/PreparationStatus.layout": "bd269cf8dc6f27735423743dd5b78242550518414448a0256e5e12fa6b92c459",
|
||||
"addons/core/UI/layouts/ERR/PreparationStatus.layout.meta": "75b12176a443bb911fc4ad446982d762201fda42ed38736b79bc5439fca31ccc",
|
||||
"addons/core/Worlds/ERR_Everon.ent": "22324bc7eb0d80dec8a1f3bd61a9df9201b72f749f4e751766b0c9d0b7d46b87",
|
||||
"addons/core/Worlds/ERR_Everon.ent.meta": "19d1903ca72baa326b4724a6791d0da1104a1e53f3f31dc1ca41a856efd68e83",
|
||||
"addons/core/Worlds/ERR_Everon_Layers/default.layer": "17105538007199bfc419aa04a64debaf2da0a7b77a1dc3ba983e92bf747c862e",
|
||||
"addons/core/addon.gproj": "231274e6b62302f32c65f9ff31de2ce8a9e51e1c8d12c87deeec82ae1f40de46",
|
||||
"addons/intel/Scripts/Game/ERR/ERR_IntelService.c": "5e167630a76437fd731fbb7a62a41381ea71509f3adb8a6b9c77f6816384861a",
|
||||
"addons/intel/addon.gproj": "d0ced242cefb220a5cccd6779d61fda9bc55581701b9f78bcf13c09d92ddbcbe",
|
||||
"addons/map/Materials/ERRM_MapRenderTarget.emat": "9877c5b175c5f30dd80bea36c711b21ab38219aa7075adf9ae79932e1d4c76bc",
|
||||
"addons/map/Materials/ERRM_MapRenderTarget.emat.meta": "5ee1a705f8011a44020ca2691f5ccc17d44bf596fef9a36e98d1f267eb58fab0",
|
||||
"addons/map/Prefabs/Items/Equipment/ERRM_SharedFieldMap.et": "30dee8e9eab459ea32a7d835a9fb89d43df47708057cab829f067b25a24cd581",
|
||||
"addons/map/Prefabs/Items/Equipment/ERRM_SharedFieldMap.et.meta": "59093e9072c50d99c86da7609c87541016da5bcf92b98d99db4c524e1c8e0e8d",
|
||||
"addons/map/Scripts/Game/ERR/ERR_ScenarioMap.c": "75fa1d742129ef7f33c005cd48f56db7f49ee7bde3c5428532b0b501b032b0a3",
|
||||
"addons/map/Scripts/Game/ERRMap/ERRM_NativeMapOwnershipProbe.c": "32418602f085e3edba7343f42a6a691630b533be262002f29248e8ae87a38254",
|
||||
"addons/map/Scripts/Game/ERRMap/ERRM_SharedMapComponent.c": "3a10f6ea25bf88a400bc3e6c339823433845c5db4f2f423835ccf99a1b1a843f",
|
||||
"addons/map/UI/layouts/ERRMap/SharedMapRenderTarget.layout": "49a2da4181b94d42174f58c7f9b6bf2207116c99427d61ff1c212092ac7db4d2",
|
||||
"addons/map/UI/layouts/ERRMap/SharedMapRenderTarget.layout.meta": "5c846445cc089e2e08899ba703059d4adb805ff30ab5a16409a3cd59718cbd54",
|
||||
"addons/map/addon.gproj": "1b371e5e01ea9fa46e76570fecb8aaa3a9298e34cba7ccca8a6bdb5ca86eb46a"
|
||||
}
|
||||
@@ -0,0 +1,86 @@
|
||||
{
|
||||
"schema_version": 1,
|
||||
"launch_id": "3b7fb6b5-f969-4a89-8aed-b496bc1c0ff2",
|
||||
"captured_unix": 1789843819.1819909,
|
||||
"source_root": "/home/jakub/devel/escapistsrereintroduced",
|
||||
"command": [
|
||||
"gamescope",
|
||||
"--backend",
|
||||
"headless",
|
||||
"-W",
|
||||
"2560",
|
||||
"-H",
|
||||
"720",
|
||||
"-w",
|
||||
"2560",
|
||||
"-h",
|
||||
"720",
|
||||
"-r",
|
||||
"30",
|
||||
"--",
|
||||
"/usr/bin/python3",
|
||||
"/home/jakub/devel/escapistsrereintroduced/tools/headless_input_proof.py",
|
||||
"--enable-private-keyboard-proof",
|
||||
"--host-display",
|
||||
":1",
|
||||
"--prefix",
|
||||
"/tmp/erri-headless-compat/pfx",
|
||||
"--profile",
|
||||
"/tmp/erri-game-profile",
|
||||
"--game-executable",
|
||||
"/home/jakub/.local/share/Steam/steamapps/common/Arma Reforger/ArmaReforgerSteam.exe",
|
||||
"--report",
|
||||
"/tmp/erri-game-profile/input-proof-ce06dd0073694c469d53956617d51bdf.json",
|
||||
"--nonce",
|
||||
"ce06dd0073694c469d53956617d51bdf",
|
||||
"--enable-private-look-proof",
|
||||
"--enable-private-approach-proof",
|
||||
"--enable-private-coarse-approach-proof",
|
||||
"--enable-private-alignment-proof",
|
||||
"--enable-private-selection-proof",
|
||||
"--",
|
||||
"/usr/bin/python3",
|
||||
"/home/jakub/devel/escapistsrereintroduced/tools/headless_display_probe.py",
|
||||
"--host-display",
|
||||
":1",
|
||||
"--prefix",
|
||||
"/tmp/erri-headless-compat/pfx",
|
||||
"--profile",
|
||||
"/tmp/erri-game-profile",
|
||||
"--game-executable",
|
||||
"/home/jakub/.local/share/Steam/steamapps/common/Arma Reforger/ArmaReforgerSteam.exe",
|
||||
"--report",
|
||||
"/tmp/erri-game-profile/display-ownership-ce06dd0073694c469d53956617d51bdf.json",
|
||||
"--observe-seconds",
|
||||
"30",
|
||||
"--",
|
||||
"/home/jakub/.local/share/Steam/steamapps/common/Proton - Experimental/proton",
|
||||
"run",
|
||||
"/home/jakub/.local/share/Steam/steamapps/common/Arma Reforger/ArmaReforgerSteam.exe",
|
||||
"-addonsDir",
|
||||
"Z:/home/jakub/devel/escapistsrereintroduced/addons",
|
||||
"-addons",
|
||||
"FA804F411BDDF2C6",
|
||||
"-profile",
|
||||
"Z:/tmp/erri-game-profile",
|
||||
"-errOrdinaryScenario",
|
||||
"chat",
|
||||
"-noSplash",
|
||||
"-noBackend",
|
||||
"-noSound",
|
||||
"-noThrow",
|
||||
"-disableCrashReporter",
|
||||
"-logconsole",
|
||||
"-errOrdinaryInputObserve",
|
||||
"ce06dd0073694c469d53956617d51bdf",
|
||||
"-errOrdinaryInputScreenshots",
|
||||
"1",
|
||||
"-errOrdinaryLookObserve",
|
||||
"ce06dd0073694c469d53956617d51bdf",
|
||||
"-errOrdinaryGateObserve",
|
||||
"ce06dd0073694c469d53956617d51bdf",
|
||||
"-errOrdinaryGateChoices",
|
||||
"ce06dd0073694c469d53956617d51bdf"
|
||||
],
|
||||
"manifest_sha256": "9d8168a101d52df79a76b53dce0829cff501a0fb7478b88a3652d7fe34364715"
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
{
|
||||
"log": "docs/evidence/game-2026-09-19-205021-coarse-selection-refusal/console.log.txt",
|
||||
"smoke_completions": 0,
|
||||
"assertions_passed": 0,
|
||||
"script_or_runtime_failures": [],
|
||||
"engine_errors": [],
|
||||
"missing_end_screen": [],
|
||||
"scope": "ordinary local game startup only; no player input, full escape, multiplayer or FPS proof",
|
||||
"local_participant_verified": true,
|
||||
"scenario_header_verified": true,
|
||||
"verified_header_projects": [
|
||||
"chat"
|
||||
],
|
||||
"game_module_defines": [
|
||||
"PLATFORM_WINDOWS,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE,ENABLE_BASE_DESTRUCTION,BUDGET_OPTIMIZATION_CHECKS,DEBUG,RESPAWN_TIMER_COMPONENT_DEBUG,DEBUG_CONFIGURABLE_DIALOGS,DISABLE_WEAPON_SWITCHING,SCRIPTED_AIM_MODIFIER_DEBUG",
|
||||
"PLATFORM_WINDOWS,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE,ENABLE_BASE_DESTRUCTION,BUDGET_OPTIMIZATION_CHECKS,DEBUG,RESPAWN_TIMER_COMPONENT_DEBUG,DEBUG_CONFIGURABLE_DIALOGS,DISABLE_WEAPON_SWITCHING,SCRIPTED_AIM_MODIFIER_DEBUG"
|
||||
],
|
||||
"workbench_undefined": true,
|
||||
"normal_mission_ready": true,
|
||||
"unexpected_smoke_fixture": false,
|
||||
"failed": false,
|
||||
"ready": true,
|
||||
"control_metadata_consistent": true
|
||||
}
|
||||
+10
@@ -0,0 +1,10 @@
|
||||
#1 t=7s M0 REGISTER group 1 [session=1789843842-1]
|
||||
#2 t=7s M0 MORTAR DEPLOY site=1 order=0 radio=M0 source=M0 position=<6000,202.788,7000>; authored gun and four-person crew; finite ammunition initialization pending [session=1789843842-1]
|
||||
#3 t=7.6s M0 COURIER READY trip=0 state=1 delivered=0; 12 distinct original HE shells physically confirmed in existing western cache [session=1789843842-1]
|
||||
#4 t=9s M0 REGISTER group 2 [session=1789843842-1]
|
||||
#5 t=9s M0 REGISTER group 3 [session=1789843842-1]
|
||||
#6 t=9s M0 REGISTER group 4 [session=1789843842-1]
|
||||
#7 t=9s M0 REGISTER group 5 [session=1789843842-1]
|
||||
#8 t=9s M0 REGISTER group 6 [session=1789843842-1]
|
||||
#9 t=9s M0 REGISTER group 7 [session=1789843842-1]
|
||||
#10 t=18.8s M0 MORTAR CREW READY site=1 order=0 radio=M0 source=M0 position=<6000,202.788,7000>; four original physical members, one manpack, 27 confirmed HE; new shell requests=27; allocation permanently closed [session=1789843842-1]
|
||||
@@ -0,0 +1,125 @@
|
||||
{
|
||||
"stopped_unix": 1789843903.193932,
|
||||
"console_sha256": "19f664515ff2ad37fd31faf7f71d319672809e9f21900a223dfa55b416e9c9cf",
|
||||
"end_source_sha256": "9d8168a101d52df79a76b53dce0829cff501a0fb7478b88a3652d7fe34364715",
|
||||
"source_unchanged_after_run": true,
|
||||
"source_provenance": "launch_snapshot",
|
||||
"launch_id": "3b7fb6b5-f969-4a89-8aed-b496bc1c0ff2",
|
||||
"launch_source_manifest": "launch-source-sha256.json",
|
||||
"launch_source_metadata": "launch-source.json",
|
||||
"launch_source_sha256": "9d8168a101d52df79a76b53dce0829cff501a0fb7478b88a3652d7fe34364715",
|
||||
"started_unix": 1789843819.182105,
|
||||
"result": "input-exercise-failed",
|
||||
"session": "/tmp/erri-game-profile/logs/logs_2026-09-19_20-50-21",
|
||||
"project": "chat",
|
||||
"cleanup_confirmed": true,
|
||||
"cleanup_report": {
|
||||
"cleanup_confirmed": true,
|
||||
"idle_verified": true,
|
||||
"errors": [],
|
||||
"orphan_cleanup": {
|
||||
"attempted": true,
|
||||
"report": {
|
||||
"scope": "/tmp/erri-headless-compat/pfx",
|
||||
"candidates": [
|
||||
{
|
||||
"pid": 1074819,
|
||||
"ppid": 1670,
|
||||
"state": "S",
|
||||
"exebasename": "wine64-preloader",
|
||||
"start_ticks": 82048059,
|
||||
"role": "adopted-winedevice"
|
||||
}
|
||||
],
|
||||
"term_sent": [
|
||||
1074819
|
||||
],
|
||||
"kill_sent": [
|
||||
1074819
|
||||
],
|
||||
"cleared": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"runner_error": null,
|
||||
"failure_grace_seconds": 0,
|
||||
"failure_observed_during_polling": false,
|
||||
"first_failure_elapsed_seconds": null,
|
||||
"executable": "/home/jakub/.local/share/Steam/steamapps/common/Arma Reforger/ArmaReforgerSteam.exe",
|
||||
"dedicated_server": false,
|
||||
"display": "headless Gamescope",
|
||||
"private_viewport": {
|
||||
"width": 2560,
|
||||
"height": 720
|
||||
},
|
||||
"audio": "-noSound plus own silent sink",
|
||||
"control_only": false,
|
||||
"source_manifest_scope": "successor addon sources",
|
||||
"scope": "ordinary game startup with an explicitly requested bounded private input experiment; see input_exercise for sent-input and native-proof results; no full escape, multiplayer or FPS qualification",
|
||||
"input_observation": {
|
||||
"nonce": "ce06dd0073694c469d53956617d51bdf",
|
||||
"read_only": true,
|
||||
"input_sent": false,
|
||||
"sampler_complete": false,
|
||||
"queued": true,
|
||||
"ready": true,
|
||||
"finished": false,
|
||||
"cancelled": false,
|
||||
"sample_count": 329,
|
||||
"record_count": 332,
|
||||
"inventory_open_observed": false,
|
||||
"inventory_close_observed": false,
|
||||
"capture_requests": [
|
||||
"baseline"
|
||||
],
|
||||
"movement": {
|
||||
"action_observed": false,
|
||||
"physical_motion_observed": false,
|
||||
"released_input_observed": false,
|
||||
"max_horizontal_displacement": 0.0
|
||||
},
|
||||
"transitions": [
|
||||
{
|
||||
"sample": 0,
|
||||
"real_ms": 30453,
|
||||
"world_ms": 7684.52,
|
||||
"event": "QUEUED"
|
||||
},
|
||||
{
|
||||
"sample": 20,
|
||||
"real_ms": 32719,
|
||||
"world_ms": 9938.07,
|
||||
"event": "READY"
|
||||
},
|
||||
{
|
||||
"sample": 22,
|
||||
"real_ms": 33039,
|
||||
"world_ms": 10238.3,
|
||||
"event": "CAPTURE_REQUEST baseline"
|
||||
}
|
||||
],
|
||||
"errors": [
|
||||
"missing/duplicate/misordered FINISHED"
|
||||
],
|
||||
"scope": "native read-only sampler lifecycle only; no generated input, movement success, inventory usability, screenshot file verification, manual playtest or multiplayer claim"
|
||||
},
|
||||
"input_exercise": {
|
||||
"requested": true,
|
||||
"verified": false,
|
||||
"input_sent": true,
|
||||
"gameplay_qualified": false,
|
||||
"scope": "bounded private keyboard delivery plus native movement/inventory observations; no full escape or multiplayer qualification",
|
||||
"sha256": "23a1ed5fad7b15408ff37dc0dd0b8713be7825a096e3449f05b80c338b77cd62",
|
||||
"archive_file": "input-proof.json",
|
||||
"error": "Private input sequence did not complete with confirmed paired release"
|
||||
},
|
||||
"display_ownership": {
|
||||
"requested": true,
|
||||
"verified": true,
|
||||
"read_only": true,
|
||||
"input_sent": false,
|
||||
"sha256": "ca694fe7db29ea5e96a541c9e5b708c3f4a05ff434eb3e52a051042775077f77",
|
||||
"archive_file": "display-ownership.json"
|
||||
},
|
||||
"startup_result_before_display_check": "input-exercise-failed"
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,4 @@
|
||||
{
|
||||
"schema_version": 1,
|
||||
"kind": "launch_snapshot"
|
||||
}
|
||||
@@ -0,0 +1,202 @@
|
||||
{
|
||||
"addons/ai/Prefabs/ERR/MortarCrew.et": "05d3e7353ff9fe5523218a1487b31b7b742b0be8adbcb060c7099978cf008bce",
|
||||
"addons/ai/Prefabs/ERR/MortarCrew.et.meta": "fdfd4fcd21a67c3d698fa4aadc4e5c76e665cebf4be86013bc389e493fab63cc",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_AircraftControlBridge.c": "b8f0141644d8f043c6db4c2d4bb93215c548e5c27ab5468c66e996d62bdf905a",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_AircraftFieldEnvelope.c": "c02c8e6fbdfd3b8c67461590d532019d3bf0002307b19aee604eb17ad230c329",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_AircraftFieldFlight.c": "e3322b6d85b1234bfbf218a119cf6f7eed0b9ddd160004d2d9fe02c64ed857ba",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_AircraftFieldRules.c": "395eadae1067f230c26dbf73f43e39180173e173fd04a346839c474e084feaae",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_AircraftFlight.c": "aa25a8e67a30c48677bf528236402b7f8e5d815dc18df93b878520ad3d1fe8a7",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_AircraftFlightEnvelope.c": "8125cef61fb283d0d7c4dd2df3c04b062b448f1101fd48dd53f4f4097df5fef3",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_AircraftRouteEnvelope.c": "e8fcef844239c47a1f2f36be420afe943bc450091b05859435406b46c87fa511",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_AircraftRouteFlight.c": "1d8d92bf6d97429d68a9f62018232e90cc124cc8d7445efeabe863706a31e2b9",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_AircraftService.c": "bf52361c9d07b2c632d6ad755cbca76683f5ad4a8208e6eec690c367efa44549",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_HQ.c": "7ee8e7a3282fd566ec330c94854b353b2c6178e9b964f7b4d5e197e4d0b7dee9",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_HQJournal.c": "b3e402cfe92d415f37f666045afb062e6e11670ba03a0ca6f2d9fd4fc3520ac1",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_HQNetwork.c": "92ff2caca52e94c2cc9642dfc8509ce6e9349b257012bade8650bace9231128c",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_HQObservation.c": "36c978ec5f052213ac1236e1398d85063efbfd7ef60fe04f1fc11447fefe1d68",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_HQReport.c": "c4d16ccb571db4d9444c0a8d2be7318845d25ff90238b6d304e96a9ea19f1a08",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_HelicopterAvailability.c": "60eaef2f6d4b2fd44861c5a4434ef97e732e40a5ff7401e2da451ed2dd9c2762",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_MortarAimSolution.c": "59e8343d09f7a44871d8d3335d6ad1d02216abb5deed30d38b5ec9ba3f2c0649",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_MortarBattery.c": "a4eed96d17f239cbf353863ebe40d2282aeacd7a4d63a7b2f0ecfb3d93a2e2b2",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_MortarCourierTransfer.c": "968e58ca700b4a11e5e04a5c159696f514a0b1bce531210172b913e495f7e2b7",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_MortarFiring.c": "7aec51c83972610d1bcbca58b84b14f16f59952d402b12c3d88e7192a3e2ee90",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_MortarLogistics.c": "e1ffb25fba384b449de576a5502a93d875c3f52e8da1941bbf590ad9845f9730",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_MortarPrediction.c": "470dd196ed64800c697d24c09d1344bacd2502587fac76af4ee0edae2563092d",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_MortarReadiness.c": "2fabe8f812fd333cea7199d1eb722c807fcc5adb285c618956bd54d31fa27ce3",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_MortarRefresh.c": "52ae8d9d6cad92f42d68c634091b80a474d2666b6c06d63a8c30a3fab71494c4",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_MortarReportLedger.c": "42a96040b63e56677353e55164ae23031c90f70b4d6673a9f412ad7b19e636ae",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_MortarSalvo.c": "697c01f479df6c505a41d984a29c02002e3052114dafa2ec6252ae55e2979a2b",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_MortarSupplyTransfer.c": "34f7eaa01dc68e97aae8c1177b7f8fd6c15d5a41c6dc86de377f00b3613a8e77",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_MortarSystem.c": "4edefc8530cc6eec7a5e1df1d0b7d56e6801186f23c61331ce0e8075b8281efb",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_NativeAircraftControlProbe.c": "0cf3e72ccdc42e6ef20fb71d743f0e037a9e69b2e082c720fa705628cf790205",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_NativeAircraftRouteProbe.c": "61d224bfecfd0701206bab4f8446394ba0b8b2e27eb0f17b81d1b6a741c25f28",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_NativeMortarCourierProbe.c": "740c8bebbd4128a9311b1167d1058549475d6b46f81c9b6c0d19650f4b50616f",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_NativeMortarFiringProbe.c": "ee570d21bede8baebefc799399712d9582b3e30ebda7299f6c941777f02ad2a2",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_NativeMortarSalvoProbe.c": "5fd7bb8953f6850ad79e646c0c286153108a10ee2d5ef397ccb65a07f8d2ed7c",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_NativeMortarTransferProbe.c": "399c21940ef10777b46fdb3e905430ce43404ce1de2f4a6bb62f9c61c1a0689c",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_NativePatrolHQProbe.c": "4c04aa3e1b6b000747da8e2a919a6501107880fd041134c019f516665bb6f758",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_SettlementSafety.c": "e5c0ebc95521a9a33a3f7d9cca6c551dda862a08b7af20b017877aba9584795b",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_SupportScenario.c": "71757018ec9716c4dc24f62a292a214919d3fd5daed3c16e03e56abd208e9f03",
|
||||
"addons/ai/addon.gproj": "5f559db8f526700db11e6ae763f5245f19b7006fc68c56e4c09fb6f940bdf2a1",
|
||||
"addons/chat/Missions/ERR_Everon.conf": "76f3ac0d21b585654beac7ddd68e3c8cbdd66dbfe909b17b04838fa813a7c29b",
|
||||
"addons/chat/Missions/ERR_Everon.conf.meta": "0a23c98bf83873536c65fa17d38dea33a1d7b9e4ab210f90633ff688abcc551f",
|
||||
"addons/chat/Scripts/Game/ERR/ERR_AdminCommands.c": "d7b4ed95fc32767911936cb0fcc60763233f2c31afd34a6a0fa998b39cec9f5c",
|
||||
"addons/chat/Scripts/Game/ERR/ERR_NativeHQResponseProof.c": "0f8b09fd8753234c91fd6baaca0e2f812e409ae1c4be8f340b648ae59b69c2f3",
|
||||
"addons/chat/Scripts/Game/ERR/ERR_NativeMortarProbe.c": "ddb892141500c192c0787b011d57dd8c07dd8c9a3ca5fdc407f6c271897bde0a",
|
||||
"addons/chat/Scripts/Game/ERR/ERR_NativeRadioProbe.c": "84524163c63402755b4f834f74dfe6d8e5c397dc26031f532593c6f79f5a93b1",
|
||||
"addons/chat/Scripts/Game/ERR/ERR_NativeSmoke.c": "cb4ae42bad04045fe15ec80e9c612a4453e18d9ee6f628e4461de9b97e6b7cda",
|
||||
"addons/chat/Scripts/Game/ERRChat/ERR_OrdinaryScenarioLaunchChat.c": "dda715c9691d366e35fa2ad5e390dee1971651f137a5a9f9aeb23dcbe53ec87e",
|
||||
"addons/chat/Scripts/WorkbenchGame/ERR/ERR_ValidateWorldPlugin.c": "81c92d408ce88cc9f98d6053f1d0c863427693ba748f00df9f1bf8079015ef94",
|
||||
"addons/chat/addon.gproj": "ea1587e0174cf795334d306c71d99b06797fc891427cd57b6cab6e21cf0e4e0e",
|
||||
"addons/core/Configs/ERR/EveronSites.conf": "ade92cc8d2b14a84ac378bbbb52608b351dca65d359dd7a315d64a145fa4b46f",
|
||||
"addons/core/Configs/ERR/EveronSites.conf.meta": "d5fe68025ef4e7c1e16082cf5873b7c7172eacbfaef4ab29b7e0e3c98f8dca56",
|
||||
"addons/core/Configs/ERR/Factions/MissionVehicles.conf": "5f74f4a7089c7e7b54ad62463159ce8f0bab25a6b85268dc3872ea6001e048fb",
|
||||
"addons/core/Configs/ERR/Factions/MissionVehicles.conf.meta": "00c368b6271d3440cc8bf627b03a384d247635723923fc5ad2104b8b4007b035",
|
||||
"addons/core/Configs/ERR/Factions/US.conf": "4c3da063abb6e3ee39a6e4e0c5a9ffd5eae9d209d58470ea18b45dba5528db1b",
|
||||
"addons/core/Configs/ERR/Factions/US.conf.meta": "a05469aef028e9e17eba545e81e2af2887b59f0fef17dac51a23c7b8155e381b",
|
||||
"addons/core/Configs/ERR/Factions/USSR.conf": "407ea27f80a64c5184c089d43cdd0bdabfc5974c84f1d2a245081fdf2afa3f30",
|
||||
"addons/core/Configs/ERR/Factions/USSR.conf.meta": "057397d97096346791b51b7b13fbe18af218bcf78e9984d9c01b49a2403de611",
|
||||
"addons/core/Configs/ERR/GameOverScreens.conf": "45231061911a1462d45fb6db0fecc2b0793f17b5ae71017174954ff4fbd20236",
|
||||
"addons/core/Configs/ERR/GameOverScreens.conf.meta": "eb654b745c0b97b41c991694569ef4877a3c2315e0826f9556337cd68690843e",
|
||||
"addons/core/Configs/ERR/VanillaFactions.conf": "db890b61b48ee15484041fd2245a862d9fa9e7ba21b1229c281ff37c448a35b1",
|
||||
"addons/core/Configs/ERR/VanillaFactions.conf.meta": "ac77725c0c21974991ef47a466b88122e939de8b46fd23e68889e7674cbb2bfd",
|
||||
"addons/core/Missions/ERR_Everon_Base.conf": "1e6a0e9a756d15495201f71121626890f01efe6b00154c561672d4ec157960bd",
|
||||
"addons/core/Missions/ERR_Everon_Base.conf.meta": "9b16267c644d815bcf98a3a3aaff30b93d7224fb24d3a2bac66730a28011f317",
|
||||
"addons/core/Prefabs/ERR/Extraction.et": "1aa286ef253c5410f09fa641e4be91a7be8ec834487a7fbb74cfb45cab60ee1e",
|
||||
"addons/core/Prefabs/ERR/Extraction.et.meta": "c2a838633001e2e3a202d39cb33aa744ebcd996017ad032359069641b5d13853",
|
||||
"addons/core/Prefabs/ERR/FactionManager.et": "425f916b890019c537f6b2f72b1af9e7be54b0a476320da969e1f313a7ac5ea5",
|
||||
"addons/core/Prefabs/ERR/FactionManager.et.meta": "9bf53d5e4bcbe60dd1a4ece1409fc23c349055c860708620f5f6e9716290a97d",
|
||||
"addons/core/Prefabs/ERR/FieldCover.et": "20f8095e69dbfe3db74ff19078e528ea75405362b335e03560ccd61f8df2e7f3",
|
||||
"addons/core/Prefabs/ERR/FieldCover.et.meta": "83461ffa76244e1d69f20b053a9741ccdf7d127009182bd540a7e5ba6150c3d9",
|
||||
"addons/core/Prefabs/ERR/GameMode.et": "385c97a5b8067091d92aa60c2d4fcf02002cf606b95523866ead65c96b8c0029",
|
||||
"addons/core/Prefabs/ERR/GameMode.et.meta": "106769cd34525c9d440057072836cb7401a6752148c40edd7fe61c03bd58328c",
|
||||
"addons/core/Prefabs/ERR/ObjectiveDocument.et": "2e72270bf186654af12d2c3ff9bf940690b03fb17fca44f873c1fde5d11384c0",
|
||||
"addons/core/Prefabs/ERR/ObjectiveDocument.et.meta": "eaba9903be147b98a1106e2273e2270773df73b9b22f2cd4e20136a8e281382e",
|
||||
"addons/core/Prefabs/ERR/Patrol.et": "c5685a8bc311cc5563fb3334beec9408d3d7a1069152fddeeb7df4f1b7f9e6ce",
|
||||
"addons/core/Prefabs/ERR/Patrol.et.meta": "7c5da568fa2fcf0709ee2959253cb068d7c7ed7c2467af3b247a7e70efd96b69",
|
||||
"addons/core/Prefabs/ERR/Prison.et": "dcd3f4dfd453303d026e68b64f7de6125bd3390822d8432dd95a3710a5b3df89",
|
||||
"addons/core/Prefabs/ERR/Prison.et.meta": "2e426ef3de68f4107907854b51e818bc11d84649a01c538e3f18dd9ebec766bb",
|
||||
"addons/core/Prefabs/ERR/PrisonDoor.et": "fc66be9d36f1f01084de59f1b0a1e8817f9e46547ead33d4fafaac0107446c40",
|
||||
"addons/core/Prefabs/ERR/PrisonDoor.et.meta": "b8f3db52bf186426026668fbb9d633c3cbd4d438ab301fba880398f6a0e781c2",
|
||||
"addons/core/Prefabs/ERR/PrisonWall.et": "8009d19365ae72a4749d7ad4fa04662575b06c65c6bf06507d380d57258b5eed",
|
||||
"addons/core/Prefabs/ERR/PrisonWall.et.meta": "0294bc5dbb56f90f8153d62459bb0a6ad91d76a479812bbec9c7db182fdb58d6",
|
||||
"addons/core/Prefabs/ERR/Prisoner.et": "198b5badabb12f218f86df7eb4dc268fd830769dc3de7eef6362cfaee4d6fc8d",
|
||||
"addons/core/Prefabs/ERR/Prisoner.et.meta": "974278ba49fafeed70b619a0067bbc70ae4d534be441c812ce2bef4a5fb3c022",
|
||||
"addons/core/Prefabs/ERR/Radio.et": "b4b5cfe125b39019855816c9a1c508ca4d65d435b5546fdaa6c1fa3c8c9b1165",
|
||||
"addons/core/Prefabs/ERR/Radio.et.meta": "bc91137b68ba550217914fb8892bb44d7e1920e4a1086f3e506623832a44212f",
|
||||
"addons/core/Prefabs/ERR/SpectatorCamera.et": "b5b87d5b7b707f3745741aebe7c923067c8a74f8fbb2a4711834bab03bb5a812",
|
||||
"addons/core/Prefabs/ERR/SpectatorCamera.et.meta": "2a16558f93915e31908a674509e9c89976470f78a84a1174a64b94b68b8f77ad",
|
||||
"addons/core/Prefabs/ERR/SupplyCache.et": "bccf7afbaae97cfcdd78dd6dbbf4be5b2c045d348f50fe4581962e556c0044d7",
|
||||
"addons/core/Prefabs/ERR/SupplyCache.et.meta": "2f5de3a4aab1e9d0e35521f48dc57b95bd6e449c383dec4f1c258e10295904cb",
|
||||
"addons/core/Prefabs/ERR/SupplySite.et": "dc5decce5cabf39b6116e8794ec3960cb1e35761854fdbe69740da118787ded4",
|
||||
"addons/core/Prefabs/ERR/SupplySite.et.meta": "b41944b12eb3528ff7a3ac94258b18c66ef161aa6a38894aee300a1ac4798630",
|
||||
"addons/core/Scripts/Game/ERR/ERR_Actions.c": "cabb21413c90b252d29708b62228d0679c51c76e39ee0e483953ad7061b2b9d6",
|
||||
"addons/core/Scripts/Game/ERR/ERR_Actors.c": "bb5e2d065ec40629cebebf2be25958b992ad05dbc906c5f66dddbe6c6d4ff124",
|
||||
"addons/core/Scripts/Game/ERR/ERR_AdminService.c": "9985747d5ddaeb91bf27937836a6c369f8dcb353263b77a49212ec28c10ba4eb",
|
||||
"addons/core/Scripts/Game/ERR/ERR_CasualtyGroundSupport.c": "26f0c7ebe8563bb022f7c383674e7d8997b0cc35c7ea321d39d74f2493c1ed9d",
|
||||
"addons/core/Scripts/Game/ERR/ERR_CasualtyLoadingGameMode.c": "f4cf19440583ac24346831a2d5f1d7f734c031e46dc266c499972329dd0533cf",
|
||||
"addons/core/Scripts/Game/ERR/ERR_CasualtyLoadingOwner.c": "6346a05ddda030f7d9b6f026f977d5f018ee16002fa519e8c49dcd700c323dc7",
|
||||
"addons/core/Scripts/Game/ERR/ERR_CasualtyLoadingService.c": "93fe23d9e1da596886c33cf76bad92b0906ff5cdd8b5b21d58906e9270246201",
|
||||
"addons/core/Scripts/Game/ERR/ERR_DiscoveryMap.c": "7553c8cc1388cca3404994e36f96946c6abd1fefb08cef2fbb3ea1a62b22861b",
|
||||
"addons/core/Scripts/Game/ERR/ERR_DiscoveryService.c": "2793bb888566dd975e5bbf93fdb47a22e3b0f33a68d04992191cf6428ae942a0",
|
||||
"addons/core/Scripts/Game/ERR/ERR_DocumentComponent.c": "17bb76b80ebd3357e46d553c44674f602c7bd6901c92aec53ac8214194aa4ff2",
|
||||
"addons/core/Scripts/Game/ERR/ERR_EnvironmentService.c": "867e9f47adfb7a9819a8b58498688ff86127282cb89cf2529ae81f73e529e1c5",
|
||||
"addons/core/Scripts/Game/ERR/ERR_EscapeGameOverScreenInfo.c": "8893b161bf168884d62f1315d3c8aa9af4ca413f621d6f8e2525bb5245d5f509",
|
||||
"addons/core/Scripts/Game/ERR/ERR_ExtractionPlacement.c": "c30222ca25cc0e91dec4077e6b82b37a9edafcf2cbebd0be5b6bd8656b53adfe",
|
||||
"addons/core/Scripts/Game/ERR/ERR_ExtractionService.c": "91357099b4e0401196b67d48963be54be30e56bdba57cdac67dc20b8ebb883e9",
|
||||
"addons/core/Scripts/Game/ERR/ERR_FactionCatalog.c": "a5a8c53acf21259e14f59cb919535910f30dabff5a9179c664bc6a7a4d744d6e",
|
||||
"addons/core/Scripts/Game/ERR/ERR_GameMode.c": "b5b07abdfecde247b9d9d6f74dddfff50fde825f3c7fe6d86abd97e85f87b2e7",
|
||||
"addons/core/Scripts/Game/ERR/ERR_InitialGuardRules.c": "8c9d6b1dc4c2af96284e34f487eebb5a221091016ef108006dec60b4e3836558",
|
||||
"addons/core/Scripts/Game/ERR/ERR_Inventory.c": "b63e679d5b650b63a7a91dfc3f42a62f4be58b0338f6df3313e66d29a93bebf6",
|
||||
"addons/core/Scripts/Game/ERR/ERR_InventoryLayout.c": "1af5df45a0f06d19a017954e9bf4b2d722e2d2389f8ffdeb1d024435b9a08be8",
|
||||
"addons/core/Scripts/Game/ERR/ERR_ItemStationTeardown.c": "102e61216e86e47ad243cc19f6f66da1fcd8cc77f8799354ceaeb4a6dc74622e",
|
||||
"addons/core/Scripts/Game/ERR/ERR_LoadCasualtyAction.c": "5d868fb065a1a0fea7d5abfc81d1d8be96823815535f2ffd0dc4ff60d8eae794",
|
||||
"addons/core/Scripts/Game/ERR/ERR_LocalAdmission.c": "b0e824c6880cbf9b1f368dc7ada9907bde78b22b948d419b6c861323f32258be",
|
||||
"addons/core/Scripts/Game/ERR/ERR_Location.c": "d2035f56ded35743312ec6ca91a67f8623a466c91255e1893c570edf0954ff24",
|
||||
"addons/core/Scripts/Game/ERR/ERR_MissionRules.c": "f7abc38ad8fdc375ce7fa63a65f0bade027d22b37e09de5e3f94ba8c3c63cc41",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeAdminSettingsProbe.c": "6a4df33a2b0e6b6aeed944c6895961e658d4f0db9aed9b8433a43a451fa35cae",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeBaseSmoke.c": "7b35e53ceb91b8235fb753d42c8d5c80f6164b6d4cb53c685e058c409662708a",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeCasualtyGroundProbe.c": "41f40db3735f8aa535c0061458d9892dcfe972222b8a17238e67b65633c46bc3",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeCasualtyLoadProbe.c": "94c533deea654ec546df3f1ebb7cd213e6cd79b1125d99bab5303ef8e87b018b",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeCasualtyRemoveProbe.c": "4cfc06f6d43b709b63caae714155ffc562502e884f49a9825623c6f46972ad36",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeCasualtyServiceProbe.c": "02a9d70d1f4ba20326df199ba41489cfbae12b7bb0aab441361421cee38ad9ea",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeContractsProbe.c": "d1556df885171cf967e96eef5d8981a2e9ee4e3938b7d32fdd0426f647bbabc0",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeDefinitionProbe.c": "c07048341396443ddf5307e340e2087254d65f0bddf8f7d93e6b6bd7f03ca360",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeDiscoveryMapProbe.c": "9ed32d391d08d937ff4f9f33bd11c3a204ce9a2230c2d72b6761e0320b31f24f",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeEndProbe.c": "2dec80c7e247ec5c257407f95d9d5edd42fe0cc44d6af9f724f6ebd10d8a355f",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeEnvironmentProbe.c": "8b1d110717aa5f07bfb8fe633847eab519109e3a8a4100970a487be05c053418",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeEnvironmentRestartProbe.c": "7a836a206381b8e8de24c92baf141beb30575723675dd6948d738169ed26b507",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeExtractionProbe.c": "4b09385f73206de004f4f3c38a6192fd658a0d2012482dc5a84dff1599ceb972",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeFactionCatalogProbe.c": "ee11486cf77da9070506ccc0cfd6e94240c5387c8be455bf864934a8fef65f78",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeFlightFootprint.c": "a8862a04ac784426f431e2e9cd3f1f19f820b38a081674d29549b8b00277c72d",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeFlightInputDiagnostics.c": "e231dcbdaefe81beb3bd587cb73be8fb3d3184bc86d18dbaa30a43ca4ba5dcc4",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeGuardCancelProbe.c": "bfa1c65cb039e19c3d1891e4a3fd33469e974c97cc7f42128efc31a8f587d514",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeItemStationTeardownProbe.c": "028588a49fa9207087cd27ec9396979cd932daa071e2490bd0262cd71dae30d9",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeLifecycleProbe.c": "b613a5dbe81c2032fd02d31070ae5631166d14d0b02cdbec3b63b782f0bbc115",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeLocalAdmissionProbe.c": "29c860ca3e51cdaa463f3c23a98ff45ee0499ce9bbc322046e0efbed587f1e09",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeMedicalProbe.c": "43fa51ffbcf9dd0cd8e905a1135bcf0756651da3af34677f3c92e7d264ed70b6",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeObjectiveLossProbe.c": "6b80fd317a8c6e8583bd4337870838a86251e3b8a681d0aa07e8b52e22abfc48",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeObjectiveProbe.c": "71fbd2479a70048f83d8b262ad1452f427be2c0afc8b071ef13bff477b9dc29b",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativePatrolProbe.c": "02bd9fdf5454db7dd4c82240efe0d947bf8d6488ace42809c3aef6505cb6266d",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativePoweredFlightProbe.c": "7ae5d6f85bbbebec214c66bfdf6f53b93c802f109fcd5bcfbad82c5d61d6cb9f",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativePreparationStatusProbe.c": "456f4d7c3272b89d5f4c6713617baa5596d846994152356fee9a659839bcd8b5",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativePrisonBreachProbe.c": "22d0923cd69ba591e783011d424c97c86520272b70da9aa6a6d15558464c264c",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativePrisonerProbe.c": "e2d1ffe5d269add55124601ff0d1dc032a398c7d51010736e6f0e4cbeb38ae86",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeProgressionIdentityProbe.c": "1d3fe20bce761a1082964bca9bad9ce79d1fa8b04db9b5053bae98da380ae560",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeRadioDefenceProbe.c": "cad54f0b43cefd72df74697dfc7e93725ff0acac6d311e963ce4f817428c272c",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeRecoveryProbe.c": "4de6868cd3e76afb80cf0ae5dac1e35d2c417838f640c2f18aa3343217eea2f2",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeResultProbe.c": "db239385dc705840240d02448eabc77fa41162cfade6f21a275a3404339e8a31",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeSiteSurvey.c": "ac0203753ade0cdff6d483132797a80e4520f14546c3f9dea288281cd4cd9c4f",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeStationTeardownDiagnostic.c": "172248540932174341882861bb78a9720a6cf89981fcdf9dffe63f7fd4023f2c",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeTimeProbe.c": "c93d049785971e51246fcc07cf24804270a752a655505f2c38e48c80df5255ae",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeTransportProbe.c": "63ec0c5ce698114daa6314b2a6e3c3e98e76094117c477f9d0d072260686d193",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeTransportSurvey.c": "3e94493bf54d15be2bceb106ad18873e14e6755af09c05f07db7fb26fb7adff5",
|
||||
"addons/core/Scripts/Game/ERR/ERR_ObjectiveDetails.c": "628ebd166dcb5544c2d18dce489619984887ee18296cf2446fc6d894f89dd5bf",
|
||||
"addons/core/Scripts/Game/ERR/ERR_ObjectiveText.c": "3b73b19429c7746425470d73ce5983f9fd442e4cd6acaab87f8728ea4dccb0c2",
|
||||
"addons/core/Scripts/Game/ERR/ERR_Objectives.c": "88d95a52fcba103483ea751571e1afeae0e6fc82115ed50d6fc195424726960f",
|
||||
"addons/core/Scripts/Game/ERR/ERR_Observer.c": "16ab78acede9b0cab86c6a74f47ffd5b8a7c50f131f44d64a8826eac6896a279",
|
||||
"addons/core/Scripts/Game/ERR/ERR_OrdinaryGateObserver.c": "c8305745807e74f2a3e42ffc15ee8f49e64ae89fed18113cb2edd61f07aa5a66",
|
||||
"addons/core/Scripts/Game/ERR/ERR_OrdinaryInputObserver.c": "116c890146f27c36dc2e0cf5f4e85a273347a8b1eb53619756f0ed820343c76d",
|
||||
"addons/core/Scripts/Game/ERR/ERR_OrdinaryLookObserver.c": "fae1c8ae518cac21ea73e53a57212d85537a493128ed79a0ec2a1cdf3d32bb81",
|
||||
"addons/core/Scripts/Game/ERR/ERR_OrdinaryScenarioLaunch.c": "a4e7e56d174ebd15b4730202dae4c8ed06144f3f27c23ed49c99e2d297dc421a",
|
||||
"addons/core/Scripts/Game/ERR/ERR_PlayerAdminCommands.c": "a084d7dc097dfcde3d6cd9c2e326b9e2f8f2a519f77b30c4f56ab7a1429aa721",
|
||||
"addons/core/Scripts/Game/ERR/ERR_PlayerEscapeResult.c": "3124ab4d2d6d471409a47aba0af528790734df53243c03fe0cdac3e407047c14",
|
||||
"addons/core/Scripts/Game/ERR/ERR_PlayerGuide.c": "59008466b1b0cf3e191ccf16ecb1f32493351df1155c167f237a35279d39c1ba",
|
||||
"addons/core/Scripts/Game/ERR/ERR_PlayerRoster.c": "c038dac0f749bd29ebc35a4e952904b41a34417ba738904d5efcd1833a263e0b",
|
||||
"addons/core/Scripts/Game/ERR/ERR_PreparationStatus.c": "1d8987d2dcc1db2a030e095b33d50f07877181037d339624156291d8317bfa5d",
|
||||
"addons/core/Scripts/Game/ERR/ERR_PrisonEscapeService.c": "ed6286342ed12cc9a3df618474f5647c7ac36bc65336be7a5bec908dee04421d",
|
||||
"addons/core/Scripts/Game/ERR/ERR_RadioDefenceService.c": "5d347cf1a3b021074d560aad8db774828b797e685b63ddff3d28f55781e33ea8",
|
||||
"addons/core/Scripts/Game/ERR/ERR_RadioFeedback.c": "545262e65e9b3645d9e514a0521e442fe08f0c2e4e7c83ba638c5105d09818db",
|
||||
"addons/core/Scripts/Game/ERR/ERR_RecoveryService.c": "ba9ffb93679012c20a665636ef6b201cbe7d8d14fdf53e8cd3eb12ac7248943f",
|
||||
"addons/core/Scripts/Game/ERR/ERR_Resources.c": "d0169aac6fd0c38928c47a9002ded0fd8ba558ea3314a600e792d307ac1ca3ee",
|
||||
"addons/core/Scripts/Game/ERR/ERR_ScenarioComponent.c": "abba03af68323d5715ba1e2497fc66f3c706e6a6a983c3a386228abdfddeec89",
|
||||
"addons/core/Scripts/Game/ERR/ERR_Settings.c": "b9390548936b386e0211d487c1b76b65410fdd2e339cd8ecd9585ef4f4ffed31",
|
||||
"addons/core/Scripts/Game/ERR/ERR_SiteDefinition.c": "b422feeaca90084ea2bee5cde94dc9c6fcae542749b55d95f7226f922a6a68ac",
|
||||
"addons/core/Scripts/Game/ERR/ERR_SiteDiscoveryRules.c": "50f7b3ff4f32bde37ce5ae2be7f598fc4dd8cc08f45914f6e3260d31c84baef2",
|
||||
"addons/core/Scripts/Game/ERR/ERR_SiteService.c": "6bc9a0b5aed326822807f05e17459d0fc2da10b709e8168972b4e40fd09f87cb",
|
||||
"addons/core/Scripts/Game/ERR/ERR_SpawnFinalization.c": "2e295b0f225208c5414728ba83333e5e0ab6eef3a708ce39eb1dfce5400c94c9",
|
||||
"addons/core/Scripts/Game/ERR/ERR_SpawnLogic.c": "ed88279cbeb3e5e6daf8471763df87a251881f550632eddadd08153594bbd1a1",
|
||||
"addons/core/Scripts/Game/ERR/ERR_SpawnPlacement.c": "55323dcb330c23d49dc8fa3fde86a3ae3958c0b6563d6c3cd0960da88333f93d",
|
||||
"addons/core/Scripts/Game/ERR/ERR_Supplies.c": "752e8a56b0b8cde33cf532032cb0a203553017b686faac2e19bee06f7a9c0713",
|
||||
"addons/core/Scripts/Game/ERR/ERR_TimeService.c": "d9f481b7da01e08d2c982a948c18ba6bde76889d7cc9d26d510708f4ba479453",
|
||||
"addons/core/Scripts/GameLib/ERR/ERR_DiagnosticNoSplash.c": "0ea1b402f8927b6d68bf6f7e5caa2967f7e3a39147634faab147796b791933b5",
|
||||
"addons/core/Scripts/WorkbenchGame/ERR/ERR_ValidateBaseWorldPlugin.c": "7f44aa64ea7b4f8b3640a37a4b781c43bf6adb80e4a3a702d9491131698056f6",
|
||||
"addons/core/UI/layouts/ERR/PreparationStatus.layout": "bd269cf8dc6f27735423743dd5b78242550518414448a0256e5e12fa6b92c459",
|
||||
"addons/core/UI/layouts/ERR/PreparationStatus.layout.meta": "75b12176a443bb911fc4ad446982d762201fda42ed38736b79bc5439fca31ccc",
|
||||
"addons/core/Worlds/ERR_Everon.ent": "22324bc7eb0d80dec8a1f3bd61a9df9201b72f749f4e751766b0c9d0b7d46b87",
|
||||
"addons/core/Worlds/ERR_Everon.ent.meta": "19d1903ca72baa326b4724a6791d0da1104a1e53f3f31dc1ca41a856efd68e83",
|
||||
"addons/core/Worlds/ERR_Everon_Layers/default.layer": "17105538007199bfc419aa04a64debaf2da0a7b77a1dc3ba983e92bf747c862e",
|
||||
"addons/core/addon.gproj": "231274e6b62302f32c65f9ff31de2ce8a9e51e1c8d12c87deeec82ae1f40de46",
|
||||
"addons/intel/Scripts/Game/ERR/ERR_IntelService.c": "5e167630a76437fd731fbb7a62a41381ea71509f3adb8a6b9c77f6816384861a",
|
||||
"addons/intel/addon.gproj": "d0ced242cefb220a5cccd6779d61fda9bc55581701b9f78bcf13c09d92ddbcbe",
|
||||
"addons/map/Materials/ERRM_MapRenderTarget.emat": "9877c5b175c5f30dd80bea36c711b21ab38219aa7075adf9ae79932e1d4c76bc",
|
||||
"addons/map/Materials/ERRM_MapRenderTarget.emat.meta": "5ee1a705f8011a44020ca2691f5ccc17d44bf596fef9a36e98d1f267eb58fab0",
|
||||
"addons/map/Prefabs/Items/Equipment/ERRM_SharedFieldMap.et": "30dee8e9eab459ea32a7d835a9fb89d43df47708057cab829f067b25a24cd581",
|
||||
"addons/map/Prefabs/Items/Equipment/ERRM_SharedFieldMap.et.meta": "59093e9072c50d99c86da7609c87541016da5bcf92b98d99db4c524e1c8e0e8d",
|
||||
"addons/map/Scripts/Game/ERR/ERR_ScenarioMap.c": "75fa1d742129ef7f33c005cd48f56db7f49ee7bde3c5428532b0b501b032b0a3",
|
||||
"addons/map/Scripts/Game/ERRMap/ERRM_NativeMapOwnershipProbe.c": "32418602f085e3edba7343f42a6a691630b533be262002f29248e8ae87a38254",
|
||||
"addons/map/Scripts/Game/ERRMap/ERRM_SharedMapComponent.c": "3a10f6ea25bf88a400bc3e6c339823433845c5db4f2f423835ccf99a1b1a843f",
|
||||
"addons/map/UI/layouts/ERRMap/SharedMapRenderTarget.layout": "49a2da4181b94d42174f58c7f9b6bf2207116c99427d61ff1c212092ac7db4d2",
|
||||
"addons/map/UI/layouts/ERRMap/SharedMapRenderTarget.layout.meta": "5c846445cc089e2e08899ba703059d4adb805ff30ab5a16409a3cd59718cbd54",
|
||||
"addons/map/addon.gproj": "1b371e5e01ea9fa46e76570fecb8aaa3a9298e34cba7ccca8a6bdb5ca86eb46a"
|
||||
}
|
||||
@@ -0,0 +1,174 @@
|
||||
---------------------------------------------
|
||||
Log Z:\tmp\erri-workbench-profile\logs\logs_2026-09-19_20-43-33\console.log started at 2026-09-19 20:43:33 (2026-09-19 18:43:33 UTC)
|
||||
|
||||
20:43:33.155 ENGINE : FileSystem: Adding relative directory 'Z:\tmp\erri-workbench-profile\logs\logs_2026-09-19_20-43-33' to filesystem under name logs
|
||||
20:43:33.155 ENGINE : FileSystem: Adding relative directory 'Z:\tmp\erri-workbench-profile\profile' to filesystem under name profile
|
||||
20:43:33.155 ENGINE : FileSystem: Current working directory: 'Z:\home\jakub\.local\share\Steam\steamapps\common\Arma Reforger Tools\Workbench\'
|
||||
20:43:33.157 PROFILING : Workbench Create Engine took: 10.115000 ms
|
||||
20:43:34.198 INIT : INIT : Workbench Init Engine
|
||||
20:43:34.199 ENGINE : Initializing engine, version 192142
|
||||
20:43:34.199 ENGINE : CLI Params: -gproj Z:/home/jakub/devel/escapistsrereintroduced/addons/chat/addon.gproj -addonsDir Z:/home/jakub/devel/escapistsrereintroduced/addons -profile Z:/tmp/erri-workbench-profile -logconsole -wbModule WorldEditor -load Worlds/ERR_Everon.ent -plugin ERR_ValidateWorldPlugin -errPlay 1 -errSmoke 1 -errSmokeOutcome map-ownership -noThrow -disableCrashReporter
|
||||
20:43:34.208 ENGINE : Addon dirs:
|
||||
20:43:34.208 ENGINE : dir: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/chat/'
|
||||
20:43:34.208 ENGINE : dir: 'Z:/home/jakub/devel/escapistsrereintroduced/addons'
|
||||
20:43:34.208 ENGINE : dir: './addons'
|
||||
20:43:34.208 ENGINE : dir: 'Z:/tmp/erri-workbench-profile/addons'
|
||||
20:43:34.208 ENGINE : Available addons:
|
||||
20:43:34.208 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/chat/addon.gproj' guid: 'FA804F411BDDF2C6'
|
||||
20:43:34.208 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/ai/addon.gproj' guid: '5192138CB9D5B911'
|
||||
20:43:34.208 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/core/addon.gproj' guid: '2528466DE220D91C'
|
||||
20:43:34.208 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/intel/addon.gproj' guid: 'D31039C7C53E348A'
|
||||
20:43:34.208 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/map/addon.gproj' guid: '9AAEE9041D79809E'
|
||||
20:43:34.208 ENGINE : gproj: './addons/core/core.gproj' guid: '5614BBCCBB55ED1C' (packed)
|
||||
20:43:34.208 ENGINE : gproj: 'Z:/tmp/erri-workbench-profile/addons/ArmaReforger/ArmaReforger.gproj' guid: '58D0FB3206B6F859' (packed)
|
||||
20:43:34.208 ENGINE : FileSystem: Adding relative directory 'Z:\home\jakub\devel\escapistsrereintroduced\addons\chat' to filesystem under name ERR_Chat
|
||||
20:43:34.208 ENGINE : FileSystem: Adding relative directory 'Z:\home\jakub\devel\escapistsrereintroduced\addons\map' to filesystem under name ERR_Map
|
||||
20:43:34.208 ENGINE : FileSystem: Adding relative directory 'Z:\home\jakub\devel\escapistsrereintroduced\addons\intel' to filesystem under name ERR_Intel
|
||||
20:43:34.208 ENGINE : FileSystem: Adding relative directory 'Z:\home\jakub\devel\escapistsrereintroduced\addons\ai' to filesystem under name ERR_Ai
|
||||
20:43:34.208 ENGINE : FileSystem: Adding relative directory 'Z:\home\jakub\devel\escapistsrereintroduced\addons\core' to filesystem under name ERR_Core
|
||||
20:43:34.327 ENGINE : FileSystem: Adding package 'Z:/tmp/erri-workbench-profile/addons/ArmaReforger/' (pak count: 14) to filesystem under name ArmaReforger
|
||||
20:43:34.331 ENGINE : FileSystem: Adding package './addons/core/' (pak count: 2) to filesystem under name core
|
||||
20:43:34.331 ENGINE : CPU vendor : AuthenticAMD
|
||||
20:43:34.331 ENGINE : CPU type : 2
|
||||
20:43:34.331 ENGINE : CPU name : AMD Ryzen 7 3800XT 8-Core Processor
|
||||
20:43:34.331 ENGINE : CPU cache info : L1 [Inst 32KB, Data 32KB], L2 [Unif 512KB], L3 [Unif 16384KB]
|
||||
20:43:34.331 ENGINE : CPU count logical : 16
|
||||
20:43:34.331 ENGINE : CPU count physical : 8
|
||||
20:43:34.331 ENGINE : CPU features : mmx sse sse2 sse3 ssse3 sse4_1 sse4_2 popcnt aesni pclmulqdq osxsave avx sha avx2
|
||||
20:43:34.331 RESOURCES : ResourceDB: loading cache (id=0 name=ERR_Chat path=Z:\home\jakub\devel\escapistsrereintroduced\addons\chat/resourceDatabase.rdb)
|
||||
20:43:34.332 RESOURCES : ResourceDB: loading cache (id=1 name=ERR_Map path=Z:\home\jakub\devel\escapistsrereintroduced\addons\map/resourceDatabase.rdb)
|
||||
20:43:34.332 RESOURCES : ResourceDB: loading cache (id=2 name=ERR_Intel path=Z:\home\jakub\devel\escapistsrereintroduced\addons\intel/resourceDatabase.rdb)
|
||||
20:43:34.332 RESOURCES : ResourceDB: loading cache (id=3 name=ERR_Ai path=Z:\home\jakub\devel\escapistsrereintroduced\addons\ai/resourceDatabase.rdb)
|
||||
20:43:34.333 RESOURCES : ResourceDB: loading cache (id=4 name=ERR_Core path=Z:\home\jakub\devel\escapistsrereintroduced\addons\core/resourceDatabase.rdb)
|
||||
20:43:34.333 RESOURCES : ResourceDB: loading cache (id=5 name=ArmaReforger path=Z:/tmp/erri-workbench-profile/addons/ArmaReforger/resourceDatabase.rdb)
|
||||
20:43:34.478 RESOURCES : ResourceDB: loading cache (id=6 name=core path=./addons/core/resourceDatabase.rdb)
|
||||
20:43:34.479 RESOURCES : ResourceDB: loading cache (id=7 name=profile path=Z:\tmp\erri-workbench-profile\profile/resourceDatabase.rdb)
|
||||
20:43:34.479 RESOURCES : ResourceDB: loading cache (id=8 name=logs path=Z:\tmp\erri-workbench-profile\logs\logs_2026-09-19_20-43-33/resourceDatabase.rdb)
|
||||
20:43:34.628 RESOURCES : RESOURCES : ResourceDB: full scan
|
||||
20:43:34.633 RESOURCES : RESOURCES : scanning...
|
||||
20:43:34.633 RESOURCES : RESOURCES : scanning @"ERR_Chat"
|
||||
20:43:34.634 RESOURCES : RESOURCES : scanning @"ERR_Map"
|
||||
20:43:34.636 RESOURCES : RESOURCES : scanning @"ERR_Intel"
|
||||
20:43:34.636 RESOURCES : RESOURCES : scanning @"ERR_Ai"
|
||||
20:43:34.637 RESOURCES : RESOURCES : scanning @"ERR_Core"
|
||||
20:43:34.641 RESOURCES : RESOURCES : scanning @"ArmaReforger"
|
||||
20:43:34.791 RESOURCES : RESOURCES : scanning @"core"
|
||||
20:43:34.799 RESOURCES : RESOURCES : scanning @"profile"
|
||||
20:43:34.799 RESOURCES : RESOURCES : scanning @"logs"
|
||||
20:43:34.800 RESOURCES : RESOURCES : processing meta-files...
|
||||
20:43:34.880 RESOURCES : RESOURCES : processing files...
|
||||
20:43:34.892 INIT : Workbench startup
|
||||
20:43:34.892 INIT : Workbench Init Engine
|
||||
20:43:34.892 RESOURCES : ResourceDB: full scan
|
||||
20:43:34.892 RESOURCES : processing files...
|
||||
20:43:34.892 RESOURCES (W): resource not registered: @"$profile:rereintroduced.json". Setting null GUID
|
||||
20:43:34.892 RESOURCES (W): resource not registered: @"$logs:launch-source-sha256.json". Setting null GUID
|
||||
20:43:34.892 RESOURCES (W): resource not registered: @"$logs:launch-source.json". Setting null GUID
|
||||
20:43:34.892 RESOURCES : RESOURCES : processing folders...
|
||||
20:43:34.899 RESOURCES : RESOURCES : creating GUID-item mapping...
|
||||
20:43:34.918 RESOURCES : RESOURCES : building tree...
|
||||
20:43:34.992 PROFILING : ResourceDB: full scan took: 363.764400 ms
|
||||
20:43:34.993 RESOURCES : ResourceDB: saving cache (id=0 name=ERR_Chat path=Z:\home\jakub\devel\escapistsrereintroduced\addons\chat/resourceDatabase.rdb)
|
||||
20:43:34.995 RESOURCES : ResourceDB: written 804/804 bytes
|
||||
20:43:34.995 RESOURCES : ResourceDB: cache successfully saved
|
||||
20:43:34.995 RESOURCES : ResourceDB: saving cache (id=1 name=ERR_Map path=Z:\home\jakub\devel\escapistsrereintroduced\addons\map/resourceDatabase.rdb)
|
||||
20:43:34.996 RESOURCES : ResourceDB: written 819/819 bytes
|
||||
20:43:34.996 RESOURCES : ResourceDB: cache successfully saved
|
||||
20:43:34.997 RESOURCES : ResourceDB: saving cache (id=2 name=ERR_Intel path=Z:\home\jakub\devel\escapistsrereintroduced\addons\intel/resourceDatabase.rdb)
|
||||
20:43:34.998 RESOURCES : ResourceDB: written 227/227 bytes
|
||||
20:43:34.998 RESOURCES : ResourceDB: cache successfully saved
|
||||
20:43:34.998 RESOURCES : ResourceDB: saving cache (id=3 name=ERR_Ai path=Z:\home\jakub\devel\escapistsrereintroduced\addons\ai/resourceDatabase.rdb)
|
||||
20:43:35.000 RESOURCES : ResourceDB: written 2403/2403 bytes
|
||||
20:43:35.000 RESOURCES : ResourceDB: cache successfully saved
|
||||
20:43:35.000 RESOURCES : ResourceDB: saving cache (id=4 name=ERR_Core path=Z:\home\jakub\devel\escapistsrereintroduced\addons\core/resourceDatabase.rdb)
|
||||
20:43:35.002 RESOURCES : ResourceDB: written 7443/7443 bytes
|
||||
20:43:35.002 RESOURCES : ResourceDB: cache successfully saved
|
||||
20:43:35.002 RESOURCES : ResourceDB: saving cache (id=7 name=profile path=Z:\tmp\erri-workbench-profile\profile/resourceDatabase.rdb)
|
||||
20:43:35.004 RESOURCES : ResourceDB: written 206/206 bytes
|
||||
20:43:35.004 RESOURCES : ResourceDB: cache successfully saved
|
||||
20:43:35.004 RESOURCES : ResourceDB: saving cache (id=8 name=logs path=Z:\tmp\erri-workbench-profile\logs\logs_2026-09-19_20-43-33/resourceDatabase.rdb)
|
||||
20:43:35.005 RESOURCES : ResourceDB: written 162/162 bytes
|
||||
20:43:35.005 RESOURCES : ResourceDB: cache successfully saved
|
||||
20:43:35.006 ENGINE : GameProject load
|
||||
20:43:35.006 ENGINE : Loaded addons:
|
||||
20:43:35.006 ENGINE : gproj: './addons/core/core.gproj' guid: '5614BBCCBB55ED1C'
|
||||
20:43:35.006 ENGINE : gproj: 'Z:/tmp/erri-workbench-profile/addons/ArmaReforger/ArmaReforger.gproj' guid: '58D0FB3206B6F859'
|
||||
20:43:35.006 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/core/addon.gproj' guid: '2528466DE220D91C'
|
||||
20:43:35.006 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/ai/addon.gproj' guid: '5192138CB9D5B911'
|
||||
20:43:35.006 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/intel/addon.gproj' guid: 'D31039C7C53E348A'
|
||||
20:43:35.006 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/map/addon.gproj' guid: '9AAEE9041D79809E'
|
||||
20:43:35.006 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/chat/addon.gproj' guid: 'FA804F411BDDF2C6'
|
||||
20:43:35.009 ENGINE : Loading custom engine user config '$profile:.save/app1874910_user76561198020202999/settings/ReforgerEngineSettings.conf'
|
||||
20:43:35.009 INIT : GameProject engine user settings load @"$profile:.save/app1874910_user76561198020202999/settings/ReforgerEngineSettings.conf"
|
||||
20:43:35.009 ENGINE : Engine user settings config loaded
|
||||
20:43:35.009 PROFILING : Settings changed took: 0.001800 ms
|
||||
20:43:35.119 RENDER : (OK) Adapter 'AMD Radeon RX 6950 XT (RADV NAVI21)' supports feature level 12_0
|
||||
20:43:35.120 RENDER : Basic screen setup:
|
||||
20:43:35.120 RENDER : Back buffer format : TEXFMT_R8G8B8A8_SRGB (29)
|
||||
20:43:35.120 RENDER : MSAA : none
|
||||
20:43:35.136 RENDER : AMD AGS library initialized, version 6.1.0 x DLL 6.1.0
|
||||
20:43:35.136 RENDER : Extendeded AMD info for AMD Radeon RX 6950 XT (RADV NAVI21) (primary device)
|
||||
20:43:35.136 RENDER : * architecture RDNA2, 80 CUs, 40 WGPs (for RDNA), 64 ROPs
|
||||
20:43:35.136 RENDER : * core clocks 2720 MHz, memory 1124 MHz
|
||||
20:43:35.136 RENDER : * TFlops 27.9, memory bandwidth (562.0 GB/s)
|
||||
20:43:35.136 RENDER : AMD AGS correctly initialized
|
||||
20:43:35.137 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
|
||||
20:43:35.137 RENDER : Detected output devices:
|
||||
20:43:35.137 RENDER : * 1 device/s connected to AMD Radeon RX 6950 XT (RADV NAVI21):
|
||||
20:43:35.137 RENDER : Generic Non-PnP Monitor (\\.\DISPLAY1), 1280x720 (offset 0x0), 30Hz
|
||||
20:43:35.137 RENDER : Concurrent frames limit 2
|
||||
20:43:35.217 RENDER : DX12 device successfully created by AMD AGS library
|
||||
20:43:35.217 RENDER : * user markers not supported in this version AMD SW
|
||||
20:43:35.217 RENDER : Graphics device features
|
||||
20:43:35.217 RENDER : Needed:
|
||||
20:43:35.217 RENDER : * Highest supported shader model: 6.8 (6.0 needed)
|
||||
20:43:35.217 RENDER : Optional:
|
||||
20:43:35.217 RENDER : * Allow tearing (VSYNC) : 1
|
||||
20:43:35.217 RENDER : * 16 bits : 1
|
||||
20:43:35.217 RENDER : * Resource heap tier : 3
|
||||
20:43:35.217 RENDER : * Persistent heaps (DRED) : 1
|
||||
20:43:35.217 RENDER : * DRED 1.2 is supported by compiler
|
||||
20:43:35.243 RENDER : Main RT format setup.
|
||||
20:43:35.243 RENDER : Main RT format for quality 0 : TEXFMT_R11G11B10_FLOAT (26)
|
||||
20:43:35.243 RENDER : Main RT format for quality 1 : TEXFMT_R16G16B16A16_FLOAT (10)
|
||||
20:43:35.245 ENGINE : Job system settings: coreCount=16, shortJobContextCount=16, shortJobThreadCount=15, longJobThreadCount=16
|
||||
20:43:35.277 PROFILING : Settings changed took: 0.018500 ms
|
||||
20:43:36.288 AUDIO : Endpoint: Speakers (PulseAudio Output)
|
||||
20:43:36.288 AUDIO : Format: Channels: 2, Sample rate: 48kHz, Avg. bytes: 384kB, Sample bits: 32, Block align: 8B
|
||||
20:43:36.289 AUDIO : Audio client:
|
||||
20:43:36.289 AUDIO : Format: Channels: 2, Sample rate: 48kHz, Buffer size: 1536B, Frame: 512
|
||||
20:43:36.293 RENDER : RENDER : Reload shaders
|
||||
20:43:36.293 RENDER : Enfusion shader version 13
|
||||
20:43:36.293 INIT : INIT : ShaderListReload
|
||||
20:43:36.293 PROFILING : ShaderListReload took: 0.000400 ms
|
||||
20:43:36.438 AUDIO : Endpoint: Speakers (PulseAudio Output)
|
||||
20:43:36.438 AUDIO : Format: Channels: 2, Sample rate: 48kHz, Avg. bytes: 384kB, Sample bits: 32, Block align: 8B
|
||||
20:43:36.438 AUDIO : Audio client:
|
||||
20:43:36.438 AUDIO : Format: Channels: 2, Sample rate: 48kHz, Buffer size: 1536B, Frame: 512
|
||||
20:43:36.684 RENDER : Loaded 3752 newer shader binaries
|
||||
20:43:36.684 PROFILING : Reload shaders took: 391.868200 ms
|
||||
20:43:36.684 ENGINE : Initializing inputs.
|
||||
20:43:36.699 NETWORK : Initializing networking.
|
||||
20:43:36.699 NETWORK : Using new GameRplScheduler.
|
||||
20:43:36.699 SCRIPT : SCRIPT : Initializing scripts
|
||||
20:43:36.699 SCRIPT : SCRIPT : ScriptProjectManager init
|
||||
20:43:38.892 PROFILING : ScriptProjectManager init took: 2192.115100 ms
|
||||
20:43:38.990 PROFILING : Initializing scripts took: 2290.280300 ms
|
||||
20:43:39.007 ENGINE : Enfusion engine successfully created.
|
||||
20:43:39.007 PROFILING : Workbench Init Engine took: 4808.551500 ms
|
||||
20:43:39.007 INIT : INIT : Workbench Create Game
|
||||
20:43:39.019 GUI : Using default language (en_us)
|
||||
20:43:39.019 GUI : Loading 'en_us' localization file.
|
||||
20:43:39.019 INIT : INIT : Loading StringTable
|
||||
20:43:39.042 PROFILING : Loading StringTable took: 23.354800 ms
|
||||
20:43:39.042 SCRIPT : SCRIPT : Compiling GameLib scripts
|
||||
20:43:39.111 SCRIPT : Module: Workbench; loaded 18x files; 36x classes; used 125K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE"; CRC32: 90ce0460
|
||||
20:43:39.112 SCRIPT : Module: GameLib; loaded 466x files; 648x classes; used 828K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE"; CRC32: d66caacb
|
||||
20:43:39.112 PROFILING : Compiling GameLib scripts took: 70.118000 ms
|
||||
20:43:39.112 SCRIPT : SCRIPT : Compiling Game scripts
|
||||
20:43:40.207 INIT : Workbench Create Game
|
||||
20:43:40.207 SCRIPT : Compiling Game scripts
|
||||
20:43:40.207 SCRIPT (E): @"Scripts/Game/ERR/ERR_AircraftFieldRules.c,55": Expected name, not a keyword 'reference'
|
||||
20:43:40.425 SCRIPT (E): Can't compile "Game" script module!
|
||||
|
||||
Scripts/Game/ERR/ERR_AircraftFieldRules.c(55): Expected name, not a keyword 'reference'
|
||||
@@ -0,0 +1,16 @@
|
||||
---------------------------------------------
|
||||
Log Z:\tmp\erri-workbench-profile\logs\logs_2026-09-19_20-43-33\error.log started at 2026-09-19 20:43:34 (2026-09-19 18:43:34 UTC)
|
||||
|
||||
20:43:34.892 INIT : Workbench startup
|
||||
20:43:34.892 INIT : Workbench Init Engine
|
||||
20:43:34.892 RESOURCES : ResourceDB: full scan
|
||||
20:43:34.892 RESOURCES : processing files...
|
||||
20:43:34.892 RESOURCES (W): resource not registered: @"$profile:rereintroduced.json". Setting null GUID
|
||||
20:43:34.892 RESOURCES (W): resource not registered: @"$logs:launch-source-sha256.json". Setting null GUID
|
||||
20:43:34.892 RESOURCES (W): resource not registered: @"$logs:launch-source.json". Setting null GUID
|
||||
20:43:40.207 INIT : Workbench Create Game
|
||||
20:43:40.207 SCRIPT : Compiling Game scripts
|
||||
20:43:40.207 SCRIPT (E): @"Scripts/Game/ERR/ERR_AircraftFieldRules.c,55": Expected name, not a keyword 'reference'
|
||||
20:43:40.425 SCRIPT (E): Can't compile "Game" script module!
|
||||
|
||||
Scripts/Game/ERR/ERR_AircraftFieldRules.c(55): Expected name, not a keyword 'reference'
|
||||
+131
@@ -0,0 +1,131 @@
|
||||
[gamescope] [[0;34mInfo[0m] [0;37mconsole:[0m gamescope version 3.16.28 (gcc 16.2.1)
|
||||
No CAP_SYS_NICE, falling back to regular-priority compute and threads.
|
||||
Performance will be affected.
|
||||
[gamescope] [[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/deckhd.steamdeck.deckhd-lcd.lua' (id: 4)
|
||||
[gamescope] [[0;34mInfo[0m] [0;37mscriptmgr:[0m Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/gpd.win4.lcd.lua' (id: 5)
|
||||
[gamescope] [[0;34mInfo[0m] [0;37mscriptmgr:[0m Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/lenovo.legiongo.lcd.lua' (id: 6)
|
||||
[gamescope] [[0;34mInfo[0m] [0;37mscriptmgr:[0m Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/lenovo.legiongos.lcd.lua' (id: 7)
|
||||
[gamescope] [[0;34mInfo[0m] [0;37mscriptmgr:[0m Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/onexplayer.f1.oled.lua' (id: 8)
|
||||
[gamescope] [[0;34mInfo[0m] [0;37mscriptmgr:[0m Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/valve.steamdeck.lcd.lua' (id: 9)
|
||||
[gamescope] [[0;34mInfo[0m] [0;37mscriptmgr:[0m Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/valve.steamdeck.oled.lua' (id: 10)
|
||||
[gamescope] [[0;34mInfo[0m] [0;37mscriptmgr:[0m Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/zotac.zone.oled.lua' (id: 11)
|
||||
[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 :2
|
||||
The XKEYBOARD keymap compiler (xkbcomp) reports:
|
||||
> Warning: Multiple symbols for level 1/group 1 on key <FK23>
|
||||
> Using F23, ignoring XF86TouchpadOff
|
||||
> Warning: Symbol map for key <FK23> redefined
|
||||
> Using last definition for conflicting fields
|
||||
> Warning: Symbol map for key <FK24> redefined
|
||||
> Using last definition for conflicting fields
|
||||
> Warning: Could not resolve keysym XF86ElectronicPrivacyScreenOn
|
||||
> Warning: Could not resolve keysym XF86ElectronicPrivacyScreenOff
|
||||
> Warning: Could not resolve keysym XF86ActionOnSelection
|
||||
> Warning: Could not resolve keysym XF86ContextualInsert
|
||||
> Warning: Could not resolve keysym XF86ContextualQuery
|
||||
Errors from xkbcomp are not fatal to the X server
|
||||
[gamescope] [[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: 149
|
||||
[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
|
||||
ATTENTION: default value of option vk_wsi_force_swapchain_to_current_extent overridden by environment.
|
||||
[Gamescope WSI] Application info:
|
||||
pApplicationName: xalia.exe
|
||||
applicationVersion: 0
|
||||
pEngineName: DXVK
|
||||
engineVersion: 12587008
|
||||
apiVersion: 4206592
|
||||
[Gamescope WSI] Executable name: xalia.exe
|
||||
ATTENTION: default value of option vk_wsi_force_swapchain_to_current_extent overridden by environment.
|
||||
[Gamescope WSI] No application info given.
|
||||
[Gamescope WSI] Application info:
|
||||
pApplicationName: ArmaReforgerWorkbenchSteamDiag.exe
|
||||
applicationVersion: 1
|
||||
pEngineName: DXVK
|
||||
engineVersion: 12587008
|
||||
apiVersion: 4206592
|
||||
[Gamescope WSI] Executable name: ArmaReforgerWorkbenchSteamDiag.exe
|
||||
ATTENTION: default value of option vk_wsi_force_swapchain_to_current_extent overridden by environment.
|
||||
[Gamescope WSI] No application info given.
|
||||
The XKEYBOARD keymap compiler (xkbcomp) reports:
|
||||
> Warning: Unsupported maximum keycode 709, clipping.
|
||||
> X11 cannot support keycodes above 255.
|
||||
> Warning: Virtual modifier Hyper multiply defined
|
||||
> Using 0, ignoring 0
|
||||
> Warning: Virtual modifier ScrollLock multiply defined
|
||||
> Using 0, ignoring 0
|
||||
Errors from xkbcomp are not fatal to the X server
|
||||
ATTENTION: default value of option vk_wsi_force_swapchain_to_current_extent overridden by environment.
|
||||
[Gamescope WSI] Application info:
|
||||
pApplicationName: ArmaReforgerWorkbenchSteamDiag.exe
|
||||
applicationVersion: 0
|
||||
pEngineName: DXVK
|
||||
engineVersion: 12587008
|
||||
apiVersion: 4206592
|
||||
ATTENTION: default value of option vk_wsi_force_swapchain_to_current_extent overridden by environment.
|
||||
[Gamescope WSI] Application info:
|
||||
pApplicationName: ArmaReforgerWorkbenchSteamDiag.exe
|
||||
applicationVersion: 0
|
||||
pEngineName: vkd3d
|
||||
engineVersion: 12587008
|
||||
apiVersion: 4206592
|
||||
[Gamescope WSI] Forcing on VK_EXT_swapchain_maintenance1.
|
||||
ATTENTION: default value of option vk_wsi_force_swapchain_to_current_extent overridden by environment.
|
||||
[Gamescope WSI] No application info given.
|
||||
ATTENTION: default value of option vk_wsi_force_swapchain_to_current_extent overridden by environment.
|
||||
[Gamescope WSI] Application info:
|
||||
pApplicationName: ArmaReforgerWorkbenchSteamDiag.exe
|
||||
applicationVersion: 0
|
||||
pEngineName: vkd3d
|
||||
engineVersion: 12587008
|
||||
apiVersion: 4206592
|
||||
[Gamescope WSI] Forcing on VK_EXT_swapchain_maintenance1.
|
||||
[Gamescope WSI] Creating Gamescope surface: xid: 0x1a001a4
|
||||
[Gamescope WSI] Atom of T was wrong type. Expected XCB_ATOM_CARDINAL.
|
||||
[Gamescope WSI] Made gamescope surface for xid: 0x1a001a4
|
||||
[Gamescope WSI] Surface state:
|
||||
steam app id: 1874910
|
||||
window xid: 0x1a001a4
|
||||
wayland surface res id: 5
|
||||
layer client flags: 0x4
|
||||
server hdr output enabled: false
|
||||
hdr formats exposed to client: false
|
||||
[gamescope] [[0;34mInfo[0m] [0;37mlaunch:[0m Primary child shut down!
|
||||
(EE) failed to read Wayland events: Broken pipe
|
||||
+202
@@ -0,0 +1,202 @@
|
||||
{
|
||||
"addons/ai/Prefabs/ERR/MortarCrew.et": "05d3e7353ff9fe5523218a1487b31b7b742b0be8adbcb060c7099978cf008bce",
|
||||
"addons/ai/Prefabs/ERR/MortarCrew.et.meta": "fdfd4fcd21a67c3d698fa4aadc4e5c76e665cebf4be86013bc389e493fab63cc",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_AircraftControlBridge.c": "b8f0141644d8f043c6db4c2d4bb93215c548e5c27ab5468c66e996d62bdf905a",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_AircraftFieldEnvelope.c": "c02c8e6fbdfd3b8c67461590d532019d3bf0002307b19aee604eb17ad230c329",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_AircraftFieldFlight.c": "e3322b6d85b1234bfbf218a119cf6f7eed0b9ddd160004d2d9fe02c64ed857ba",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_AircraftFieldRules.c": "b7496c17dbac1bfcf628929e75c6d9932da24b4897aaa995d06945c6c1111dc1",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_AircraftFlight.c": "aa25a8e67a30c48677bf528236402b7f8e5d815dc18df93b878520ad3d1fe8a7",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_AircraftFlightEnvelope.c": "8125cef61fb283d0d7c4dd2df3c04b062b448f1101fd48dd53f4f4097df5fef3",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_AircraftRouteEnvelope.c": "e8fcef844239c47a1f2f36be420afe943bc450091b05859435406b46c87fa511",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_AircraftRouteFlight.c": "1d8d92bf6d97429d68a9f62018232e90cc124cc8d7445efeabe863706a31e2b9",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_AircraftService.c": "bf52361c9d07b2c632d6ad755cbca76683f5ad4a8208e6eec690c367efa44549",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_HQ.c": "7ee8e7a3282fd566ec330c94854b353b2c6178e9b964f7b4d5e197e4d0b7dee9",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_HQJournal.c": "b3e402cfe92d415f37f666045afb062e6e11670ba03a0ca6f2d9fd4fc3520ac1",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_HQNetwork.c": "92ff2caca52e94c2cc9642dfc8509ce6e9349b257012bade8650bace9231128c",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_HQObservation.c": "36c978ec5f052213ac1236e1398d85063efbfd7ef60fe04f1fc11447fefe1d68",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_HQReport.c": "c4d16ccb571db4d9444c0a8d2be7318845d25ff90238b6d304e96a9ea19f1a08",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_HelicopterAvailability.c": "60eaef2f6d4b2fd44861c5a4434ef97e732e40a5ff7401e2da451ed2dd9c2762",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_MortarAimSolution.c": "59e8343d09f7a44871d8d3335d6ad1d02216abb5deed30d38b5ec9ba3f2c0649",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_MortarBattery.c": "a4eed96d17f239cbf353863ebe40d2282aeacd7a4d63a7b2f0ecfb3d93a2e2b2",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_MortarCourierTransfer.c": "968e58ca700b4a11e5e04a5c159696f514a0b1bce531210172b913e495f7e2b7",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_MortarFiring.c": "7aec51c83972610d1bcbca58b84b14f16f59952d402b12c3d88e7192a3e2ee90",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_MortarLogistics.c": "e1ffb25fba384b449de576a5502a93d875c3f52e8da1941bbf590ad9845f9730",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_MortarPrediction.c": "470dd196ed64800c697d24c09d1344bacd2502587fac76af4ee0edae2563092d",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_MortarReadiness.c": "2fabe8f812fd333cea7199d1eb722c807fcc5adb285c618956bd54d31fa27ce3",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_MortarRefresh.c": "52ae8d9d6cad92f42d68c634091b80a474d2666b6c06d63a8c30a3fab71494c4",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_MortarReportLedger.c": "42a96040b63e56677353e55164ae23031c90f70b4d6673a9f412ad7b19e636ae",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_MortarSalvo.c": "697c01f479df6c505a41d984a29c02002e3052114dafa2ec6252ae55e2979a2b",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_MortarSupplyTransfer.c": "34f7eaa01dc68e97aae8c1177b7f8fd6c15d5a41c6dc86de377f00b3613a8e77",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_MortarSystem.c": "4edefc8530cc6eec7a5e1df1d0b7d56e6801186f23c61331ce0e8075b8281efb",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_NativeAircraftControlProbe.c": "0cf3e72ccdc42e6ef20fb71d743f0e037a9e69b2e082c720fa705628cf790205",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_NativeAircraftRouteProbe.c": "61d224bfecfd0701206bab4f8446394ba0b8b2e27eb0f17b81d1b6a741c25f28",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_NativeMortarCourierProbe.c": "740c8bebbd4128a9311b1167d1058549475d6b46f81c9b6c0d19650f4b50616f",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_NativeMortarFiringProbe.c": "ee570d21bede8baebefc799399712d9582b3e30ebda7299f6c941777f02ad2a2",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_NativeMortarSalvoProbe.c": "5fd7bb8953f6850ad79e646c0c286153108a10ee2d5ef397ccb65a07f8d2ed7c",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_NativeMortarTransferProbe.c": "399c21940ef10777b46fdb3e905430ce43404ce1de2f4a6bb62f9c61c1a0689c",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_NativePatrolHQProbe.c": "4c04aa3e1b6b000747da8e2a919a6501107880fd041134c019f516665bb6f758",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_SettlementSafety.c": "e5c0ebc95521a9a33a3f7d9cca6c551dda862a08b7af20b017877aba9584795b",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_SupportScenario.c": "71757018ec9716c4dc24f62a292a214919d3fd5daed3c16e03e56abd208e9f03",
|
||||
"addons/ai/addon.gproj": "5f559db8f526700db11e6ae763f5245f19b7006fc68c56e4c09fb6f940bdf2a1",
|
||||
"addons/chat/Missions/ERR_Everon.conf": "76f3ac0d21b585654beac7ddd68e3c8cbdd66dbfe909b17b04838fa813a7c29b",
|
||||
"addons/chat/Missions/ERR_Everon.conf.meta": "0a23c98bf83873536c65fa17d38dea33a1d7b9e4ab210f90633ff688abcc551f",
|
||||
"addons/chat/Scripts/Game/ERR/ERR_AdminCommands.c": "d7b4ed95fc32767911936cb0fcc60763233f2c31afd34a6a0fa998b39cec9f5c",
|
||||
"addons/chat/Scripts/Game/ERR/ERR_NativeHQResponseProof.c": "0f8b09fd8753234c91fd6baaca0e2f812e409ae1c4be8f340b648ae59b69c2f3",
|
||||
"addons/chat/Scripts/Game/ERR/ERR_NativeMortarProbe.c": "ddb892141500c192c0787b011d57dd8c07dd8c9a3ca5fdc407f6c271897bde0a",
|
||||
"addons/chat/Scripts/Game/ERR/ERR_NativeRadioProbe.c": "84524163c63402755b4f834f74dfe6d8e5c397dc26031f532593c6f79f5a93b1",
|
||||
"addons/chat/Scripts/Game/ERR/ERR_NativeSmoke.c": "cb4ae42bad04045fe15ec80e9c612a4453e18d9ee6f628e4461de9b97e6b7cda",
|
||||
"addons/chat/Scripts/Game/ERRChat/ERR_OrdinaryScenarioLaunchChat.c": "dda715c9691d366e35fa2ad5e390dee1971651f137a5a9f9aeb23dcbe53ec87e",
|
||||
"addons/chat/Scripts/WorkbenchGame/ERR/ERR_ValidateWorldPlugin.c": "81c92d408ce88cc9f98d6053f1d0c863427693ba748f00df9f1bf8079015ef94",
|
||||
"addons/chat/addon.gproj": "ea1587e0174cf795334d306c71d99b06797fc891427cd57b6cab6e21cf0e4e0e",
|
||||
"addons/core/Configs/ERR/EveronSites.conf": "ade92cc8d2b14a84ac378bbbb52608b351dca65d359dd7a315d64a145fa4b46f",
|
||||
"addons/core/Configs/ERR/EveronSites.conf.meta": "d5fe68025ef4e7c1e16082cf5873b7c7172eacbfaef4ab29b7e0e3c98f8dca56",
|
||||
"addons/core/Configs/ERR/Factions/MissionVehicles.conf": "5f74f4a7089c7e7b54ad62463159ce8f0bab25a6b85268dc3872ea6001e048fb",
|
||||
"addons/core/Configs/ERR/Factions/MissionVehicles.conf.meta": "00c368b6271d3440cc8bf627b03a384d247635723923fc5ad2104b8b4007b035",
|
||||
"addons/core/Configs/ERR/Factions/US.conf": "4c3da063abb6e3ee39a6e4e0c5a9ffd5eae9d209d58470ea18b45dba5528db1b",
|
||||
"addons/core/Configs/ERR/Factions/US.conf.meta": "a05469aef028e9e17eba545e81e2af2887b59f0fef17dac51a23c7b8155e381b",
|
||||
"addons/core/Configs/ERR/Factions/USSR.conf": "407ea27f80a64c5184c089d43cdd0bdabfc5974c84f1d2a245081fdf2afa3f30",
|
||||
"addons/core/Configs/ERR/Factions/USSR.conf.meta": "057397d97096346791b51b7b13fbe18af218bcf78e9984d9c01b49a2403de611",
|
||||
"addons/core/Configs/ERR/GameOverScreens.conf": "45231061911a1462d45fb6db0fecc2b0793f17b5ae71017174954ff4fbd20236",
|
||||
"addons/core/Configs/ERR/GameOverScreens.conf.meta": "eb654b745c0b97b41c991694569ef4877a3c2315e0826f9556337cd68690843e",
|
||||
"addons/core/Configs/ERR/VanillaFactions.conf": "db890b61b48ee15484041fd2245a862d9fa9e7ba21b1229c281ff37c448a35b1",
|
||||
"addons/core/Configs/ERR/VanillaFactions.conf.meta": "ac77725c0c21974991ef47a466b88122e939de8b46fd23e68889e7674cbb2bfd",
|
||||
"addons/core/Missions/ERR_Everon_Base.conf": "1e6a0e9a756d15495201f71121626890f01efe6b00154c561672d4ec157960bd",
|
||||
"addons/core/Missions/ERR_Everon_Base.conf.meta": "9b16267c644d815bcf98a3a3aaff30b93d7224fb24d3a2bac66730a28011f317",
|
||||
"addons/core/Prefabs/ERR/Extraction.et": "1aa286ef253c5410f09fa641e4be91a7be8ec834487a7fbb74cfb45cab60ee1e",
|
||||
"addons/core/Prefabs/ERR/Extraction.et.meta": "c2a838633001e2e3a202d39cb33aa744ebcd996017ad032359069641b5d13853",
|
||||
"addons/core/Prefabs/ERR/FactionManager.et": "425f916b890019c537f6b2f72b1af9e7be54b0a476320da969e1f313a7ac5ea5",
|
||||
"addons/core/Prefabs/ERR/FactionManager.et.meta": "9bf53d5e4bcbe60dd1a4ece1409fc23c349055c860708620f5f6e9716290a97d",
|
||||
"addons/core/Prefabs/ERR/FieldCover.et": "20f8095e69dbfe3db74ff19078e528ea75405362b335e03560ccd61f8df2e7f3",
|
||||
"addons/core/Prefabs/ERR/FieldCover.et.meta": "83461ffa76244e1d69f20b053a9741ccdf7d127009182bd540a7e5ba6150c3d9",
|
||||
"addons/core/Prefabs/ERR/GameMode.et": "385c97a5b8067091d92aa60c2d4fcf02002cf606b95523866ead65c96b8c0029",
|
||||
"addons/core/Prefabs/ERR/GameMode.et.meta": "106769cd34525c9d440057072836cb7401a6752148c40edd7fe61c03bd58328c",
|
||||
"addons/core/Prefabs/ERR/ObjectiveDocument.et": "2e72270bf186654af12d2c3ff9bf940690b03fb17fca44f873c1fde5d11384c0",
|
||||
"addons/core/Prefabs/ERR/ObjectiveDocument.et.meta": "eaba9903be147b98a1106e2273e2270773df73b9b22f2cd4e20136a8e281382e",
|
||||
"addons/core/Prefabs/ERR/Patrol.et": "c5685a8bc311cc5563fb3334beec9408d3d7a1069152fddeeb7df4f1b7f9e6ce",
|
||||
"addons/core/Prefabs/ERR/Patrol.et.meta": "7c5da568fa2fcf0709ee2959253cb068d7c7ed7c2467af3b247a7e70efd96b69",
|
||||
"addons/core/Prefabs/ERR/Prison.et": "dcd3f4dfd453303d026e68b64f7de6125bd3390822d8432dd95a3710a5b3df89",
|
||||
"addons/core/Prefabs/ERR/Prison.et.meta": "2e426ef3de68f4107907854b51e818bc11d84649a01c538e3f18dd9ebec766bb",
|
||||
"addons/core/Prefabs/ERR/PrisonDoor.et": "fc66be9d36f1f01084de59f1b0a1e8817f9e46547ead33d4fafaac0107446c40",
|
||||
"addons/core/Prefabs/ERR/PrisonDoor.et.meta": "b8f3db52bf186426026668fbb9d633c3cbd4d438ab301fba880398f6a0e781c2",
|
||||
"addons/core/Prefabs/ERR/PrisonWall.et": "8009d19365ae72a4749d7ad4fa04662575b06c65c6bf06507d380d57258b5eed",
|
||||
"addons/core/Prefabs/ERR/PrisonWall.et.meta": "0294bc5dbb56f90f8153d62459bb0a6ad91d76a479812bbec9c7db182fdb58d6",
|
||||
"addons/core/Prefabs/ERR/Prisoner.et": "198b5badabb12f218f86df7eb4dc268fd830769dc3de7eef6362cfaee4d6fc8d",
|
||||
"addons/core/Prefabs/ERR/Prisoner.et.meta": "974278ba49fafeed70b619a0067bbc70ae4d534be441c812ce2bef4a5fb3c022",
|
||||
"addons/core/Prefabs/ERR/Radio.et": "b4b5cfe125b39019855816c9a1c508ca4d65d435b5546fdaa6c1fa3c8c9b1165",
|
||||
"addons/core/Prefabs/ERR/Radio.et.meta": "bc91137b68ba550217914fb8892bb44d7e1920e4a1086f3e506623832a44212f",
|
||||
"addons/core/Prefabs/ERR/SpectatorCamera.et": "b5b87d5b7b707f3745741aebe7c923067c8a74f8fbb2a4711834bab03bb5a812",
|
||||
"addons/core/Prefabs/ERR/SpectatorCamera.et.meta": "2a16558f93915e31908a674509e9c89976470f78a84a1174a64b94b68b8f77ad",
|
||||
"addons/core/Prefabs/ERR/SupplyCache.et": "bccf7afbaae97cfcdd78dd6dbbf4be5b2c045d348f50fe4581962e556c0044d7",
|
||||
"addons/core/Prefabs/ERR/SupplyCache.et.meta": "2f5de3a4aab1e9d0e35521f48dc57b95bd6e449c383dec4f1c258e10295904cb",
|
||||
"addons/core/Prefabs/ERR/SupplySite.et": "dc5decce5cabf39b6116e8794ec3960cb1e35761854fdbe69740da118787ded4",
|
||||
"addons/core/Prefabs/ERR/SupplySite.et.meta": "b41944b12eb3528ff7a3ac94258b18c66ef161aa6a38894aee300a1ac4798630",
|
||||
"addons/core/Scripts/Game/ERR/ERR_Actions.c": "cabb21413c90b252d29708b62228d0679c51c76e39ee0e483953ad7061b2b9d6",
|
||||
"addons/core/Scripts/Game/ERR/ERR_Actors.c": "bb5e2d065ec40629cebebf2be25958b992ad05dbc906c5f66dddbe6c6d4ff124",
|
||||
"addons/core/Scripts/Game/ERR/ERR_AdminService.c": "9985747d5ddaeb91bf27937836a6c369f8dcb353263b77a49212ec28c10ba4eb",
|
||||
"addons/core/Scripts/Game/ERR/ERR_CasualtyGroundSupport.c": "26f0c7ebe8563bb022f7c383674e7d8997b0cc35c7ea321d39d74f2493c1ed9d",
|
||||
"addons/core/Scripts/Game/ERR/ERR_CasualtyLoadingGameMode.c": "f4cf19440583ac24346831a2d5f1d7f734c031e46dc266c499972329dd0533cf",
|
||||
"addons/core/Scripts/Game/ERR/ERR_CasualtyLoadingOwner.c": "6346a05ddda030f7d9b6f026f977d5f018ee16002fa519e8c49dcd700c323dc7",
|
||||
"addons/core/Scripts/Game/ERR/ERR_CasualtyLoadingService.c": "93fe23d9e1da596886c33cf76bad92b0906ff5cdd8b5b21d58906e9270246201",
|
||||
"addons/core/Scripts/Game/ERR/ERR_DiscoveryMap.c": "7553c8cc1388cca3404994e36f96946c6abd1fefb08cef2fbb3ea1a62b22861b",
|
||||
"addons/core/Scripts/Game/ERR/ERR_DiscoveryService.c": "2793bb888566dd975e5bbf93fdb47a22e3b0f33a68d04992191cf6428ae942a0",
|
||||
"addons/core/Scripts/Game/ERR/ERR_DocumentComponent.c": "17bb76b80ebd3357e46d553c44674f602c7bd6901c92aec53ac8214194aa4ff2",
|
||||
"addons/core/Scripts/Game/ERR/ERR_EnvironmentService.c": "867e9f47adfb7a9819a8b58498688ff86127282cb89cf2529ae81f73e529e1c5",
|
||||
"addons/core/Scripts/Game/ERR/ERR_EscapeGameOverScreenInfo.c": "8893b161bf168884d62f1315d3c8aa9af4ca413f621d6f8e2525bb5245d5f509",
|
||||
"addons/core/Scripts/Game/ERR/ERR_ExtractionPlacement.c": "c30222ca25cc0e91dec4077e6b82b37a9edafcf2cbebd0be5b6bd8656b53adfe",
|
||||
"addons/core/Scripts/Game/ERR/ERR_ExtractionService.c": "91357099b4e0401196b67d48963be54be30e56bdba57cdac67dc20b8ebb883e9",
|
||||
"addons/core/Scripts/Game/ERR/ERR_FactionCatalog.c": "a5a8c53acf21259e14f59cb919535910f30dabff5a9179c664bc6a7a4d744d6e",
|
||||
"addons/core/Scripts/Game/ERR/ERR_GameMode.c": "b5b07abdfecde247b9d9d6f74dddfff50fde825f3c7fe6d86abd97e85f87b2e7",
|
||||
"addons/core/Scripts/Game/ERR/ERR_InitialGuardRules.c": "8c9d6b1dc4c2af96284e34f487eebb5a221091016ef108006dec60b4e3836558",
|
||||
"addons/core/Scripts/Game/ERR/ERR_Inventory.c": "b63e679d5b650b63a7a91dfc3f42a62f4be58b0338f6df3313e66d29a93bebf6",
|
||||
"addons/core/Scripts/Game/ERR/ERR_InventoryLayout.c": "1af5df45a0f06d19a017954e9bf4b2d722e2d2389f8ffdeb1d024435b9a08be8",
|
||||
"addons/core/Scripts/Game/ERR/ERR_ItemStationTeardown.c": "102e61216e86e47ad243cc19f6f66da1fcd8cc77f8799354ceaeb4a6dc74622e",
|
||||
"addons/core/Scripts/Game/ERR/ERR_LoadCasualtyAction.c": "5d868fb065a1a0fea7d5abfc81d1d8be96823815535f2ffd0dc4ff60d8eae794",
|
||||
"addons/core/Scripts/Game/ERR/ERR_LocalAdmission.c": "b0e824c6880cbf9b1f368dc7ada9907bde78b22b948d419b6c861323f32258be",
|
||||
"addons/core/Scripts/Game/ERR/ERR_Location.c": "d2035f56ded35743312ec6ca91a67f8623a466c91255e1893c570edf0954ff24",
|
||||
"addons/core/Scripts/Game/ERR/ERR_MissionRules.c": "f7abc38ad8fdc375ce7fa63a65f0bade027d22b37e09de5e3f94ba8c3c63cc41",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeAdminSettingsProbe.c": "6a4df33a2b0e6b6aeed944c6895961e658d4f0db9aed9b8433a43a451fa35cae",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeBaseSmoke.c": "7b35e53ceb91b8235fb753d42c8d5c80f6164b6d4cb53c685e058c409662708a",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeCasualtyGroundProbe.c": "41f40db3735f8aa535c0061458d9892dcfe972222b8a17238e67b65633c46bc3",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeCasualtyLoadProbe.c": "94c533deea654ec546df3f1ebb7cd213e6cd79b1125d99bab5303ef8e87b018b",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeCasualtyRemoveProbe.c": "4cfc06f6d43b709b63caae714155ffc562502e884f49a9825623c6f46972ad36",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeCasualtyServiceProbe.c": "02a9d70d1f4ba20326df199ba41489cfbae12b7bb0aab441361421cee38ad9ea",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeContractsProbe.c": "d1556df885171cf967e96eef5d8981a2e9ee4e3938b7d32fdd0426f647bbabc0",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeDefinitionProbe.c": "c07048341396443ddf5307e340e2087254d65f0bddf8f7d93e6b6bd7f03ca360",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeDiscoveryMapProbe.c": "9ed32d391d08d937ff4f9f33bd11c3a204ce9a2230c2d72b6761e0320b31f24f",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeEndProbe.c": "2dec80c7e247ec5c257407f95d9d5edd42fe0cc44d6af9f724f6ebd10d8a355f",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeEnvironmentProbe.c": "8b1d110717aa5f07bfb8fe633847eab519109e3a8a4100970a487be05c053418",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeEnvironmentRestartProbe.c": "7a836a206381b8e8de24c92baf141beb30575723675dd6948d738169ed26b507",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeExtractionProbe.c": "4b09385f73206de004f4f3c38a6192fd658a0d2012482dc5a84dff1599ceb972",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeFactionCatalogProbe.c": "ee11486cf77da9070506ccc0cfd6e94240c5387c8be455bf864934a8fef65f78",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeFlightFootprint.c": "a8862a04ac784426f431e2e9cd3f1f19f820b38a081674d29549b8b00277c72d",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeFlightInputDiagnostics.c": "e231dcbdaefe81beb3bd587cb73be8fb3d3184bc86d18dbaa30a43ca4ba5dcc4",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeGuardCancelProbe.c": "bfa1c65cb039e19c3d1891e4a3fd33469e974c97cc7f42128efc31a8f587d514",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeItemStationTeardownProbe.c": "028588a49fa9207087cd27ec9396979cd932daa071e2490bd0262cd71dae30d9",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeLifecycleProbe.c": "b613a5dbe81c2032fd02d31070ae5631166d14d0b02cdbec3b63b782f0bbc115",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeLocalAdmissionProbe.c": "29c860ca3e51cdaa463f3c23a98ff45ee0499ce9bbc322046e0efbed587f1e09",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeMedicalProbe.c": "43fa51ffbcf9dd0cd8e905a1135bcf0756651da3af34677f3c92e7d264ed70b6",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeObjectiveLossProbe.c": "6b80fd317a8c6e8583bd4337870838a86251e3b8a681d0aa07e8b52e22abfc48",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeObjectiveProbe.c": "71fbd2479a70048f83d8b262ad1452f427be2c0afc8b071ef13bff477b9dc29b",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativePatrolProbe.c": "02bd9fdf5454db7dd4c82240efe0d947bf8d6488ace42809c3aef6505cb6266d",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativePoweredFlightProbe.c": "7ae5d6f85bbbebec214c66bfdf6f53b93c802f109fcd5bcfbad82c5d61d6cb9f",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativePreparationStatusProbe.c": "456f4d7c3272b89d5f4c6713617baa5596d846994152356fee9a659839bcd8b5",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativePrisonBreachProbe.c": "22d0923cd69ba591e783011d424c97c86520272b70da9aa6a6d15558464c264c",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativePrisonerProbe.c": "e2d1ffe5d269add55124601ff0d1dc032a398c7d51010736e6f0e4cbeb38ae86",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeProgressionIdentityProbe.c": "1d3fe20bce761a1082964bca9bad9ce79d1fa8b04db9b5053bae98da380ae560",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeRadioDefenceProbe.c": "cad54f0b43cefd72df74697dfc7e93725ff0acac6d311e963ce4f817428c272c",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeRecoveryProbe.c": "4de6868cd3e76afb80cf0ae5dac1e35d2c417838f640c2f18aa3343217eea2f2",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeResultProbe.c": "db239385dc705840240d02448eabc77fa41162cfade6f21a275a3404339e8a31",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeSiteSurvey.c": "ac0203753ade0cdff6d483132797a80e4520f14546c3f9dea288281cd4cd9c4f",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeStationTeardownDiagnostic.c": "172248540932174341882861bb78a9720a6cf89981fcdf9dffe63f7fd4023f2c",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeTimeProbe.c": "c93d049785971e51246fcc07cf24804270a752a655505f2c38e48c80df5255ae",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeTransportProbe.c": "63ec0c5ce698114daa6314b2a6e3c3e98e76094117c477f9d0d072260686d193",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeTransportSurvey.c": "3e94493bf54d15be2bceb106ad18873e14e6755af09c05f07db7fb26fb7adff5",
|
||||
"addons/core/Scripts/Game/ERR/ERR_ObjectiveDetails.c": "628ebd166dcb5544c2d18dce489619984887ee18296cf2446fc6d894f89dd5bf",
|
||||
"addons/core/Scripts/Game/ERR/ERR_ObjectiveText.c": "3b73b19429c7746425470d73ce5983f9fd442e4cd6acaab87f8728ea4dccb0c2",
|
||||
"addons/core/Scripts/Game/ERR/ERR_Objectives.c": "88d95a52fcba103483ea751571e1afeae0e6fc82115ed50d6fc195424726960f",
|
||||
"addons/core/Scripts/Game/ERR/ERR_Observer.c": "16ab78acede9b0cab86c6a74f47ffd5b8a7c50f131f44d64a8826eac6896a279",
|
||||
"addons/core/Scripts/Game/ERR/ERR_OrdinaryGateObserver.c": "c8305745807e74f2a3e42ffc15ee8f49e64ae89fed18113cb2edd61f07aa5a66",
|
||||
"addons/core/Scripts/Game/ERR/ERR_OrdinaryInputObserver.c": "116c890146f27c36dc2e0cf5f4e85a273347a8b1eb53619756f0ed820343c76d",
|
||||
"addons/core/Scripts/Game/ERR/ERR_OrdinaryLookObserver.c": "fae1c8ae518cac21ea73e53a57212d85537a493128ed79a0ec2a1cdf3d32bb81",
|
||||
"addons/core/Scripts/Game/ERR/ERR_OrdinaryScenarioLaunch.c": "a4e7e56d174ebd15b4730202dae4c8ed06144f3f27c23ed49c99e2d297dc421a",
|
||||
"addons/core/Scripts/Game/ERR/ERR_PlayerAdminCommands.c": "a084d7dc097dfcde3d6cd9c2e326b9e2f8f2a519f77b30c4f56ab7a1429aa721",
|
||||
"addons/core/Scripts/Game/ERR/ERR_PlayerEscapeResult.c": "3124ab4d2d6d471409a47aba0af528790734df53243c03fe0cdac3e407047c14",
|
||||
"addons/core/Scripts/Game/ERR/ERR_PlayerGuide.c": "59008466b1b0cf3e191ccf16ecb1f32493351df1155c167f237a35279d39c1ba",
|
||||
"addons/core/Scripts/Game/ERR/ERR_PlayerRoster.c": "c038dac0f749bd29ebc35a4e952904b41a34417ba738904d5efcd1833a263e0b",
|
||||
"addons/core/Scripts/Game/ERR/ERR_PreparationStatus.c": "1d8987d2dcc1db2a030e095b33d50f07877181037d339624156291d8317bfa5d",
|
||||
"addons/core/Scripts/Game/ERR/ERR_PrisonEscapeService.c": "ed6286342ed12cc9a3df618474f5647c7ac36bc65336be7a5bec908dee04421d",
|
||||
"addons/core/Scripts/Game/ERR/ERR_RadioDefenceService.c": "5d347cf1a3b021074d560aad8db774828b797e685b63ddff3d28f55781e33ea8",
|
||||
"addons/core/Scripts/Game/ERR/ERR_RadioFeedback.c": "545262e65e9b3645d9e514a0521e442fe08f0c2e4e7c83ba638c5105d09818db",
|
||||
"addons/core/Scripts/Game/ERR/ERR_RecoveryService.c": "ba9ffb93679012c20a665636ef6b201cbe7d8d14fdf53e8cd3eb12ac7248943f",
|
||||
"addons/core/Scripts/Game/ERR/ERR_Resources.c": "d0169aac6fd0c38928c47a9002ded0fd8ba558ea3314a600e792d307ac1ca3ee",
|
||||
"addons/core/Scripts/Game/ERR/ERR_ScenarioComponent.c": "abba03af68323d5715ba1e2497fc66f3c706e6a6a983c3a386228abdfddeec89",
|
||||
"addons/core/Scripts/Game/ERR/ERR_Settings.c": "b9390548936b386e0211d487c1b76b65410fdd2e339cd8ecd9585ef4f4ffed31",
|
||||
"addons/core/Scripts/Game/ERR/ERR_SiteDefinition.c": "b422feeaca90084ea2bee5cde94dc9c6fcae542749b55d95f7226f922a6a68ac",
|
||||
"addons/core/Scripts/Game/ERR/ERR_SiteDiscoveryRules.c": "50f7b3ff4f32bde37ce5ae2be7f598fc4dd8cc08f45914f6e3260d31c84baef2",
|
||||
"addons/core/Scripts/Game/ERR/ERR_SiteService.c": "6bc9a0b5aed326822807f05e17459d0fc2da10b709e8168972b4e40fd09f87cb",
|
||||
"addons/core/Scripts/Game/ERR/ERR_SpawnFinalization.c": "2e295b0f225208c5414728ba83333e5e0ab6eef3a708ce39eb1dfce5400c94c9",
|
||||
"addons/core/Scripts/Game/ERR/ERR_SpawnLogic.c": "ed88279cbeb3e5e6daf8471763df87a251881f550632eddadd08153594bbd1a1",
|
||||
"addons/core/Scripts/Game/ERR/ERR_SpawnPlacement.c": "55323dcb330c23d49dc8fa3fde86a3ae3958c0b6563d6c3cd0960da88333f93d",
|
||||
"addons/core/Scripts/Game/ERR/ERR_Supplies.c": "752e8a56b0b8cde33cf532032cb0a203553017b686faac2e19bee06f7a9c0713",
|
||||
"addons/core/Scripts/Game/ERR/ERR_TimeService.c": "d9f481b7da01e08d2c982a948c18ba6bde76889d7cc9d26d510708f4ba479453",
|
||||
"addons/core/Scripts/GameLib/ERR/ERR_DiagnosticNoSplash.c": "0ea1b402f8927b6d68bf6f7e5caa2967f7e3a39147634faab147796b791933b5",
|
||||
"addons/core/Scripts/WorkbenchGame/ERR/ERR_ValidateBaseWorldPlugin.c": "7f44aa64ea7b4f8b3640a37a4b781c43bf6adb80e4a3a702d9491131698056f6",
|
||||
"addons/core/UI/layouts/ERR/PreparationStatus.layout": "bd269cf8dc6f27735423743dd5b78242550518414448a0256e5e12fa6b92c459",
|
||||
"addons/core/UI/layouts/ERR/PreparationStatus.layout.meta": "75b12176a443bb911fc4ad446982d762201fda42ed38736b79bc5439fca31ccc",
|
||||
"addons/core/Worlds/ERR_Everon.ent": "22324bc7eb0d80dec8a1f3bd61a9df9201b72f749f4e751766b0c9d0b7d46b87",
|
||||
"addons/core/Worlds/ERR_Everon.ent.meta": "19d1903ca72baa326b4724a6791d0da1104a1e53f3f31dc1ca41a856efd68e83",
|
||||
"addons/core/Worlds/ERR_Everon_Layers/default.layer": "17105538007199bfc419aa04a64debaf2da0a7b77a1dc3ba983e92bf747c862e",
|
||||
"addons/core/addon.gproj": "231274e6b62302f32c65f9ff31de2ce8a9e51e1c8d12c87deeec82ae1f40de46",
|
||||
"addons/intel/Scripts/Game/ERR/ERR_IntelService.c": "5e167630a76437fd731fbb7a62a41381ea71509f3adb8a6b9c77f6816384861a",
|
||||
"addons/intel/addon.gproj": "d0ced242cefb220a5cccd6779d61fda9bc55581701b9f78bcf13c09d92ddbcbe",
|
||||
"addons/map/Materials/ERRM_MapRenderTarget.emat": "9877c5b175c5f30dd80bea36c711b21ab38219aa7075adf9ae79932e1d4c76bc",
|
||||
"addons/map/Materials/ERRM_MapRenderTarget.emat.meta": "5ee1a705f8011a44020ca2691f5ccc17d44bf596fef9a36e98d1f267eb58fab0",
|
||||
"addons/map/Prefabs/Items/Equipment/ERRM_SharedFieldMap.et": "30dee8e9eab459ea32a7d835a9fb89d43df47708057cab829f067b25a24cd581",
|
||||
"addons/map/Prefabs/Items/Equipment/ERRM_SharedFieldMap.et.meta": "59093e9072c50d99c86da7609c87541016da5bcf92b98d99db4c524e1c8e0e8d",
|
||||
"addons/map/Scripts/Game/ERR/ERR_ScenarioMap.c": "75fa1d742129ef7f33c005cd48f56db7f49ee7bde3c5428532b0b501b032b0a3",
|
||||
"addons/map/Scripts/Game/ERRMap/ERRM_NativeMapOwnershipProbe.c": "32418602f085e3edba7343f42a6a691630b533be262002f29248e8ae87a38254",
|
||||
"addons/map/Scripts/Game/ERRMap/ERRM_SharedMapComponent.c": "3a10f6ea25bf88a400bc3e6c339823433845c5db4f2f423835ccf99a1b1a843f",
|
||||
"addons/map/UI/layouts/ERRMap/SharedMapRenderTarget.layout": "49a2da4181b94d42174f58c7f9b6bf2207116c99427d61ff1c212092ac7db4d2",
|
||||
"addons/map/UI/layouts/ERRMap/SharedMapRenderTarget.layout.meta": "5c846445cc089e2e08899ba703059d4adb805ff30ab5a16409a3cd59718cbd54",
|
||||
"addons/map/addon.gproj": "1b371e5e01ea9fa46e76570fecb8aaa3a9298e34cba7ccca8a6bdb5ca86eb46a"
|
||||
}
|
||||
+45
@@ -0,0 +1,45 @@
|
||||
{
|
||||
"schema_version": 1,
|
||||
"launch_id": "9e875758-3d76-4d91-91bf-a474a3e0e991",
|
||||
"captured_unix": 1789843411.3532362,
|
||||
"source_root": "/home/jakub/devel/escapistsrereintroduced",
|
||||
"command": [
|
||||
"gamescope",
|
||||
"--backend",
|
||||
"headless",
|
||||
"-W",
|
||||
"1280",
|
||||
"-H",
|
||||
"720",
|
||||
"-w",
|
||||
"1280",
|
||||
"-h",
|
||||
"720",
|
||||
"-r",
|
||||
"30",
|
||||
"--",
|
||||
"/home/jakub/.local/share/Steam/steamapps/common/Proton - Experimental/proton",
|
||||
"run",
|
||||
"/home/jakub/.local/share/Steam/steamapps/common/Arma Reforger Tools/Workbench/ArmaReforgerWorkbenchSteamDiag.exe",
|
||||
"-gproj",
|
||||
"Z:/home/jakub/devel/escapistsrereintroduced/addons/chat/addon.gproj",
|
||||
"-addonsDir",
|
||||
"Z:/home/jakub/devel/escapistsrereintroduced/addons",
|
||||
"-profile",
|
||||
"Z:/tmp/erri-workbench-profile",
|
||||
"-logconsole",
|
||||
"-wbModule=WorldEditor",
|
||||
"-load",
|
||||
"Worlds/ERR_Everon.ent",
|
||||
"-plugin=ERR_ValidateWorldPlugin",
|
||||
"-errPlay",
|
||||
"1",
|
||||
"-errSmoke",
|
||||
"1",
|
||||
"-errSmokeOutcome",
|
||||
"map-ownership",
|
||||
"-noThrow",
|
||||
"-disableCrashReporter"
|
||||
],
|
||||
"manifest_sha256": "3f31e2a8c4095fb4ab9d80cbd31b46a6827d118c83dbef8fbcf364d65de235f3"
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
{
|
||||
"log": "docs/evidence/native-2026-09-19-204333-field-keyword-compile-failure/console.log.txt",
|
||||
"smoke_completions": 0,
|
||||
"assertions_passed": 0,
|
||||
"script_or_runtime_failures": [
|
||||
"20:43:40.207 SCRIPT (E): @\"Scripts/Game/ERR/ERR_AircraftFieldRules.c,55\": Expected name, not a keyword 'reference'",
|
||||
"20:43:40.425 SCRIPT (E): Can't compile \"Game\" script module!"
|
||||
],
|
||||
"engine_errors": [
|
||||
"20:43:40.207 SCRIPT (E): @\"Scripts/Game/ERR/ERR_AircraftFieldRules.c,55\": Expected name, not a keyword 'reference'",
|
||||
"20:43:40.425 SCRIPT (E): Can't compile \"Game\" script module!"
|
||||
],
|
||||
"missing_end_screen": [],
|
||||
"scope": "scripted local Workbench integration only; no multiplayer, piloting or FPS claim"
|
||||
}
|
||||
@@ -0,0 +1,37 @@
|
||||
{
|
||||
"stopped_unix": 1789843420.945068,
|
||||
"console_sha256": "077354a8e177a13353ea722d6ad21c17271c76733b222e6c7572e226ab8a999c",
|
||||
"end_source_sha256": "3f31e2a8c4095fb4ab9d80cbd31b46a6827d118c83dbef8fbcf364d65de235f3",
|
||||
"source_unchanged_after_run": true,
|
||||
"source_provenance": "launch_snapshot",
|
||||
"launch_id": "9e875758-3d76-4d91-91bf-a474a3e0e991",
|
||||
"launch_source_manifest": "launch-source-sha256.json",
|
||||
"launch_source_metadata": "launch-source.json",
|
||||
"launch_source_sha256": "3f31e2a8c4095fb4ab9d80cbd31b46a6827d118c83dbef8fbcf364d65de235f3",
|
||||
"started_unix": 1789843411.3533027,
|
||||
"result": "test-failed",
|
||||
"result_before_cleanup": "test-failed",
|
||||
"cleanup_confirmed": true,
|
||||
"cleanup_report": {
|
||||
"cleanup_confirmed": true,
|
||||
"idle_verified": true,
|
||||
"errors": [],
|
||||
"orphan_cleanup": {
|
||||
"attempted": true,
|
||||
"report": {
|
||||
"scope": "/tmp/erri-headless-compat/pfx",
|
||||
"candidates": [],
|
||||
"term_sent": [],
|
||||
"kill_sent": [],
|
||||
"cleared": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"runner_error": null,
|
||||
"session": "/tmp/erri-workbench-profile/logs/logs_2026-09-19_20-43-33",
|
||||
"rounds_required": 1,
|
||||
"project": "chat",
|
||||
"display": "headless Gamescope 1280x720/30Hz",
|
||||
"dedicated_server": false,
|
||||
"audio": "silent sink and per-test-stream mute"
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
---------------------------------------------
|
||||
Log Z:\tmp\erri-workbench-profile\logs\logs_2026-09-19_20-43-33\script.log started at 2026-09-19 20:43:36 (2026-09-19 18:43:36 UTC)
|
||||
|
||||
20:43:36.699 SCRIPT : SCRIPT : Initializing scripts
|
||||
20:43:36.699 SCRIPT : SCRIPT : ScriptProjectManager init
|
||||
20:43:39.042 SCRIPT : SCRIPT : Compiling GameLib scripts
|
||||
20:43:39.111 SCRIPT : Module: Workbench; loaded 18x files; 36x classes; used 125K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE"; CRC32: 90ce0460
|
||||
20:43:39.112 SCRIPT : Module: GameLib; loaded 466x files; 648x classes; used 828K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE"; CRC32: d66caacb
|
||||
20:43:39.112 SCRIPT : SCRIPT : Compiling Game scripts
|
||||
20:43:40.207 SCRIPT : Compiling Game scripts
|
||||
20:43:40.207 SCRIPT (E): @"Scripts/Game/ERR/ERR_AircraftFieldRules.c,55": Expected name, not a keyword 'reference'
|
||||
20:43:40.425 SCRIPT (E): Can't compile "Game" script module!
|
||||
|
||||
Scripts/Game/ERR/ERR_AircraftFieldRules.c(55): Expected name, not a keyword 'reference'
|
||||
+4
@@ -0,0 +1,4 @@
|
||||
{
|
||||
"schema_version": 1,
|
||||
"kind": "launch_snapshot"
|
||||
}
|
||||
+202
@@ -0,0 +1,202 @@
|
||||
{
|
||||
"addons/ai/Prefabs/ERR/MortarCrew.et": "05d3e7353ff9fe5523218a1487b31b7b742b0be8adbcb060c7099978cf008bce",
|
||||
"addons/ai/Prefabs/ERR/MortarCrew.et.meta": "fdfd4fcd21a67c3d698fa4aadc4e5c76e665cebf4be86013bc389e493fab63cc",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_AircraftControlBridge.c": "b8f0141644d8f043c6db4c2d4bb93215c548e5c27ab5468c66e996d62bdf905a",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_AircraftFieldEnvelope.c": "c02c8e6fbdfd3b8c67461590d532019d3bf0002307b19aee604eb17ad230c329",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_AircraftFieldFlight.c": "e3322b6d85b1234bfbf218a119cf6f7eed0b9ddd160004d2d9fe02c64ed857ba",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_AircraftFieldRules.c": "b7496c17dbac1bfcf628929e75c6d9932da24b4897aaa995d06945c6c1111dc1",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_AircraftFlight.c": "aa25a8e67a30c48677bf528236402b7f8e5d815dc18df93b878520ad3d1fe8a7",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_AircraftFlightEnvelope.c": "8125cef61fb283d0d7c4dd2df3c04b062b448f1101fd48dd53f4f4097df5fef3",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_AircraftRouteEnvelope.c": "e8fcef844239c47a1f2f36be420afe943bc450091b05859435406b46c87fa511",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_AircraftRouteFlight.c": "1d8d92bf6d97429d68a9f62018232e90cc124cc8d7445efeabe863706a31e2b9",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_AircraftService.c": "bf52361c9d07b2c632d6ad755cbca76683f5ad4a8208e6eec690c367efa44549",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_HQ.c": "7ee8e7a3282fd566ec330c94854b353b2c6178e9b964f7b4d5e197e4d0b7dee9",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_HQJournal.c": "b3e402cfe92d415f37f666045afb062e6e11670ba03a0ca6f2d9fd4fc3520ac1",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_HQNetwork.c": "92ff2caca52e94c2cc9642dfc8509ce6e9349b257012bade8650bace9231128c",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_HQObservation.c": "36c978ec5f052213ac1236e1398d85063efbfd7ef60fe04f1fc11447fefe1d68",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_HQReport.c": "c4d16ccb571db4d9444c0a8d2be7318845d25ff90238b6d304e96a9ea19f1a08",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_HelicopterAvailability.c": "60eaef2f6d4b2fd44861c5a4434ef97e732e40a5ff7401e2da451ed2dd9c2762",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_MortarAimSolution.c": "59e8343d09f7a44871d8d3335d6ad1d02216abb5deed30d38b5ec9ba3f2c0649",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_MortarBattery.c": "a4eed96d17f239cbf353863ebe40d2282aeacd7a4d63a7b2f0ecfb3d93a2e2b2",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_MortarCourierTransfer.c": "968e58ca700b4a11e5e04a5c159696f514a0b1bce531210172b913e495f7e2b7",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_MortarFiring.c": "7aec51c83972610d1bcbca58b84b14f16f59952d402b12c3d88e7192a3e2ee90",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_MortarLogistics.c": "e1ffb25fba384b449de576a5502a93d875c3f52e8da1941bbf590ad9845f9730",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_MortarPrediction.c": "470dd196ed64800c697d24c09d1344bacd2502587fac76af4ee0edae2563092d",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_MortarReadiness.c": "2fabe8f812fd333cea7199d1eb722c807fcc5adb285c618956bd54d31fa27ce3",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_MortarRefresh.c": "52ae8d9d6cad92f42d68c634091b80a474d2666b6c06d63a8c30a3fab71494c4",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_MortarReportLedger.c": "42a96040b63e56677353e55164ae23031c90f70b4d6673a9f412ad7b19e636ae",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_MortarSalvo.c": "697c01f479df6c505a41d984a29c02002e3052114dafa2ec6252ae55e2979a2b",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_MortarSupplyTransfer.c": "34f7eaa01dc68e97aae8c1177b7f8fd6c15d5a41c6dc86de377f00b3613a8e77",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_MortarSystem.c": "4edefc8530cc6eec7a5e1df1d0b7d56e6801186f23c61331ce0e8075b8281efb",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_NativeAircraftControlProbe.c": "0cf3e72ccdc42e6ef20fb71d743f0e037a9e69b2e082c720fa705628cf790205",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_NativeAircraftRouteProbe.c": "61d224bfecfd0701206bab4f8446394ba0b8b2e27eb0f17b81d1b6a741c25f28",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_NativeMortarCourierProbe.c": "740c8bebbd4128a9311b1167d1058549475d6b46f81c9b6c0d19650f4b50616f",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_NativeMortarFiringProbe.c": "ee570d21bede8baebefc799399712d9582b3e30ebda7299f6c941777f02ad2a2",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_NativeMortarSalvoProbe.c": "5fd7bb8953f6850ad79e646c0c286153108a10ee2d5ef397ccb65a07f8d2ed7c",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_NativeMortarTransferProbe.c": "399c21940ef10777b46fdb3e905430ce43404ce1de2f4a6bb62f9c61c1a0689c",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_NativePatrolHQProbe.c": "4c04aa3e1b6b000747da8e2a919a6501107880fd041134c019f516665bb6f758",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_SettlementSafety.c": "e5c0ebc95521a9a33a3f7d9cca6c551dda862a08b7af20b017877aba9584795b",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_SupportScenario.c": "71757018ec9716c4dc24f62a292a214919d3fd5daed3c16e03e56abd208e9f03",
|
||||
"addons/ai/addon.gproj": "5f559db8f526700db11e6ae763f5245f19b7006fc68c56e4c09fb6f940bdf2a1",
|
||||
"addons/chat/Missions/ERR_Everon.conf": "76f3ac0d21b585654beac7ddd68e3c8cbdd66dbfe909b17b04838fa813a7c29b",
|
||||
"addons/chat/Missions/ERR_Everon.conf.meta": "0a23c98bf83873536c65fa17d38dea33a1d7b9e4ab210f90633ff688abcc551f",
|
||||
"addons/chat/Scripts/Game/ERR/ERR_AdminCommands.c": "d7b4ed95fc32767911936cb0fcc60763233f2c31afd34a6a0fa998b39cec9f5c",
|
||||
"addons/chat/Scripts/Game/ERR/ERR_NativeHQResponseProof.c": "0f8b09fd8753234c91fd6baaca0e2f812e409ae1c4be8f340b648ae59b69c2f3",
|
||||
"addons/chat/Scripts/Game/ERR/ERR_NativeMortarProbe.c": "ddb892141500c192c0787b011d57dd8c07dd8c9a3ca5fdc407f6c271897bde0a",
|
||||
"addons/chat/Scripts/Game/ERR/ERR_NativeRadioProbe.c": "84524163c63402755b4f834f74dfe6d8e5c397dc26031f532593c6f79f5a93b1",
|
||||
"addons/chat/Scripts/Game/ERR/ERR_NativeSmoke.c": "cb4ae42bad04045fe15ec80e9c612a4453e18d9ee6f628e4461de9b97e6b7cda",
|
||||
"addons/chat/Scripts/Game/ERRChat/ERR_OrdinaryScenarioLaunchChat.c": "dda715c9691d366e35fa2ad5e390dee1971651f137a5a9f9aeb23dcbe53ec87e",
|
||||
"addons/chat/Scripts/WorkbenchGame/ERR/ERR_ValidateWorldPlugin.c": "81c92d408ce88cc9f98d6053f1d0c863427693ba748f00df9f1bf8079015ef94",
|
||||
"addons/chat/addon.gproj": "ea1587e0174cf795334d306c71d99b06797fc891427cd57b6cab6e21cf0e4e0e",
|
||||
"addons/core/Configs/ERR/EveronSites.conf": "ade92cc8d2b14a84ac378bbbb52608b351dca65d359dd7a315d64a145fa4b46f",
|
||||
"addons/core/Configs/ERR/EveronSites.conf.meta": "d5fe68025ef4e7c1e16082cf5873b7c7172eacbfaef4ab29b7e0e3c98f8dca56",
|
||||
"addons/core/Configs/ERR/Factions/MissionVehicles.conf": "5f74f4a7089c7e7b54ad62463159ce8f0bab25a6b85268dc3872ea6001e048fb",
|
||||
"addons/core/Configs/ERR/Factions/MissionVehicles.conf.meta": "00c368b6271d3440cc8bf627b03a384d247635723923fc5ad2104b8b4007b035",
|
||||
"addons/core/Configs/ERR/Factions/US.conf": "4c3da063abb6e3ee39a6e4e0c5a9ffd5eae9d209d58470ea18b45dba5528db1b",
|
||||
"addons/core/Configs/ERR/Factions/US.conf.meta": "a05469aef028e9e17eba545e81e2af2887b59f0fef17dac51a23c7b8155e381b",
|
||||
"addons/core/Configs/ERR/Factions/USSR.conf": "407ea27f80a64c5184c089d43cdd0bdabfc5974c84f1d2a245081fdf2afa3f30",
|
||||
"addons/core/Configs/ERR/Factions/USSR.conf.meta": "057397d97096346791b51b7b13fbe18af218bcf78e9984d9c01b49a2403de611",
|
||||
"addons/core/Configs/ERR/GameOverScreens.conf": "45231061911a1462d45fb6db0fecc2b0793f17b5ae71017174954ff4fbd20236",
|
||||
"addons/core/Configs/ERR/GameOverScreens.conf.meta": "eb654b745c0b97b41c991694569ef4877a3c2315e0826f9556337cd68690843e",
|
||||
"addons/core/Configs/ERR/VanillaFactions.conf": "db890b61b48ee15484041fd2245a862d9fa9e7ba21b1229c281ff37c448a35b1",
|
||||
"addons/core/Configs/ERR/VanillaFactions.conf.meta": "ac77725c0c21974991ef47a466b88122e939de8b46fd23e68889e7674cbb2bfd",
|
||||
"addons/core/Missions/ERR_Everon_Base.conf": "1e6a0e9a756d15495201f71121626890f01efe6b00154c561672d4ec157960bd",
|
||||
"addons/core/Missions/ERR_Everon_Base.conf.meta": "9b16267c644d815bcf98a3a3aaff30b93d7224fb24d3a2bac66730a28011f317",
|
||||
"addons/core/Prefabs/ERR/Extraction.et": "1aa286ef253c5410f09fa641e4be91a7be8ec834487a7fbb74cfb45cab60ee1e",
|
||||
"addons/core/Prefabs/ERR/Extraction.et.meta": "c2a838633001e2e3a202d39cb33aa744ebcd996017ad032359069641b5d13853",
|
||||
"addons/core/Prefabs/ERR/FactionManager.et": "425f916b890019c537f6b2f72b1af9e7be54b0a476320da969e1f313a7ac5ea5",
|
||||
"addons/core/Prefabs/ERR/FactionManager.et.meta": "9bf53d5e4bcbe60dd1a4ece1409fc23c349055c860708620f5f6e9716290a97d",
|
||||
"addons/core/Prefabs/ERR/FieldCover.et": "20f8095e69dbfe3db74ff19078e528ea75405362b335e03560ccd61f8df2e7f3",
|
||||
"addons/core/Prefabs/ERR/FieldCover.et.meta": "83461ffa76244e1d69f20b053a9741ccdf7d127009182bd540a7e5ba6150c3d9",
|
||||
"addons/core/Prefabs/ERR/GameMode.et": "385c97a5b8067091d92aa60c2d4fcf02002cf606b95523866ead65c96b8c0029",
|
||||
"addons/core/Prefabs/ERR/GameMode.et.meta": "106769cd34525c9d440057072836cb7401a6752148c40edd7fe61c03bd58328c",
|
||||
"addons/core/Prefabs/ERR/ObjectiveDocument.et": "2e72270bf186654af12d2c3ff9bf940690b03fb17fca44f873c1fde5d11384c0",
|
||||
"addons/core/Prefabs/ERR/ObjectiveDocument.et.meta": "eaba9903be147b98a1106e2273e2270773df73b9b22f2cd4e20136a8e281382e",
|
||||
"addons/core/Prefabs/ERR/Patrol.et": "c5685a8bc311cc5563fb3334beec9408d3d7a1069152fddeeb7df4f1b7f9e6ce",
|
||||
"addons/core/Prefabs/ERR/Patrol.et.meta": "7c5da568fa2fcf0709ee2959253cb068d7c7ed7c2467af3b247a7e70efd96b69",
|
||||
"addons/core/Prefabs/ERR/Prison.et": "dcd3f4dfd453303d026e68b64f7de6125bd3390822d8432dd95a3710a5b3df89",
|
||||
"addons/core/Prefabs/ERR/Prison.et.meta": "2e426ef3de68f4107907854b51e818bc11d84649a01c538e3f18dd9ebec766bb",
|
||||
"addons/core/Prefabs/ERR/PrisonDoor.et": "fc66be9d36f1f01084de59f1b0a1e8817f9e46547ead33d4fafaac0107446c40",
|
||||
"addons/core/Prefabs/ERR/PrisonDoor.et.meta": "b8f3db52bf186426026668fbb9d633c3cbd4d438ab301fba880398f6a0e781c2",
|
||||
"addons/core/Prefabs/ERR/PrisonWall.et": "8009d19365ae72a4749d7ad4fa04662575b06c65c6bf06507d380d57258b5eed",
|
||||
"addons/core/Prefabs/ERR/PrisonWall.et.meta": "0294bc5dbb56f90f8153d62459bb0a6ad91d76a479812bbec9c7db182fdb58d6",
|
||||
"addons/core/Prefabs/ERR/Prisoner.et": "198b5badabb12f218f86df7eb4dc268fd830769dc3de7eef6362cfaee4d6fc8d",
|
||||
"addons/core/Prefabs/ERR/Prisoner.et.meta": "974278ba49fafeed70b619a0067bbc70ae4d534be441c812ce2bef4a5fb3c022",
|
||||
"addons/core/Prefabs/ERR/Radio.et": "b4b5cfe125b39019855816c9a1c508ca4d65d435b5546fdaa6c1fa3c8c9b1165",
|
||||
"addons/core/Prefabs/ERR/Radio.et.meta": "bc91137b68ba550217914fb8892bb44d7e1920e4a1086f3e506623832a44212f",
|
||||
"addons/core/Prefabs/ERR/SpectatorCamera.et": "b5b87d5b7b707f3745741aebe7c923067c8a74f8fbb2a4711834bab03bb5a812",
|
||||
"addons/core/Prefabs/ERR/SpectatorCamera.et.meta": "2a16558f93915e31908a674509e9c89976470f78a84a1174a64b94b68b8f77ad",
|
||||
"addons/core/Prefabs/ERR/SupplyCache.et": "bccf7afbaae97cfcdd78dd6dbbf4be5b2c045d348f50fe4581962e556c0044d7",
|
||||
"addons/core/Prefabs/ERR/SupplyCache.et.meta": "2f5de3a4aab1e9d0e35521f48dc57b95bd6e449c383dec4f1c258e10295904cb",
|
||||
"addons/core/Prefabs/ERR/SupplySite.et": "dc5decce5cabf39b6116e8794ec3960cb1e35761854fdbe69740da118787ded4",
|
||||
"addons/core/Prefabs/ERR/SupplySite.et.meta": "b41944b12eb3528ff7a3ac94258b18c66ef161aa6a38894aee300a1ac4798630",
|
||||
"addons/core/Scripts/Game/ERR/ERR_Actions.c": "cabb21413c90b252d29708b62228d0679c51c76e39ee0e483953ad7061b2b9d6",
|
||||
"addons/core/Scripts/Game/ERR/ERR_Actors.c": "bb5e2d065ec40629cebebf2be25958b992ad05dbc906c5f66dddbe6c6d4ff124",
|
||||
"addons/core/Scripts/Game/ERR/ERR_AdminService.c": "9985747d5ddaeb91bf27937836a6c369f8dcb353263b77a49212ec28c10ba4eb",
|
||||
"addons/core/Scripts/Game/ERR/ERR_CasualtyGroundSupport.c": "26f0c7ebe8563bb022f7c383674e7d8997b0cc35c7ea321d39d74f2493c1ed9d",
|
||||
"addons/core/Scripts/Game/ERR/ERR_CasualtyLoadingGameMode.c": "f4cf19440583ac24346831a2d5f1d7f734c031e46dc266c499972329dd0533cf",
|
||||
"addons/core/Scripts/Game/ERR/ERR_CasualtyLoadingOwner.c": "6346a05ddda030f7d9b6f026f977d5f018ee16002fa519e8c49dcd700c323dc7",
|
||||
"addons/core/Scripts/Game/ERR/ERR_CasualtyLoadingService.c": "93fe23d9e1da596886c33cf76bad92b0906ff5cdd8b5b21d58906e9270246201",
|
||||
"addons/core/Scripts/Game/ERR/ERR_DiscoveryMap.c": "7553c8cc1388cca3404994e36f96946c6abd1fefb08cef2fbb3ea1a62b22861b",
|
||||
"addons/core/Scripts/Game/ERR/ERR_DiscoveryService.c": "2793bb888566dd975e5bbf93fdb47a22e3b0f33a68d04992191cf6428ae942a0",
|
||||
"addons/core/Scripts/Game/ERR/ERR_DocumentComponent.c": "17bb76b80ebd3357e46d553c44674f602c7bd6901c92aec53ac8214194aa4ff2",
|
||||
"addons/core/Scripts/Game/ERR/ERR_EnvironmentService.c": "867e9f47adfb7a9819a8b58498688ff86127282cb89cf2529ae81f73e529e1c5",
|
||||
"addons/core/Scripts/Game/ERR/ERR_EscapeGameOverScreenInfo.c": "8893b161bf168884d62f1315d3c8aa9af4ca413f621d6f8e2525bb5245d5f509",
|
||||
"addons/core/Scripts/Game/ERR/ERR_ExtractionPlacement.c": "c30222ca25cc0e91dec4077e6b82b37a9edafcf2cbebd0be5b6bd8656b53adfe",
|
||||
"addons/core/Scripts/Game/ERR/ERR_ExtractionService.c": "91357099b4e0401196b67d48963be54be30e56bdba57cdac67dc20b8ebb883e9",
|
||||
"addons/core/Scripts/Game/ERR/ERR_FactionCatalog.c": "a5a8c53acf21259e14f59cb919535910f30dabff5a9179c664bc6a7a4d744d6e",
|
||||
"addons/core/Scripts/Game/ERR/ERR_GameMode.c": "b5b07abdfecde247b9d9d6f74dddfff50fde825f3c7fe6d86abd97e85f87b2e7",
|
||||
"addons/core/Scripts/Game/ERR/ERR_InitialGuardRules.c": "8c9d6b1dc4c2af96284e34f487eebb5a221091016ef108006dec60b4e3836558",
|
||||
"addons/core/Scripts/Game/ERR/ERR_Inventory.c": "b63e679d5b650b63a7a91dfc3f42a62f4be58b0338f6df3313e66d29a93bebf6",
|
||||
"addons/core/Scripts/Game/ERR/ERR_InventoryLayout.c": "1af5df45a0f06d19a017954e9bf4b2d722e2d2389f8ffdeb1d024435b9a08be8",
|
||||
"addons/core/Scripts/Game/ERR/ERR_ItemStationTeardown.c": "102e61216e86e47ad243cc19f6f66da1fcd8cc77f8799354ceaeb4a6dc74622e",
|
||||
"addons/core/Scripts/Game/ERR/ERR_LoadCasualtyAction.c": "5d868fb065a1a0fea7d5abfc81d1d8be96823815535f2ffd0dc4ff60d8eae794",
|
||||
"addons/core/Scripts/Game/ERR/ERR_LocalAdmission.c": "b0e824c6880cbf9b1f368dc7ada9907bde78b22b948d419b6c861323f32258be",
|
||||
"addons/core/Scripts/Game/ERR/ERR_Location.c": "d2035f56ded35743312ec6ca91a67f8623a466c91255e1893c570edf0954ff24",
|
||||
"addons/core/Scripts/Game/ERR/ERR_MissionRules.c": "f7abc38ad8fdc375ce7fa63a65f0bade027d22b37e09de5e3f94ba8c3c63cc41",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeAdminSettingsProbe.c": "6a4df33a2b0e6b6aeed944c6895961e658d4f0db9aed9b8433a43a451fa35cae",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeBaseSmoke.c": "7b35e53ceb91b8235fb753d42c8d5c80f6164b6d4cb53c685e058c409662708a",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeCasualtyGroundProbe.c": "41f40db3735f8aa535c0061458d9892dcfe972222b8a17238e67b65633c46bc3",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeCasualtyLoadProbe.c": "94c533deea654ec546df3f1ebb7cd213e6cd79b1125d99bab5303ef8e87b018b",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeCasualtyRemoveProbe.c": "4cfc06f6d43b709b63caae714155ffc562502e884f49a9825623c6f46972ad36",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeCasualtyServiceProbe.c": "02a9d70d1f4ba20326df199ba41489cfbae12b7bb0aab441361421cee38ad9ea",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeContractsProbe.c": "d1556df885171cf967e96eef5d8981a2e9ee4e3938b7d32fdd0426f647bbabc0",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeDefinitionProbe.c": "c07048341396443ddf5307e340e2087254d65f0bddf8f7d93e6b6bd7f03ca360",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeDiscoveryMapProbe.c": "9ed32d391d08d937ff4f9f33bd11c3a204ce9a2230c2d72b6761e0320b31f24f",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeEndProbe.c": "2dec80c7e247ec5c257407f95d9d5edd42fe0cc44d6af9f724f6ebd10d8a355f",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeEnvironmentProbe.c": "8b1d110717aa5f07bfb8fe633847eab519109e3a8a4100970a487be05c053418",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeEnvironmentRestartProbe.c": "7a836a206381b8e8de24c92baf141beb30575723675dd6948d738169ed26b507",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeExtractionProbe.c": "4b09385f73206de004f4f3c38a6192fd658a0d2012482dc5a84dff1599ceb972",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeFactionCatalogProbe.c": "ee11486cf77da9070506ccc0cfd6e94240c5387c8be455bf864934a8fef65f78",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeFlightFootprint.c": "a8862a04ac784426f431e2e9cd3f1f19f820b38a081674d29549b8b00277c72d",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeFlightInputDiagnostics.c": "e231dcbdaefe81beb3bd587cb73be8fb3d3184bc86d18dbaa30a43ca4ba5dcc4",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeGuardCancelProbe.c": "bfa1c65cb039e19c3d1891e4a3fd33469e974c97cc7f42128efc31a8f587d514",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeItemStationTeardownProbe.c": "028588a49fa9207087cd27ec9396979cd932daa071e2490bd0262cd71dae30d9",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeLifecycleProbe.c": "b613a5dbe81c2032fd02d31070ae5631166d14d0b02cdbec3b63b782f0bbc115",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeLocalAdmissionProbe.c": "29c860ca3e51cdaa463f3c23a98ff45ee0499ce9bbc322046e0efbed587f1e09",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeMedicalProbe.c": "43fa51ffbcf9dd0cd8e905a1135bcf0756651da3af34677f3c92e7d264ed70b6",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeObjectiveLossProbe.c": "6b80fd317a8c6e8583bd4337870838a86251e3b8a681d0aa07e8b52e22abfc48",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeObjectiveProbe.c": "71fbd2479a70048f83d8b262ad1452f427be2c0afc8b071ef13bff477b9dc29b",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativePatrolProbe.c": "02bd9fdf5454db7dd4c82240efe0d947bf8d6488ace42809c3aef6505cb6266d",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativePoweredFlightProbe.c": "7ae5d6f85bbbebec214c66bfdf6f53b93c802f109fcd5bcfbad82c5d61d6cb9f",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativePreparationStatusProbe.c": "456f4d7c3272b89d5f4c6713617baa5596d846994152356fee9a659839bcd8b5",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativePrisonBreachProbe.c": "22d0923cd69ba591e783011d424c97c86520272b70da9aa6a6d15558464c264c",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativePrisonerProbe.c": "e2d1ffe5d269add55124601ff0d1dc032a398c7d51010736e6f0e4cbeb38ae86",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeProgressionIdentityProbe.c": "1d3fe20bce761a1082964bca9bad9ce79d1fa8b04db9b5053bae98da380ae560",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeRadioDefenceProbe.c": "cad54f0b43cefd72df74697dfc7e93725ff0acac6d311e963ce4f817428c272c",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeRecoveryProbe.c": "4de6868cd3e76afb80cf0ae5dac1e35d2c417838f640c2f18aa3343217eea2f2",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeResultProbe.c": "db239385dc705840240d02448eabc77fa41162cfade6f21a275a3404339e8a31",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeSiteSurvey.c": "ac0203753ade0cdff6d483132797a80e4520f14546c3f9dea288281cd4cd9c4f",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeStationTeardownDiagnostic.c": "172248540932174341882861bb78a9720a6cf89981fcdf9dffe63f7fd4023f2c",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeTimeProbe.c": "c93d049785971e51246fcc07cf24804270a752a655505f2c38e48c80df5255ae",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeTransportProbe.c": "63ec0c5ce698114daa6314b2a6e3c3e98e76094117c477f9d0d072260686d193",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeTransportSurvey.c": "3e94493bf54d15be2bceb106ad18873e14e6755af09c05f07db7fb26fb7adff5",
|
||||
"addons/core/Scripts/Game/ERR/ERR_ObjectiveDetails.c": "628ebd166dcb5544c2d18dce489619984887ee18296cf2446fc6d894f89dd5bf",
|
||||
"addons/core/Scripts/Game/ERR/ERR_ObjectiveText.c": "3b73b19429c7746425470d73ce5983f9fd442e4cd6acaab87f8728ea4dccb0c2",
|
||||
"addons/core/Scripts/Game/ERR/ERR_Objectives.c": "88d95a52fcba103483ea751571e1afeae0e6fc82115ed50d6fc195424726960f",
|
||||
"addons/core/Scripts/Game/ERR/ERR_Observer.c": "16ab78acede9b0cab86c6a74f47ffd5b8a7c50f131f44d64a8826eac6896a279",
|
||||
"addons/core/Scripts/Game/ERR/ERR_OrdinaryGateObserver.c": "c8305745807e74f2a3e42ffc15ee8f49e64ae89fed18113cb2edd61f07aa5a66",
|
||||
"addons/core/Scripts/Game/ERR/ERR_OrdinaryInputObserver.c": "116c890146f27c36dc2e0cf5f4e85a273347a8b1eb53619756f0ed820343c76d",
|
||||
"addons/core/Scripts/Game/ERR/ERR_OrdinaryLookObserver.c": "fae1c8ae518cac21ea73e53a57212d85537a493128ed79a0ec2a1cdf3d32bb81",
|
||||
"addons/core/Scripts/Game/ERR/ERR_OrdinaryScenarioLaunch.c": "a4e7e56d174ebd15b4730202dae4c8ed06144f3f27c23ed49c99e2d297dc421a",
|
||||
"addons/core/Scripts/Game/ERR/ERR_PlayerAdminCommands.c": "a084d7dc097dfcde3d6cd9c2e326b9e2f8f2a519f77b30c4f56ab7a1429aa721",
|
||||
"addons/core/Scripts/Game/ERR/ERR_PlayerEscapeResult.c": "3124ab4d2d6d471409a47aba0af528790734df53243c03fe0cdac3e407047c14",
|
||||
"addons/core/Scripts/Game/ERR/ERR_PlayerGuide.c": "59008466b1b0cf3e191ccf16ecb1f32493351df1155c167f237a35279d39c1ba",
|
||||
"addons/core/Scripts/Game/ERR/ERR_PlayerRoster.c": "c038dac0f749bd29ebc35a4e952904b41a34417ba738904d5efcd1833a263e0b",
|
||||
"addons/core/Scripts/Game/ERR/ERR_PreparationStatus.c": "1d8987d2dcc1db2a030e095b33d50f07877181037d339624156291d8317bfa5d",
|
||||
"addons/core/Scripts/Game/ERR/ERR_PrisonEscapeService.c": "ed6286342ed12cc9a3df618474f5647c7ac36bc65336be7a5bec908dee04421d",
|
||||
"addons/core/Scripts/Game/ERR/ERR_RadioDefenceService.c": "5d347cf1a3b021074d560aad8db774828b797e685b63ddff3d28f55781e33ea8",
|
||||
"addons/core/Scripts/Game/ERR/ERR_RadioFeedback.c": "545262e65e9b3645d9e514a0521e442fe08f0c2e4e7c83ba638c5105d09818db",
|
||||
"addons/core/Scripts/Game/ERR/ERR_RecoveryService.c": "ba9ffb93679012c20a665636ef6b201cbe7d8d14fdf53e8cd3eb12ac7248943f",
|
||||
"addons/core/Scripts/Game/ERR/ERR_Resources.c": "d0169aac6fd0c38928c47a9002ded0fd8ba558ea3314a600e792d307ac1ca3ee",
|
||||
"addons/core/Scripts/Game/ERR/ERR_ScenarioComponent.c": "abba03af68323d5715ba1e2497fc66f3c706e6a6a983c3a386228abdfddeec89",
|
||||
"addons/core/Scripts/Game/ERR/ERR_Settings.c": "b9390548936b386e0211d487c1b76b65410fdd2e339cd8ecd9585ef4f4ffed31",
|
||||
"addons/core/Scripts/Game/ERR/ERR_SiteDefinition.c": "b422feeaca90084ea2bee5cde94dc9c6fcae542749b55d95f7226f922a6a68ac",
|
||||
"addons/core/Scripts/Game/ERR/ERR_SiteDiscoveryRules.c": "50f7b3ff4f32bde37ce5ae2be7f598fc4dd8cc08f45914f6e3260d31c84baef2",
|
||||
"addons/core/Scripts/Game/ERR/ERR_SiteService.c": "6bc9a0b5aed326822807f05e17459d0fc2da10b709e8168972b4e40fd09f87cb",
|
||||
"addons/core/Scripts/Game/ERR/ERR_SpawnFinalization.c": "2e295b0f225208c5414728ba83333e5e0ab6eef3a708ce39eb1dfce5400c94c9",
|
||||
"addons/core/Scripts/Game/ERR/ERR_SpawnLogic.c": "ed88279cbeb3e5e6daf8471763df87a251881f550632eddadd08153594bbd1a1",
|
||||
"addons/core/Scripts/Game/ERR/ERR_SpawnPlacement.c": "55323dcb330c23d49dc8fa3fde86a3ae3958c0b6563d6c3cd0960da88333f93d",
|
||||
"addons/core/Scripts/Game/ERR/ERR_Supplies.c": "752e8a56b0b8cde33cf532032cb0a203553017b686faac2e19bee06f7a9c0713",
|
||||
"addons/core/Scripts/Game/ERR/ERR_TimeService.c": "d9f481b7da01e08d2c982a948c18ba6bde76889d7cc9d26d510708f4ba479453",
|
||||
"addons/core/Scripts/GameLib/ERR/ERR_DiagnosticNoSplash.c": "0ea1b402f8927b6d68bf6f7e5caa2967f7e3a39147634faab147796b791933b5",
|
||||
"addons/core/Scripts/WorkbenchGame/ERR/ERR_ValidateBaseWorldPlugin.c": "7f44aa64ea7b4f8b3640a37a4b781c43bf6adb80e4a3a702d9491131698056f6",
|
||||
"addons/core/UI/layouts/ERR/PreparationStatus.layout": "bd269cf8dc6f27735423743dd5b78242550518414448a0256e5e12fa6b92c459",
|
||||
"addons/core/UI/layouts/ERR/PreparationStatus.layout.meta": "75b12176a443bb911fc4ad446982d762201fda42ed38736b79bc5439fca31ccc",
|
||||
"addons/core/Worlds/ERR_Everon.ent": "22324bc7eb0d80dec8a1f3bd61a9df9201b72f749f4e751766b0c9d0b7d46b87",
|
||||
"addons/core/Worlds/ERR_Everon.ent.meta": "19d1903ca72baa326b4724a6791d0da1104a1e53f3f31dc1ca41a856efd68e83",
|
||||
"addons/core/Worlds/ERR_Everon_Layers/default.layer": "17105538007199bfc419aa04a64debaf2da0a7b77a1dc3ba983e92bf747c862e",
|
||||
"addons/core/addon.gproj": "231274e6b62302f32c65f9ff31de2ce8a9e51e1c8d12c87deeec82ae1f40de46",
|
||||
"addons/intel/Scripts/Game/ERR/ERR_IntelService.c": "5e167630a76437fd731fbb7a62a41381ea71509f3adb8a6b9c77f6816384861a",
|
||||
"addons/intel/addon.gproj": "d0ced242cefb220a5cccd6779d61fda9bc55581701b9f78bcf13c09d92ddbcbe",
|
||||
"addons/map/Materials/ERRM_MapRenderTarget.emat": "9877c5b175c5f30dd80bea36c711b21ab38219aa7075adf9ae79932e1d4c76bc",
|
||||
"addons/map/Materials/ERRM_MapRenderTarget.emat.meta": "5ee1a705f8011a44020ca2691f5ccc17d44bf596fef9a36e98d1f267eb58fab0",
|
||||
"addons/map/Prefabs/Items/Equipment/ERRM_SharedFieldMap.et": "30dee8e9eab459ea32a7d835a9fb89d43df47708057cab829f067b25a24cd581",
|
||||
"addons/map/Prefabs/Items/Equipment/ERRM_SharedFieldMap.et.meta": "59093e9072c50d99c86da7609c87541016da5bcf92b98d99db4c524e1c8e0e8d",
|
||||
"addons/map/Scripts/Game/ERR/ERR_ScenarioMap.c": "75fa1d742129ef7f33c005cd48f56db7f49ee7bde3c5428532b0b501b032b0a3",
|
||||
"addons/map/Scripts/Game/ERRMap/ERRM_NativeMapOwnershipProbe.c": "32418602f085e3edba7343f42a6a691630b533be262002f29248e8ae87a38254",
|
||||
"addons/map/Scripts/Game/ERRMap/ERRM_SharedMapComponent.c": "3a10f6ea25bf88a400bc3e6c339823433845c5db4f2f423835ccf99a1b1a843f",
|
||||
"addons/map/UI/layouts/ERRMap/SharedMapRenderTarget.layout": "49a2da4181b94d42174f58c7f9b6bf2207116c99427d61ff1c212092ac7db4d2",
|
||||
"addons/map/UI/layouts/ERRMap/SharedMapRenderTarget.layout.meta": "5c846445cc089e2e08899ba703059d4adb805ff30ab5a16409a3cd59718cbd54",
|
||||
"addons/map/addon.gproj": "1b371e5e01ea9fa46e76570fecb8aaa3a9298e34cba7ccca8a6bdb5ca86eb46a"
|
||||
}
|
||||
@@ -0,0 +1,637 @@
|
||||
---------------------------------------------
|
||||
Log Z:\tmp\erri-workbench-profile\logs\logs_2026-09-19_20-45-00\console.log started at 2026-09-19 20:45:00 (2026-09-19 18:45:00 UTC)
|
||||
|
||||
20:45:00.225 ENGINE : FileSystem: Adding relative directory 'Z:\tmp\erri-workbench-profile\logs\logs_2026-09-19_20-45-00' to filesystem under name logs
|
||||
20:45:00.225 ENGINE : FileSystem: Adding relative directory 'Z:\tmp\erri-workbench-profile\profile' to filesystem under name profile
|
||||
20:45:00.225 ENGINE : FileSystem: Current working directory: 'Z:\home\jakub\.local\share\Steam\steamapps\common\Arma Reforger Tools\Workbench\'
|
||||
20:45:00.226 PROFILING : Workbench Create Engine took: 9.789900 ms
|
||||
20:45:01.260 INIT : INIT : Workbench Init Engine
|
||||
20:45:01.260 ENGINE : Initializing engine, version 192142
|
||||
20:45:01.260 ENGINE : CLI Params: -gproj Z:/home/jakub/devel/escapistsrereintroduced/addons/chat/addon.gproj -addonsDir Z:/home/jakub/devel/escapistsrereintroduced/addons -profile Z:/tmp/erri-workbench-profile -logconsole -wbModule WorldEditor -load Worlds/ERR_Everon.ent -plugin ERR_ValidateWorldPlugin -errPlay 1 -errSmoke 1 -errSmokeOutcome map-ownership -noThrow -disableCrashReporter
|
||||
20:45:01.269 ENGINE : Addon dirs:
|
||||
20:45:01.269 ENGINE : dir: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/chat/'
|
||||
20:45:01.269 ENGINE : dir: 'Z:/home/jakub/devel/escapistsrereintroduced/addons'
|
||||
20:45:01.269 ENGINE : dir: './addons'
|
||||
20:45:01.269 ENGINE : dir: 'Z:/tmp/erri-workbench-profile/addons'
|
||||
20:45:01.269 ENGINE : Available addons:
|
||||
20:45:01.269 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/chat/addon.gproj' guid: 'FA804F411BDDF2C6'
|
||||
20:45:01.269 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/ai/addon.gproj' guid: '5192138CB9D5B911'
|
||||
20:45:01.269 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/core/addon.gproj' guid: '2528466DE220D91C'
|
||||
20:45:01.269 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/intel/addon.gproj' guid: 'D31039C7C53E348A'
|
||||
20:45:01.269 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/map/addon.gproj' guid: '9AAEE9041D79809E'
|
||||
20:45:01.269 ENGINE : gproj: './addons/core/core.gproj' guid: '5614BBCCBB55ED1C' (packed)
|
||||
20:45:01.269 ENGINE : gproj: 'Z:/tmp/erri-workbench-profile/addons/ArmaReforger/ArmaReforger.gproj' guid: '58D0FB3206B6F859' (packed)
|
||||
20:45:01.269 ENGINE : FileSystem: Adding relative directory 'Z:\home\jakub\devel\escapistsrereintroduced\addons\chat' to filesystem under name ERR_Chat
|
||||
20:45:01.269 ENGINE : FileSystem: Adding relative directory 'Z:\home\jakub\devel\escapistsrereintroduced\addons\map' to filesystem under name ERR_Map
|
||||
20:45:01.269 ENGINE : FileSystem: Adding relative directory 'Z:\home\jakub\devel\escapistsrereintroduced\addons\intel' to filesystem under name ERR_Intel
|
||||
20:45:01.270 ENGINE : FileSystem: Adding relative directory 'Z:\home\jakub\devel\escapistsrereintroduced\addons\ai' to filesystem under name ERR_Ai
|
||||
20:45:01.270 ENGINE : FileSystem: Adding relative directory 'Z:\home\jakub\devel\escapistsrereintroduced\addons\core' to filesystem under name ERR_Core
|
||||
20:45:01.383 ENGINE : FileSystem: Adding package 'Z:/tmp/erri-workbench-profile/addons/ArmaReforger/' (pak count: 14) to filesystem under name ArmaReforger
|
||||
20:45:01.386 ENGINE : FileSystem: Adding package './addons/core/' (pak count: 2) to filesystem under name core
|
||||
20:45:01.386 ENGINE : CPU vendor : AuthenticAMD
|
||||
20:45:01.386 ENGINE : CPU type : 2
|
||||
20:45:01.386 ENGINE : CPU name : AMD Ryzen 7 3800XT 8-Core Processor
|
||||
20:45:01.386 ENGINE : CPU cache info : L1 [Inst 32KB, Data 32KB], L2 [Unif 512KB], L3 [Unif 16384KB]
|
||||
20:45:01.386 ENGINE : CPU count logical : 16
|
||||
20:45:01.386 ENGINE : CPU count physical : 8
|
||||
20:45:01.386 ENGINE : CPU features : mmx sse sse2 sse3 ssse3 sse4_1 sse4_2 popcnt aesni pclmulqdq osxsave avx sha avx2
|
||||
20:45:01.386 RESOURCES : ResourceDB: loading cache (id=0 name=ERR_Chat path=Z:\home\jakub\devel\escapistsrereintroduced\addons\chat/resourceDatabase.rdb)
|
||||
20:45:01.387 RESOURCES : ResourceDB: loading cache (id=1 name=ERR_Map path=Z:\home\jakub\devel\escapistsrereintroduced\addons\map/resourceDatabase.rdb)
|
||||
20:45:01.388 RESOURCES : ResourceDB: loading cache (id=2 name=ERR_Intel path=Z:\home\jakub\devel\escapistsrereintroduced\addons\intel/resourceDatabase.rdb)
|
||||
20:45:01.388 RESOURCES : ResourceDB: loading cache (id=3 name=ERR_Ai path=Z:\home\jakub\devel\escapistsrereintroduced\addons\ai/resourceDatabase.rdb)
|
||||
20:45:01.388 RESOURCES : ResourceDB: loading cache (id=4 name=ERR_Core path=Z:\home\jakub\devel\escapistsrereintroduced\addons\core/resourceDatabase.rdb)
|
||||
20:45:01.389 RESOURCES : ResourceDB: loading cache (id=5 name=ArmaReforger path=Z:/tmp/erri-workbench-profile/addons/ArmaReforger/resourceDatabase.rdb)
|
||||
20:45:01.525 RESOURCES : ResourceDB: loading cache (id=6 name=core path=./addons/core/resourceDatabase.rdb)
|
||||
20:45:01.526 RESOURCES : ResourceDB: loading cache (id=7 name=profile path=Z:\tmp\erri-workbench-profile\profile/resourceDatabase.rdb)
|
||||
20:45:01.527 RESOURCES : ResourceDB: loading cache (id=8 name=logs path=Z:\tmp\erri-workbench-profile\logs\logs_2026-09-19_20-45-00/resourceDatabase.rdb)
|
||||
20:45:01.675 RESOURCES : RESOURCES : ResourceDB: full scan
|
||||
20:45:01.679 RESOURCES : RESOURCES : scanning...
|
||||
20:45:01.679 RESOURCES : RESOURCES : scanning @"ERR_Chat"
|
||||
20:45:01.681 RESOURCES : RESOURCES : scanning @"ERR_Map"
|
||||
20:45:01.683 RESOURCES : RESOURCES : scanning @"ERR_Intel"
|
||||
20:45:01.684 RESOURCES : RESOURCES : scanning @"ERR_Ai"
|
||||
20:45:01.686 RESOURCES : RESOURCES : scanning @"ERR_Core"
|
||||
20:45:01.692 RESOURCES : RESOURCES : scanning @"ArmaReforger"
|
||||
20:45:01.858 RESOURCES : RESOURCES : scanning @"core"
|
||||
20:45:01.866 RESOURCES : RESOURCES : scanning @"profile"
|
||||
20:45:01.866 RESOURCES : RESOURCES : scanning @"logs"
|
||||
20:45:01.867 RESOURCES : RESOURCES : processing meta-files...
|
||||
20:45:01.959 RESOURCES : RESOURCES : processing files...
|
||||
20:45:01.976 INIT : Workbench startup
|
||||
20:45:01.976 INIT : Workbench Init Engine
|
||||
20:45:01.976 RESOURCES : ResourceDB: full scan
|
||||
20:45:01.976 RESOURCES : processing files...
|
||||
20:45:01.976 RESOURCES (W): resource not registered: @"$profile:rereintroduced.json". Setting null GUID
|
||||
20:45:01.976 RESOURCES (W): resource not registered: @"$logs:launch-source-sha256.json". Setting null GUID
|
||||
20:45:01.976 RESOURCES (W): resource not registered: @"$logs:launch-source.json". Setting null GUID
|
||||
20:45:01.976 RESOURCES : RESOURCES : processing folders...
|
||||
20:45:01.985 RESOURCES : RESOURCES : creating GUID-item mapping...
|
||||
20:45:02.005 RESOURCES : RESOURCES : building tree...
|
||||
20:45:02.068 PROFILING : ResourceDB: full scan took: 393.588900 ms
|
||||
20:45:02.069 RESOURCES : ResourceDB: saving cache (id=0 name=ERR_Chat path=Z:\home\jakub\devel\escapistsrereintroduced\addons\chat/resourceDatabase.rdb)
|
||||
20:45:02.071 RESOURCES : ResourceDB: written 804/804 bytes
|
||||
20:45:02.071 RESOURCES : ResourceDB: cache successfully saved
|
||||
20:45:02.071 RESOURCES : ResourceDB: saving cache (id=1 name=ERR_Map path=Z:\home\jakub\devel\escapistsrereintroduced\addons\map/resourceDatabase.rdb)
|
||||
20:45:02.073 RESOURCES : ResourceDB: written 819/819 bytes
|
||||
20:45:02.073 RESOURCES : ResourceDB: cache successfully saved
|
||||
20:45:02.073 RESOURCES : ResourceDB: saving cache (id=2 name=ERR_Intel path=Z:\home\jakub\devel\escapistsrereintroduced\addons\intel/resourceDatabase.rdb)
|
||||
20:45:02.074 RESOURCES : ResourceDB: written 227/227 bytes
|
||||
20:45:02.074 RESOURCES : ResourceDB: cache successfully saved
|
||||
20:45:02.075 RESOURCES : ResourceDB: saving cache (id=3 name=ERR_Ai path=Z:\home\jakub\devel\escapistsrereintroduced\addons\ai/resourceDatabase.rdb)
|
||||
20:45:02.077 RESOURCES : ResourceDB: written 2403/2403 bytes
|
||||
20:45:02.077 RESOURCES : ResourceDB: cache successfully saved
|
||||
20:45:02.077 RESOURCES : ResourceDB: saving cache (id=4 name=ERR_Core path=Z:\home\jakub\devel\escapistsrereintroduced\addons\core/resourceDatabase.rdb)
|
||||
20:45:02.079 RESOURCES : ResourceDB: written 7443/7443 bytes
|
||||
20:45:02.079 RESOURCES : ResourceDB: cache successfully saved
|
||||
20:45:02.079 RESOURCES : ResourceDB: saving cache (id=7 name=profile path=Z:\tmp\erri-workbench-profile\profile/resourceDatabase.rdb)
|
||||
20:45:02.081 RESOURCES : ResourceDB: written 206/206 bytes
|
||||
20:45:02.081 RESOURCES : ResourceDB: cache successfully saved
|
||||
20:45:02.081 RESOURCES : ResourceDB: saving cache (id=8 name=logs path=Z:\tmp\erri-workbench-profile\logs\logs_2026-09-19_20-45-00/resourceDatabase.rdb)
|
||||
20:45:02.082 RESOURCES : ResourceDB: written 162/162 bytes
|
||||
20:45:02.082 RESOURCES : ResourceDB: cache successfully saved
|
||||
20:45:02.083 ENGINE : GameProject load
|
||||
20:45:02.083 ENGINE : Loaded addons:
|
||||
20:45:02.083 ENGINE : gproj: './addons/core/core.gproj' guid: '5614BBCCBB55ED1C'
|
||||
20:45:02.083 ENGINE : gproj: 'Z:/tmp/erri-workbench-profile/addons/ArmaReforger/ArmaReforger.gproj' guid: '58D0FB3206B6F859'
|
||||
20:45:02.083 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/core/addon.gproj' guid: '2528466DE220D91C'
|
||||
20:45:02.083 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/ai/addon.gproj' guid: '5192138CB9D5B911'
|
||||
20:45:02.083 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/intel/addon.gproj' guid: 'D31039C7C53E348A'
|
||||
20:45:02.083 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/map/addon.gproj' guid: '9AAEE9041D79809E'
|
||||
20:45:02.083 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/chat/addon.gproj' guid: 'FA804F411BDDF2C6'
|
||||
20:45:02.086 ENGINE : Loading custom engine user config '$profile:.save/app1874910_user76561198020202999/settings/ReforgerEngineSettings.conf'
|
||||
20:45:02.087 INIT : GameProject engine user settings load @"$profile:.save/app1874910_user76561198020202999/settings/ReforgerEngineSettings.conf"
|
||||
20:45:02.087 ENGINE : Engine user settings config loaded
|
||||
20:45:02.087 PROFILING : Settings changed took: 0.003100 ms
|
||||
20:45:02.194 RENDER : (OK) Adapter 'AMD Radeon RX 6950 XT (RADV NAVI21)' supports feature level 12_0
|
||||
20:45:02.195 RENDER : Basic screen setup:
|
||||
20:45:02.196 RENDER : Back buffer format : TEXFMT_R8G8B8A8_SRGB (29)
|
||||
20:45:02.196 RENDER : MSAA : none
|
||||
20:45:02.209 RENDER : AMD AGS library initialized, version 6.1.0 x DLL 6.1.0
|
||||
20:45:02.209 RENDER : Extendeded AMD info for AMD Radeon RX 6950 XT (RADV NAVI21) (primary device)
|
||||
20:45:02.209 RENDER : * architecture RDNA2, 80 CUs, 40 WGPs (for RDNA), 64 ROPs
|
||||
20:45:02.209 RENDER : * core clocks 2720 MHz, memory 1124 MHz
|
||||
20:45:02.209 RENDER : * TFlops 27.9, memory bandwidth (562.0 GB/s)
|
||||
20:45:02.209 RENDER : AMD AGS correctly initialized
|
||||
20:45:02.210 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
|
||||
20:45:02.210 RENDER : Detected output devices:
|
||||
20:45:02.210 RENDER : * 1 device/s connected to AMD Radeon RX 6950 XT (RADV NAVI21):
|
||||
20:45:02.210 RENDER : Generic Non-PnP Monitor (\\.\DISPLAY1), 1280x720 (offset 0x0), 30Hz
|
||||
20:45:02.210 RENDER : Concurrent frames limit 2
|
||||
20:45:02.287 RENDER : DX12 device successfully created by AMD AGS library
|
||||
20:45:02.287 RENDER : * user markers not supported in this version AMD SW
|
||||
20:45:02.287 RENDER : Graphics device features
|
||||
20:45:02.287 RENDER : Needed:
|
||||
20:45:02.287 RENDER : * Highest supported shader model: 6.8 (6.0 needed)
|
||||
20:45:02.287 RENDER : Optional:
|
||||
20:45:02.287 RENDER : * Allow tearing (VSYNC) : 1
|
||||
20:45:02.287 RENDER : * 16 bits : 1
|
||||
20:45:02.287 RENDER : * Resource heap tier : 3
|
||||
20:45:02.287 RENDER : * Persistent heaps (DRED) : 1
|
||||
20:45:02.287 RENDER : * DRED 1.2 is supported by compiler
|
||||
20:45:02.312 RENDER : Main RT format setup.
|
||||
20:45:02.312 RENDER : Main RT format for quality 0 : TEXFMT_R11G11B10_FLOAT (26)
|
||||
20:45:02.312 RENDER : Main RT format for quality 1 : TEXFMT_R16G16B16A16_FLOAT (10)
|
||||
20:45:02.314 ENGINE : Job system settings: coreCount=16, shortJobContextCount=16, shortJobThreadCount=15, longJobThreadCount=16
|
||||
20:45:02.345 PROFILING : Settings changed took: 0.018100 ms
|
||||
20:45:03.280 AUDIO : Endpoint: Speakers (PulseAudio Output)
|
||||
20:45:03.280 AUDIO : Format: Channels: 2, Sample rate: 48kHz, Avg. bytes: 384kB, Sample bits: 32, Block align: 8B
|
||||
20:45:03.280 AUDIO : Audio client:
|
||||
20:45:03.280 AUDIO : Format: Channels: 2, Sample rate: 48kHz, Buffer size: 1536B, Frame: 512
|
||||
20:45:03.283 RENDER : RENDER : Reload shaders
|
||||
20:45:03.284 RENDER : Enfusion shader version 13
|
||||
20:45:03.284 INIT : INIT : ShaderListReload
|
||||
20:45:03.284 PROFILING : ShaderListReload took: 0.000400 ms
|
||||
20:45:03.425 AUDIO : Endpoint: Speakers (PulseAudio Output)
|
||||
20:45:03.425 AUDIO : Format: Channels: 2, Sample rate: 48kHz, Avg. bytes: 384kB, Sample bits: 32, Block align: 8B
|
||||
20:45:03.425 AUDIO : Audio client:
|
||||
20:45:03.425 AUDIO : Format: Channels: 2, Sample rate: 48kHz, Buffer size: 1536B, Frame: 512
|
||||
20:45:03.638 RENDER : Loaded 3752 newer shader binaries
|
||||
20:45:03.638 PROFILING : Reload shaders took: 354.350000 ms
|
||||
20:45:03.638 ENGINE : Initializing inputs.
|
||||
20:45:03.654 NETWORK : Initializing networking.
|
||||
20:45:03.654 NETWORK : Using new GameRplScheduler.
|
||||
20:45:03.654 SCRIPT : SCRIPT : Initializing scripts
|
||||
20:45:03.654 SCRIPT : SCRIPT : ScriptProjectManager init
|
||||
20:45:05.851 PROFILING : ScriptProjectManager init took: 2197.101000 ms
|
||||
20:45:05.941 PROFILING : Initializing scripts took: 2287.132600 ms
|
||||
20:45:05.959 ENGINE : Enfusion engine successfully created.
|
||||
20:45:05.959 PROFILING : Workbench Init Engine took: 4698.269300 ms
|
||||
20:45:05.959 INIT : INIT : Workbench Create Game
|
||||
20:45:05.970 GUI : Using default language (en_us)
|
||||
20:45:05.970 GUI : Loading 'en_us' localization file.
|
||||
20:45:05.970 INIT : INIT : Loading StringTable
|
||||
20:45:05.996 PROFILING : Loading StringTable took: 26.017500 ms
|
||||
20:45:05.996 SCRIPT : SCRIPT : Compiling GameLib scripts
|
||||
20:45:06.063 SCRIPT : Module: Workbench; loaded 18x files; 36x classes; used 125K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE"; CRC32: 90ce0460
|
||||
20:45:06.063 SCRIPT : Module: GameLib; loaded 466x files; 648x classes; used 828K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE"; CRC32: d66caacb
|
||||
20:45:06.064 PROFILING : Compiling GameLib scripts took: 68.166400 ms
|
||||
20:45:06.064 SCRIPT : SCRIPT : Compiling Game scripts
|
||||
20:45:07.410 INIT : Workbench Create Game
|
||||
20:45:07.410 SCRIPT : Compiling Game scripts
|
||||
20:45:07.410 SCRIPT (W): @"Scripts/Game/Editor/Components/EditableEntity/SCR_EditableEntityComponent.c,785": 'GetPlayerPlatformKind' is obsolete
|
||||
20:45:07.410 SCRIPT (W): @"Scripts/Game/Editor/Components/EditableEntity/SCR_EditableEntityComponent.c,786": 'GetPlayerPlatformId' is obsolete
|
||||
20:45:07.597 SCRIPT (W): @"Scripts/Game/ERR/ERR_SiteService.c,191": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly.
|
||||
20:45:07.715 SCRIPT (W): @"Scripts/Game/Workshop/SCR_AddonManager.c,876": 'GetRefCount' is obsolete: Will be removed
|
||||
20:45:07.747 SCRIPT (W): @"Scripts/Game/Campaign/SCR_PlayerProfileManagerComponent.c,142": 'PlayerData' is obsolete
|
||||
20:45:07.864 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,159": 'GetDSSession' is obsolete
|
||||
20:45:07.864 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,162": 'RoomID' is obsolete
|
||||
20:45:07.864 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,197": 'GetDSSession' is obsolete
|
||||
20:45:07.864 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,201": 'RoomID' is obsolete
|
||||
20:45:07.897 SCRIPT (W): @"Scripts/Game/ERR/ERR_CasualtyGroundSupport.c,21": 'GetBoneIndex' is obsolete: Use GetAnimation().GetBoneIndex() instead
|
||||
20:45:07.957 SCRIPT (W): @"Scripts/Game/DataCollection/SCR_DataCollectorComponent.c,481": 'GetStorage' is obsolete
|
||||
20:45:07.957 SCRIPT (W): @"Scripts/Game/DataCollection/SCR_DataCollectorComponent.c,483": 'GetOnlineWritePrivilege' is obsolete
|
||||
20:45:07.958 SCRIPT (W): @"Scripts/Game/Utilities/SCR_PlayerIdentityUtils.c,20": 'GetPlayerIdentityId' is obsolete
|
||||
20:45:07.998 SCRIPT (W): @"Scripts/Game/ERR/ERR_ExtractionService.c,45": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly.
|
||||
20:45:07.998 SCRIPT (W): @"Scripts/Game/ERR/ERR_ExtractionService.c,56": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly.
|
||||
20:45:07.999 SCRIPT (W): @"Scripts/Game/UI/Menu/MainMenuUI.c,643": 'GetNotifyCount' is obsolete: Will be substitued by Notification Api.
|
||||
20:45:07.999 SCRIPT (W): @"Scripts/Game/UI/Menu/MainMenuUI.c,645": 'GetNotifyItem' is obsolete: Will be substitued by Notification Api.
|
||||
20:45:08.031 SCRIPT (W): @"Scripts/Game/ERR/ERR_NativeTransportProbe.c,82": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly.
|
||||
20:45:08.057 SCRIPT (W): @"Scripts/Game/DataCollection/PlayerData/SCR_PlayerData.c,210": 'PlayerData' is obsolete
|
||||
20:45:08.325 SCRIPT : Module: WorkbenchGame; loaded 172x files; 617x classes; used 2482K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE"; CRC32: e963af0e
|
||||
20:45:08.332 SCRIPT : Module: Game; loaded 5795x files; 11407x classes; used 33761K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE,ENABLE_BASE_DESTRUCTION,BUDGET_OPTIMIZATION_CHECKS,SHOW_DISCLAIMER,DEBUG,RESPAWN_TIMER_COMPONENT_DEBUG,GAME_MODE_DEBUG,DEBUG_CONFIGURABLE_DIALOGS,DISABLE_WEAPON_SWITCHING,SCRIPTED_AIM_MODIFIER_DEBUG"; CRC32: 8f2f1458
|
||||
20:45:08.373 PROFILING : Compiling Game scripts took: 2309.000500 ms
|
||||
20:45:08.379 INIT : Creating game instance(ArmaReforgerScripted), version 1.8.0.13 built 2026-08-21 14:30:18 UTC.
|
||||
20:45:08.420 ENGINE : Game successfully created.
|
||||
20:45:08.421 PROFILING : Workbench Create Game took: 2461.914200 ms
|
||||
20:45:08.429 DEFAULT : Using thumbnail cache directory: C:/users/steamuser/AppData/Local/Temp/Arma Reforger Workbench/Projects/ERR_Chat/thumbnails
|
||||
20:45:09.256 INIT : INIT : Workbench Reload Game
|
||||
20:45:09.258 ENGINE : Game destroyed.
|
||||
20:45:09.264 GUI : Using default language (en_us)
|
||||
20:45:09.264 GUI : Loading 'en_us' localization file.
|
||||
20:45:09.264 INIT : INIT : Loading StringTable
|
||||
20:45:09.273 PROFILING : Loading StringTable took: 9.428800 ms
|
||||
20:45:09.273 INIT : Creating game instance(ArmaReforgerScripted), version 1.8.0.13 built 2026-08-21 14:30:18 UTC.
|
||||
20:45:09.281 SCRIPT : Unable to register a script command due keyword duplicity: ban
|
||||
20:45:09.281 SCRIPT : Unable to register a script command due keyword duplicity: kick
|
||||
20:45:09.281 ENGINE : Game successfully created.
|
||||
20:45:09.281 ENGINE : Game successfully initialized.
|
||||
20:45:09.281 PROFILING : Workbench Reload Game took: 24.336100 ms
|
||||
20:45:10.008 WORLD : WORLD : Entities load '$ERR_Core:Worlds/ERR_Everon.ent'
|
||||
20:45:11.114 PROFILING : Entities load took: 1105.216000 ms
|
||||
20:45:11.126 WORLD : WORLD : CreateEntities
|
||||
20:45:11.131 WORLD : WORLD : NotifyBeforeEntitiesCreated
|
||||
20:45:11.131 PROFILING : NotifyBeforeEntitiesCreated took: 0.004800 ms
|
||||
20:45:11.131 WORLD : WORLD : Wait for preloading data
|
||||
20:45:11.132 PROFILING : Wait for preloading data took: 0.003400 ms
|
||||
20:45:11.256 ENTITY : Create entity @"ENTITY:2" ('Eden', GenericTerrainEntity) at <0.000000 0.000000 0.000000> @"{5AD924374E8C7AF6}Prefabs/World/Game/Eden/GenericTerrain_Eden.et"
|
||||
20:45:11.256 PROFILING : PROFILING : Terrain load
|
||||
20:45:13.291 PROFILING : Terrain load took: 2035.211300 ms
|
||||
20:45:17.395 WORLD : CreateEntities
|
||||
20:45:17.396 ENTITY : Create entity @"ENTITY:610406" ('StaticModelEntity','Assets/Structures/Infrastructure/Towers/TransmitterTower_01/TransmitterTower_01_small.xob') at <1931.796021 81.777000 5138.725098> @"{6A004A8F0571D456}Prefabs/Structures/Infrastructure/Towers/TransmitterTower_01/TransmitterTower_01_small.et"
|
||||
20:45:17.396 ENTITY : CreateComponent 'ScriptedRadioComponent'
|
||||
20:45:17.396 DEFAULT (W): World doesn't contain RadioManagerEntity to support any BaseRadioComponent.
|
||||
20:45:28.262 WORLD : WORLD : NotifyBeforeEntitiesInitialized
|
||||
20:45:28.262 PROFILING : NotifyBeforeEntitiesInitialized took: 0.004800 ms
|
||||
20:45:28.686 WORLD : WORLD : NotifyEntitiesInitialized
|
||||
20:45:28.686 TERRAIN : TERRAIN : Initializing road networks...
|
||||
20:45:28.692 PROFILING : Initializing road networks... took: 5.291200 ms
|
||||
20:45:28.692 PROFILING : NotifyEntitiesInitialized took: 6.094400 ms
|
||||
20:45:28.693 PROFILING : CreateEntities took: 17566.054600 ms
|
||||
20:45:28.868 PROFILING : * WorldEditor: LoadWorld: 18866.941000 ms
|
||||
20:45:30.380 TERRAIN : Loading tile map config (worlds/Eden/Eden/tileMap.conf)
|
||||
20:45:30.380 TERRAIN : Loading minimap config (worlds/Eden/Eden/miniMap.conf)
|
||||
20:45:30.381 TERRAIN : The default minimap texture ('worlds/Eden/EdenRasterized.edds') not found. Trying 'worlds/Eden/Eden.edds'...
|
||||
20:45:30.382 TERRAIN : The default minimap texture ('worlds/Eden/Eden.edds') not found. Skipping...
|
||||
20:45:30.472 SCRIPT : ERR VALIDATION: prison terrain=211.344, radio terrain=159.656, extraction terrain=65.1562
|
||||
20:45:30.472 SCRIPT : ERR TERRAIN: x=6084 z=7154 y=211.531
|
||||
20:45:30.473 SCRIPT : ERR TERRAIN: x=6084 z=7157 y=211.516
|
||||
20:45:30.473 SCRIPT : ERR TERRAIN: x=6084 z=7160 y=211.5
|
||||
20:45:30.473 SCRIPT : ERR TERRAIN: x=6084 z=7163 y=211.453
|
||||
20:45:30.473 SCRIPT : ERR TERRAIN: x=6084 z=7166 y=211.406
|
||||
20:45:30.473 SCRIPT : ERR TERRAIN: x=6087 z=7154 y=211.438
|
||||
20:45:30.473 SCRIPT : ERR TERRAIN: x=6087 z=7157 y=211.438
|
||||
20:45:30.473 SCRIPT : ERR TERRAIN: x=6087 z=7160 y=211.422
|
||||
20:45:30.473 SCRIPT : ERR TERRAIN: x=6087 z=7163 y=211.391
|
||||
20:45:30.474 SCRIPT : ERR TERRAIN: x=6087 z=7166 y=211.344
|
||||
20:45:30.474 SCRIPT : ERR TERRAIN: x=6090 z=7154 y=211.344
|
||||
20:45:30.474 SCRIPT : ERR TERRAIN: x=6090 z=7157 y=211.344
|
||||
20:45:30.474 SCRIPT : ERR TERRAIN: x=6090 z=7160 y=211.344
|
||||
20:45:30.474 SCRIPT : ERR TERRAIN: x=6090 z=7163 y=211.328
|
||||
20:45:30.474 SCRIPT : ERR TERRAIN: x=6090 z=7166 y=211.281
|
||||
20:45:30.474 SCRIPT : ERR TERRAIN: x=6093 z=7154 y=211.25
|
||||
20:45:30.474 SCRIPT : ERR TERRAIN: x=6093 z=7157 y=211.281
|
||||
20:45:30.475 SCRIPT : ERR TERRAIN: x=6093 z=7160 y=211.25
|
||||
20:45:30.475 SCRIPT : ERR TERRAIN: x=6093 z=7163 y=211.234
|
||||
20:45:30.475 SCRIPT : ERR TERRAIN: x=6093 z=7166 y=211.188
|
||||
20:45:30.475 SCRIPT : ERR TERRAIN: x=6096 z=7154 y=211.156
|
||||
20:45:30.475 SCRIPT : ERR TERRAIN: x=6096 z=7157 y=211.172
|
||||
20:45:30.475 SCRIPT : ERR TERRAIN: x=6096 z=7160 y=211.156
|
||||
20:45:30.475 SCRIPT : ERR TERRAIN: x=6096 z=7163 y=211.141
|
||||
20:45:30.475 SCRIPT : ERR TERRAIN: x=6096 z=7166 y=211.094
|
||||
20:45:30.499 SCRIPT : ERR SITE CANDIDATE: position=<6090,211.344,7160> elevationRange=0.640625
|
||||
20:45:30.522 BACKEND : Attempting online Game Config instead.
|
||||
20:45:33.740 INIT : INIT : Workbench Reload Game
|
||||
20:45:33.742 ENGINE : Game destroyed.
|
||||
20:45:33.749 GUI : Using default language (en_us)
|
||||
20:45:33.749 GUI : Loading 'en_us' localization file.
|
||||
20:45:33.749 INIT : INIT : Loading StringTable
|
||||
20:45:33.770 PROFILING : Loading StringTable took: 20.049600 ms
|
||||
20:45:33.770 INIT : Creating game instance(ArmaReforgerScripted), version 1.8.0.13 built 2026-08-21 14:30:18 UTC.
|
||||
20:45:33.777 SCRIPT : Unable to register a script command due keyword duplicity: ban
|
||||
20:45:33.777 SCRIPT : Unable to register a script command due keyword duplicity: kick
|
||||
20:45:33.777 ENGINE : Game successfully created.
|
||||
20:45:33.778 ENGINE : Game successfully initialized.
|
||||
20:45:33.778 PROFILING : Workbench Reload Game took: 37.425900 ms
|
||||
20:45:33.780 DEFAULT (W): LogiLED: Cannot initialize! (service not running or no compatible device detected)
|
||||
20:45:33.838 PLATFORM : Save data from container 'settings' have been loaded
|
||||
20:45:33.927 PLATFORM : Save data from container 'sessions' have been loaded
|
||||
20:45:33.928 PLATFORM : GameProject user settings load from profile @"ReforgerGameSettings.conf"
|
||||
20:45:33.928 ENGINE : Game user settings config loaded
|
||||
20:45:34.025 DEFAULT : [SaveGameManager] Starting new playthrough nr.0 '' for mission '{B6C516F86302C679}Worlds/ERR_Everon.ent'.
|
||||
20:45:34.031 WORLD : WORLD : Game::LoadEntities
|
||||
20:45:34.031 WORLD : WORLD : Initializing world systems @"{1C60D2EDA2B468B8}Configs/Systems/BaseGameModeSystems.conf"
|
||||
20:45:34.034 NETWORK : Enabled lag compensation, 29 frames with 100 FPS and 280 ms rewind limits.
|
||||
20:45:34.034 WORLD : WORLD : CreateEntities
|
||||
20:45:34.034 WORLD : WORLD : CreateEntities
|
||||
20:45:34.034 WORLD : WORLD : NotifyBeforeEntitiesCreated
|
||||
20:45:34.046 RESOURCES : Loaded mission headers from 7 addon(s)!
|
||||
20:45:34.046 PROFILING : NotifyBeforeEntitiesCreated took: 12.777500 ms
|
||||
20:45:34.046 WORLD : WORLD : Wait for preloading data
|
||||
20:45:34.046 PROFILING : Wait for preloading data took: 0.000600 ms
|
||||
20:45:38.835 WORLD : Game::LoadEntities
|
||||
20:45:38.835 WORLD : CreateEntities
|
||||
20:45:38.835 WORLD : CreateEntities
|
||||
20:45:38.835 ENTITY : Create entity @"ENTITY:610406" ('StaticModelEntity','Assets/Structures/Infrastructure/Towers/TransmitterTower_01/TransmitterTower_01_small.xob') at <1931.796021 81.777000 5138.725098> @"{6A004A8F0571D456}Prefabs/Structures/Infrastructure/Towers/TransmitterTower_01/TransmitterTower_01_small.et"
|
||||
20:45:38.835 ENTITY : CreateComponent 'ScriptedRadioComponent'
|
||||
20:45:38.835 DEFAULT (W): World doesn't contain RadioManagerEntity to support any BaseRadioComponent.
|
||||
20:45:40.323 ENTITY : Create entity @"ENTITY:842066" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1080.213013 10.776751 6018.347168>
|
||||
20:45:40.323 ENTITY : CreateComponent 'Hierarchy'
|
||||
20:45:40.323 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842066" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1080.213013 10.776751 6018.347168>')
|
||||
20:45:40.324 ENTITY : Create entity @"ENTITY:842068" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1082.185913 10.778749 6018.331055>
|
||||
20:45:40.324 ENTITY : CreateComponent 'Hierarchy'
|
||||
20:45:40.324 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842068" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1082.185913 10.778749 6018.331055>')
|
||||
20:45:40.324 ENTITY : Create entity @"ENTITY:842070" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1084.190918 10.790751 6018.334961>
|
||||
20:45:40.324 ENTITY : CreateComponent 'Hierarchy'
|
||||
20:45:40.324 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842070" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1084.190918 10.790751 6018.334961>')
|
||||
20:45:40.328 ENTITY : Create entity @"ENTITY:842333" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4425.594727 9.981750 11029.402344>
|
||||
20:45:40.328 ENTITY : CreateComponent 'Hierarchy'
|
||||
20:45:40.328 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842333" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4425.594727 9.981750 11029.402344>')
|
||||
20:45:40.328 ENTITY : Create entity @"ENTITY:842335" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4426.584473 9.983749 11031.109375>
|
||||
20:45:40.328 ENTITY : CreateComponent 'Hierarchy'
|
||||
20:45:40.328 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842335" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4426.584473 9.983749 11031.109375>')
|
||||
20:45:40.328 ENTITY : Create entity @"ENTITY:842337" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4427.572266 9.995750 11032.853516>
|
||||
20:45:40.328 ENTITY : CreateComponent 'Hierarchy'
|
||||
20:45:40.328 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842337" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4427.572266 9.995750 11032.853516>')
|
||||
20:45:40.332 ENTITY : Create entity @"ENTITY:842591" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.946289 10.470250 1551.986084>
|
||||
20:45:40.332 ENTITY : CreateComponent 'Hierarchy'
|
||||
20:45:40.332 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842591" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.946289 10.470250 1551.986084>')
|
||||
20:45:40.332 ENTITY : Create entity @"ENTITY:842593" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.430664 10.472250 1550.081421>
|
||||
20:45:40.332 ENTITY : CreateComponent 'Hierarchy'
|
||||
20:45:40.332 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842593" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.430664 10.472250 1550.081421>')
|
||||
20:45:40.332 ENTITY : Create entity @"ENTITY:842595" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10008.926758 10.484250 1548.140869>
|
||||
20:45:40.332 ENTITY : CreateComponent 'Hierarchy'
|
||||
20:45:40.332 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842595" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10008.926758 10.484250 1548.140869>')
|
||||
20:45:45.703 WORLD : WORLD : NotifyBeforeEntitiesInitialized
|
||||
20:45:45.703 PROFILING : NotifyBeforeEntitiesInitialized took: 0.067600 ms
|
||||
20:45:47.656 WORLD : InitEntities 'world'
|
||||
20:45:47.656 ENTITY : Init entity @"ENTITY:2305843009213693953" ('Rereintroduced', ERR_GameMode) at <1076.468018 51.000999 1325.246948> @"{978E045E53EF36C8}Prefabs/ERR/GameMode.et"
|
||||
20:45:47.656 SCRIPT (W): SCR_PerceivedFactionManagerComponent trying to set fall back faction 'CIV' but this faction could not be found so it is null instead.
|
||||
20:45:47.681 WORLD : InitEntities 'world'
|
||||
20:45:47.681 ENTITY : Init entity @"ENTITY:2305843009213693953" ('Rereintroduced', ERR_GameMode) at <1076.468018 51.000999 1325.246948> @"{978E045E53EF36C8}Prefabs/ERR/GameMode.et"
|
||||
20:45:47.681 SCRIPT : ERR SMOKE: scripted integration test enabled; gameplay acceptance remains separate
|
||||
20:45:47.682 WORLD : WORLD : NotifyEntitiesInitialized
|
||||
20:45:47.682 TERRAIN : TERRAIN : Initializing road networks...
|
||||
20:45:47.685 PROFILING : Initializing road networks... took: 3.067800 ms
|
||||
20:45:47.685 DEFAULT : DEFAULT : WorldVolumesCollection
|
||||
20:45:47.740 PROFILING : WorldVolumesCollection took: 54.477400 ms
|
||||
20:45:47.740 INIT : INIT : SoundWorldInit
|
||||
20:45:47.754 PROFILING : SoundWorldInit took: 14.392300 ms
|
||||
20:45:47.754 PROFILING : NotifyEntitiesInitialized took: 72.213800 ms
|
||||
20:45:47.754 PROFILING : CreateEntities took: 13720.447800 ms
|
||||
20:45:47.755 PROFILING : CreateEntities took: 13720.631300 ms
|
||||
20:45:47.755 WORLD : WORLD : Wait for preloading data around camera
|
||||
20:45:47.755 PROFILING : Wait for preloading data around camera took: 0.001300 ms
|
||||
20:45:47.755 WORLD : WORLD : EOnActivate
|
||||
20:45:47.789 PROFILING : EOnActivate took: 33.313000 ms
|
||||
20:45:47.789 PROFILING : Game::LoadEntities took: 13757.082400 ms
|
||||
20:45:48.127 DEFAULT : Entered offline game state.
|
||||
20:45:48.231 NETWORK : Player connected: connectionID=2147483646
|
||||
20:45:48.231 NETWORK : ### Connecting player: connectionID=2147483646, Name=
|
||||
20:45:48.232 NETWORK : ### Creating player: PlayerId=1, Name=jakub
|
||||
20:45:48.237 ENTITY : SpawnEntityPrefab @"{225E51284CC95CFA}Prefabs/Characters/Core/DefaultPlayerControllerMP.et"
|
||||
20:45:48.237 ENTITY : Create entity @"ENTITY:4611686018427388381" ('SCR_PlayerController') at <0.000000 0.000000 0.000000>
|
||||
20:45:48.237 ENTITY : EntityPrefabUse @"{225E51284CC95CFA}Prefabs/Characters/Core/DefaultPlayerControllerMP.et"
|
||||
20:45:48.238 SCRIPT (W): Notification data in 'SCR_NotificationsLogDisplay' has duplicate notification info key: 'EDITOR_PERCEIVED_FACTION_PUNISHMENT_KILLING_SET'. There should only be one of each key!
|
||||
20:45:48.238 SCRIPT (W): Notification data in 'SCR_NotificationsLogDisplay' has duplicate notification info key: 'EDITOR_PERCEIVED_FACTION_TYPE_DISABLED'. There should only be one of each key!
|
||||
20:45:48.239 SCRIPT (W): Can't open config file ""
|
||||
20:45:48.245 WORLD : InitEntities 'world'
|
||||
20:45:48.246 ENTITY : Init entity @"ENTITY:4611686018427388381" ('SCR_PlayerController') at <0.000000 0.000000 0.000000> @"{225E51284CC95CFA}Prefabs/Characters/Core/DefaultPlayerControllerMP.et"
|
||||
20:45:48.246 GUI : WidgetManager: CrateWidgets @"{3C9DCDD76AB83157}UI/layouts/HUD/HUDLayouts/HUDManager_Root.layout"
|
||||
20:45:48.246 SCRIPT (W): Slot_WeaponInfo Has no Content!
|
||||
20:45:48.246 SCRIPT (W): Slot_Chat Has no Content!
|
||||
20:45:48.246 SCRIPT (W): Slot_VON Has no Content!
|
||||
20:45:48.246 SCRIPT (W): Slot_AvailableActions Has no Content!
|
||||
20:45:48.246 SCRIPT (W): Slot_Vehicle Has no Content!
|
||||
20:45:48.246 SCRIPT (W): Slot_GameVersion Has no Content!
|
||||
20:45:48.246 SCRIPT (W): Slot_Notifications Has no Content!
|
||||
20:45:48.247 SCRIPT (W): Slot_Hints Has no Content!
|
||||
20:45:48.257 ENTITY : SpawnEntityPrefab @"{59EF8ECAE1DCD417}Prefabs/Editor/Modes/EditorModeEdit.et"
|
||||
20:45:48.258 ENTITY : Create entity @"ENTITY:4611686018427388384" ('SCR_EditorModeEntity') at <0.000000 0.000000 0.000000>
|
||||
20:45:48.258 ENTITY : EntityPrefabUse @"{59EF8ECAE1DCD417}Prefabs/Editor/Modes/EditorModeEdit.et"
|
||||
20:45:48.258 SCRIPT (W): SCR_EntityCatalogManagerComponent.GetFilteredEditorPrefabsOfAllFactions: Detected that {259EE7B78C51B624}UAZ469.et is present in at least two different faction entity catalogs! Since this may cause issues, such as dupliacted entries in build mode, one of them will be discarded! This is only supported for items. Other things require creation of faction specific variants.
|
||||
20:45:48.258 SCRIPT (W): SCR_EntityCatalogManagerComponent.GetFilteredEditorPrefabsOfAllFactions: Detected that {DF5CCB7C0FF049F4}Mi8MT_unarmed_transport.et is present in at least two different faction entity catalogs! Since this may cause issues, such as dupliacted entries in build mode, one of them will be discarded! This is only supported for items. Other things require creation of faction specific variants.
|
||||
20:45:48.261 NETWORK : ### Updating player: PlayerId=1, Name=jakub, rplIdentity=0xFFFFFFFE, IdentityId=00000000-0000-0000-0000-000000000000
|
||||
20:45:48.262 SCRIPT (W): Ban Settings could not be loaded from BE Storage: Relying on default config
|
||||
20:45:48.262 NETWORK : Players connecting: 0
|
||||
20:45:48.262 NETWORK : Players connected: 1 / 1
|
||||
20:45:48.291 DEFAULT : Using autosave directory: C:/users/steamuser/AppData/Local/Temp/Arma Reforger Workbench/Projects/ERR_Chat/autosaves
|
||||
20:45:48.293 PROFILING : Workbench startup took: 48128.882400 ms
|
||||
20:45:48.315 WORLD : Frame start
|
||||
20:45:48.315 SCRIPT : ScenarioFramework: Available tasks are empty, no new tasks will be generated.
|
||||
20:45:48.328 WORLD : UpdateEntities
|
||||
20:45:48.328 WORLD : Frame
|
||||
20:45:48.328 SCRIPT : SCR_BaseGameMode::OnGameStateChanged = GAME
|
||||
20:45:48.502 WORLD : UpdateEntities
|
||||
20:45:48.502 WORLD : PostFrame
|
||||
20:45:48.502 GUI : WidgetManager: CrateWidgets @"{D89BBA18F99053D6}UI/layouts/HUD/Chat/ChatHud.layout"
|
||||
20:45:48.502 SCRIPT (W): EditBoxFilterComponent used on invalid widget type.
|
||||
20:45:48.548 RESOURCES : GetResourceObject @"{20A6917D2114E29A}UI/layouts/HUD/Hint/HintInfoDisplay.layout"
|
||||
20:45:48.548 GUI : Layout load @"{20A6917D2114E29A}UI/layouts/HUD/Hint/HintInfoDisplay.layout"
|
||||
20:45:48.548 GUI : Widget prefab @"{EA1CC57D868E94F9}UI/layouts/HUD/Hint/Hint.layout"
|
||||
20:45:48.548 GUI (W): Overridden prefab member (GUID: '{661AB14E0F471C66}' type: ButtonWidgetClass) no longer exists in prefab
|
||||
20:45:48.686 RENDER : RENDER : ObjectsHeightMap::Build
|
||||
20:45:48.686 RENDER : RENDER : MeshOccupancyGridManager::GenerateAllForWorld
|
||||
20:45:48.838 PROFILING : MeshOccupancyGridManager::GenerateAllForWorld took: 151.355000 ms
|
||||
20:45:48.846 PROFILING : ObjectsHeightMap::Build took: 159.256400 ms
|
||||
20:45:50.017 SCRIPT : Rereintroduced [sites]: cache clearance position=<6086,211.538,7160> clear=1
|
||||
20:45:50.037 SCRIPT : Rereintroduced [sites]: authored everon-prison-1 at <6090,211.444,7160>
|
||||
20:45:50.038 SCRIPT : Rereintroduced [sites]: cache clearance position=<6150,203.288,7050> clear=1
|
||||
20:45:50.064 SCRIPT : Rereintroduced [sites]: authored everon-supply-1 at <6150,203.288,7050>
|
||||
20:45:50.066 SCRIPT : Rereintroduced [sites]: authored everon-radio-1 at <6500,159.756,7200>
|
||||
20:45:50.113 SCRIPT : Rereintroduced [sites]: authored everon-extraction-1 at <7000,65.2562,7500>
|
||||
20:45:50.113 SCRIPT : Rereintroduced [sites]: cache clearance position=<5960,220.256,7220> clear=1
|
||||
20:45:50.119 SCRIPT : Rereintroduced [sites]: transport parking=<5960,220.256,7212> radius=4 terrainRange=0.8125 obstructed=0 clear=1
|
||||
20:45:50.166 SCRIPT : Rereintroduced [sites]: authored everon-supply-2 at <5960,220.256,7220>
|
||||
20:45:50.166 SCRIPT : Rereintroduced [sites]: cache clearance position=<6340,175.788,7400> clear=1
|
||||
20:45:50.168 SCRIPT : Rereintroduced [sites]: authored everon-medical-1 at <6340,175.788,7400>
|
||||
20:45:50.168 SCRIPT : Rereintroduced [sites]: cache clearance position=<6740,140.6,7300> clear=1
|
||||
20:45:50.172 SCRIPT : Rereintroduced [sites]: cache clearance position=<6740,140.913,7296> clear=1
|
||||
20:45:50.173 SCRIPT : Rereintroduced [sites]: cache clearance position=<6736,140.975,7300> clear=1
|
||||
20:45:50.173 SCRIPT : Rereintroduced [sites]: cache clearance position=<6744,140.288,7300> clear=1
|
||||
20:45:50.175 SCRIPT : Rereintroduced [sites]: authored everon-outpost-1 at <6740,140.6,7300>
|
||||
20:45:50.175 SCRIPT : ERR EXTRACTION PLACEMENT: wakes=1 alive=1 ready=0 origin=<7012,63.725,7500> up=1
|
||||
20:45:50.175 SCRIPT : ERR EXTRACTION PHYSICS: dynamic=1 awake=1 speed=0 angularSpeed=0
|
||||
20:45:50.175 SCRIPT : ERR EXTRACTION NATIVE: valid=1 contact=0 engine=0 origin=<0,0,0> up=1 entityDifference=10267.5
|
||||
20:45:50.175 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_F node=-1704401612 center=<7012,64.0216,7502.25>
|
||||
20:45:50.175 SCRIPT : ERR GEAR TERRAIN: bottom=<7012,63.7216,7502.25> terrainY=63.2926 tireTerrainGap=0.428944
|
||||
20:45:50.176 SCRIPT : ERR GEAR SUPPORT: center=<7012,64.0216,7502.25> radius=0.3 bottom=<7012,63.7216,7502.25> fraction=1 normal=<0,0,0> self=0 dynamic=0 supported=0 gap=0.119999
|
||||
20:45:50.176 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_bL node=-410678372 center=<7009.72,64.4897,7497.97>
|
||||
20:45:50.176 SCRIPT : ERR GEAR TERRAIN: bottom=<7009.72,64.0397,7497.97> terrainY=64.1655 tireTerrainGap=-0.125717
|
||||
20:45:50.176 SCRIPT : ERR GEAR SUPPORT: center=<7009.72,64.4897,7497.97> radius=0.45 bottom=<7009.72,64.0397,7497.97> fraction=1 normal=<0,0,0> self=0 dynamic=0 supported=0 gap=0.119999
|
||||
20:45:50.177 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_bR node=-410678366 center=<7014.28,64.4898,7497.97>
|
||||
20:45:50.177 SCRIPT : ERR GEAR TERRAIN: bottom=<7014.28,64.0398,7497.97> terrainY=63.8096 tireTerrainGap=0.230156
|
||||
20:45:50.177 SCRIPT : ERR GEAR SUPPORT: center=<7014.28,64.4898,7497.97> radius=0.45 bottom=<7014.28,64.0398,7497.97> fraction=1 normal=<0,0,0> self=0 dynamic=0 supported=0 gap=0.119999
|
||||
20:45:50.177 SCRIPT : Rereintroduced [guards]: initial site=everon-prison-1 requested=6 physical=0 conscious=0 nativeComplete=0
|
||||
20:45:50.177 SCRIPT : Rereintroduced [guards]: initial site=everon-supply-1 requested=6 physical=0 conscious=0 nativeComplete=0
|
||||
20:45:50.178 SCRIPT : Rereintroduced [guards]: initial site=everon-radio-1 requested=6 physical=0 conscious=0 nativeComplete=0
|
||||
20:45:50.178 SCRIPT : Rereintroduced [guards]: initial site=everon-extraction-1 requested=6 physical=0 conscious=0 nativeComplete=0
|
||||
20:45:50.178 SCRIPT : Rereintroduced [guards]: initial site=everon-supply-2 requested=6 physical=0 conscious=0 nativeComplete=0
|
||||
20:45:50.178 SCRIPT : Rereintroduced [guards]: initial site=everon-outpost-1 requested=6 physical=0 conscious=0 nativeComplete=0
|
||||
20:45:50.952 WORLD : UpdateEntities
|
||||
20:45:50.952 WORLD : AfterPostSimulate
|
||||
20:45:50.952 DEFAULT (W): Collider UCS_FG_DriveShaft_01 not found
|
||||
20:45:51.032 SCRIPT : Rereintroduced [guards]: initial site=everon-prison-1 requested=6 physical=1 conscious=1 nativeComplete=0
|
||||
20:45:51.032 SCRIPT : Rereintroduced [guards]: initial site=everon-supply-1 requested=6 physical=1 conscious=1 nativeComplete=0
|
||||
20:45:51.032 SCRIPT : Rereintroduced [guards]: initial site=everon-radio-1 requested=6 physical=1 conscious=1 nativeComplete=0
|
||||
20:45:51.032 SCRIPT : Rereintroduced [guards]: initial site=everon-extraction-1 requested=6 physical=1 conscious=1 nativeComplete=0
|
||||
20:45:51.282 SCRIPT : ERR EXTRACTION PLACEMENT: wakes=1 alive=1 ready=1 origin=<7012.08,63.5299,7499.7> up=0.995681
|
||||
20:45:51.282 SCRIPT : ERR EXTRACTION PHYSICS: dynamic=1 awake=1 speed=0.315805 angularSpeed=0.0413827
|
||||
20:45:51.282 SCRIPT : ERR EXTRACTION NATIVE: valid=1 contact=1 engine=0 origin=<0,0,0> up=1 entityDifference=10267.4
|
||||
20:45:51.282 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_F node=-1704401612 center=<7012.07,63.6149,7501.97>
|
||||
20:45:51.282 SCRIPT : ERR GEAR TERRAIN: bottom=<7012.07,63.3149,7501.97> terrainY=63.3165 tireTerrainGap=-0.00158691
|
||||
20:45:51.283 SCRIPT : ERR GEAR SUPPORT: center=<7012.07,63.6149,7501.97> radius=0.3 bottom=<7012.07,63.3149,7501.97> fraction=0.447619 normal=<-0,0.990257,0.139255> self=0 dynamic=0 supported=1 gap=-0.00152206
|
||||
20:45:51.283 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_bL node=-410678372 center=<7009.88,64.6021,7497.71>
|
||||
20:45:51.283 SCRIPT : ERR GEAR TERRAIN: bottom=<7009.88,64.1521,7497.71> terrainY=64.1556 tireTerrainGap=-0.003479
|
||||
20:45:51.283 SCRIPT : ERR GEAR SUPPORT: center=<7009.88,64.6021,7497.71> radius=0.45 bottom=<7009.88,64.1521,7497.71> fraction=0.438833 normal=<0.139105,0.989191,0.0463683> self=0 dynamic=0 supported=1 gap=-0.00345612
|
||||
20:45:51.283 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_bR node=-410678366 center=<7014.42,64.2638,7497.74>
|
||||
20:45:51.283 SCRIPT : ERR GEAR TERRAIN: bottom=<7014.42,63.8138,7497.74> terrainY=63.8179 tireTerrainGap=-0.00411606
|
||||
20:45:51.284 SCRIPT : ERR GEAR SUPPORT: center=<7014.42,64.2638,7497.74> radius=0.45 bottom=<7014.42,63.8138,7497.74> fraction=0.435833 normal=<0.015606,0.998782,0.0468179> self=0 dynamic=0 supported=1 gap=-0.00411606
|
||||
20:45:51.284 SCRIPT : ERR EXTRACTION FUEL: manager=1 hasFuel=1
|
||||
20:45:51.532 SCRIPT : Rereintroduced [guards]: initial site=everon-prison-1 requested=6 physical=2 conscious=2 nativeComplete=0
|
||||
20:45:51.532 SCRIPT : Rereintroduced [guards]: initial site=everon-supply-1 requested=6 physical=2 conscious=2 nativeComplete=0
|
||||
20:45:51.533 SCRIPT : Rereintroduced [guards]: initial site=everon-supply-2 requested=6 physical=1 conscious=1 nativeComplete=0
|
||||
20:45:51.533 SCRIPT : Rereintroduced [guards]: initial site=everon-outpost-1 requested=6 physical=1 conscious=1 nativeComplete=0
|
||||
20:45:52.032 SCRIPT : Rereintroduced [guards]: initial site=everon-prison-1 requested=6 physical=3 conscious=3 nativeComplete=0
|
||||
20:45:52.032 SCRIPT : Rereintroduced [guards]: initial site=everon-supply-2 requested=6 physical=2 conscious=2 nativeComplete=0
|
||||
20:45:52.032 SCRIPT : Rereintroduced [guards]: initial site=everon-outpost-1 requested=6 physical=2 conscious=2 nativeComplete=0
|
||||
20:45:52.282 SCRIPT : ERR EXTRACTION PLACEMENT: wakes=1 alive=1 ready=1 origin=<7012.1,63.5337,7499.71> up=0.994319
|
||||
20:45:52.282 SCRIPT : ERR EXTRACTION PHYSICS: dynamic=1 awake=1 speed=0.0928744 angularSpeed=0.0708118
|
||||
20:45:52.282 SCRIPT : ERR EXTRACTION NATIVE: valid=1 contact=1 engine=0 origin=<0,0,0> up=1 entityDifference=10267.4
|
||||
20:45:52.282 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_F node=-1704401612 center=<7012.07,63.6199,7501.98>
|
||||
20:45:52.283 SCRIPT : ERR GEAR TERRAIN: bottom=<7012.07,63.3199,7501.98> terrainY=63.3146 tireTerrainGap=0.00521469
|
||||
20:45:52.283 SCRIPT : ERR GEAR SUPPORT: center=<7012.07,63.6199,7501.98> radius=0.3 bottom=<7012.07,63.3199,7501.98> fraction=0.4787 normal=<-0,0.990257,0.139255> self=0 dynamic=0 supported=1 gap=0.00531387
|
||||
20:45:52.283 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_bL node=-410678372 center=<7009.93,64.6025,7497.71>
|
||||
20:45:52.283 SCRIPT : ERR GEAR TERRAIN: bottom=<7009.93,64.1525,7497.71> terrainY=64.149 tireTerrainGap=0.00347137
|
||||
20:45:52.283 SCRIPT : ERR GEAR SUPPORT: center=<7009.93,64.6025,7497.71> radius=0.45 bottom=<7009.93,64.1525,7497.71> fraction=0.470258 normal=<0.139105,0.989191,0.0463683> self=0 dynamic=0 supported=1 gap=0.00345612
|
||||
20:45:52.283 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_bR node=-410678366 center=<7014.47,64.2651,7497.78>
|
||||
20:45:52.284 SCRIPT : ERR GEAR TERRAIN: bottom=<7014.47,63.8151,7497.78> terrainY=63.8155 tireTerrainGap=-0.000370026
|
||||
20:45:52.284 SCRIPT : ERR GEAR SUPPORT: center=<7014.47,64.2651,7497.78> radius=0.45 bottom=<7014.47,63.8151,7497.78> fraction=0.452778 normal=<0.015606,0.998782,0.0468179> self=0 dynamic=0 supported=1 gap=-0.000389099
|
||||
20:45:52.284 SCRIPT : ERR EXTRACTION FUEL: manager=1 hasFuel=1
|
||||
20:45:52.533 SCRIPT : Rereintroduced [guards]: initial site=everon-prison-1 requested=6 physical=4 conscious=4 nativeComplete=0
|
||||
20:45:52.533 SCRIPT : Rereintroduced [guards]: initial site=everon-radio-1 requested=6 physical=2 conscious=2 nativeComplete=0
|
||||
20:45:52.533 SCRIPT : Rereintroduced [guards]: initial site=everon-extraction-1 requested=6 physical=2 conscious=2 nativeComplete=0
|
||||
20:45:52.533 SCRIPT : Rereintroduced [guards]: initial site=everon-outpost-1 requested=6 physical=3 conscious=3 nativeComplete=0
|
||||
20:45:52.786 SCRIPT : Rereintroduced [extraction placement]: native supported aircraft stable for one second, fuel present, exactly one initial wake
|
||||
20:45:53.042 SCRIPT : Rereintroduced [guards]: initial site=everon-supply-1 requested=6 physical=3 conscious=3 nativeComplete=0
|
||||
20:45:53.042 SCRIPT : Rereintroduced [guards]: initial site=everon-radio-1 requested=6 physical=3 conscious=3 nativeComplete=0
|
||||
20:45:53.042 SCRIPT : Rereintroduced [guards]: initial site=everon-extraction-1 requested=6 physical=3 conscious=3 nativeComplete=0
|
||||
20:45:53.043 SCRIPT : Rereintroduced [guards]: initial site=everon-supply-2 requested=6 physical=3 conscious=3 nativeComplete=0
|
||||
20:45:53.296 SCRIPT : ERR EXTRACTION PLACEMENT: wakes=1 alive=1 ready=1 origin=<7012.12,63.5337,7499.74> up=0.994167
|
||||
20:45:53.296 SCRIPT : ERR EXTRACTION PHYSICS: dynamic=1 awake=1 speed=0.0481593 angularSpeed=0.0275044
|
||||
20:45:53.296 SCRIPT : ERR EXTRACTION NATIVE: valid=1 contact=1 engine=0 origin=<0,0,0> up=1 entityDifference=10267.4
|
||||
20:45:53.296 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_F node=-1704401612 center=<7012.08,63.6146,7502.01>
|
||||
20:45:53.296 SCRIPT : ERR GEAR TERRAIN: bottom=<7012.08,63.3146,7502.01> terrainY=63.3116 tireTerrainGap=0.00296783
|
||||
20:45:53.297 SCRIPT : ERR GEAR SUPPORT: center=<7012.08,63.6146,7502.01> radius=0.3 bottom=<7012.08,63.3146,7502.01> fraction=0.468002 normal=<0,0.996962,0.0778877> self=0 dynamic=0 supported=1 gap=0.00296021
|
||||
20:45:53.297 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_bL node=-410678372 center=<7009.97,64.5944,7497.72>
|
||||
20:45:53.297 SCRIPT : ERR GEAR TERRAIN: bottom=<7009.97,64.1444,7497.72> terrainY=64.1429 tireTerrainGap=0.0015564
|
||||
20:45:53.297 SCRIPT : ERR GEAR SUPPORT: center=<7009.97,64.5944,7497.72> radius=0.45 bottom=<7009.97,64.1444,7497.72> fraction=0.461582 normal=<0.139105,0.989191,0.0463683> self=0 dynamic=0 supported=1 gap=0.00154877
|
||||
20:45:53.297 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_bR node=-410678366 center=<7014.51,64.2604,7497.82>
|
||||
20:45:53.297 SCRIPT : ERR GEAR TERRAIN: bottom=<7014.51,63.8104,7497.82> terrainY=63.8129 tireTerrainGap=-0.00250626
|
||||
20:45:53.298 SCRIPT : ERR GEAR SUPPORT: center=<7014.51,64.2604,7497.82> radius=0.45 bottom=<7014.51,63.8104,7497.82> fraction=0.443056 normal=<0.015606,0.998782,0.0468179> self=0 dynamic=0 supported=1 gap=-0.00252914
|
||||
20:45:53.298 SCRIPT : ERR EXTRACTION FUEL: manager=1 hasFuel=1
|
||||
20:45:53.550 SCRIPT : Rereintroduced [guards]: initial site=everon-supply-1 requested=6 physical=4 conscious=4 nativeComplete=0
|
||||
20:45:53.550 SCRIPT : Rereintroduced [guards]: initial site=everon-radio-1 requested=6 physical=4 conscious=4 nativeComplete=0
|
||||
20:45:53.550 SCRIPT : Rereintroduced [guards]: initial site=everon-extraction-1 requested=6 physical=4 conscious=4 nativeComplete=0
|
||||
20:45:53.550 SCRIPT : Rereintroduced [guards]: initial site=everon-supply-2 requested=6 physical=4 conscious=4 nativeComplete=0
|
||||
20:45:54.056 SCRIPT : Rereintroduced [guards]: initial site=everon-prison-1 requested=6 physical=5 conscious=5 nativeComplete=0
|
||||
20:45:54.057 SCRIPT : Rereintroduced [guards]: initial site=everon-supply-1 requested=6 physical=5 conscious=5 nativeComplete=0
|
||||
20:45:54.057 SCRIPT : Rereintroduced [guards]: initial site=everon-radio-1 requested=6 physical=5 conscious=5 nativeComplete=0
|
||||
20:45:54.057 SCRIPT : Rereintroduced [guards]: initial site=everon-outpost-1 requested=6 physical=4 conscious=4 nativeComplete=0
|
||||
20:45:54.310 SCRIPT : ERR EXTRACTION PLACEMENT: wakes=1 alive=1 ready=1 origin=<7012.13,63.529,7499.75> up=0.994144
|
||||
20:45:54.310 SCRIPT : ERR EXTRACTION PHYSICS: dynamic=1 awake=0 speed=0 angularSpeed=0
|
||||
20:45:54.310 SCRIPT : ERR EXTRACTION NATIVE: valid=1 contact=1 engine=0 origin=<0,0,0> up=1 entityDifference=10267.4
|
||||
20:45:54.310 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_F node=-1704401612 center=<7012.08,63.6125,7502.02>
|
||||
20:45:54.311 SCRIPT : ERR GEAR TERRAIN: bottom=<7012.08,63.3125,7502.02> terrainY=63.3109 tireTerrainGap=0.00167465
|
||||
20:45:54.311 SCRIPT : ERR GEAR SUPPORT: center=<7012.08,63.6125,7502.02> radius=0.3 bottom=<7012.08,63.3125,7502.02> fraction=0.462159 normal=<0,0.996962,0.0778877> self=0 dynamic=0 supported=1 gap=0.00167465
|
||||
20:45:54.311 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_bL node=-410678372 center=<7009.97,64.594,7497.73>
|
||||
20:45:54.311 SCRIPT : ERR GEAR TERRAIN: bottom=<7009.97,64.144,7497.73> terrainY=64.1414 tireTerrainGap=0.00254059
|
||||
20:45:54.311 SCRIPT : ERR GEAR SUPPORT: center=<7009.97,64.594,7497.73> radius=0.45 bottom=<7009.97,64.144,7497.73> fraction=0.466068 normal=<0.139105,0.989191,0.0463683> self=0 dynamic=0 supported=1 gap=0.00254059
|
||||
20:45:54.312 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_bR node=-410678366 center=<7014.51,64.2603,7497.84>
|
||||
20:45:54.312 SCRIPT : ERR GEAR TERRAIN: bottom=<7014.51,63.8103,7497.84> terrainY=63.8122 tireTerrainGap=-0.00193405
|
||||
20:45:54.312 SCRIPT : ERR GEAR SUPPORT: center=<7014.51,64.2603,7497.84> radius=0.45 bottom=<7014.51,63.8103,7497.84> fraction=0.445556 normal=<0.015606,0.998782,0.0468179> self=0 dynamic=0 supported=1 gap=-0.00197601
|
||||
20:45:54.312 SCRIPT : ERR EXTRACTION FUEL: manager=1 hasFuel=1
|
||||
20:45:54.565 SCRIPT : Rereintroduced [guards]: initial site=everon-supply-1 requested=6 physical=6 conscious=6 nativeComplete=1
|
||||
20:45:54.565 SCRIPT : Rereintroduced [guards]: initial site=everon-extraction-1 requested=6 physical=5 conscious=5 nativeComplete=0
|
||||
20:45:54.565 SCRIPT : Rereintroduced [guards]: initial site=everon-supply-2 requested=6 physical=5 conscious=5 nativeComplete=0
|
||||
20:45:54.566 SCRIPT : Rereintroduced [guards]: initial site=everon-outpost-1 requested=6 physical=5 conscious=5 nativeComplete=0
|
||||
20:45:55.068 SCRIPT : Rereintroduced [guards]: initial site=everon-radio-1 requested=6 physical=6 conscious=6 nativeComplete=1
|
||||
20:45:55.069 SCRIPT : Rereintroduced [guards]: initial site=everon-extraction-1 requested=6 physical=6 conscious=6 nativeComplete=1
|
||||
20:45:55.069 SCRIPT : Rereintroduced [guards]: initial site=everon-supply-2 requested=6 physical=6 conscious=6 nativeComplete=1
|
||||
20:45:55.069 SCRIPT : Rereintroduced [guards]: initial site=everon-outpost-1 requested=6 physical=6 conscious=6 nativeComplete=1
|
||||
20:45:55.320 SCRIPT : ERR EXTRACTION PLACEMENT: wakes=1 alive=1 ready=1 origin=<7012.13,63.529,7499.75> up=0.994144
|
||||
20:45:55.321 SCRIPT : ERR EXTRACTION PHYSICS: dynamic=1 awake=0 speed=0 angularSpeed=0
|
||||
20:45:55.321 SCRIPT : ERR EXTRACTION NATIVE: valid=1 contact=1 engine=0 origin=<0,0,0> up=1 entityDifference=10267.4
|
||||
20:45:55.321 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_F node=-1704401612 center=<7012.08,63.6125,7502.02>
|
||||
20:45:55.321 SCRIPT : ERR GEAR TERRAIN: bottom=<7012.08,63.3125,7502.02> terrainY=63.3109 tireTerrainGap=0.00167465
|
||||
20:45:55.321 SCRIPT : ERR GEAR SUPPORT: center=<7012.08,63.6125,7502.02> radius=0.3 bottom=<7012.08,63.3125,7502.02> fraction=0.462159 normal=<0,0.996962,0.0778877> self=0 dynamic=0 supported=1 gap=0.00167465
|
||||
20:45:55.322 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_bL node=-410678372 center=<7009.97,64.594,7497.73>
|
||||
20:45:55.322 SCRIPT : ERR GEAR TERRAIN: bottom=<7009.97,64.144,7497.73> terrainY=64.1414 tireTerrainGap=0.00254059
|
||||
20:45:55.322 SCRIPT : ERR GEAR SUPPORT: center=<7009.97,64.594,7497.73> radius=0.45 bottom=<7009.97,64.144,7497.73> fraction=0.466068 normal=<0.139105,0.989191,0.0463683> self=0 dynamic=0 supported=1 gap=0.00254059
|
||||
20:45:55.322 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_bR node=-410678366 center=<7014.51,64.2603,7497.84>
|
||||
20:45:55.322 SCRIPT : ERR GEAR TERRAIN: bottom=<7014.51,63.8103,7497.84> terrainY=63.8122 tireTerrainGap=-0.00193405
|
||||
20:45:55.323 SCRIPT : ERR GEAR SUPPORT: center=<7014.51,64.2603,7497.84> radius=0.45 bottom=<7014.51,63.8103,7497.84> fraction=0.445556 normal=<0.015606,0.998782,0.0468179> self=0 dynamic=0 supported=1 gap=-0.00197601
|
||||
20:45:55.323 SCRIPT : ERR EXTRACTION FUEL: manager=1 hasFuel=1
|
||||
20:45:55.572 SCRIPT : Rereintroduced [guards]: initial site=everon-prison-1 requested=6 physical=6 conscious=6 nativeComplete=1
|
||||
20:45:55.573 SCRIPT : Rereintroduced [sites]: 7 sites and 117 physical stock items ready
|
||||
20:45:55.586 SCRIPT : Rereintroduced [environment]: date=authored weather=authored
|
||||
20:45:55.587 SCRIPT : Rereintroduced [time]: started at 14:00 with 1x progression
|
||||
20:45:55.587 SCRIPT : Rereintroduced [mission]: phase 0 -> 1
|
||||
20:45:55.587 SCRIPT : Rereintroduced [prison]: owned composition raw={BE6B8D56349038A6}Prefabs/ERR/Prison.et resolved={BE6B8D56349038A6}Prefabs/ERR/Prison.et position=<6090,211.444,7160>
|
||||
20:45:55.588 SCRIPT : Rereintroduced [prison]: gate candidate raw= resolved={C3FDC4DBCD58C2F5}Prefabs/ERR/PrisonDoor.et lock=1 door=1 position=<6090,211.344,7154>
|
||||
20:45:55.588 SCRIPT : Rereintroduced [prison]: destruction health=1000 destroyed=0 queued=0
|
||||
20:45:55.588 SCRIPT : Rereintroduced [prison]: one intact successor lock in owned prison
|
||||
20:45:56.528 SCRIPT : INFO: Faction: player jakub (playerID = 1 | UUID = 00000000-0000-0000-0000-000000000000) has joined faction #AR-Faction_US (US)
|
||||
20:45:56.569 SCRIPT : Rereintroduced [spawn]: player 1 at <6088.5,211.491,7158.5>
|
||||
20:45:56.748 SCRIPT : ERR SMOKE PASS: new identity may enter prison
|
||||
20:45:56.748 SCRIPT : ERR SMOKE PASS: spawn consumes identity life
|
||||
20:45:56.748 SCRIPT : ERR SMOKE PASS: disconnect retains living actor and clears connection
|
||||
20:45:56.748 SCRIPT : ERR SMOKE PASS: reconnected identity retains spent life
|
||||
20:45:56.748 SCRIPT : ERR SMOKE PASS: duplicate active identity rejected
|
||||
20:45:56.748 SCRIPT : ERR SMOKE PASS: recycled connection receives independent life and extraction admission policy
|
||||
20:45:56.749 SCRIPT : ERR SMOKE PASS: base contracts catalog resolves hostile vanilla factions and successful preparation
|
||||
20:45:56.749 SCRIPT : ERR SMOKE PASS: base contracts physical prisoner matches injected faction and resource
|
||||
20:45:56.749 SCRIPT : ERR SMOKE PASS: base contracts physical guard squad comes from injected catalog
|
||||
20:45:56.749 SCRIPT : ERR SMOKE PASS: base contracts same-side factions rejected
|
||||
20:45:56.749 SCRIPT : ERR SMOKE PASS: base contracts unknown world faction rejected
|
||||
20:45:56.749 SCRIPT : ERR SMOKE PASS: base contracts missing prisoner resource rejected
|
||||
20:45:56.749 SCRIPT : ERR SMOKE PASS: base contracts isolated catalog restored without mutating live configuration
|
||||
20:45:56.750 SCRIPT : ERR SMOKE PASS: base contracts unauthorized settings request rejected
|
||||
20:45:56.750 SCRIPT : ERR SMOKE PASS: base contracts partially numeric input rejected without mutation
|
||||
20:45:56.750 SCRIPT : ERR SMOKE PASS: base contracts out-of-range duration rejected without mutation
|
||||
20:45:56.753 SCRIPT : ERR SMOKE PASS: base contracts normalized base command saves validated duration
|
||||
20:45:56.753 SCRIPT : ERR SMOKE PASS: base contracts base command reads saved duration
|
||||
20:45:56.754 SCRIPT : ERR SMOKE PASS: base contracts base settings listing available
|
||||
20:45:56.754 SCRIPT : ERR SMOKE PASS: base contracts base mission status available before companions
|
||||
20:45:56.757 SCRIPT : ERR SMOKE PASS: base contracts test setting restored
|
||||
20:45:56.757 SCRIPT : ERR SMOKE PASS: companion command retained: hq interval show
|
||||
20:45:56.757 SCRIPT : ERR SMOKE PASS: companion command retained: hq squads show
|
||||
20:45:56.757 SCRIPT : ERR SMOKE PASS: companion command retained: hq radius show
|
||||
20:45:56.757 SCRIPT : ERR SMOKE PASS: companion command retained: intel carrying show
|
||||
20:45:56.758 SCRIPT : ERR SMOKE PASS: companion command retained: intel reveal show
|
||||
20:45:56.758 SCRIPT : ERR SMOKE PASS: companion journal is behind Core admin authorization
|
||||
20:45:56.758 SCRIPT : ERR SMOKE PASS: companion HQ status uses the shared command service
|
||||
20:45:57.253 SCRIPT : ERR SMOKE PASS: shared map ownership fixture starts only with closed map and actual local character camera
|
||||
20:45:57.253 SCRIPT : ERR SMOKE PASS: shared map ownership owned replacement native map layout created
|
||||
20:45:57.254 SCRIPT : ERR SMOKE PASS: shared map ownership two separate real successor map prefabs spawned without inventory changes
|
||||
20:45:58.262 SCRIPT : ERR SMOKE PASS: shared map ownership both fixture entities survive until native component initialization
|
||||
20:45:58.262 SCRIPT : ERR SMOKE PASS: shared map ownership both native map components initialize actual render roots
|
||||
20:45:58.270 SCRIPT : ERR SMOKE PASS: shared map ownership actual owned prefab captures its native plain-map root
|
||||
20:45:58.270 SCRIPT : ERR SMOKE PASS: shared map ownership capture config belongs to exact fixture component
|
||||
20:45:58.270 SCRIPT : ERR SMOKE PASS: shared map ownership requested distinct/reused native configuration identity established
|
||||
20:45:58.272 SCRIPT : ERR SMOKE PASS: shared map ownership actual replacement root is current native map
|
||||
20:45:59.772 SCRIPT : ERR SMOKE PASS: shared map ownership replacement remains open after native open-complete event
|
||||
20:45:59.772 SCRIPT : ERR SMOKE PASS: shared map ownership actual stale center callback cannot pan or retarget replacement zoom
|
||||
20:45:59.772 SCRIPT : ERR SMOKE PASS: shared map ownership stale camera-restore method executes but native-write authorization is denied
|
||||
20:46:00.785 SCRIPT : ERR SMOKE PASS: shared map ownership both real delayed production callbacks ran exactly once
|
||||
20:46:00.785 SCRIPT : ERR SMOKE PASS: shared map ownership real delayed center and finish leave replacement view unchanged
|
||||
20:46:00.785 SCRIPT : ERR SMOKE PASS: shared map ownership actual finish, stop and vanilla mode-clear preserve replacement and do not request camera restore
|
||||
20:46:00.787 SCRIPT : ERR SMOKE PASS: shared map ownership actual owned prefab captures its native plain-map root
|
||||
20:46:00.787 SCRIPT : ERR SMOKE PASS: shared map ownership capture config belongs to exact fixture component
|
||||
20:46:00.787 SCRIPT : ERR SMOKE PASS: shared map ownership requested distinct/reused native configuration identity established
|
||||
20:46:00.788 SCRIPT : ERR SMOKE PASS: shared map ownership actual replacement root is current native map
|
||||
20:46:02.297 SCRIPT : ERR SMOKE PASS: shared map ownership replacement remains open after native open-complete event
|
||||
20:46:02.297 SCRIPT : ERR SMOKE PASS: shared map ownership actual stale center callback cannot pan or retarget replacement zoom
|
||||
20:46:02.297 SCRIPT : ERR SMOKE PASS: shared map ownership stale camera-restore method executes but native-write authorization is denied
|
||||
20:46:03.303 SCRIPT : ERR SMOKE PASS: shared map ownership both real delayed production callbacks ran exactly once
|
||||
20:46:03.304 SCRIPT : ERR SMOKE PASS: shared map ownership real delayed center and finish leave replacement view unchanged
|
||||
20:46:03.304 SCRIPT : ERR SMOKE PASS: shared map ownership actual finish, stop and vanilla mode-clear preserve replacement and do not request camera restore
|
||||
20:46:03.304 SCRIPT : ERR MAP DELETE: afterSuper slot=2 released=1 captureCallbacks=0 spareCallbacks=1
|
||||
20:46:03.304 SCRIPT : ERR MAP DELETE: afterSuper slot=1 released=1 captureCallbacks=1 spareCallbacks=1
|
||||
20:46:03.305 SCRIPT : ERR MAP DELETE: request returned captureEntity=0 spareEntity=0 captureComponent=1 spareComponent=1 captureCallbacks=1 spareCallbacks=1 cleanupFailed=0
|
||||
20:46:03.804 SCRIPT : ERR MAP DELETE: completed on later tick captureEntity=0 spareEntity=0 captureComponent=0 spareComponent=0 captureCallbacks=1 spareCallbacks=1 cleanupFailed=0
|
||||
20:46:03.805 SCRIPT : ERR SMOKE PASS: shared map ownership actual prefab deletion runs successor and vanilla superclass cleanup
|
||||
20:46:03.805 SCRIPT : ERR SMOKE PASS: shared map ownership spare and interrupted map deletion preserve replacement without restore calls
|
||||
20:46:05.326 SCRIPT : ERR SMOKE PASS: shared map ownership replacement survives delayed native callback window after both deletions
|
||||
20:46:05.326 SCRIPT : ERR SMOKE PASS: shared map ownership owned UI removed; camera render flag has no native getter and is not claimed as measured
|
||||
20:46:05.326 SCRIPT : Rereintroduced [mission]: phase 1 -> 6
|
||||
20:46:05.326 SCRIPT : ERR SMOKE PASS: native map ownership probe cleaned up before explicit reset
|
||||
20:46:05.327 SCRIPT : ERR SMOKE COMPLETE: native replacement map/config/root ownership and spare deletion; camera authorization observed, render flag not measured
|
||||
20:46:05.437 SCRIPT : SCR_BaseGameMode::OnGameStateChanged = POSTGAME
|
||||
20:46:05.439 GUI : WidgetManager: CrateWidgets @"{144919871D65F121}UI/layouts/HUD/GameOver/EndScreen/EndScreen.layout"
|
||||
20:46:05.440 SCRIPT (W): Slot_Chat Has no Content!
|
||||
20:46:05.440 SCRIPT (W): Slot_VON Has no Content!
|
||||
20:46:05.440 SCRIPT (W): Slot_GameVersion Has no Content!
|
||||
20:46:05.440 SCRIPT (W): Slot_Notifications Has no Content!
|
||||
20:46:07.486 SCRIPT (W): SCR_ScriptedWidgetComponent.GetComponent: widget not found: SCR_InputButtonComponent Back
|
||||
20:46:07.486 SCRIPT : -- Stack trace --
|
||||
20:46:07.486 SCRIPT : GetComponent() Scripts/Game/UI/Components/WidgetLibrary/SCR_ScriptedWidgetComponent.c : 43
|
||||
20:46:07.486 SCRIPT : GetInputButtonComponent() Scripts/Game/UI/Components/WidgetLibrary/SCR_InputButton/SCR_InputButtonComponent.c : 1214
|
||||
20:46:07.487 SCRIPT : OnMenuOpen() Scripts/Game/UI/GameOverScreen/SCR_GameOverScreenInput.c : 15
|
||||
20:46:07.487 SCRIPT : OpenGameOverScreen() Scripts/Game/GameOverScreen/SCR_GameOverScreenManagerComponent.c : 447
|
||||
20:46:07.487 SCRIPT : ShowGameOverScreen() Scripts/Game/GameOverScreen/SCR_GameOverScreenManagerComponent.c : 177
|
||||
20:46:07.487 SCRIPT : OnUpdate() Scripts/Game/game.c : 885
|
||||
20:46:07.487 SCRIPT : -----------------
|
||||
20:46:07.487 SCRIPT (W): SCR_ScriptedWidgetComponent.GetComponent: widget not found: SCR_InputButtonComponent ChatButton
|
||||
20:46:07.487 SCRIPT : -- Stack trace --
|
||||
20:46:07.487 SCRIPT : GetComponent() Scripts/Game/UI/Components/WidgetLibrary/SCR_ScriptedWidgetComponent.c : 43
|
||||
20:46:07.487 SCRIPT : GetInputButtonComponent() Scripts/Game/UI/Components/WidgetLibrary/SCR_InputButton/SCR_InputButtonComponent.c : 1214
|
||||
20:46:07.488 SCRIPT : OnMenuOpen() Scripts/Game/UI/GameOverScreen/SCR_GameOverScreenInput.c : 21
|
||||
20:46:07.488 SCRIPT : OpenGameOverScreen() Scripts/Game/GameOverScreen/SCR_GameOverScreenManagerComponent.c : 447
|
||||
20:46:07.488 SCRIPT : ShowGameOverScreen() Scripts/Game/GameOverScreen/SCR_GameOverScreenManagerComponent.c : 177
|
||||
20:46:07.488 SCRIPT : OnUpdate() Scripts/Game/game.c : 885
|
||||
20:46:07.488 SCRIPT : -----------------
|
||||
20:46:07.490 GUI : WidgetManager: CrateWidgets @"{144919871D65F121}UI/layouts/HUD/GameOver/EndScreen/EndScreen.layout"
|
||||
20:46:07.490 SCRIPT (W): Slot_Chat Has no Content!
|
||||
20:46:07.490 SCRIPT (W): Slot_VON Has no Content!
|
||||
20:46:07.490 SCRIPT (W): Slot_GameVersion Has no Content!
|
||||
20:46:07.490 SCRIPT (W): Slot_Notifications Has no Content!
|
||||
@@ -0,0 +1,118 @@
|
||||
---------------------------------------------
|
||||
Log Z:\tmp\erri-workbench-profile\logs\logs_2026-09-19_20-45-00\error.log started at 2026-09-19 20:45:01 (2026-09-19 18:45:01 UTC)
|
||||
|
||||
20:45:01.976 INIT : Workbench startup
|
||||
20:45:01.976 INIT : Workbench Init Engine
|
||||
20:45:01.976 RESOURCES : ResourceDB: full scan
|
||||
20:45:01.976 RESOURCES : processing files...
|
||||
20:45:01.976 RESOURCES (W): resource not registered: @"$profile:rereintroduced.json". Setting null GUID
|
||||
20:45:01.976 RESOURCES (W): resource not registered: @"$logs:launch-source-sha256.json". Setting null GUID
|
||||
20:45:01.976 RESOURCES (W): resource not registered: @"$logs:launch-source.json". Setting null GUID
|
||||
20:45:07.410 INIT : Workbench Create Game
|
||||
20:45:07.410 SCRIPT : Compiling Game scripts
|
||||
20:45:07.410 SCRIPT (W): @"Scripts/Game/Editor/Components/EditableEntity/SCR_EditableEntityComponent.c,785": 'GetPlayerPlatformKind' is obsolete
|
||||
20:45:07.410 SCRIPT (W): @"Scripts/Game/Editor/Components/EditableEntity/SCR_EditableEntityComponent.c,786": 'GetPlayerPlatformId' is obsolete
|
||||
20:45:07.597 SCRIPT (W): @"Scripts/Game/ERR/ERR_SiteService.c,191": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly.
|
||||
20:45:07.715 SCRIPT (W): @"Scripts/Game/Workshop/SCR_AddonManager.c,876": 'GetRefCount' is obsolete: Will be removed
|
||||
20:45:07.747 SCRIPT (W): @"Scripts/Game/Campaign/SCR_PlayerProfileManagerComponent.c,142": 'PlayerData' is obsolete
|
||||
20:45:07.864 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,159": 'GetDSSession' is obsolete
|
||||
20:45:07.864 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,162": 'RoomID' is obsolete
|
||||
20:45:07.864 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,197": 'GetDSSession' is obsolete
|
||||
20:45:07.864 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,201": 'RoomID' is obsolete
|
||||
20:45:07.897 SCRIPT (W): @"Scripts/Game/ERR/ERR_CasualtyGroundSupport.c,21": 'GetBoneIndex' is obsolete: Use GetAnimation().GetBoneIndex() instead
|
||||
20:45:07.957 SCRIPT (W): @"Scripts/Game/DataCollection/SCR_DataCollectorComponent.c,481": 'GetStorage' is obsolete
|
||||
20:45:07.957 SCRIPT (W): @"Scripts/Game/DataCollection/SCR_DataCollectorComponent.c,483": 'GetOnlineWritePrivilege' is obsolete
|
||||
20:45:07.958 SCRIPT (W): @"Scripts/Game/Utilities/SCR_PlayerIdentityUtils.c,20": 'GetPlayerIdentityId' is obsolete
|
||||
20:45:07.998 SCRIPT (W): @"Scripts/Game/ERR/ERR_ExtractionService.c,45": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly.
|
||||
20:45:07.998 SCRIPT (W): @"Scripts/Game/ERR/ERR_ExtractionService.c,56": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly.
|
||||
20:45:07.999 SCRIPT (W): @"Scripts/Game/UI/Menu/MainMenuUI.c,643": 'GetNotifyCount' is obsolete: Will be substitued by Notification Api.
|
||||
20:45:07.999 SCRIPT (W): @"Scripts/Game/UI/Menu/MainMenuUI.c,645": 'GetNotifyItem' is obsolete: Will be substitued by Notification Api.
|
||||
20:45:08.031 SCRIPT (W): @"Scripts/Game/ERR/ERR_NativeTransportProbe.c,82": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly.
|
||||
20:45:08.057 SCRIPT (W): @"Scripts/Game/DataCollection/PlayerData/SCR_PlayerData.c,210": 'PlayerData' is obsolete
|
||||
20:45:17.395 WORLD : CreateEntities
|
||||
20:45:17.395 ENTITY : Create entity @"ENTITY:610406" ('StaticModelEntity','Assets/Structures/Infrastructure/Towers/TransmitterTower_01/TransmitterTower_01_small.xob') at <1931.796021 81.777000 5138.725098> @"{6A004A8F0571D456}Prefabs/Structures/Infrastructure/Towers/TransmitterTower_01/TransmitterTower_01_small.et"
|
||||
20:45:17.396 ENTITY : CreateComponent 'ScriptedRadioComponent'
|
||||
20:45:17.396 DEFAULT (W): World doesn't contain RadioManagerEntity to support any BaseRadioComponent.
|
||||
20:45:33.780 DEFAULT (W): LogiLED: Cannot initialize! (service not running or no compatible device detected)
|
||||
20:45:38.835 WORLD : Game::LoadEntities
|
||||
20:45:38.835 WORLD : CreateEntities
|
||||
20:45:38.835 WORLD : CreateEntities
|
||||
20:45:38.835 ENTITY : Create entity @"ENTITY:610406" ('StaticModelEntity','Assets/Structures/Infrastructure/Towers/TransmitterTower_01/TransmitterTower_01_small.xob') at <1931.796021 81.777000 5138.725098> @"{6A004A8F0571D456}Prefabs/Structures/Infrastructure/Towers/TransmitterTower_01/TransmitterTower_01_small.et"
|
||||
20:45:38.835 ENTITY : CreateComponent 'ScriptedRadioComponent'
|
||||
20:45:38.835 DEFAULT (W): World doesn't contain RadioManagerEntity to support any BaseRadioComponent.
|
||||
20:45:40.323 ENTITY : Create entity @"ENTITY:842066" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1080.213013 10.776751 6018.347168>
|
||||
20:45:40.323 ENTITY : CreateComponent 'Hierarchy'
|
||||
20:45:40.323 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842066" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1080.213013 10.776751 6018.347168>')
|
||||
20:45:40.324 ENTITY : Create entity @"ENTITY:842068" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1082.185913 10.778749 6018.331055>
|
||||
20:45:40.324 ENTITY : CreateComponent 'Hierarchy'
|
||||
20:45:40.324 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842068" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1082.185913 10.778749 6018.331055>')
|
||||
20:45:40.324 ENTITY : Create entity @"ENTITY:842070" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1084.190918 10.790751 6018.334961>
|
||||
20:45:40.324 ENTITY : CreateComponent 'Hierarchy'
|
||||
20:45:40.324 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842070" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1084.190918 10.790751 6018.334961>')
|
||||
20:45:40.328 ENTITY : Create entity @"ENTITY:842333" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4425.594727 9.981750 11029.402344>
|
||||
20:45:40.328 ENTITY : CreateComponent 'Hierarchy'
|
||||
20:45:40.328 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842333" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4425.594727 9.981750 11029.402344>')
|
||||
20:45:40.328 ENTITY : Create entity @"ENTITY:842335" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4426.584473 9.983749 11031.109375>
|
||||
20:45:40.328 ENTITY : CreateComponent 'Hierarchy'
|
||||
20:45:40.328 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842335" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4426.584473 9.983749 11031.109375>')
|
||||
20:45:40.328 ENTITY : Create entity @"ENTITY:842337" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4427.572266 9.995750 11032.853516>
|
||||
20:45:40.328 ENTITY : CreateComponent 'Hierarchy'
|
||||
20:45:40.328 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842337" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4427.572266 9.995750 11032.853516>')
|
||||
20:45:40.332 ENTITY : Create entity @"ENTITY:842591" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.946289 10.470250 1551.986084>
|
||||
20:45:40.332 ENTITY : CreateComponent 'Hierarchy'
|
||||
20:45:40.332 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842591" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.946289 10.470250 1551.986084>')
|
||||
20:45:40.332 ENTITY : Create entity @"ENTITY:842593" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.430664 10.472250 1550.081421>
|
||||
20:45:40.332 ENTITY : CreateComponent 'Hierarchy'
|
||||
20:45:40.332 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842593" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.430664 10.472250 1550.081421>')
|
||||
20:45:40.332 ENTITY : Create entity @"ENTITY:842595" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10008.926758 10.484250 1548.140869>
|
||||
20:45:40.332 ENTITY : CreateComponent 'Hierarchy'
|
||||
20:45:40.332 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842595" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10008.926758 10.484250 1548.140869>')
|
||||
20:45:47.656 WORLD : InitEntities 'world'
|
||||
20:45:47.656 ENTITY : Init entity @"ENTITY:2305843009213693953" ('Rereintroduced', ERR_GameMode) at <1076.468018 51.000999 1325.246948> @"{978E045E53EF36C8}Prefabs/ERR/GameMode.et"
|
||||
20:45:47.656 SCRIPT (W): SCR_PerceivedFactionManagerComponent trying to set fall back faction 'CIV' but this faction could not be found so it is null instead.
|
||||
20:45:48.237 ENTITY : SpawnEntityPrefab @"{225E51284CC95CFA}Prefabs/Characters/Core/DefaultPlayerControllerMP.et"
|
||||
20:45:48.237 ENTITY : Create entity @"ENTITY:4611686018427388381" ('SCR_PlayerController') at <0.000000 0.000000 0.000000>
|
||||
20:45:48.237 ENTITY : EntityPrefabUse @"{225E51284CC95CFA}Prefabs/Characters/Core/DefaultPlayerControllerMP.et"
|
||||
20:45:48.238 SCRIPT (W): Notification data in 'SCR_NotificationsLogDisplay' has duplicate notification info key: 'EDITOR_PERCEIVED_FACTION_PUNISHMENT_KILLING_SET'. There should only be one of each key!
|
||||
20:45:48.238 SCRIPT (W): Notification data in 'SCR_NotificationsLogDisplay' has duplicate notification info key: 'EDITOR_PERCEIVED_FACTION_TYPE_DISABLED'. There should only be one of each key!
|
||||
20:45:48.239 SCRIPT (W): Can't open config file ""
|
||||
20:45:48.245 WORLD : InitEntities 'world'
|
||||
20:45:48.246 ENTITY : Init entity @"ENTITY:4611686018427388381" ('SCR_PlayerController') at <0.000000 0.000000 0.000000> @"{225E51284CC95CFA}Prefabs/Characters/Core/DefaultPlayerControllerMP.et"
|
||||
20:45:48.246 GUI : WidgetManager: CrateWidgets @"{3C9DCDD76AB83157}UI/layouts/HUD/HUDLayouts/HUDManager_Root.layout"
|
||||
20:45:48.246 SCRIPT (W): Slot_WeaponInfo Has no Content!
|
||||
20:45:48.246 SCRIPT (W): Slot_Chat Has no Content!
|
||||
20:45:48.246 SCRIPT (W): Slot_VON Has no Content!
|
||||
20:45:48.246 SCRIPT (W): Slot_AvailableActions Has no Content!
|
||||
20:45:48.246 SCRIPT (W): Slot_Vehicle Has no Content!
|
||||
20:45:48.246 SCRIPT (W): Slot_GameVersion Has no Content!
|
||||
20:45:48.246 SCRIPT (W): Slot_Notifications Has no Content!
|
||||
20:45:48.247 SCRIPT (W): Slot_Hints Has no Content!
|
||||
20:45:48.257 ENTITY : SpawnEntityPrefab @"{59EF8ECAE1DCD417}Prefabs/Editor/Modes/EditorModeEdit.et"
|
||||
20:45:48.258 ENTITY : Create entity @"ENTITY:4611686018427388384" ('SCR_EditorModeEntity') at <0.000000 0.000000 0.000000>
|
||||
20:45:48.258 ENTITY : EntityPrefabUse @"{59EF8ECAE1DCD417}Prefabs/Editor/Modes/EditorModeEdit.et"
|
||||
20:45:48.258 SCRIPT (W): SCR_EntityCatalogManagerComponent.GetFilteredEditorPrefabsOfAllFactions: Detected that {259EE7B78C51B624}UAZ469.et is present in at least two different faction entity catalogs! Since this may cause issues, such as dupliacted entries in build mode, one of them will be discarded! This is only supported for items. Other things require creation of faction specific variants.
|
||||
20:45:48.258 SCRIPT (W): SCR_EntityCatalogManagerComponent.GetFilteredEditorPrefabsOfAllFactions: Detected that {DF5CCB7C0FF049F4}Mi8MT_unarmed_transport.et is present in at least two different faction entity catalogs! Since this may cause issues, such as dupliacted entries in build mode, one of them will be discarded! This is only supported for items. Other things require creation of faction specific variants.
|
||||
20:45:48.262 SCRIPT (W): Ban Settings could not be loaded from BE Storage: Relying on default config
|
||||
20:45:48.502 WORLD : UpdateEntities
|
||||
20:45:48.502 WORLD : PostFrame
|
||||
20:45:48.502 GUI : WidgetManager: CrateWidgets @"{D89BBA18F99053D6}UI/layouts/HUD/Chat/ChatHud.layout"
|
||||
20:45:48.502 SCRIPT (W): EditBoxFilterComponent used on invalid widget type.
|
||||
20:45:48.548 RESOURCES : GetResourceObject @"{20A6917D2114E29A}UI/layouts/HUD/Hint/HintInfoDisplay.layout"
|
||||
20:45:48.548 GUI : Layout load @"{20A6917D2114E29A}UI/layouts/HUD/Hint/HintInfoDisplay.layout"
|
||||
20:45:48.548 GUI : Widget prefab @"{EA1CC57D868E94F9}UI/layouts/HUD/Hint/Hint.layout"
|
||||
20:45:48.548 GUI (W): Overridden prefab member (GUID: '{661AB14E0F471C66}' type: ButtonWidgetClass) no longer exists in prefab
|
||||
20:45:50.952 WORLD : UpdateEntities
|
||||
20:45:50.952 WORLD : AfterPostSimulate
|
||||
20:45:50.952 DEFAULT (W): Collider UCS_FG_DriveShaft_01 not found
|
||||
20:46:05.439 GUI : WidgetManager: CrateWidgets @"{144919871D65F121}UI/layouts/HUD/GameOver/EndScreen/EndScreen.layout"
|
||||
20:46:05.440 SCRIPT (W): Slot_Chat Has no Content!
|
||||
20:46:05.440 SCRIPT (W): Slot_VON Has no Content!
|
||||
20:46:05.440 SCRIPT (W): Slot_GameVersion Has no Content!
|
||||
20:46:05.440 SCRIPT (W): Slot_Notifications Has no Content!
|
||||
20:46:07.486 SCRIPT (W): SCR_ScriptedWidgetComponent.GetComponent: widget not found: SCR_InputButtonComponent Back
|
||||
20:46:07.487 SCRIPT (W): SCR_ScriptedWidgetComponent.GetComponent: widget not found: SCR_InputButtonComponent ChatButton
|
||||
20:46:07.490 GUI : WidgetManager: CrateWidgets @"{144919871D65F121}UI/layouts/HUD/GameOver/EndScreen/EndScreen.layout"
|
||||
20:46:07.490 SCRIPT (W): Slot_Chat Has no Content!
|
||||
20:46:07.490 SCRIPT (W): Slot_VON Has no Content!
|
||||
20:46:07.490 SCRIPT (W): Slot_GameVersion Has no Content!
|
||||
20:46:07.490 SCRIPT (W): Slot_Notifications Has no Content!
|
||||
@@ -0,0 +1,150 @@
|
||||
[gamescope] [[0;34mInfo[0m] [0;37mconsole:[0m gamescope version 3.16.28 (gcc 16.2.1)
|
||||
No CAP_SYS_NICE, falling back to regular-priority compute and threads.
|
||||
Performance will be affected.
|
||||
[gamescope] [[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/deckhd.steamdeck.deckhd-lcd.lua' (id: 4)
|
||||
[gamescope] [[0;34mInfo[0m] [0;37mscriptmgr:[0m Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/gpd.win4.lcd.lua' (id: 5)
|
||||
[gamescope] [[0;34mInfo[0m] [0;37mscriptmgr:[0m Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/lenovo.legiongo.lcd.lua' (id: 6)
|
||||
[gamescope] [[0;34mInfo[0m] [0;37mscriptmgr:[0m Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/lenovo.legiongos.lcd.lua' (id: 7)
|
||||
[gamescope] [[0;34mInfo[0m] [0;37mscriptmgr:[0m Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/onexplayer.f1.oled.lua' (id: 8)
|
||||
[gamescope] [[0;34mInfo[0m] [0;37mscriptmgr:[0m Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/valve.steamdeck.lcd.lua' (id: 9)
|
||||
[gamescope] [[0;34mInfo[0m] [0;37mscriptmgr:[0m Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/valve.steamdeck.oled.lua' (id: 10)
|
||||
[gamescope] [[0;34mInfo[0m] [0;37mscriptmgr:[0m Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/zotac.zone.oled.lua' (id: 11)
|
||||
[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 :2
|
||||
The XKEYBOARD keymap compiler (xkbcomp) reports:
|
||||
> Warning: Multiple symbols for level 1/group 1 on key <FK23>
|
||||
> Using F23, ignoring XF86TouchpadOff
|
||||
> Warning: Symbol map for key <FK23> redefined
|
||||
> Using last definition for conflicting fields
|
||||
> Warning: Symbol map for key <FK24> redefined
|
||||
> Using last definition for conflicting fields
|
||||
> Warning: Could not resolve keysym XF86ElectronicPrivacyScreenOn
|
||||
> Warning: Could not resolve keysym XF86ElectronicPrivacyScreenOff
|
||||
> Warning: Could not resolve keysym XF86ActionOnSelection
|
||||
> Warning: Could not resolve keysym XF86ContextualInsert
|
||||
> Warning: Could not resolve keysym XF86ContextualQuery
|
||||
Errors from xkbcomp are not fatal to the X server
|
||||
[gamescope] [[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: 64
|
||||
[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
|
||||
ATTENTION: default value of option vk_wsi_force_swapchain_to_current_extent overridden by environment.
|
||||
[Gamescope WSI] Application info:
|
||||
pApplicationName: xalia.exe
|
||||
applicationVersion: 0
|
||||
pEngineName: DXVK
|
||||
engineVersion: 12587008
|
||||
apiVersion: 4206592
|
||||
[Gamescope WSI] Executable name: xalia.exe
|
||||
ATTENTION: default value of option vk_wsi_force_swapchain_to_current_extent overridden by environment.
|
||||
[Gamescope WSI] No application info given.
|
||||
[Gamescope WSI] Application info:
|
||||
pApplicationName: ArmaReforgerWorkbenchSteamDiag.exe
|
||||
applicationVersion: 1
|
||||
pEngineName: DXVK
|
||||
engineVersion: 12587008
|
||||
apiVersion: 4206592
|
||||
[Gamescope WSI] Executable name: ArmaReforgerWorkbenchSteamDiag.exe
|
||||
ATTENTION: default value of option vk_wsi_force_swapchain_to_current_extent overridden by environment.
|
||||
[Gamescope WSI] No application info given.
|
||||
The XKEYBOARD keymap compiler (xkbcomp) reports:
|
||||
> Warning: Unsupported maximum keycode 709, clipping.
|
||||
> X11 cannot support keycodes above 255.
|
||||
> Warning: Virtual modifier Hyper multiply defined
|
||||
> Using 0, ignoring 0
|
||||
> Warning: Virtual modifier ScrollLock multiply defined
|
||||
> Using 0, ignoring 0
|
||||
Errors from xkbcomp are not fatal to the X server
|
||||
ATTENTION: default value of option vk_wsi_force_swapchain_to_current_extent overridden by environment.
|
||||
[Gamescope WSI] Application info:
|
||||
pApplicationName: ArmaReforgerWorkbenchSteamDiag.exe
|
||||
applicationVersion: 0
|
||||
pEngineName: DXVK
|
||||
engineVersion: 12587008
|
||||
apiVersion: 4206592
|
||||
ATTENTION: default value of option vk_wsi_force_swapchain_to_current_extent overridden by environment.
|
||||
[Gamescope WSI] Application info:
|
||||
pApplicationName: ArmaReforgerWorkbenchSteamDiag.exe
|
||||
applicationVersion: 0
|
||||
pEngineName: vkd3d
|
||||
engineVersion: 12587008
|
||||
apiVersion: 4206592
|
||||
[Gamescope WSI] Forcing on VK_EXT_swapchain_maintenance1.
|
||||
ATTENTION: default value of option vk_wsi_force_swapchain_to_current_extent overridden by environment.
|
||||
[Gamescope WSI] No application info given.
|
||||
ATTENTION: default value of option vk_wsi_force_swapchain_to_current_extent overridden by environment.
|
||||
[Gamescope WSI] Application info:
|
||||
pApplicationName: ArmaReforgerWorkbenchSteamDiag.exe
|
||||
applicationVersion: 0
|
||||
pEngineName: vkd3d
|
||||
engineVersion: 12587008
|
||||
apiVersion: 4206592
|
||||
[Gamescope WSI] Forcing on VK_EXT_swapchain_maintenance1.
|
||||
[Gamescope WSI] Creating Gamescope surface: xid: 0x1c001a4
|
||||
[Gamescope WSI] Atom of T was wrong type. Expected XCB_ATOM_CARDINAL.
|
||||
[Gamescope WSI] Made gamescope surface for xid: 0x1c001a4
|
||||
[Gamescope WSI] Surface state:
|
||||
steam app id: 1874910
|
||||
window xid: 0x1c001a4
|
||||
wayland surface res id: 5
|
||||
layer client flags: 0x4
|
||||
server hdr output enabled: false
|
||||
hdr formats exposed to client: false
|
||||
[Gamescope WSI] Creating Gamescope surface: xid: 0x1c0039a
|
||||
[Gamescope WSI] Atom of T was wrong type. Expected XCB_ATOM_CARDINAL.
|
||||
[Gamescope WSI] Made gamescope surface for xid: 0x1c0039a
|
||||
[Gamescope WSI] Surface state:
|
||||
steam app id: 1874910
|
||||
window xid: 0x1c0039a
|
||||
wayland surface res id: 10
|
||||
layer client flags: 0x4
|
||||
server hdr output enabled: false
|
||||
hdr formats exposed to client: false
|
||||
[Gamescope WSI] Creating swapchain for xid: 0x1c0039a - oldSwapchain: (nil) - provided minImageCount: 3 - minImageCount: 3 - format: VK_FORMAT_B8G8R8A8_UNORM - colorspace: VK_COLOR_SPACE_SRGB_NONLINEAR_KHR - flip: false
|
||||
[Gamescope WSI] Created swapchain for xid: 0x1c0039a swapchain: 0x55555a0cf410 - imageCount: 4
|
||||
[Gamescope WSI] Destroying swapchain: 0x55555a0cf410
|
||||
[Gamescope WSI] Destroyed swapchain: 0x55555a0cf410
|
||||
[Gamescope WSI] Creating swapchain for xid: 0x1c0039a - oldSwapchain: (nil) - provided minImageCount: 3 - minImageCount: 3 - format: VK_FORMAT_B8G8R8A8_UNORM - colorspace: VK_COLOR_SPACE_SRGB_NONLINEAR_KHR - flip: false
|
||||
[Gamescope WSI] Created swapchain for xid: 0x1c0039a swapchain: 0x55555a0cf410 - imageCount: 4
|
||||
[Gamescope WSI] Destroying swapchain: 0x55555a0cf410
|
||||
[Gamescope WSI] Destroyed swapchain: 0x55555a0cf410
|
||||
[Gamescope WSI] Creating swapchain for xid: 0x1c0039a - oldSwapchain: (nil) - provided minImageCount: 3 - minImageCount: 3 - format: VK_FORMAT_B8G8R8A8_UNORM - colorspace: VK_COLOR_SPACE_SRGB_NONLINEAR_KHR - flip: false
|
||||
[Gamescope WSI] Created swapchain for xid: 0x1c0039a swapchain: 0x55555a0ef340 - imageCount: 4
|
||||
[gamescope] [[0;31mError[0m] [0;37mxwm:[0m X11 I/O error! This is fatal. Aborting...
|
||||
@@ -0,0 +1,202 @@
|
||||
{
|
||||
"addons/ai/Prefabs/ERR/MortarCrew.et": "05d3e7353ff9fe5523218a1487b31b7b742b0be8adbcb060c7099978cf008bce",
|
||||
"addons/ai/Prefabs/ERR/MortarCrew.et.meta": "fdfd4fcd21a67c3d698fa4aadc4e5c76e665cebf4be86013bc389e493fab63cc",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_AircraftControlBridge.c": "b8f0141644d8f043c6db4c2d4bb93215c548e5c27ab5468c66e996d62bdf905a",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_AircraftFieldEnvelope.c": "c02c8e6fbdfd3b8c67461590d532019d3bf0002307b19aee604eb17ad230c329",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_AircraftFieldFlight.c": "e3322b6d85b1234bfbf218a119cf6f7eed0b9ddd160004d2d9fe02c64ed857ba",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_AircraftFieldRules.c": "395eadae1067f230c26dbf73f43e39180173e173fd04a346839c474e084feaae",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_AircraftFlight.c": "aa25a8e67a30c48677bf528236402b7f8e5d815dc18df93b878520ad3d1fe8a7",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_AircraftFlightEnvelope.c": "8125cef61fb283d0d7c4dd2df3c04b062b448f1101fd48dd53f4f4097df5fef3",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_AircraftRouteEnvelope.c": "e8fcef844239c47a1f2f36be420afe943bc450091b05859435406b46c87fa511",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_AircraftRouteFlight.c": "1d8d92bf6d97429d68a9f62018232e90cc124cc8d7445efeabe863706a31e2b9",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_AircraftService.c": "bf52361c9d07b2c632d6ad755cbca76683f5ad4a8208e6eec690c367efa44549",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_HQ.c": "7ee8e7a3282fd566ec330c94854b353b2c6178e9b964f7b4d5e197e4d0b7dee9",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_HQJournal.c": "b3e402cfe92d415f37f666045afb062e6e11670ba03a0ca6f2d9fd4fc3520ac1",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_HQNetwork.c": "92ff2caca52e94c2cc9642dfc8509ce6e9349b257012bade8650bace9231128c",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_HQObservation.c": "36c978ec5f052213ac1236e1398d85063efbfd7ef60fe04f1fc11447fefe1d68",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_HQReport.c": "c4d16ccb571db4d9444c0a8d2be7318845d25ff90238b6d304e96a9ea19f1a08",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_HelicopterAvailability.c": "60eaef2f6d4b2fd44861c5a4434ef97e732e40a5ff7401e2da451ed2dd9c2762",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_MortarAimSolution.c": "59e8343d09f7a44871d8d3335d6ad1d02216abb5deed30d38b5ec9ba3f2c0649",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_MortarBattery.c": "a4eed96d17f239cbf353863ebe40d2282aeacd7a4d63a7b2f0ecfb3d93a2e2b2",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_MortarCourierTransfer.c": "968e58ca700b4a11e5e04a5c159696f514a0b1bce531210172b913e495f7e2b7",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_MortarFiring.c": "7aec51c83972610d1bcbca58b84b14f16f59952d402b12c3d88e7192a3e2ee90",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_MortarLogistics.c": "e1ffb25fba384b449de576a5502a93d875c3f52e8da1941bbf590ad9845f9730",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_MortarPrediction.c": "470dd196ed64800c697d24c09d1344bacd2502587fac76af4ee0edae2563092d",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_MortarReadiness.c": "2fabe8f812fd333cea7199d1eb722c807fcc5adb285c618956bd54d31fa27ce3",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_MortarRefresh.c": "52ae8d9d6cad92f42d68c634091b80a474d2666b6c06d63a8c30a3fab71494c4",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_MortarReportLedger.c": "42a96040b63e56677353e55164ae23031c90f70b4d6673a9f412ad7b19e636ae",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_MortarSalvo.c": "697c01f479df6c505a41d984a29c02002e3052114dafa2ec6252ae55e2979a2b",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_MortarSupplyTransfer.c": "34f7eaa01dc68e97aae8c1177b7f8fd6c15d5a41c6dc86de377f00b3613a8e77",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_MortarSystem.c": "4edefc8530cc6eec7a5e1df1d0b7d56e6801186f23c61331ce0e8075b8281efb",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_NativeAircraftControlProbe.c": "0cf3e72ccdc42e6ef20fb71d743f0e037a9e69b2e082c720fa705628cf790205",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_NativeAircraftRouteProbe.c": "61d224bfecfd0701206bab4f8446394ba0b8b2e27eb0f17b81d1b6a741c25f28",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_NativeMortarCourierProbe.c": "740c8bebbd4128a9311b1167d1058549475d6b46f81c9b6c0d19650f4b50616f",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_NativeMortarFiringProbe.c": "ee570d21bede8baebefc799399712d9582b3e30ebda7299f6c941777f02ad2a2",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_NativeMortarSalvoProbe.c": "5fd7bb8953f6850ad79e646c0c286153108a10ee2d5ef397ccb65a07f8d2ed7c",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_NativeMortarTransferProbe.c": "399c21940ef10777b46fdb3e905430ce43404ce1de2f4a6bb62f9c61c1a0689c",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_NativePatrolHQProbe.c": "4c04aa3e1b6b000747da8e2a919a6501107880fd041134c019f516665bb6f758",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_SettlementSafety.c": "e5c0ebc95521a9a33a3f7d9cca6c551dda862a08b7af20b017877aba9584795b",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_SupportScenario.c": "71757018ec9716c4dc24f62a292a214919d3fd5daed3c16e03e56abd208e9f03",
|
||||
"addons/ai/addon.gproj": "5f559db8f526700db11e6ae763f5245f19b7006fc68c56e4c09fb6f940bdf2a1",
|
||||
"addons/chat/Missions/ERR_Everon.conf": "76f3ac0d21b585654beac7ddd68e3c8cbdd66dbfe909b17b04838fa813a7c29b",
|
||||
"addons/chat/Missions/ERR_Everon.conf.meta": "0a23c98bf83873536c65fa17d38dea33a1d7b9e4ab210f90633ff688abcc551f",
|
||||
"addons/chat/Scripts/Game/ERR/ERR_AdminCommands.c": "d7b4ed95fc32767911936cb0fcc60763233f2c31afd34a6a0fa998b39cec9f5c",
|
||||
"addons/chat/Scripts/Game/ERR/ERR_NativeHQResponseProof.c": "0f8b09fd8753234c91fd6baaca0e2f812e409ae1c4be8f340b648ae59b69c2f3",
|
||||
"addons/chat/Scripts/Game/ERR/ERR_NativeMortarProbe.c": "ddb892141500c192c0787b011d57dd8c07dd8c9a3ca5fdc407f6c271897bde0a",
|
||||
"addons/chat/Scripts/Game/ERR/ERR_NativeRadioProbe.c": "84524163c63402755b4f834f74dfe6d8e5c397dc26031f532593c6f79f5a93b1",
|
||||
"addons/chat/Scripts/Game/ERR/ERR_NativeSmoke.c": "cb4ae42bad04045fe15ec80e9c612a4453e18d9ee6f628e4461de9b97e6b7cda",
|
||||
"addons/chat/Scripts/Game/ERRChat/ERR_OrdinaryScenarioLaunchChat.c": "dda715c9691d366e35fa2ad5e390dee1971651f137a5a9f9aeb23dcbe53ec87e",
|
||||
"addons/chat/Scripts/WorkbenchGame/ERR/ERR_ValidateWorldPlugin.c": "81c92d408ce88cc9f98d6053f1d0c863427693ba748f00df9f1bf8079015ef94",
|
||||
"addons/chat/addon.gproj": "ea1587e0174cf795334d306c71d99b06797fc891427cd57b6cab6e21cf0e4e0e",
|
||||
"addons/core/Configs/ERR/EveronSites.conf": "ade92cc8d2b14a84ac378bbbb52608b351dca65d359dd7a315d64a145fa4b46f",
|
||||
"addons/core/Configs/ERR/EveronSites.conf.meta": "d5fe68025ef4e7c1e16082cf5873b7c7172eacbfaef4ab29b7e0e3c98f8dca56",
|
||||
"addons/core/Configs/ERR/Factions/MissionVehicles.conf": "5f74f4a7089c7e7b54ad62463159ce8f0bab25a6b85268dc3872ea6001e048fb",
|
||||
"addons/core/Configs/ERR/Factions/MissionVehicles.conf.meta": "00c368b6271d3440cc8bf627b03a384d247635723923fc5ad2104b8b4007b035",
|
||||
"addons/core/Configs/ERR/Factions/US.conf": "4c3da063abb6e3ee39a6e4e0c5a9ffd5eae9d209d58470ea18b45dba5528db1b",
|
||||
"addons/core/Configs/ERR/Factions/US.conf.meta": "a05469aef028e9e17eba545e81e2af2887b59f0fef17dac51a23c7b8155e381b",
|
||||
"addons/core/Configs/ERR/Factions/USSR.conf": "407ea27f80a64c5184c089d43cdd0bdabfc5974c84f1d2a245081fdf2afa3f30",
|
||||
"addons/core/Configs/ERR/Factions/USSR.conf.meta": "057397d97096346791b51b7b13fbe18af218bcf78e9984d9c01b49a2403de611",
|
||||
"addons/core/Configs/ERR/GameOverScreens.conf": "45231061911a1462d45fb6db0fecc2b0793f17b5ae71017174954ff4fbd20236",
|
||||
"addons/core/Configs/ERR/GameOverScreens.conf.meta": "eb654b745c0b97b41c991694569ef4877a3c2315e0826f9556337cd68690843e",
|
||||
"addons/core/Configs/ERR/VanillaFactions.conf": "db890b61b48ee15484041fd2245a862d9fa9e7ba21b1229c281ff37c448a35b1",
|
||||
"addons/core/Configs/ERR/VanillaFactions.conf.meta": "ac77725c0c21974991ef47a466b88122e939de8b46fd23e68889e7674cbb2bfd",
|
||||
"addons/core/Missions/ERR_Everon_Base.conf": "1e6a0e9a756d15495201f71121626890f01efe6b00154c561672d4ec157960bd",
|
||||
"addons/core/Missions/ERR_Everon_Base.conf.meta": "9b16267c644d815bcf98a3a3aaff30b93d7224fb24d3a2bac66730a28011f317",
|
||||
"addons/core/Prefabs/ERR/Extraction.et": "1aa286ef253c5410f09fa641e4be91a7be8ec834487a7fbb74cfb45cab60ee1e",
|
||||
"addons/core/Prefabs/ERR/Extraction.et.meta": "c2a838633001e2e3a202d39cb33aa744ebcd996017ad032359069641b5d13853",
|
||||
"addons/core/Prefabs/ERR/FactionManager.et": "425f916b890019c537f6b2f72b1af9e7be54b0a476320da969e1f313a7ac5ea5",
|
||||
"addons/core/Prefabs/ERR/FactionManager.et.meta": "9bf53d5e4bcbe60dd1a4ece1409fc23c349055c860708620f5f6e9716290a97d",
|
||||
"addons/core/Prefabs/ERR/FieldCover.et": "20f8095e69dbfe3db74ff19078e528ea75405362b335e03560ccd61f8df2e7f3",
|
||||
"addons/core/Prefabs/ERR/FieldCover.et.meta": "83461ffa76244e1d69f20b053a9741ccdf7d127009182bd540a7e5ba6150c3d9",
|
||||
"addons/core/Prefabs/ERR/GameMode.et": "385c97a5b8067091d92aa60c2d4fcf02002cf606b95523866ead65c96b8c0029",
|
||||
"addons/core/Prefabs/ERR/GameMode.et.meta": "106769cd34525c9d440057072836cb7401a6752148c40edd7fe61c03bd58328c",
|
||||
"addons/core/Prefabs/ERR/ObjectiveDocument.et": "2e72270bf186654af12d2c3ff9bf940690b03fb17fca44f873c1fde5d11384c0",
|
||||
"addons/core/Prefabs/ERR/ObjectiveDocument.et.meta": "eaba9903be147b98a1106e2273e2270773df73b9b22f2cd4e20136a8e281382e",
|
||||
"addons/core/Prefabs/ERR/Patrol.et": "c5685a8bc311cc5563fb3334beec9408d3d7a1069152fddeeb7df4f1b7f9e6ce",
|
||||
"addons/core/Prefabs/ERR/Patrol.et.meta": "7c5da568fa2fcf0709ee2959253cb068d7c7ed7c2467af3b247a7e70efd96b69",
|
||||
"addons/core/Prefabs/ERR/Prison.et": "dcd3f4dfd453303d026e68b64f7de6125bd3390822d8432dd95a3710a5b3df89",
|
||||
"addons/core/Prefabs/ERR/Prison.et.meta": "2e426ef3de68f4107907854b51e818bc11d84649a01c538e3f18dd9ebec766bb",
|
||||
"addons/core/Prefabs/ERR/PrisonDoor.et": "fc66be9d36f1f01084de59f1b0a1e8817f9e46547ead33d4fafaac0107446c40",
|
||||
"addons/core/Prefabs/ERR/PrisonDoor.et.meta": "b8f3db52bf186426026668fbb9d633c3cbd4d438ab301fba880398f6a0e781c2",
|
||||
"addons/core/Prefabs/ERR/PrisonWall.et": "8009d19365ae72a4749d7ad4fa04662575b06c65c6bf06507d380d57258b5eed",
|
||||
"addons/core/Prefabs/ERR/PrisonWall.et.meta": "0294bc5dbb56f90f8153d62459bb0a6ad91d76a479812bbec9c7db182fdb58d6",
|
||||
"addons/core/Prefabs/ERR/Prisoner.et": "198b5badabb12f218f86df7eb4dc268fd830769dc3de7eef6362cfaee4d6fc8d",
|
||||
"addons/core/Prefabs/ERR/Prisoner.et.meta": "974278ba49fafeed70b619a0067bbc70ae4d534be441c812ce2bef4a5fb3c022",
|
||||
"addons/core/Prefabs/ERR/Radio.et": "b4b5cfe125b39019855816c9a1c508ca4d65d435b5546fdaa6c1fa3c8c9b1165",
|
||||
"addons/core/Prefabs/ERR/Radio.et.meta": "bc91137b68ba550217914fb8892bb44d7e1920e4a1086f3e506623832a44212f",
|
||||
"addons/core/Prefabs/ERR/SpectatorCamera.et": "b5b87d5b7b707f3745741aebe7c923067c8a74f8fbb2a4711834bab03bb5a812",
|
||||
"addons/core/Prefabs/ERR/SpectatorCamera.et.meta": "2a16558f93915e31908a674509e9c89976470f78a84a1174a64b94b68b8f77ad",
|
||||
"addons/core/Prefabs/ERR/SupplyCache.et": "bccf7afbaae97cfcdd78dd6dbbf4be5b2c045d348f50fe4581962e556c0044d7",
|
||||
"addons/core/Prefabs/ERR/SupplyCache.et.meta": "2f5de3a4aab1e9d0e35521f48dc57b95bd6e449c383dec4f1c258e10295904cb",
|
||||
"addons/core/Prefabs/ERR/SupplySite.et": "dc5decce5cabf39b6116e8794ec3960cb1e35761854fdbe69740da118787ded4",
|
||||
"addons/core/Prefabs/ERR/SupplySite.et.meta": "b41944b12eb3528ff7a3ac94258b18c66ef161aa6a38894aee300a1ac4798630",
|
||||
"addons/core/Scripts/Game/ERR/ERR_Actions.c": "cabb21413c90b252d29708b62228d0679c51c76e39ee0e483953ad7061b2b9d6",
|
||||
"addons/core/Scripts/Game/ERR/ERR_Actors.c": "bb5e2d065ec40629cebebf2be25958b992ad05dbc906c5f66dddbe6c6d4ff124",
|
||||
"addons/core/Scripts/Game/ERR/ERR_AdminService.c": "9985747d5ddaeb91bf27937836a6c369f8dcb353263b77a49212ec28c10ba4eb",
|
||||
"addons/core/Scripts/Game/ERR/ERR_CasualtyGroundSupport.c": "26f0c7ebe8563bb022f7c383674e7d8997b0cc35c7ea321d39d74f2493c1ed9d",
|
||||
"addons/core/Scripts/Game/ERR/ERR_CasualtyLoadingGameMode.c": "f4cf19440583ac24346831a2d5f1d7f734c031e46dc266c499972329dd0533cf",
|
||||
"addons/core/Scripts/Game/ERR/ERR_CasualtyLoadingOwner.c": "6346a05ddda030f7d9b6f026f977d5f018ee16002fa519e8c49dcd700c323dc7",
|
||||
"addons/core/Scripts/Game/ERR/ERR_CasualtyLoadingService.c": "93fe23d9e1da596886c33cf76bad92b0906ff5cdd8b5b21d58906e9270246201",
|
||||
"addons/core/Scripts/Game/ERR/ERR_DiscoveryMap.c": "7553c8cc1388cca3404994e36f96946c6abd1fefb08cef2fbb3ea1a62b22861b",
|
||||
"addons/core/Scripts/Game/ERR/ERR_DiscoveryService.c": "2793bb888566dd975e5bbf93fdb47a22e3b0f33a68d04992191cf6428ae942a0",
|
||||
"addons/core/Scripts/Game/ERR/ERR_DocumentComponent.c": "17bb76b80ebd3357e46d553c44674f602c7bd6901c92aec53ac8214194aa4ff2",
|
||||
"addons/core/Scripts/Game/ERR/ERR_EnvironmentService.c": "867e9f47adfb7a9819a8b58498688ff86127282cb89cf2529ae81f73e529e1c5",
|
||||
"addons/core/Scripts/Game/ERR/ERR_EscapeGameOverScreenInfo.c": "8893b161bf168884d62f1315d3c8aa9af4ca413f621d6f8e2525bb5245d5f509",
|
||||
"addons/core/Scripts/Game/ERR/ERR_ExtractionPlacement.c": "c30222ca25cc0e91dec4077e6b82b37a9edafcf2cbebd0be5b6bd8656b53adfe",
|
||||
"addons/core/Scripts/Game/ERR/ERR_ExtractionService.c": "91357099b4e0401196b67d48963be54be30e56bdba57cdac67dc20b8ebb883e9",
|
||||
"addons/core/Scripts/Game/ERR/ERR_FactionCatalog.c": "a5a8c53acf21259e14f59cb919535910f30dabff5a9179c664bc6a7a4d744d6e",
|
||||
"addons/core/Scripts/Game/ERR/ERR_GameMode.c": "b5b07abdfecde247b9d9d6f74dddfff50fde825f3c7fe6d86abd97e85f87b2e7",
|
||||
"addons/core/Scripts/Game/ERR/ERR_InitialGuardRules.c": "8c9d6b1dc4c2af96284e34f487eebb5a221091016ef108006dec60b4e3836558",
|
||||
"addons/core/Scripts/Game/ERR/ERR_Inventory.c": "b63e679d5b650b63a7a91dfc3f42a62f4be58b0338f6df3313e66d29a93bebf6",
|
||||
"addons/core/Scripts/Game/ERR/ERR_InventoryLayout.c": "1af5df45a0f06d19a017954e9bf4b2d722e2d2389f8ffdeb1d024435b9a08be8",
|
||||
"addons/core/Scripts/Game/ERR/ERR_ItemStationTeardown.c": "102e61216e86e47ad243cc19f6f66da1fcd8cc77f8799354ceaeb4a6dc74622e",
|
||||
"addons/core/Scripts/Game/ERR/ERR_LoadCasualtyAction.c": "5d868fb065a1a0fea7d5abfc81d1d8be96823815535f2ffd0dc4ff60d8eae794",
|
||||
"addons/core/Scripts/Game/ERR/ERR_LocalAdmission.c": "b0e824c6880cbf9b1f368dc7ada9907bde78b22b948d419b6c861323f32258be",
|
||||
"addons/core/Scripts/Game/ERR/ERR_Location.c": "d2035f56ded35743312ec6ca91a67f8623a466c91255e1893c570edf0954ff24",
|
||||
"addons/core/Scripts/Game/ERR/ERR_MissionRules.c": "f7abc38ad8fdc375ce7fa63a65f0bade027d22b37e09de5e3f94ba8c3c63cc41",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeAdminSettingsProbe.c": "6a4df33a2b0e6b6aeed944c6895961e658d4f0db9aed9b8433a43a451fa35cae",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeBaseSmoke.c": "7b35e53ceb91b8235fb753d42c8d5c80f6164b6d4cb53c685e058c409662708a",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeCasualtyGroundProbe.c": "41f40db3735f8aa535c0061458d9892dcfe972222b8a17238e67b65633c46bc3",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeCasualtyLoadProbe.c": "94c533deea654ec546df3f1ebb7cd213e6cd79b1125d99bab5303ef8e87b018b",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeCasualtyRemoveProbe.c": "4cfc06f6d43b709b63caae714155ffc562502e884f49a9825623c6f46972ad36",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeCasualtyServiceProbe.c": "02a9d70d1f4ba20326df199ba41489cfbae12b7bb0aab441361421cee38ad9ea",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeContractsProbe.c": "d1556df885171cf967e96eef5d8981a2e9ee4e3938b7d32fdd0426f647bbabc0",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeDefinitionProbe.c": "c07048341396443ddf5307e340e2087254d65f0bddf8f7d93e6b6bd7f03ca360",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeDiscoveryMapProbe.c": "9ed32d391d08d937ff4f9f33bd11c3a204ce9a2230c2d72b6761e0320b31f24f",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeEndProbe.c": "2dec80c7e247ec5c257407f95d9d5edd42fe0cc44d6af9f724f6ebd10d8a355f",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeEnvironmentProbe.c": "8b1d110717aa5f07bfb8fe633847eab519109e3a8a4100970a487be05c053418",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeEnvironmentRestartProbe.c": "7a836a206381b8e8de24c92baf141beb30575723675dd6948d738169ed26b507",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeExtractionProbe.c": "4b09385f73206de004f4f3c38a6192fd658a0d2012482dc5a84dff1599ceb972",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeFactionCatalogProbe.c": "ee11486cf77da9070506ccc0cfd6e94240c5387c8be455bf864934a8fef65f78",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeFlightFootprint.c": "a8862a04ac784426f431e2e9cd3f1f19f820b38a081674d29549b8b00277c72d",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeFlightInputDiagnostics.c": "e231dcbdaefe81beb3bd587cb73be8fb3d3184bc86d18dbaa30a43ca4ba5dcc4",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeGuardCancelProbe.c": "bfa1c65cb039e19c3d1891e4a3fd33469e974c97cc7f42128efc31a8f587d514",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeItemStationTeardownProbe.c": "028588a49fa9207087cd27ec9396979cd932daa071e2490bd0262cd71dae30d9",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeLifecycleProbe.c": "b613a5dbe81c2032fd02d31070ae5631166d14d0b02cdbec3b63b782f0bbc115",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeLocalAdmissionProbe.c": "29c860ca3e51cdaa463f3c23a98ff45ee0499ce9bbc322046e0efbed587f1e09",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeMedicalProbe.c": "43fa51ffbcf9dd0cd8e905a1135bcf0756651da3af34677f3c92e7d264ed70b6",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeObjectiveLossProbe.c": "6b80fd317a8c6e8583bd4337870838a86251e3b8a681d0aa07e8b52e22abfc48",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeObjectiveProbe.c": "71fbd2479a70048f83d8b262ad1452f427be2c0afc8b071ef13bff477b9dc29b",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativePatrolProbe.c": "02bd9fdf5454db7dd4c82240efe0d947bf8d6488ace42809c3aef6505cb6266d",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativePoweredFlightProbe.c": "7ae5d6f85bbbebec214c66bfdf6f53b93c802f109fcd5bcfbad82c5d61d6cb9f",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativePreparationStatusProbe.c": "456f4d7c3272b89d5f4c6713617baa5596d846994152356fee9a659839bcd8b5",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativePrisonBreachProbe.c": "22d0923cd69ba591e783011d424c97c86520272b70da9aa6a6d15558464c264c",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativePrisonerProbe.c": "e2d1ffe5d269add55124601ff0d1dc032a398c7d51010736e6f0e4cbeb38ae86",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeProgressionIdentityProbe.c": "1d3fe20bce761a1082964bca9bad9ce79d1fa8b04db9b5053bae98da380ae560",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeRadioDefenceProbe.c": "cad54f0b43cefd72df74697dfc7e93725ff0acac6d311e963ce4f817428c272c",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeRecoveryProbe.c": "4de6868cd3e76afb80cf0ae5dac1e35d2c417838f640c2f18aa3343217eea2f2",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeResultProbe.c": "db239385dc705840240d02448eabc77fa41162cfade6f21a275a3404339e8a31",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeSiteSurvey.c": "ac0203753ade0cdff6d483132797a80e4520f14546c3f9dea288281cd4cd9c4f",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeStationTeardownDiagnostic.c": "172248540932174341882861bb78a9720a6cf89981fcdf9dffe63f7fd4023f2c",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeTimeProbe.c": "c93d049785971e51246fcc07cf24804270a752a655505f2c38e48c80df5255ae",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeTransportProbe.c": "63ec0c5ce698114daa6314b2a6e3c3e98e76094117c477f9d0d072260686d193",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeTransportSurvey.c": "3e94493bf54d15be2bceb106ad18873e14e6755af09c05f07db7fb26fb7adff5",
|
||||
"addons/core/Scripts/Game/ERR/ERR_ObjectiveDetails.c": "628ebd166dcb5544c2d18dce489619984887ee18296cf2446fc6d894f89dd5bf",
|
||||
"addons/core/Scripts/Game/ERR/ERR_ObjectiveText.c": "3b73b19429c7746425470d73ce5983f9fd442e4cd6acaab87f8728ea4dccb0c2",
|
||||
"addons/core/Scripts/Game/ERR/ERR_Objectives.c": "88d95a52fcba103483ea751571e1afeae0e6fc82115ed50d6fc195424726960f",
|
||||
"addons/core/Scripts/Game/ERR/ERR_Observer.c": "16ab78acede9b0cab86c6a74f47ffd5b8a7c50f131f44d64a8826eac6896a279",
|
||||
"addons/core/Scripts/Game/ERR/ERR_OrdinaryGateObserver.c": "c8305745807e74f2a3e42ffc15ee8f49e64ae89fed18113cb2edd61f07aa5a66",
|
||||
"addons/core/Scripts/Game/ERR/ERR_OrdinaryInputObserver.c": "116c890146f27c36dc2e0cf5f4e85a273347a8b1eb53619756f0ed820343c76d",
|
||||
"addons/core/Scripts/Game/ERR/ERR_OrdinaryLookObserver.c": "fae1c8ae518cac21ea73e53a57212d85537a493128ed79a0ec2a1cdf3d32bb81",
|
||||
"addons/core/Scripts/Game/ERR/ERR_OrdinaryScenarioLaunch.c": "a4e7e56d174ebd15b4730202dae4c8ed06144f3f27c23ed49c99e2d297dc421a",
|
||||
"addons/core/Scripts/Game/ERR/ERR_PlayerAdminCommands.c": "a084d7dc097dfcde3d6cd9c2e326b9e2f8f2a519f77b30c4f56ab7a1429aa721",
|
||||
"addons/core/Scripts/Game/ERR/ERR_PlayerEscapeResult.c": "3124ab4d2d6d471409a47aba0af528790734df53243c03fe0cdac3e407047c14",
|
||||
"addons/core/Scripts/Game/ERR/ERR_PlayerGuide.c": "59008466b1b0cf3e191ccf16ecb1f32493351df1155c167f237a35279d39c1ba",
|
||||
"addons/core/Scripts/Game/ERR/ERR_PlayerRoster.c": "c038dac0f749bd29ebc35a4e952904b41a34417ba738904d5efcd1833a263e0b",
|
||||
"addons/core/Scripts/Game/ERR/ERR_PreparationStatus.c": "1d8987d2dcc1db2a030e095b33d50f07877181037d339624156291d8317bfa5d",
|
||||
"addons/core/Scripts/Game/ERR/ERR_PrisonEscapeService.c": "ed6286342ed12cc9a3df618474f5647c7ac36bc65336be7a5bec908dee04421d",
|
||||
"addons/core/Scripts/Game/ERR/ERR_RadioDefenceService.c": "5d347cf1a3b021074d560aad8db774828b797e685b63ddff3d28f55781e33ea8",
|
||||
"addons/core/Scripts/Game/ERR/ERR_RadioFeedback.c": "545262e65e9b3645d9e514a0521e442fe08f0c2e4e7c83ba638c5105d09818db",
|
||||
"addons/core/Scripts/Game/ERR/ERR_RecoveryService.c": "ba9ffb93679012c20a665636ef6b201cbe7d8d14fdf53e8cd3eb12ac7248943f",
|
||||
"addons/core/Scripts/Game/ERR/ERR_Resources.c": "d0169aac6fd0c38928c47a9002ded0fd8ba558ea3314a600e792d307ac1ca3ee",
|
||||
"addons/core/Scripts/Game/ERR/ERR_ScenarioComponent.c": "abba03af68323d5715ba1e2497fc66f3c706e6a6a983c3a386228abdfddeec89",
|
||||
"addons/core/Scripts/Game/ERR/ERR_Settings.c": "b9390548936b386e0211d487c1b76b65410fdd2e339cd8ecd9585ef4f4ffed31",
|
||||
"addons/core/Scripts/Game/ERR/ERR_SiteDefinition.c": "b422feeaca90084ea2bee5cde94dc9c6fcae542749b55d95f7226f922a6a68ac",
|
||||
"addons/core/Scripts/Game/ERR/ERR_SiteDiscoveryRules.c": "50f7b3ff4f32bde37ce5ae2be7f598fc4dd8cc08f45914f6e3260d31c84baef2",
|
||||
"addons/core/Scripts/Game/ERR/ERR_SiteService.c": "6bc9a0b5aed326822807f05e17459d0fc2da10b709e8168972b4e40fd09f87cb",
|
||||
"addons/core/Scripts/Game/ERR/ERR_SpawnFinalization.c": "2e295b0f225208c5414728ba83333e5e0ab6eef3a708ce39eb1dfce5400c94c9",
|
||||
"addons/core/Scripts/Game/ERR/ERR_SpawnLogic.c": "ed88279cbeb3e5e6daf8471763df87a251881f550632eddadd08153594bbd1a1",
|
||||
"addons/core/Scripts/Game/ERR/ERR_SpawnPlacement.c": "55323dcb330c23d49dc8fa3fde86a3ae3958c0b6563d6c3cd0960da88333f93d",
|
||||
"addons/core/Scripts/Game/ERR/ERR_Supplies.c": "752e8a56b0b8cde33cf532032cb0a203553017b686faac2e19bee06f7a9c0713",
|
||||
"addons/core/Scripts/Game/ERR/ERR_TimeService.c": "d9f481b7da01e08d2c982a948c18ba6bde76889d7cc9d26d510708f4ba479453",
|
||||
"addons/core/Scripts/GameLib/ERR/ERR_DiagnosticNoSplash.c": "0ea1b402f8927b6d68bf6f7e5caa2967f7e3a39147634faab147796b791933b5",
|
||||
"addons/core/Scripts/WorkbenchGame/ERR/ERR_ValidateBaseWorldPlugin.c": "7f44aa64ea7b4f8b3640a37a4b781c43bf6adb80e4a3a702d9491131698056f6",
|
||||
"addons/core/UI/layouts/ERR/PreparationStatus.layout": "bd269cf8dc6f27735423743dd5b78242550518414448a0256e5e12fa6b92c459",
|
||||
"addons/core/UI/layouts/ERR/PreparationStatus.layout.meta": "75b12176a443bb911fc4ad446982d762201fda42ed38736b79bc5439fca31ccc",
|
||||
"addons/core/Worlds/ERR_Everon.ent": "22324bc7eb0d80dec8a1f3bd61a9df9201b72f749f4e751766b0c9d0b7d46b87",
|
||||
"addons/core/Worlds/ERR_Everon.ent.meta": "19d1903ca72baa326b4724a6791d0da1104a1e53f3f31dc1ca41a856efd68e83",
|
||||
"addons/core/Worlds/ERR_Everon_Layers/default.layer": "17105538007199bfc419aa04a64debaf2da0a7b77a1dc3ba983e92bf747c862e",
|
||||
"addons/core/addon.gproj": "231274e6b62302f32c65f9ff31de2ce8a9e51e1c8d12c87deeec82ae1f40de46",
|
||||
"addons/intel/Scripts/Game/ERR/ERR_IntelService.c": "5e167630a76437fd731fbb7a62a41381ea71509f3adb8a6b9c77f6816384861a",
|
||||
"addons/intel/addon.gproj": "d0ced242cefb220a5cccd6779d61fda9bc55581701b9f78bcf13c09d92ddbcbe",
|
||||
"addons/map/Materials/ERRM_MapRenderTarget.emat": "9877c5b175c5f30dd80bea36c711b21ab38219aa7075adf9ae79932e1d4c76bc",
|
||||
"addons/map/Materials/ERRM_MapRenderTarget.emat.meta": "5ee1a705f8011a44020ca2691f5ccc17d44bf596fef9a36e98d1f267eb58fab0",
|
||||
"addons/map/Prefabs/Items/Equipment/ERRM_SharedFieldMap.et": "30dee8e9eab459ea32a7d835a9fb89d43df47708057cab829f067b25a24cd581",
|
||||
"addons/map/Prefabs/Items/Equipment/ERRM_SharedFieldMap.et.meta": "59093e9072c50d99c86da7609c87541016da5bcf92b98d99db4c524e1c8e0e8d",
|
||||
"addons/map/Scripts/Game/ERR/ERR_ScenarioMap.c": "75fa1d742129ef7f33c005cd48f56db7f49ee7bde3c5428532b0b501b032b0a3",
|
||||
"addons/map/Scripts/Game/ERRMap/ERRM_NativeMapOwnershipProbe.c": "32418602f085e3edba7343f42a6a691630b533be262002f29248e8ae87a38254",
|
||||
"addons/map/Scripts/Game/ERRMap/ERRM_SharedMapComponent.c": "3a10f6ea25bf88a400bc3e6c339823433845c5db4f2f423835ccf99a1b1a843f",
|
||||
"addons/map/UI/layouts/ERRMap/SharedMapRenderTarget.layout": "49a2da4181b94d42174f58c7f9b6bf2207116c99427d61ff1c212092ac7db4d2",
|
||||
"addons/map/UI/layouts/ERRMap/SharedMapRenderTarget.layout.meta": "5c846445cc089e2e08899ba703059d4adb805ff30ab5a16409a3cd59718cbd54",
|
||||
"addons/map/addon.gproj": "1b371e5e01ea9fa46e76570fecb8aaa3a9298e34cba7ccca8a6bdb5ca86eb46a"
|
||||
}
|
||||
@@ -0,0 +1,45 @@
|
||||
{
|
||||
"schema_version": 1,
|
||||
"launch_id": "bc29fa1b-3778-4de3-b053-1881b6b93567",
|
||||
"captured_unix": 1789843498.564853,
|
||||
"source_root": "/home/jakub/devel/escapistsrereintroduced",
|
||||
"command": [
|
||||
"gamescope",
|
||||
"--backend",
|
||||
"headless",
|
||||
"-W",
|
||||
"1280",
|
||||
"-H",
|
||||
"720",
|
||||
"-w",
|
||||
"1280",
|
||||
"-h",
|
||||
"720",
|
||||
"-r",
|
||||
"30",
|
||||
"--",
|
||||
"/home/jakub/.local/share/Steam/steamapps/common/Proton - Experimental/proton",
|
||||
"run",
|
||||
"/home/jakub/.local/share/Steam/steamapps/common/Arma Reforger Tools/Workbench/ArmaReforgerWorkbenchSteamDiag.exe",
|
||||
"-gproj",
|
||||
"Z:/home/jakub/devel/escapistsrereintroduced/addons/chat/addon.gproj",
|
||||
"-addonsDir",
|
||||
"Z:/home/jakub/devel/escapistsrereintroduced/addons",
|
||||
"-profile",
|
||||
"Z:/tmp/erri-workbench-profile",
|
||||
"-logconsole",
|
||||
"-wbModule=WorldEditor",
|
||||
"-load",
|
||||
"Worlds/ERR_Everon.ent",
|
||||
"-plugin=ERR_ValidateWorldPlugin",
|
||||
"-errPlay",
|
||||
"1",
|
||||
"-errSmoke",
|
||||
"1",
|
||||
"-errSmokeOutcome",
|
||||
"map-ownership",
|
||||
"-noThrow",
|
||||
"-disableCrashReporter"
|
||||
],
|
||||
"manifest_sha256": "9d8168a101d52df79a76b53dce0829cff501a0fb7478b88a3652d7fe34364715"
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"log": "docs/evidence/native-2026-09-19-204500-field-compile-map/console.log.txt",
|
||||
"smoke_completions": 1,
|
||||
"assertions_passed": 58,
|
||||
"script_or_runtime_failures": [],
|
||||
"engine_errors": [],
|
||||
"missing_end_screen": [],
|
||||
"scope": "scripted local Workbench integration only; no multiplayer, piloting or FPS claim"
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
#1 t=6.7s M0 REGISTER group 1 [session=1789843547-1]
|
||||
#2 t=6.7s M0 MORTAR DEPLOY site=1 order=0 radio=M0 source=M0 position=<6000,202.788,7000>; authored gun and four-person crew; finite ammunition initialization pending [session=1789843547-1]
|
||||
#3 t=7.7s M0 COURIER READY trip=0 state=1 delivered=0; 12 distinct original HE shells physically confirmed in existing western cache [session=1789843547-1]
|
||||
#4 t=8.8s M0 REGISTER group 2 [session=1789843547-1]
|
||||
#5 t=8.8s M0 REGISTER group 3 [session=1789843547-1]
|
||||
#6 t=8.8s M0 REGISTER group 4 [session=1789843547-1]
|
||||
#7 t=8.8s M0 REGISTER group 5 [session=1789843547-1]
|
||||
#8 t=8.8s M0 REGISTER group 6 [session=1789843547-1]
|
||||
#9 t=8.8s M0 REGISTER group 7 [session=1789843547-1]
|
||||
#10 t=16.5s M0 STOP HQ stopped; tactical orders released [session=1789843547-1]
|
||||
@@ -0,0 +1,37 @@
|
||||
{
|
||||
"stopped_unix": 1789843572.2355468,
|
||||
"console_sha256": "eded183cf577679d22afa3aec20b2ae29de9422e2697ff013b5cfad19f779851",
|
||||
"end_source_sha256": "9d8168a101d52df79a76b53dce0829cff501a0fb7478b88a3652d7fe34364715",
|
||||
"source_unchanged_after_run": true,
|
||||
"source_provenance": "launch_snapshot",
|
||||
"launch_id": "bc29fa1b-3778-4de3-b053-1881b6b93567",
|
||||
"launch_source_manifest": "launch-source-sha256.json",
|
||||
"launch_source_metadata": "launch-source.json",
|
||||
"launch_source_sha256": "9d8168a101d52df79a76b53dce0829cff501a0fb7478b88a3652d7fe34364715",
|
||||
"started_unix": 1789843498.5649207,
|
||||
"result": "smoke-completed",
|
||||
"result_before_cleanup": "smoke-completed",
|
||||
"cleanup_confirmed": true,
|
||||
"cleanup_report": {
|
||||
"cleanup_confirmed": true,
|
||||
"idle_verified": true,
|
||||
"errors": [],
|
||||
"orphan_cleanup": {
|
||||
"attempted": true,
|
||||
"report": {
|
||||
"scope": "/tmp/erri-headless-compat/pfx",
|
||||
"candidates": [],
|
||||
"term_sent": [],
|
||||
"kill_sent": [],
|
||||
"cleared": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"runner_error": null,
|
||||
"session": "/tmp/erri-workbench-profile/logs/logs_2026-09-19_20-45-00",
|
||||
"rounds_required": 1,
|
||||
"project": "chat",
|
||||
"display": "headless Gamescope 1280x720/30Hz",
|
||||
"dedicated_server": false,
|
||||
"audio": "silent sink and per-test-stream mute"
|
||||
}
|
||||
@@ -0,0 +1,318 @@
|
||||
---------------------------------------------
|
||||
Log Z:\tmp\erri-workbench-profile\logs\logs_2026-09-19_20-45-00\script.log started at 2026-09-19 20:45:03 (2026-09-19 18:45:03 UTC)
|
||||
|
||||
20:45:03.654 SCRIPT : SCRIPT : Initializing scripts
|
||||
20:45:03.654 SCRIPT : SCRIPT : ScriptProjectManager init
|
||||
20:45:05.996 SCRIPT : SCRIPT : Compiling GameLib scripts
|
||||
20:45:06.063 SCRIPT : Module: Workbench; loaded 18x files; 36x classes; used 125K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE"; CRC32: 90ce0460
|
||||
20:45:06.063 SCRIPT : Module: GameLib; loaded 466x files; 648x classes; used 828K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE"; CRC32: d66caacb
|
||||
20:45:06.064 SCRIPT : SCRIPT : Compiling Game scripts
|
||||
20:45:07.410 SCRIPT : Compiling Game scripts
|
||||
20:45:07.410 SCRIPT (W): @"Scripts/Game/Editor/Components/EditableEntity/SCR_EditableEntityComponent.c,785": 'GetPlayerPlatformKind' is obsolete
|
||||
20:45:07.410 SCRIPT (W): @"Scripts/Game/Editor/Components/EditableEntity/SCR_EditableEntityComponent.c,786": 'GetPlayerPlatformId' is obsolete
|
||||
20:45:07.597 SCRIPT (W): @"Scripts/Game/ERR/ERR_SiteService.c,191": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly.
|
||||
20:45:07.715 SCRIPT (W): @"Scripts/Game/Workshop/SCR_AddonManager.c,876": 'GetRefCount' is obsolete: Will be removed
|
||||
20:45:07.747 SCRIPT (W): @"Scripts/Game/Campaign/SCR_PlayerProfileManagerComponent.c,142": 'PlayerData' is obsolete
|
||||
20:45:07.864 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,159": 'GetDSSession' is obsolete
|
||||
20:45:07.864 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,162": 'RoomID' is obsolete
|
||||
20:45:07.864 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,197": 'GetDSSession' is obsolete
|
||||
20:45:07.864 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,201": 'RoomID' is obsolete
|
||||
20:45:07.897 SCRIPT (W): @"Scripts/Game/ERR/ERR_CasualtyGroundSupport.c,21": 'GetBoneIndex' is obsolete: Use GetAnimation().GetBoneIndex() instead
|
||||
20:45:07.957 SCRIPT (W): @"Scripts/Game/DataCollection/SCR_DataCollectorComponent.c,481": 'GetStorage' is obsolete
|
||||
20:45:07.957 SCRIPT (W): @"Scripts/Game/DataCollection/SCR_DataCollectorComponent.c,483": 'GetOnlineWritePrivilege' is obsolete
|
||||
20:45:07.958 SCRIPT (W): @"Scripts/Game/Utilities/SCR_PlayerIdentityUtils.c,20": 'GetPlayerIdentityId' is obsolete
|
||||
20:45:07.998 SCRIPT (W): @"Scripts/Game/ERR/ERR_ExtractionService.c,45": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly.
|
||||
20:45:07.998 SCRIPT (W): @"Scripts/Game/ERR/ERR_ExtractionService.c,56": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly.
|
||||
20:45:07.999 SCRIPT (W): @"Scripts/Game/UI/Menu/MainMenuUI.c,643": 'GetNotifyCount' is obsolete: Will be substitued by Notification Api.
|
||||
20:45:07.999 SCRIPT (W): @"Scripts/Game/UI/Menu/MainMenuUI.c,645": 'GetNotifyItem' is obsolete: Will be substitued by Notification Api.
|
||||
20:45:08.031 SCRIPT (W): @"Scripts/Game/ERR/ERR_NativeTransportProbe.c,82": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly.
|
||||
20:45:08.057 SCRIPT (W): @"Scripts/Game/DataCollection/PlayerData/SCR_PlayerData.c,210": 'PlayerData' is obsolete
|
||||
20:45:08.325 SCRIPT : Module: WorkbenchGame; loaded 172x files; 617x classes; used 2482K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE"; CRC32: e963af0e
|
||||
20:45:08.332 SCRIPT : Module: Game; loaded 5795x files; 11407x classes; used 33761K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE,ENABLE_BASE_DESTRUCTION,BUDGET_OPTIMIZATION_CHECKS,SHOW_DISCLAIMER,DEBUG,RESPAWN_TIMER_COMPONENT_DEBUG,GAME_MODE_DEBUG,DEBUG_CONFIGURABLE_DIALOGS,DISABLE_WEAPON_SWITCHING,SCRIPTED_AIM_MODIFIER_DEBUG"; CRC32: 8f2f1458
|
||||
20:45:09.281 SCRIPT : Unable to register a script command due keyword duplicity: ban
|
||||
20:45:09.281 SCRIPT : Unable to register a script command due keyword duplicity: kick
|
||||
20:45:30.472 SCRIPT : ERR VALIDATION: prison terrain=211.344, radio terrain=159.656, extraction terrain=65.1562
|
||||
20:45:30.472 SCRIPT : ERR TERRAIN: x=6084 z=7154 y=211.531
|
||||
20:45:30.473 SCRIPT : ERR TERRAIN: x=6084 z=7157 y=211.516
|
||||
20:45:30.473 SCRIPT : ERR TERRAIN: x=6084 z=7160 y=211.5
|
||||
20:45:30.473 SCRIPT : ERR TERRAIN: x=6084 z=7163 y=211.453
|
||||
20:45:30.473 SCRIPT : ERR TERRAIN: x=6084 z=7166 y=211.406
|
||||
20:45:30.473 SCRIPT : ERR TERRAIN: x=6087 z=7154 y=211.438
|
||||
20:45:30.473 SCRIPT : ERR TERRAIN: x=6087 z=7157 y=211.438
|
||||
20:45:30.473 SCRIPT : ERR TERRAIN: x=6087 z=7160 y=211.422
|
||||
20:45:30.473 SCRIPT : ERR TERRAIN: x=6087 z=7163 y=211.391
|
||||
20:45:30.474 SCRIPT : ERR TERRAIN: x=6087 z=7166 y=211.344
|
||||
20:45:30.474 SCRIPT : ERR TERRAIN: x=6090 z=7154 y=211.344
|
||||
20:45:30.474 SCRIPT : ERR TERRAIN: x=6090 z=7157 y=211.344
|
||||
20:45:30.474 SCRIPT : ERR TERRAIN: x=6090 z=7160 y=211.344
|
||||
20:45:30.474 SCRIPT : ERR TERRAIN: x=6090 z=7163 y=211.328
|
||||
20:45:30.474 SCRIPT : ERR TERRAIN: x=6090 z=7166 y=211.281
|
||||
20:45:30.474 SCRIPT : ERR TERRAIN: x=6093 z=7154 y=211.25
|
||||
20:45:30.474 SCRIPT : ERR TERRAIN: x=6093 z=7157 y=211.281
|
||||
20:45:30.475 SCRIPT : ERR TERRAIN: x=6093 z=7160 y=211.25
|
||||
20:45:30.475 SCRIPT : ERR TERRAIN: x=6093 z=7163 y=211.234
|
||||
20:45:30.475 SCRIPT : ERR TERRAIN: x=6093 z=7166 y=211.188
|
||||
20:45:30.475 SCRIPT : ERR TERRAIN: x=6096 z=7154 y=211.156
|
||||
20:45:30.475 SCRIPT : ERR TERRAIN: x=6096 z=7157 y=211.172
|
||||
20:45:30.475 SCRIPT : ERR TERRAIN: x=6096 z=7160 y=211.156
|
||||
20:45:30.475 SCRIPT : ERR TERRAIN: x=6096 z=7163 y=211.141
|
||||
20:45:30.475 SCRIPT : ERR TERRAIN: x=6096 z=7166 y=211.094
|
||||
20:45:30.499 SCRIPT : ERR SITE CANDIDATE: position=<6090,211.344,7160> elevationRange=0.640625
|
||||
20:45:33.777 SCRIPT : Unable to register a script command due keyword duplicity: ban
|
||||
20:45:33.777 SCRIPT : Unable to register a script command due keyword duplicity: kick
|
||||
20:45:47.656 SCRIPT (W): SCR_PerceivedFactionManagerComponent trying to set fall back faction 'CIV' but this faction could not be found so it is null instead.
|
||||
20:45:47.681 SCRIPT : ERR SMOKE: scripted integration test enabled; gameplay acceptance remains separate
|
||||
20:45:48.238 SCRIPT (W): Notification data in 'SCR_NotificationsLogDisplay' has duplicate notification info key: 'EDITOR_PERCEIVED_FACTION_PUNISHMENT_KILLING_SET'. There should only be one of each key!
|
||||
20:45:48.238 SCRIPT (W): Notification data in 'SCR_NotificationsLogDisplay' has duplicate notification info key: 'EDITOR_PERCEIVED_FACTION_TYPE_DISABLED'. There should only be one of each key!
|
||||
20:45:48.239 SCRIPT (W): Can't open config file ""
|
||||
20:45:48.246 SCRIPT (W): Slot_WeaponInfo Has no Content!
|
||||
20:45:48.246 SCRIPT (W): Slot_Chat Has no Content!
|
||||
20:45:48.246 SCRIPT (W): Slot_VON Has no Content!
|
||||
20:45:48.246 SCRIPT (W): Slot_AvailableActions Has no Content!
|
||||
20:45:48.246 SCRIPT (W): Slot_Vehicle Has no Content!
|
||||
20:45:48.246 SCRIPT (W): Slot_GameVersion Has no Content!
|
||||
20:45:48.246 SCRIPT (W): Slot_Notifications Has no Content!
|
||||
20:45:48.247 SCRIPT (W): Slot_Hints Has no Content!
|
||||
20:45:48.258 SCRIPT (W): SCR_EntityCatalogManagerComponent.GetFilteredEditorPrefabsOfAllFactions: Detected that {259EE7B78C51B624}UAZ469.et is present in at least two different faction entity catalogs! Since this may cause issues, such as dupliacted entries in build mode, one of them will be discarded! This is only supported for items. Other things require creation of faction specific variants.
|
||||
20:45:48.258 SCRIPT (W): SCR_EntityCatalogManagerComponent.GetFilteredEditorPrefabsOfAllFactions: Detected that {DF5CCB7C0FF049F4}Mi8MT_unarmed_transport.et is present in at least two different faction entity catalogs! Since this may cause issues, such as dupliacted entries in build mode, one of them will be discarded! This is only supported for items. Other things require creation of faction specific variants.
|
||||
20:45:48.262 SCRIPT (W): Ban Settings could not be loaded from BE Storage: Relying on default config
|
||||
20:45:48.315 SCRIPT : ScenarioFramework: Available tasks are empty, no new tasks will be generated.
|
||||
20:45:48.328 SCRIPT : SCR_BaseGameMode::OnGameStateChanged = GAME
|
||||
20:45:48.502 SCRIPT (W): EditBoxFilterComponent used on invalid widget type.
|
||||
20:45:50.017 SCRIPT : Rereintroduced [sites]: cache clearance position=<6086,211.538,7160> clear=1
|
||||
20:45:50.037 SCRIPT : Rereintroduced [sites]: authored everon-prison-1 at <6090,211.444,7160>
|
||||
20:45:50.038 SCRIPT : Rereintroduced [sites]: cache clearance position=<6150,203.288,7050> clear=1
|
||||
20:45:50.064 SCRIPT : Rereintroduced [sites]: authored everon-supply-1 at <6150,203.288,7050>
|
||||
20:45:50.066 SCRIPT : Rereintroduced [sites]: authored everon-radio-1 at <6500,159.756,7200>
|
||||
20:45:50.113 SCRIPT : Rereintroduced [sites]: authored everon-extraction-1 at <7000,65.2562,7500>
|
||||
20:45:50.113 SCRIPT : Rereintroduced [sites]: cache clearance position=<5960,220.256,7220> clear=1
|
||||
20:45:50.119 SCRIPT : Rereintroduced [sites]: transport parking=<5960,220.256,7212> radius=4 terrainRange=0.8125 obstructed=0 clear=1
|
||||
20:45:50.166 SCRIPT : Rereintroduced [sites]: authored everon-supply-2 at <5960,220.256,7220>
|
||||
20:45:50.166 SCRIPT : Rereintroduced [sites]: cache clearance position=<6340,175.788,7400> clear=1
|
||||
20:45:50.168 SCRIPT : Rereintroduced [sites]: authored everon-medical-1 at <6340,175.788,7400>
|
||||
20:45:50.168 SCRIPT : Rereintroduced [sites]: cache clearance position=<6740,140.6,7300> clear=1
|
||||
20:45:50.172 SCRIPT : Rereintroduced [sites]: cache clearance position=<6740,140.913,7296> clear=1
|
||||
20:45:50.173 SCRIPT : Rereintroduced [sites]: cache clearance position=<6736,140.975,7300> clear=1
|
||||
20:45:50.173 SCRIPT : Rereintroduced [sites]: cache clearance position=<6744,140.288,7300> clear=1
|
||||
20:45:50.175 SCRIPT : Rereintroduced [sites]: authored everon-outpost-1 at <6740,140.6,7300>
|
||||
20:45:50.175 SCRIPT : ERR EXTRACTION PLACEMENT: wakes=1 alive=1 ready=0 origin=<7012,63.725,7500> up=1
|
||||
20:45:50.175 SCRIPT : ERR EXTRACTION PHYSICS: dynamic=1 awake=1 speed=0 angularSpeed=0
|
||||
20:45:50.175 SCRIPT : ERR EXTRACTION NATIVE: valid=1 contact=0 engine=0 origin=<0,0,0> up=1 entityDifference=10267.5
|
||||
20:45:50.175 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_F node=-1704401612 center=<7012,64.0216,7502.25>
|
||||
20:45:50.175 SCRIPT : ERR GEAR TERRAIN: bottom=<7012,63.7216,7502.25> terrainY=63.2926 tireTerrainGap=0.428944
|
||||
20:45:50.176 SCRIPT : ERR GEAR SUPPORT: center=<7012,64.0216,7502.25> radius=0.3 bottom=<7012,63.7216,7502.25> fraction=1 normal=<0,0,0> self=0 dynamic=0 supported=0 gap=0.119999
|
||||
20:45:50.176 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_bL node=-410678372 center=<7009.72,64.4897,7497.97>
|
||||
20:45:50.176 SCRIPT : ERR GEAR TERRAIN: bottom=<7009.72,64.0397,7497.97> terrainY=64.1655 tireTerrainGap=-0.125717
|
||||
20:45:50.176 SCRIPT : ERR GEAR SUPPORT: center=<7009.72,64.4897,7497.97> radius=0.45 bottom=<7009.72,64.0397,7497.97> fraction=1 normal=<0,0,0> self=0 dynamic=0 supported=0 gap=0.119999
|
||||
20:45:50.177 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_bR node=-410678366 center=<7014.28,64.4898,7497.97>
|
||||
20:45:50.177 SCRIPT : ERR GEAR TERRAIN: bottom=<7014.28,64.0398,7497.97> terrainY=63.8096 tireTerrainGap=0.230156
|
||||
20:45:50.177 SCRIPT : ERR GEAR SUPPORT: center=<7014.28,64.4898,7497.97> radius=0.45 bottom=<7014.28,64.0398,7497.97> fraction=1 normal=<0,0,0> self=0 dynamic=0 supported=0 gap=0.119999
|
||||
20:45:50.177 SCRIPT : Rereintroduced [guards]: initial site=everon-prison-1 requested=6 physical=0 conscious=0 nativeComplete=0
|
||||
20:45:50.177 SCRIPT : Rereintroduced [guards]: initial site=everon-supply-1 requested=6 physical=0 conscious=0 nativeComplete=0
|
||||
20:45:50.178 SCRIPT : Rereintroduced [guards]: initial site=everon-radio-1 requested=6 physical=0 conscious=0 nativeComplete=0
|
||||
20:45:50.178 SCRIPT : Rereintroduced [guards]: initial site=everon-extraction-1 requested=6 physical=0 conscious=0 nativeComplete=0
|
||||
20:45:50.178 SCRIPT : Rereintroduced [guards]: initial site=everon-supply-2 requested=6 physical=0 conscious=0 nativeComplete=0
|
||||
20:45:50.178 SCRIPT : Rereintroduced [guards]: initial site=everon-outpost-1 requested=6 physical=0 conscious=0 nativeComplete=0
|
||||
20:45:51.032 SCRIPT : Rereintroduced [guards]: initial site=everon-prison-1 requested=6 physical=1 conscious=1 nativeComplete=0
|
||||
20:45:51.032 SCRIPT : Rereintroduced [guards]: initial site=everon-supply-1 requested=6 physical=1 conscious=1 nativeComplete=0
|
||||
20:45:51.032 SCRIPT : Rereintroduced [guards]: initial site=everon-radio-1 requested=6 physical=1 conscious=1 nativeComplete=0
|
||||
20:45:51.032 SCRIPT : Rereintroduced [guards]: initial site=everon-extraction-1 requested=6 physical=1 conscious=1 nativeComplete=0
|
||||
20:45:51.282 SCRIPT : ERR EXTRACTION PLACEMENT: wakes=1 alive=1 ready=1 origin=<7012.08,63.5299,7499.7> up=0.995681
|
||||
20:45:51.282 SCRIPT : ERR EXTRACTION PHYSICS: dynamic=1 awake=1 speed=0.315805 angularSpeed=0.0413827
|
||||
20:45:51.282 SCRIPT : ERR EXTRACTION NATIVE: valid=1 contact=1 engine=0 origin=<0,0,0> up=1 entityDifference=10267.4
|
||||
20:45:51.282 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_F node=-1704401612 center=<7012.07,63.6149,7501.97>
|
||||
20:45:51.282 SCRIPT : ERR GEAR TERRAIN: bottom=<7012.07,63.3149,7501.97> terrainY=63.3165 tireTerrainGap=-0.00158691
|
||||
20:45:51.283 SCRIPT : ERR GEAR SUPPORT: center=<7012.07,63.6149,7501.97> radius=0.3 bottom=<7012.07,63.3149,7501.97> fraction=0.447619 normal=<-0,0.990257,0.139255> self=0 dynamic=0 supported=1 gap=-0.00152206
|
||||
20:45:51.283 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_bL node=-410678372 center=<7009.88,64.6021,7497.71>
|
||||
20:45:51.283 SCRIPT : ERR GEAR TERRAIN: bottom=<7009.88,64.1521,7497.71> terrainY=64.1556 tireTerrainGap=-0.003479
|
||||
20:45:51.283 SCRIPT : ERR GEAR SUPPORT: center=<7009.88,64.6021,7497.71> radius=0.45 bottom=<7009.88,64.1521,7497.71> fraction=0.438833 normal=<0.139105,0.989191,0.0463683> self=0 dynamic=0 supported=1 gap=-0.00345612
|
||||
20:45:51.283 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_bR node=-410678366 center=<7014.42,64.2638,7497.74>
|
||||
20:45:51.283 SCRIPT : ERR GEAR TERRAIN: bottom=<7014.42,63.8138,7497.74> terrainY=63.8179 tireTerrainGap=-0.00411606
|
||||
20:45:51.284 SCRIPT : ERR GEAR SUPPORT: center=<7014.42,64.2638,7497.74> radius=0.45 bottom=<7014.42,63.8138,7497.74> fraction=0.435833 normal=<0.015606,0.998782,0.0468179> self=0 dynamic=0 supported=1 gap=-0.00411606
|
||||
20:45:51.284 SCRIPT : ERR EXTRACTION FUEL: manager=1 hasFuel=1
|
||||
20:45:51.532 SCRIPT : Rereintroduced [guards]: initial site=everon-prison-1 requested=6 physical=2 conscious=2 nativeComplete=0
|
||||
20:45:51.532 SCRIPT : Rereintroduced [guards]: initial site=everon-supply-1 requested=6 physical=2 conscious=2 nativeComplete=0
|
||||
20:45:51.533 SCRIPT : Rereintroduced [guards]: initial site=everon-supply-2 requested=6 physical=1 conscious=1 nativeComplete=0
|
||||
20:45:51.533 SCRIPT : Rereintroduced [guards]: initial site=everon-outpost-1 requested=6 physical=1 conscious=1 nativeComplete=0
|
||||
20:45:52.032 SCRIPT : Rereintroduced [guards]: initial site=everon-prison-1 requested=6 physical=3 conscious=3 nativeComplete=0
|
||||
20:45:52.032 SCRIPT : Rereintroduced [guards]: initial site=everon-supply-2 requested=6 physical=2 conscious=2 nativeComplete=0
|
||||
20:45:52.032 SCRIPT : Rereintroduced [guards]: initial site=everon-outpost-1 requested=6 physical=2 conscious=2 nativeComplete=0
|
||||
20:45:52.282 SCRIPT : ERR EXTRACTION PLACEMENT: wakes=1 alive=1 ready=1 origin=<7012.1,63.5337,7499.71> up=0.994319
|
||||
20:45:52.282 SCRIPT : ERR EXTRACTION PHYSICS: dynamic=1 awake=1 speed=0.0928744 angularSpeed=0.0708118
|
||||
20:45:52.282 SCRIPT : ERR EXTRACTION NATIVE: valid=1 contact=1 engine=0 origin=<0,0,0> up=1 entityDifference=10267.4
|
||||
20:45:52.282 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_F node=-1704401612 center=<7012.07,63.6199,7501.98>
|
||||
20:45:52.283 SCRIPT : ERR GEAR TERRAIN: bottom=<7012.07,63.3199,7501.98> terrainY=63.3146 tireTerrainGap=0.00521469
|
||||
20:45:52.283 SCRIPT : ERR GEAR SUPPORT: center=<7012.07,63.6199,7501.98> radius=0.3 bottom=<7012.07,63.3199,7501.98> fraction=0.4787 normal=<-0,0.990257,0.139255> self=0 dynamic=0 supported=1 gap=0.00531387
|
||||
20:45:52.283 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_bL node=-410678372 center=<7009.93,64.6025,7497.71>
|
||||
20:45:52.283 SCRIPT : ERR GEAR TERRAIN: bottom=<7009.93,64.1525,7497.71> terrainY=64.149 tireTerrainGap=0.00347137
|
||||
20:45:52.283 SCRIPT : ERR GEAR SUPPORT: center=<7009.93,64.6025,7497.71> radius=0.45 bottom=<7009.93,64.1525,7497.71> fraction=0.470258 normal=<0.139105,0.989191,0.0463683> self=0 dynamic=0 supported=1 gap=0.00345612
|
||||
20:45:52.283 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_bR node=-410678366 center=<7014.47,64.2651,7497.78>
|
||||
20:45:52.284 SCRIPT : ERR GEAR TERRAIN: bottom=<7014.47,63.8151,7497.78> terrainY=63.8155 tireTerrainGap=-0.000370026
|
||||
20:45:52.284 SCRIPT : ERR GEAR SUPPORT: center=<7014.47,64.2651,7497.78> radius=0.45 bottom=<7014.47,63.8151,7497.78> fraction=0.452778 normal=<0.015606,0.998782,0.0468179> self=0 dynamic=0 supported=1 gap=-0.000389099
|
||||
20:45:52.284 SCRIPT : ERR EXTRACTION FUEL: manager=1 hasFuel=1
|
||||
20:45:52.533 SCRIPT : Rereintroduced [guards]: initial site=everon-prison-1 requested=6 physical=4 conscious=4 nativeComplete=0
|
||||
20:45:52.533 SCRIPT : Rereintroduced [guards]: initial site=everon-radio-1 requested=6 physical=2 conscious=2 nativeComplete=0
|
||||
20:45:52.533 SCRIPT : Rereintroduced [guards]: initial site=everon-extraction-1 requested=6 physical=2 conscious=2 nativeComplete=0
|
||||
20:45:52.533 SCRIPT : Rereintroduced [guards]: initial site=everon-outpost-1 requested=6 physical=3 conscious=3 nativeComplete=0
|
||||
20:45:52.786 SCRIPT : Rereintroduced [extraction placement]: native supported aircraft stable for one second, fuel present, exactly one initial wake
|
||||
20:45:53.042 SCRIPT : Rereintroduced [guards]: initial site=everon-supply-1 requested=6 physical=3 conscious=3 nativeComplete=0
|
||||
20:45:53.042 SCRIPT : Rereintroduced [guards]: initial site=everon-radio-1 requested=6 physical=3 conscious=3 nativeComplete=0
|
||||
20:45:53.042 SCRIPT : Rereintroduced [guards]: initial site=everon-extraction-1 requested=6 physical=3 conscious=3 nativeComplete=0
|
||||
20:45:53.043 SCRIPT : Rereintroduced [guards]: initial site=everon-supply-2 requested=6 physical=3 conscious=3 nativeComplete=0
|
||||
20:45:53.296 SCRIPT : ERR EXTRACTION PLACEMENT: wakes=1 alive=1 ready=1 origin=<7012.12,63.5337,7499.74> up=0.994167
|
||||
20:45:53.296 SCRIPT : ERR EXTRACTION PHYSICS: dynamic=1 awake=1 speed=0.0481593 angularSpeed=0.0275044
|
||||
20:45:53.296 SCRIPT : ERR EXTRACTION NATIVE: valid=1 contact=1 engine=0 origin=<0,0,0> up=1 entityDifference=10267.4
|
||||
20:45:53.296 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_F node=-1704401612 center=<7012.08,63.6146,7502.01>
|
||||
20:45:53.296 SCRIPT : ERR GEAR TERRAIN: bottom=<7012.08,63.3146,7502.01> terrainY=63.3116 tireTerrainGap=0.00296783
|
||||
20:45:53.297 SCRIPT : ERR GEAR SUPPORT: center=<7012.08,63.6146,7502.01> radius=0.3 bottom=<7012.08,63.3146,7502.01> fraction=0.468002 normal=<0,0.996962,0.0778877> self=0 dynamic=0 supported=1 gap=0.00296021
|
||||
20:45:53.297 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_bL node=-410678372 center=<7009.97,64.5944,7497.72>
|
||||
20:45:53.297 SCRIPT : ERR GEAR TERRAIN: bottom=<7009.97,64.1444,7497.72> terrainY=64.1429 tireTerrainGap=0.0015564
|
||||
20:45:53.297 SCRIPT : ERR GEAR SUPPORT: center=<7009.97,64.5944,7497.72> radius=0.45 bottom=<7009.97,64.1444,7497.72> fraction=0.461582 normal=<0.139105,0.989191,0.0463683> self=0 dynamic=0 supported=1 gap=0.00154877
|
||||
20:45:53.297 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_bR node=-410678366 center=<7014.51,64.2604,7497.82>
|
||||
20:45:53.297 SCRIPT : ERR GEAR TERRAIN: bottom=<7014.51,63.8104,7497.82> terrainY=63.8129 tireTerrainGap=-0.00250626
|
||||
20:45:53.298 SCRIPT : ERR GEAR SUPPORT: center=<7014.51,64.2604,7497.82> radius=0.45 bottom=<7014.51,63.8104,7497.82> fraction=0.443056 normal=<0.015606,0.998782,0.0468179> self=0 dynamic=0 supported=1 gap=-0.00252914
|
||||
20:45:53.298 SCRIPT : ERR EXTRACTION FUEL: manager=1 hasFuel=1
|
||||
20:45:53.550 SCRIPT : Rereintroduced [guards]: initial site=everon-supply-1 requested=6 physical=4 conscious=4 nativeComplete=0
|
||||
20:45:53.550 SCRIPT : Rereintroduced [guards]: initial site=everon-radio-1 requested=6 physical=4 conscious=4 nativeComplete=0
|
||||
20:45:53.550 SCRIPT : Rereintroduced [guards]: initial site=everon-extraction-1 requested=6 physical=4 conscious=4 nativeComplete=0
|
||||
20:45:53.550 SCRIPT : Rereintroduced [guards]: initial site=everon-supply-2 requested=6 physical=4 conscious=4 nativeComplete=0
|
||||
20:45:54.056 SCRIPT : Rereintroduced [guards]: initial site=everon-prison-1 requested=6 physical=5 conscious=5 nativeComplete=0
|
||||
20:45:54.057 SCRIPT : Rereintroduced [guards]: initial site=everon-supply-1 requested=6 physical=5 conscious=5 nativeComplete=0
|
||||
20:45:54.057 SCRIPT : Rereintroduced [guards]: initial site=everon-radio-1 requested=6 physical=5 conscious=5 nativeComplete=0
|
||||
20:45:54.057 SCRIPT : Rereintroduced [guards]: initial site=everon-outpost-1 requested=6 physical=4 conscious=4 nativeComplete=0
|
||||
20:45:54.310 SCRIPT : ERR EXTRACTION PLACEMENT: wakes=1 alive=1 ready=1 origin=<7012.13,63.529,7499.75> up=0.994144
|
||||
20:45:54.310 SCRIPT : ERR EXTRACTION PHYSICS: dynamic=1 awake=0 speed=0 angularSpeed=0
|
||||
20:45:54.310 SCRIPT : ERR EXTRACTION NATIVE: valid=1 contact=1 engine=0 origin=<0,0,0> up=1 entityDifference=10267.4
|
||||
20:45:54.310 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_F node=-1704401612 center=<7012.08,63.6125,7502.02>
|
||||
20:45:54.311 SCRIPT : ERR GEAR TERRAIN: bottom=<7012.08,63.3125,7502.02> terrainY=63.3109 tireTerrainGap=0.00167465
|
||||
20:45:54.311 SCRIPT : ERR GEAR SUPPORT: center=<7012.08,63.6125,7502.02> radius=0.3 bottom=<7012.08,63.3125,7502.02> fraction=0.462159 normal=<0,0.996962,0.0778877> self=0 dynamic=0 supported=1 gap=0.00167465
|
||||
20:45:54.311 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_bL node=-410678372 center=<7009.97,64.594,7497.73>
|
||||
20:45:54.311 SCRIPT : ERR GEAR TERRAIN: bottom=<7009.97,64.144,7497.73> terrainY=64.1414 tireTerrainGap=0.00254059
|
||||
20:45:54.311 SCRIPT : ERR GEAR SUPPORT: center=<7009.97,64.594,7497.73> radius=0.45 bottom=<7009.97,64.144,7497.73> fraction=0.466068 normal=<0.139105,0.989191,0.0463683> self=0 dynamic=0 supported=1 gap=0.00254059
|
||||
20:45:54.312 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_bR node=-410678366 center=<7014.51,64.2603,7497.84>
|
||||
20:45:54.312 SCRIPT : ERR GEAR TERRAIN: bottom=<7014.51,63.8103,7497.84> terrainY=63.8122 tireTerrainGap=-0.00193405
|
||||
20:45:54.312 SCRIPT : ERR GEAR SUPPORT: center=<7014.51,64.2603,7497.84> radius=0.45 bottom=<7014.51,63.8103,7497.84> fraction=0.445556 normal=<0.015606,0.998782,0.0468179> self=0 dynamic=0 supported=1 gap=-0.00197601
|
||||
20:45:54.312 SCRIPT : ERR EXTRACTION FUEL: manager=1 hasFuel=1
|
||||
20:45:54.565 SCRIPT : Rereintroduced [guards]: initial site=everon-supply-1 requested=6 physical=6 conscious=6 nativeComplete=1
|
||||
20:45:54.565 SCRIPT : Rereintroduced [guards]: initial site=everon-extraction-1 requested=6 physical=5 conscious=5 nativeComplete=0
|
||||
20:45:54.565 SCRIPT : Rereintroduced [guards]: initial site=everon-supply-2 requested=6 physical=5 conscious=5 nativeComplete=0
|
||||
20:45:54.566 SCRIPT : Rereintroduced [guards]: initial site=everon-outpost-1 requested=6 physical=5 conscious=5 nativeComplete=0
|
||||
20:45:55.068 SCRIPT : Rereintroduced [guards]: initial site=everon-radio-1 requested=6 physical=6 conscious=6 nativeComplete=1
|
||||
20:45:55.069 SCRIPT : Rereintroduced [guards]: initial site=everon-extraction-1 requested=6 physical=6 conscious=6 nativeComplete=1
|
||||
20:45:55.069 SCRIPT : Rereintroduced [guards]: initial site=everon-supply-2 requested=6 physical=6 conscious=6 nativeComplete=1
|
||||
20:45:55.069 SCRIPT : Rereintroduced [guards]: initial site=everon-outpost-1 requested=6 physical=6 conscious=6 nativeComplete=1
|
||||
20:45:55.320 SCRIPT : ERR EXTRACTION PLACEMENT: wakes=1 alive=1 ready=1 origin=<7012.13,63.529,7499.75> up=0.994144
|
||||
20:45:55.321 SCRIPT : ERR EXTRACTION PHYSICS: dynamic=1 awake=0 speed=0 angularSpeed=0
|
||||
20:45:55.321 SCRIPT : ERR EXTRACTION NATIVE: valid=1 contact=1 engine=0 origin=<0,0,0> up=1 entityDifference=10267.4
|
||||
20:45:55.321 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_F node=-1704401612 center=<7012.08,63.6125,7502.02>
|
||||
20:45:55.321 SCRIPT : ERR GEAR TERRAIN: bottom=<7012.08,63.3125,7502.02> terrainY=63.3109 tireTerrainGap=0.00167465
|
||||
20:45:55.321 SCRIPT : ERR GEAR SUPPORT: center=<7012.08,63.6125,7502.02> radius=0.3 bottom=<7012.08,63.3125,7502.02> fraction=0.462159 normal=<0,0.996962,0.0778877> self=0 dynamic=0 supported=1 gap=0.00167465
|
||||
20:45:55.322 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_bL node=-410678372 center=<7009.97,64.594,7497.73>
|
||||
20:45:55.322 SCRIPT : ERR GEAR TERRAIN: bottom=<7009.97,64.144,7497.73> terrainY=64.1414 tireTerrainGap=0.00254059
|
||||
20:45:55.322 SCRIPT : ERR GEAR SUPPORT: center=<7009.97,64.594,7497.73> radius=0.45 bottom=<7009.97,64.144,7497.73> fraction=0.466068 normal=<0.139105,0.989191,0.0463683> self=0 dynamic=0 supported=1 gap=0.00254059
|
||||
20:45:55.322 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_bR node=-410678366 center=<7014.51,64.2603,7497.84>
|
||||
20:45:55.322 SCRIPT : ERR GEAR TERRAIN: bottom=<7014.51,63.8103,7497.84> terrainY=63.8122 tireTerrainGap=-0.00193405
|
||||
20:45:55.323 SCRIPT : ERR GEAR SUPPORT: center=<7014.51,64.2603,7497.84> radius=0.45 bottom=<7014.51,63.8103,7497.84> fraction=0.445556 normal=<0.015606,0.998782,0.0468179> self=0 dynamic=0 supported=1 gap=-0.00197601
|
||||
20:45:55.323 SCRIPT : ERR EXTRACTION FUEL: manager=1 hasFuel=1
|
||||
20:45:55.572 SCRIPT : Rereintroduced [guards]: initial site=everon-prison-1 requested=6 physical=6 conscious=6 nativeComplete=1
|
||||
20:45:55.573 SCRIPT : Rereintroduced [sites]: 7 sites and 117 physical stock items ready
|
||||
20:45:55.586 SCRIPT : Rereintroduced [environment]: date=authored weather=authored
|
||||
20:45:55.587 SCRIPT : Rereintroduced [time]: started at 14:00 with 1x progression
|
||||
20:45:55.587 SCRIPT : Rereintroduced [mission]: phase 0 -> 1
|
||||
20:45:55.587 SCRIPT : Rereintroduced [prison]: owned composition raw={BE6B8D56349038A6}Prefabs/ERR/Prison.et resolved={BE6B8D56349038A6}Prefabs/ERR/Prison.et position=<6090,211.444,7160>
|
||||
20:45:55.588 SCRIPT : Rereintroduced [prison]: gate candidate raw= resolved={C3FDC4DBCD58C2F5}Prefabs/ERR/PrisonDoor.et lock=1 door=1 position=<6090,211.344,7154>
|
||||
20:45:55.588 SCRIPT : Rereintroduced [prison]: destruction health=1000 destroyed=0 queued=0
|
||||
20:45:55.588 SCRIPT : Rereintroduced [prison]: one intact successor lock in owned prison
|
||||
20:45:56.528 SCRIPT : INFO: Faction: player jakub (playerID = 1 | UUID = 00000000-0000-0000-0000-000000000000) has joined faction #AR-Faction_US (US)
|
||||
20:45:56.569 SCRIPT : Rereintroduced [spawn]: player 1 at <6088.5,211.491,7158.5>
|
||||
20:45:56.748 SCRIPT : ERR SMOKE PASS: new identity may enter prison
|
||||
20:45:56.748 SCRIPT : ERR SMOKE PASS: spawn consumes identity life
|
||||
20:45:56.748 SCRIPT : ERR SMOKE PASS: disconnect retains living actor and clears connection
|
||||
20:45:56.748 SCRIPT : ERR SMOKE PASS: reconnected identity retains spent life
|
||||
20:45:56.748 SCRIPT : ERR SMOKE PASS: duplicate active identity rejected
|
||||
20:45:56.748 SCRIPT : ERR SMOKE PASS: recycled connection receives independent life and extraction admission policy
|
||||
20:45:56.749 SCRIPT : ERR SMOKE PASS: base contracts catalog resolves hostile vanilla factions and successful preparation
|
||||
20:45:56.749 SCRIPT : ERR SMOKE PASS: base contracts physical prisoner matches injected faction and resource
|
||||
20:45:56.749 SCRIPT : ERR SMOKE PASS: base contracts physical guard squad comes from injected catalog
|
||||
20:45:56.749 SCRIPT : ERR SMOKE PASS: base contracts same-side factions rejected
|
||||
20:45:56.749 SCRIPT : ERR SMOKE PASS: base contracts unknown world faction rejected
|
||||
20:45:56.749 SCRIPT : ERR SMOKE PASS: base contracts missing prisoner resource rejected
|
||||
20:45:56.749 SCRIPT : ERR SMOKE PASS: base contracts isolated catalog restored without mutating live configuration
|
||||
20:45:56.750 SCRIPT : ERR SMOKE PASS: base contracts unauthorized settings request rejected
|
||||
20:45:56.750 SCRIPT : ERR SMOKE PASS: base contracts partially numeric input rejected without mutation
|
||||
20:45:56.750 SCRIPT : ERR SMOKE PASS: base contracts out-of-range duration rejected without mutation
|
||||
20:45:56.753 SCRIPT : ERR SMOKE PASS: base contracts normalized base command saves validated duration
|
||||
20:45:56.753 SCRIPT : ERR SMOKE PASS: base contracts base command reads saved duration
|
||||
20:45:56.754 SCRIPT : ERR SMOKE PASS: base contracts base settings listing available
|
||||
20:45:56.754 SCRIPT : ERR SMOKE PASS: base contracts base mission status available before companions
|
||||
20:45:56.757 SCRIPT : ERR SMOKE PASS: base contracts test setting restored
|
||||
20:45:56.757 SCRIPT : ERR SMOKE PASS: companion command retained: hq interval show
|
||||
20:45:56.757 SCRIPT : ERR SMOKE PASS: companion command retained: hq squads show
|
||||
20:45:56.757 SCRIPT : ERR SMOKE PASS: companion command retained: hq radius show
|
||||
20:45:56.757 SCRIPT : ERR SMOKE PASS: companion command retained: intel carrying show
|
||||
20:45:56.758 SCRIPT : ERR SMOKE PASS: companion command retained: intel reveal show
|
||||
20:45:56.758 SCRIPT : ERR SMOKE PASS: companion journal is behind Core admin authorization
|
||||
20:45:56.758 SCRIPT : ERR SMOKE PASS: companion HQ status uses the shared command service
|
||||
20:45:57.253 SCRIPT : ERR SMOKE PASS: shared map ownership fixture starts only with closed map and actual local character camera
|
||||
20:45:57.253 SCRIPT : ERR SMOKE PASS: shared map ownership owned replacement native map layout created
|
||||
20:45:57.254 SCRIPT : ERR SMOKE PASS: shared map ownership two separate real successor map prefabs spawned without inventory changes
|
||||
20:45:58.262 SCRIPT : ERR SMOKE PASS: shared map ownership both fixture entities survive until native component initialization
|
||||
20:45:58.262 SCRIPT : ERR SMOKE PASS: shared map ownership both native map components initialize actual render roots
|
||||
20:45:58.270 SCRIPT : ERR SMOKE PASS: shared map ownership actual owned prefab captures its native plain-map root
|
||||
20:45:58.270 SCRIPT : ERR SMOKE PASS: shared map ownership capture config belongs to exact fixture component
|
||||
20:45:58.270 SCRIPT : ERR SMOKE PASS: shared map ownership requested distinct/reused native configuration identity established
|
||||
20:45:58.272 SCRIPT : ERR SMOKE PASS: shared map ownership actual replacement root is current native map
|
||||
20:45:59.772 SCRIPT : ERR SMOKE PASS: shared map ownership replacement remains open after native open-complete event
|
||||
20:45:59.772 SCRIPT : ERR SMOKE PASS: shared map ownership actual stale center callback cannot pan or retarget replacement zoom
|
||||
20:45:59.772 SCRIPT : ERR SMOKE PASS: shared map ownership stale camera-restore method executes but native-write authorization is denied
|
||||
20:46:00.785 SCRIPT : ERR SMOKE PASS: shared map ownership both real delayed production callbacks ran exactly once
|
||||
20:46:00.785 SCRIPT : ERR SMOKE PASS: shared map ownership real delayed center and finish leave replacement view unchanged
|
||||
20:46:00.785 SCRIPT : ERR SMOKE PASS: shared map ownership actual finish, stop and vanilla mode-clear preserve replacement and do not request camera restore
|
||||
20:46:00.787 SCRIPT : ERR SMOKE PASS: shared map ownership actual owned prefab captures its native plain-map root
|
||||
20:46:00.787 SCRIPT : ERR SMOKE PASS: shared map ownership capture config belongs to exact fixture component
|
||||
20:46:00.787 SCRIPT : ERR SMOKE PASS: shared map ownership requested distinct/reused native configuration identity established
|
||||
20:46:00.788 SCRIPT : ERR SMOKE PASS: shared map ownership actual replacement root is current native map
|
||||
20:46:02.297 SCRIPT : ERR SMOKE PASS: shared map ownership replacement remains open after native open-complete event
|
||||
20:46:02.297 SCRIPT : ERR SMOKE PASS: shared map ownership actual stale center callback cannot pan or retarget replacement zoom
|
||||
20:46:02.297 SCRIPT : ERR SMOKE PASS: shared map ownership stale camera-restore method executes but native-write authorization is denied
|
||||
20:46:03.303 SCRIPT : ERR SMOKE PASS: shared map ownership both real delayed production callbacks ran exactly once
|
||||
20:46:03.304 SCRIPT : ERR SMOKE PASS: shared map ownership real delayed center and finish leave replacement view unchanged
|
||||
20:46:03.304 SCRIPT : ERR SMOKE PASS: shared map ownership actual finish, stop and vanilla mode-clear preserve replacement and do not request camera restore
|
||||
20:46:03.304 SCRIPT : ERR MAP DELETE: afterSuper slot=2 released=1 captureCallbacks=0 spareCallbacks=1
|
||||
20:46:03.304 SCRIPT : ERR MAP DELETE: afterSuper slot=1 released=1 captureCallbacks=1 spareCallbacks=1
|
||||
20:46:03.305 SCRIPT : ERR MAP DELETE: request returned captureEntity=0 spareEntity=0 captureComponent=1 spareComponent=1 captureCallbacks=1 spareCallbacks=1 cleanupFailed=0
|
||||
20:46:03.804 SCRIPT : ERR MAP DELETE: completed on later tick captureEntity=0 spareEntity=0 captureComponent=0 spareComponent=0 captureCallbacks=1 spareCallbacks=1 cleanupFailed=0
|
||||
20:46:03.805 SCRIPT : ERR SMOKE PASS: shared map ownership actual prefab deletion runs successor and vanilla superclass cleanup
|
||||
20:46:03.805 SCRIPT : ERR SMOKE PASS: shared map ownership spare and interrupted map deletion preserve replacement without restore calls
|
||||
20:46:05.326 SCRIPT : ERR SMOKE PASS: shared map ownership replacement survives delayed native callback window after both deletions
|
||||
20:46:05.326 SCRIPT : ERR SMOKE PASS: shared map ownership owned UI removed; camera render flag has no native getter and is not claimed as measured
|
||||
20:46:05.326 SCRIPT : Rereintroduced [mission]: phase 1 -> 6
|
||||
20:46:05.327 SCRIPT : ERR SMOKE PASS: native map ownership probe cleaned up before explicit reset
|
||||
20:46:05.327 SCRIPT : ERR SMOKE COMPLETE: native replacement map/config/root ownership and spare deletion; camera authorization observed, render flag not measured
|
||||
20:46:05.437 SCRIPT : SCR_BaseGameMode::OnGameStateChanged = POSTGAME
|
||||
20:46:05.440 SCRIPT (W): Slot_Chat Has no Content!
|
||||
20:46:05.440 SCRIPT (W): Slot_VON Has no Content!
|
||||
20:46:05.440 SCRIPT (W): Slot_GameVersion Has no Content!
|
||||
20:46:05.440 SCRIPT (W): Slot_Notifications Has no Content!
|
||||
20:46:07.486 SCRIPT (W): SCR_ScriptedWidgetComponent.GetComponent: widget not found: SCR_InputButtonComponent Back
|
||||
20:46:07.486 SCRIPT : -- Stack trace --
|
||||
20:46:07.486 SCRIPT : GetComponent() Scripts/Game/UI/Components/WidgetLibrary/SCR_ScriptedWidgetComponent.c : 43
|
||||
20:46:07.486 SCRIPT : GetInputButtonComponent() Scripts/Game/UI/Components/WidgetLibrary/SCR_InputButton/SCR_InputButtonComponent.c : 1214
|
||||
20:46:07.487 SCRIPT : OnMenuOpen() Scripts/Game/UI/GameOverScreen/SCR_GameOverScreenInput.c : 15
|
||||
20:46:07.487 SCRIPT : OpenGameOverScreen() Scripts/Game/GameOverScreen/SCR_GameOverScreenManagerComponent.c : 447
|
||||
20:46:07.487 SCRIPT : ShowGameOverScreen() Scripts/Game/GameOverScreen/SCR_GameOverScreenManagerComponent.c : 177
|
||||
20:46:07.487 SCRIPT : OnUpdate() Scripts/Game/game.c : 885
|
||||
20:46:07.487 SCRIPT : -----------------
|
||||
20:46:07.487 SCRIPT (W): SCR_ScriptedWidgetComponent.GetComponent: widget not found: SCR_InputButtonComponent ChatButton
|
||||
20:46:07.487 SCRIPT : -- Stack trace --
|
||||
20:46:07.487 SCRIPT : GetComponent() Scripts/Game/UI/Components/WidgetLibrary/SCR_ScriptedWidgetComponent.c : 43
|
||||
20:46:07.487 SCRIPT : GetInputButtonComponent() Scripts/Game/UI/Components/WidgetLibrary/SCR_InputButton/SCR_InputButtonComponent.c : 1214
|
||||
20:46:07.488 SCRIPT : OnMenuOpen() Scripts/Game/UI/GameOverScreen/SCR_GameOverScreenInput.c : 21
|
||||
20:46:07.488 SCRIPT : OpenGameOverScreen() Scripts/Game/GameOverScreen/SCR_GameOverScreenManagerComponent.c : 447
|
||||
20:46:07.488 SCRIPT : ShowGameOverScreen() Scripts/Game/GameOverScreen/SCR_GameOverScreenManagerComponent.c : 177
|
||||
20:46:07.488 SCRIPT : OnUpdate() Scripts/Game/game.c : 885
|
||||
20:46:07.488 SCRIPT : -----------------
|
||||
20:46:07.490 SCRIPT (W): Slot_Chat Has no Content!
|
||||
20:46:07.490 SCRIPT (W): Slot_VON Has no Content!
|
||||
20:46:07.490 SCRIPT (W): Slot_GameVersion Has no Content!
|
||||
20:46:07.490 SCRIPT (W): Slot_Notifications Has no Content!
|
||||
@@ -0,0 +1,4 @@
|
||||
{
|
||||
"schema_version": 1,
|
||||
"kind": "launch_snapshot"
|
||||
}
|
||||
@@ -0,0 +1,202 @@
|
||||
{
|
||||
"addons/ai/Prefabs/ERR/MortarCrew.et": "05d3e7353ff9fe5523218a1487b31b7b742b0be8adbcb060c7099978cf008bce",
|
||||
"addons/ai/Prefabs/ERR/MortarCrew.et.meta": "fdfd4fcd21a67c3d698fa4aadc4e5c76e665cebf4be86013bc389e493fab63cc",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_AircraftControlBridge.c": "b8f0141644d8f043c6db4c2d4bb93215c548e5c27ab5468c66e996d62bdf905a",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_AircraftFieldEnvelope.c": "c02c8e6fbdfd3b8c67461590d532019d3bf0002307b19aee604eb17ad230c329",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_AircraftFieldFlight.c": "e3322b6d85b1234bfbf218a119cf6f7eed0b9ddd160004d2d9fe02c64ed857ba",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_AircraftFieldRules.c": "395eadae1067f230c26dbf73f43e39180173e173fd04a346839c474e084feaae",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_AircraftFlight.c": "aa25a8e67a30c48677bf528236402b7f8e5d815dc18df93b878520ad3d1fe8a7",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_AircraftFlightEnvelope.c": "8125cef61fb283d0d7c4dd2df3c04b062b448f1101fd48dd53f4f4097df5fef3",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_AircraftRouteEnvelope.c": "e8fcef844239c47a1f2f36be420afe943bc450091b05859435406b46c87fa511",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_AircraftRouteFlight.c": "1d8d92bf6d97429d68a9f62018232e90cc124cc8d7445efeabe863706a31e2b9",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_AircraftService.c": "bf52361c9d07b2c632d6ad755cbca76683f5ad4a8208e6eec690c367efa44549",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_HQ.c": "7ee8e7a3282fd566ec330c94854b353b2c6178e9b964f7b4d5e197e4d0b7dee9",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_HQJournal.c": "b3e402cfe92d415f37f666045afb062e6e11670ba03a0ca6f2d9fd4fc3520ac1",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_HQNetwork.c": "92ff2caca52e94c2cc9642dfc8509ce6e9349b257012bade8650bace9231128c",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_HQObservation.c": "36c978ec5f052213ac1236e1398d85063efbfd7ef60fe04f1fc11447fefe1d68",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_HQReport.c": "c4d16ccb571db4d9444c0a8d2be7318845d25ff90238b6d304e96a9ea19f1a08",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_HelicopterAvailability.c": "60eaef2f6d4b2fd44861c5a4434ef97e732e40a5ff7401e2da451ed2dd9c2762",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_MortarAimSolution.c": "59e8343d09f7a44871d8d3335d6ad1d02216abb5deed30d38b5ec9ba3f2c0649",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_MortarBattery.c": "a4eed96d17f239cbf353863ebe40d2282aeacd7a4d63a7b2f0ecfb3d93a2e2b2",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_MortarCourierTransfer.c": "968e58ca700b4a11e5e04a5c159696f514a0b1bce531210172b913e495f7e2b7",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_MortarFiring.c": "7aec51c83972610d1bcbca58b84b14f16f59952d402b12c3d88e7192a3e2ee90",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_MortarLogistics.c": "e1ffb25fba384b449de576a5502a93d875c3f52e8da1941bbf590ad9845f9730",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_MortarPrediction.c": "470dd196ed64800c697d24c09d1344bacd2502587fac76af4ee0edae2563092d",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_MortarReadiness.c": "2fabe8f812fd333cea7199d1eb722c807fcc5adb285c618956bd54d31fa27ce3",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_MortarRefresh.c": "52ae8d9d6cad92f42d68c634091b80a474d2666b6c06d63a8c30a3fab71494c4",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_MortarReportLedger.c": "42a96040b63e56677353e55164ae23031c90f70b4d6673a9f412ad7b19e636ae",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_MortarSalvo.c": "697c01f479df6c505a41d984a29c02002e3052114dafa2ec6252ae55e2979a2b",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_MortarSupplyTransfer.c": "34f7eaa01dc68e97aae8c1177b7f8fd6c15d5a41c6dc86de377f00b3613a8e77",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_MortarSystem.c": "4edefc8530cc6eec7a5e1df1d0b7d56e6801186f23c61331ce0e8075b8281efb",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_NativeAircraftControlProbe.c": "0cf3e72ccdc42e6ef20fb71d743f0e037a9e69b2e082c720fa705628cf790205",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_NativeAircraftRouteProbe.c": "61d224bfecfd0701206bab4f8446394ba0b8b2e27eb0f17b81d1b6a741c25f28",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_NativeMortarCourierProbe.c": "740c8bebbd4128a9311b1167d1058549475d6b46f81c9b6c0d19650f4b50616f",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_NativeMortarFiringProbe.c": "ee570d21bede8baebefc799399712d9582b3e30ebda7299f6c941777f02ad2a2",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_NativeMortarSalvoProbe.c": "5fd7bb8953f6850ad79e646c0c286153108a10ee2d5ef397ccb65a07f8d2ed7c",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_NativeMortarTransferProbe.c": "399c21940ef10777b46fdb3e905430ce43404ce1de2f4a6bb62f9c61c1a0689c",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_NativePatrolHQProbe.c": "4c04aa3e1b6b000747da8e2a919a6501107880fd041134c019f516665bb6f758",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_SettlementSafety.c": "e5c0ebc95521a9a33a3f7d9cca6c551dda862a08b7af20b017877aba9584795b",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_SupportScenario.c": "71757018ec9716c4dc24f62a292a214919d3fd5daed3c16e03e56abd208e9f03",
|
||||
"addons/ai/addon.gproj": "5f559db8f526700db11e6ae763f5245f19b7006fc68c56e4c09fb6f940bdf2a1",
|
||||
"addons/chat/Missions/ERR_Everon.conf": "76f3ac0d21b585654beac7ddd68e3c8cbdd66dbfe909b17b04838fa813a7c29b",
|
||||
"addons/chat/Missions/ERR_Everon.conf.meta": "0a23c98bf83873536c65fa17d38dea33a1d7b9e4ab210f90633ff688abcc551f",
|
||||
"addons/chat/Scripts/Game/ERR/ERR_AdminCommands.c": "d7b4ed95fc32767911936cb0fcc60763233f2c31afd34a6a0fa998b39cec9f5c",
|
||||
"addons/chat/Scripts/Game/ERR/ERR_NativeHQResponseProof.c": "0f8b09fd8753234c91fd6baaca0e2f812e409ae1c4be8f340b648ae59b69c2f3",
|
||||
"addons/chat/Scripts/Game/ERR/ERR_NativeMortarProbe.c": "ddb892141500c192c0787b011d57dd8c07dd8c9a3ca5fdc407f6c271897bde0a",
|
||||
"addons/chat/Scripts/Game/ERR/ERR_NativeRadioProbe.c": "84524163c63402755b4f834f74dfe6d8e5c397dc26031f532593c6f79f5a93b1",
|
||||
"addons/chat/Scripts/Game/ERR/ERR_NativeSmoke.c": "cb4ae42bad04045fe15ec80e9c612a4453e18d9ee6f628e4461de9b97e6b7cda",
|
||||
"addons/chat/Scripts/Game/ERRChat/ERR_OrdinaryScenarioLaunchChat.c": "dda715c9691d366e35fa2ad5e390dee1971651f137a5a9f9aeb23dcbe53ec87e",
|
||||
"addons/chat/Scripts/WorkbenchGame/ERR/ERR_ValidateWorldPlugin.c": "81c92d408ce88cc9f98d6053f1d0c863427693ba748f00df9f1bf8079015ef94",
|
||||
"addons/chat/addon.gproj": "ea1587e0174cf795334d306c71d99b06797fc891427cd57b6cab6e21cf0e4e0e",
|
||||
"addons/core/Configs/ERR/EveronSites.conf": "ade92cc8d2b14a84ac378bbbb52608b351dca65d359dd7a315d64a145fa4b46f",
|
||||
"addons/core/Configs/ERR/EveronSites.conf.meta": "d5fe68025ef4e7c1e16082cf5873b7c7172eacbfaef4ab29b7e0e3c98f8dca56",
|
||||
"addons/core/Configs/ERR/Factions/MissionVehicles.conf": "5f74f4a7089c7e7b54ad62463159ce8f0bab25a6b85268dc3872ea6001e048fb",
|
||||
"addons/core/Configs/ERR/Factions/MissionVehicles.conf.meta": "00c368b6271d3440cc8bf627b03a384d247635723923fc5ad2104b8b4007b035",
|
||||
"addons/core/Configs/ERR/Factions/US.conf": "4c3da063abb6e3ee39a6e4e0c5a9ffd5eae9d209d58470ea18b45dba5528db1b",
|
||||
"addons/core/Configs/ERR/Factions/US.conf.meta": "a05469aef028e9e17eba545e81e2af2887b59f0fef17dac51a23c7b8155e381b",
|
||||
"addons/core/Configs/ERR/Factions/USSR.conf": "407ea27f80a64c5184c089d43cdd0bdabfc5974c84f1d2a245081fdf2afa3f30",
|
||||
"addons/core/Configs/ERR/Factions/USSR.conf.meta": "057397d97096346791b51b7b13fbe18af218bcf78e9984d9c01b49a2403de611",
|
||||
"addons/core/Configs/ERR/GameOverScreens.conf": "45231061911a1462d45fb6db0fecc2b0793f17b5ae71017174954ff4fbd20236",
|
||||
"addons/core/Configs/ERR/GameOverScreens.conf.meta": "eb654b745c0b97b41c991694569ef4877a3c2315e0826f9556337cd68690843e",
|
||||
"addons/core/Configs/ERR/VanillaFactions.conf": "db890b61b48ee15484041fd2245a862d9fa9e7ba21b1229c281ff37c448a35b1",
|
||||
"addons/core/Configs/ERR/VanillaFactions.conf.meta": "ac77725c0c21974991ef47a466b88122e939de8b46fd23e68889e7674cbb2bfd",
|
||||
"addons/core/Missions/ERR_Everon_Base.conf": "1e6a0e9a756d15495201f71121626890f01efe6b00154c561672d4ec157960bd",
|
||||
"addons/core/Missions/ERR_Everon_Base.conf.meta": "9b16267c644d815bcf98a3a3aaff30b93d7224fb24d3a2bac66730a28011f317",
|
||||
"addons/core/Prefabs/ERR/Extraction.et": "1aa286ef253c5410f09fa641e4be91a7be8ec834487a7fbb74cfb45cab60ee1e",
|
||||
"addons/core/Prefabs/ERR/Extraction.et.meta": "c2a838633001e2e3a202d39cb33aa744ebcd996017ad032359069641b5d13853",
|
||||
"addons/core/Prefabs/ERR/FactionManager.et": "425f916b890019c537f6b2f72b1af9e7be54b0a476320da969e1f313a7ac5ea5",
|
||||
"addons/core/Prefabs/ERR/FactionManager.et.meta": "9bf53d5e4bcbe60dd1a4ece1409fc23c349055c860708620f5f6e9716290a97d",
|
||||
"addons/core/Prefabs/ERR/FieldCover.et": "20f8095e69dbfe3db74ff19078e528ea75405362b335e03560ccd61f8df2e7f3",
|
||||
"addons/core/Prefabs/ERR/FieldCover.et.meta": "83461ffa76244e1d69f20b053a9741ccdf7d127009182bd540a7e5ba6150c3d9",
|
||||
"addons/core/Prefabs/ERR/GameMode.et": "385c97a5b8067091d92aa60c2d4fcf02002cf606b95523866ead65c96b8c0029",
|
||||
"addons/core/Prefabs/ERR/GameMode.et.meta": "106769cd34525c9d440057072836cb7401a6752148c40edd7fe61c03bd58328c",
|
||||
"addons/core/Prefabs/ERR/ObjectiveDocument.et": "2e72270bf186654af12d2c3ff9bf940690b03fb17fca44f873c1fde5d11384c0",
|
||||
"addons/core/Prefabs/ERR/ObjectiveDocument.et.meta": "eaba9903be147b98a1106e2273e2270773df73b9b22f2cd4e20136a8e281382e",
|
||||
"addons/core/Prefabs/ERR/Patrol.et": "c5685a8bc311cc5563fb3334beec9408d3d7a1069152fddeeb7df4f1b7f9e6ce",
|
||||
"addons/core/Prefabs/ERR/Patrol.et.meta": "7c5da568fa2fcf0709ee2959253cb068d7c7ed7c2467af3b247a7e70efd96b69",
|
||||
"addons/core/Prefabs/ERR/Prison.et": "dcd3f4dfd453303d026e68b64f7de6125bd3390822d8432dd95a3710a5b3df89",
|
||||
"addons/core/Prefabs/ERR/Prison.et.meta": "2e426ef3de68f4107907854b51e818bc11d84649a01c538e3f18dd9ebec766bb",
|
||||
"addons/core/Prefabs/ERR/PrisonDoor.et": "fc66be9d36f1f01084de59f1b0a1e8817f9e46547ead33d4fafaac0107446c40",
|
||||
"addons/core/Prefabs/ERR/PrisonDoor.et.meta": "b8f3db52bf186426026668fbb9d633c3cbd4d438ab301fba880398f6a0e781c2",
|
||||
"addons/core/Prefabs/ERR/PrisonWall.et": "8009d19365ae72a4749d7ad4fa04662575b06c65c6bf06507d380d57258b5eed",
|
||||
"addons/core/Prefabs/ERR/PrisonWall.et.meta": "0294bc5dbb56f90f8153d62459bb0a6ad91d76a479812bbec9c7db182fdb58d6",
|
||||
"addons/core/Prefabs/ERR/Prisoner.et": "198b5badabb12f218f86df7eb4dc268fd830769dc3de7eef6362cfaee4d6fc8d",
|
||||
"addons/core/Prefabs/ERR/Prisoner.et.meta": "974278ba49fafeed70b619a0067bbc70ae4d534be441c812ce2bef4a5fb3c022",
|
||||
"addons/core/Prefabs/ERR/Radio.et": "b4b5cfe125b39019855816c9a1c508ca4d65d435b5546fdaa6c1fa3c8c9b1165",
|
||||
"addons/core/Prefabs/ERR/Radio.et.meta": "bc91137b68ba550217914fb8892bb44d7e1920e4a1086f3e506623832a44212f",
|
||||
"addons/core/Prefabs/ERR/SpectatorCamera.et": "b5b87d5b7b707f3745741aebe7c923067c8a74f8fbb2a4711834bab03bb5a812",
|
||||
"addons/core/Prefabs/ERR/SpectatorCamera.et.meta": "2a16558f93915e31908a674509e9c89976470f78a84a1174a64b94b68b8f77ad",
|
||||
"addons/core/Prefabs/ERR/SupplyCache.et": "bccf7afbaae97cfcdd78dd6dbbf4be5b2c045d348f50fe4581962e556c0044d7",
|
||||
"addons/core/Prefabs/ERR/SupplyCache.et.meta": "2f5de3a4aab1e9d0e35521f48dc57b95bd6e449c383dec4f1c258e10295904cb",
|
||||
"addons/core/Prefabs/ERR/SupplySite.et": "dc5decce5cabf39b6116e8794ec3960cb1e35761854fdbe69740da118787ded4",
|
||||
"addons/core/Prefabs/ERR/SupplySite.et.meta": "b41944b12eb3528ff7a3ac94258b18c66ef161aa6a38894aee300a1ac4798630",
|
||||
"addons/core/Scripts/Game/ERR/ERR_Actions.c": "cabb21413c90b252d29708b62228d0679c51c76e39ee0e483953ad7061b2b9d6",
|
||||
"addons/core/Scripts/Game/ERR/ERR_Actors.c": "bb5e2d065ec40629cebebf2be25958b992ad05dbc906c5f66dddbe6c6d4ff124",
|
||||
"addons/core/Scripts/Game/ERR/ERR_AdminService.c": "9985747d5ddaeb91bf27937836a6c369f8dcb353263b77a49212ec28c10ba4eb",
|
||||
"addons/core/Scripts/Game/ERR/ERR_CasualtyGroundSupport.c": "26f0c7ebe8563bb022f7c383674e7d8997b0cc35c7ea321d39d74f2493c1ed9d",
|
||||
"addons/core/Scripts/Game/ERR/ERR_CasualtyLoadingGameMode.c": "f4cf19440583ac24346831a2d5f1d7f734c031e46dc266c499972329dd0533cf",
|
||||
"addons/core/Scripts/Game/ERR/ERR_CasualtyLoadingOwner.c": "6346a05ddda030f7d9b6f026f977d5f018ee16002fa519e8c49dcd700c323dc7",
|
||||
"addons/core/Scripts/Game/ERR/ERR_CasualtyLoadingService.c": "93fe23d9e1da596886c33cf76bad92b0906ff5cdd8b5b21d58906e9270246201",
|
||||
"addons/core/Scripts/Game/ERR/ERR_DiscoveryMap.c": "7553c8cc1388cca3404994e36f96946c6abd1fefb08cef2fbb3ea1a62b22861b",
|
||||
"addons/core/Scripts/Game/ERR/ERR_DiscoveryService.c": "2793bb888566dd975e5bbf93fdb47a22e3b0f33a68d04992191cf6428ae942a0",
|
||||
"addons/core/Scripts/Game/ERR/ERR_DocumentComponent.c": "17bb76b80ebd3357e46d553c44674f602c7bd6901c92aec53ac8214194aa4ff2",
|
||||
"addons/core/Scripts/Game/ERR/ERR_EnvironmentService.c": "867e9f47adfb7a9819a8b58498688ff86127282cb89cf2529ae81f73e529e1c5",
|
||||
"addons/core/Scripts/Game/ERR/ERR_EscapeGameOverScreenInfo.c": "8893b161bf168884d62f1315d3c8aa9af4ca413f621d6f8e2525bb5245d5f509",
|
||||
"addons/core/Scripts/Game/ERR/ERR_ExtractionPlacement.c": "c30222ca25cc0e91dec4077e6b82b37a9edafcf2cbebd0be5b6bd8656b53adfe",
|
||||
"addons/core/Scripts/Game/ERR/ERR_ExtractionService.c": "91357099b4e0401196b67d48963be54be30e56bdba57cdac67dc20b8ebb883e9",
|
||||
"addons/core/Scripts/Game/ERR/ERR_FactionCatalog.c": "a5a8c53acf21259e14f59cb919535910f30dabff5a9179c664bc6a7a4d744d6e",
|
||||
"addons/core/Scripts/Game/ERR/ERR_GameMode.c": "b5b07abdfecde247b9d9d6f74dddfff50fde825f3c7fe6d86abd97e85f87b2e7",
|
||||
"addons/core/Scripts/Game/ERR/ERR_InitialGuardRules.c": "8c9d6b1dc4c2af96284e34f487eebb5a221091016ef108006dec60b4e3836558",
|
||||
"addons/core/Scripts/Game/ERR/ERR_Inventory.c": "b63e679d5b650b63a7a91dfc3f42a62f4be58b0338f6df3313e66d29a93bebf6",
|
||||
"addons/core/Scripts/Game/ERR/ERR_InventoryLayout.c": "1af5df45a0f06d19a017954e9bf4b2d722e2d2389f8ffdeb1d024435b9a08be8",
|
||||
"addons/core/Scripts/Game/ERR/ERR_ItemStationTeardown.c": "102e61216e86e47ad243cc19f6f66da1fcd8cc77f8799354ceaeb4a6dc74622e",
|
||||
"addons/core/Scripts/Game/ERR/ERR_LoadCasualtyAction.c": "5d868fb065a1a0fea7d5abfc81d1d8be96823815535f2ffd0dc4ff60d8eae794",
|
||||
"addons/core/Scripts/Game/ERR/ERR_LocalAdmission.c": "b0e824c6880cbf9b1f368dc7ada9907bde78b22b948d419b6c861323f32258be",
|
||||
"addons/core/Scripts/Game/ERR/ERR_Location.c": "d2035f56ded35743312ec6ca91a67f8623a466c91255e1893c570edf0954ff24",
|
||||
"addons/core/Scripts/Game/ERR/ERR_MissionRules.c": "f7abc38ad8fdc375ce7fa63a65f0bade027d22b37e09de5e3f94ba8c3c63cc41",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeAdminSettingsProbe.c": "6a4df33a2b0e6b6aeed944c6895961e658d4f0db9aed9b8433a43a451fa35cae",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeBaseSmoke.c": "7b35e53ceb91b8235fb753d42c8d5c80f6164b6d4cb53c685e058c409662708a",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeCasualtyGroundProbe.c": "41f40db3735f8aa535c0061458d9892dcfe972222b8a17238e67b65633c46bc3",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeCasualtyLoadProbe.c": "94c533deea654ec546df3f1ebb7cd213e6cd79b1125d99bab5303ef8e87b018b",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeCasualtyRemoveProbe.c": "4cfc06f6d43b709b63caae714155ffc562502e884f49a9825623c6f46972ad36",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeCasualtyServiceProbe.c": "02a9d70d1f4ba20326df199ba41489cfbae12b7bb0aab441361421cee38ad9ea",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeContractsProbe.c": "d1556df885171cf967e96eef5d8981a2e9ee4e3938b7d32fdd0426f647bbabc0",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeDefinitionProbe.c": "c07048341396443ddf5307e340e2087254d65f0bddf8f7d93e6b6bd7f03ca360",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeDiscoveryMapProbe.c": "9ed32d391d08d937ff4f9f33bd11c3a204ce9a2230c2d72b6761e0320b31f24f",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeEndProbe.c": "2dec80c7e247ec5c257407f95d9d5edd42fe0cc44d6af9f724f6ebd10d8a355f",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeEnvironmentProbe.c": "8b1d110717aa5f07bfb8fe633847eab519109e3a8a4100970a487be05c053418",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeEnvironmentRestartProbe.c": "7a836a206381b8e8de24c92baf141beb30575723675dd6948d738169ed26b507",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeExtractionProbe.c": "4b09385f73206de004f4f3c38a6192fd658a0d2012482dc5a84dff1599ceb972",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeFactionCatalogProbe.c": "ee11486cf77da9070506ccc0cfd6e94240c5387c8be455bf864934a8fef65f78",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeFlightFootprint.c": "a8862a04ac784426f431e2e9cd3f1f19f820b38a081674d29549b8b00277c72d",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeFlightInputDiagnostics.c": "e231dcbdaefe81beb3bd587cb73be8fb3d3184bc86d18dbaa30a43ca4ba5dcc4",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeGuardCancelProbe.c": "bfa1c65cb039e19c3d1891e4a3fd33469e974c97cc7f42128efc31a8f587d514",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeItemStationTeardownProbe.c": "028588a49fa9207087cd27ec9396979cd932daa071e2490bd0262cd71dae30d9",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeLifecycleProbe.c": "b613a5dbe81c2032fd02d31070ae5631166d14d0b02cdbec3b63b782f0bbc115",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeLocalAdmissionProbe.c": "29c860ca3e51cdaa463f3c23a98ff45ee0499ce9bbc322046e0efbed587f1e09",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeMedicalProbe.c": "43fa51ffbcf9dd0cd8e905a1135bcf0756651da3af34677f3c92e7d264ed70b6",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeObjectiveLossProbe.c": "6b80fd317a8c6e8583bd4337870838a86251e3b8a681d0aa07e8b52e22abfc48",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeObjectiveProbe.c": "71fbd2479a70048f83d8b262ad1452f427be2c0afc8b071ef13bff477b9dc29b",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativePatrolProbe.c": "02bd9fdf5454db7dd4c82240efe0d947bf8d6488ace42809c3aef6505cb6266d",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativePoweredFlightProbe.c": "7ae5d6f85bbbebec214c66bfdf6f53b93c802f109fcd5bcfbad82c5d61d6cb9f",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativePreparationStatusProbe.c": "456f4d7c3272b89d5f4c6713617baa5596d846994152356fee9a659839bcd8b5",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativePrisonBreachProbe.c": "22d0923cd69ba591e783011d424c97c86520272b70da9aa6a6d15558464c264c",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativePrisonerProbe.c": "e2d1ffe5d269add55124601ff0d1dc032a398c7d51010736e6f0e4cbeb38ae86",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeProgressionIdentityProbe.c": "1d3fe20bce761a1082964bca9bad9ce79d1fa8b04db9b5053bae98da380ae560",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeRadioDefenceProbe.c": "cad54f0b43cefd72df74697dfc7e93725ff0acac6d311e963ce4f817428c272c",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeRecoveryProbe.c": "4de6868cd3e76afb80cf0ae5dac1e35d2c417838f640c2f18aa3343217eea2f2",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeResultProbe.c": "db239385dc705840240d02448eabc77fa41162cfade6f21a275a3404339e8a31",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeSiteSurvey.c": "ac0203753ade0cdff6d483132797a80e4520f14546c3f9dea288281cd4cd9c4f",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeStationTeardownDiagnostic.c": "172248540932174341882861bb78a9720a6cf89981fcdf9dffe63f7fd4023f2c",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeTimeProbe.c": "c93d049785971e51246fcc07cf24804270a752a655505f2c38e48c80df5255ae",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeTransportProbe.c": "63ec0c5ce698114daa6314b2a6e3c3e98e76094117c477f9d0d072260686d193",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeTransportSurvey.c": "3e94493bf54d15be2bceb106ad18873e14e6755af09c05f07db7fb26fb7adff5",
|
||||
"addons/core/Scripts/Game/ERR/ERR_ObjectiveDetails.c": "628ebd166dcb5544c2d18dce489619984887ee18296cf2446fc6d894f89dd5bf",
|
||||
"addons/core/Scripts/Game/ERR/ERR_ObjectiveText.c": "3b73b19429c7746425470d73ce5983f9fd442e4cd6acaab87f8728ea4dccb0c2",
|
||||
"addons/core/Scripts/Game/ERR/ERR_Objectives.c": "88d95a52fcba103483ea751571e1afeae0e6fc82115ed50d6fc195424726960f",
|
||||
"addons/core/Scripts/Game/ERR/ERR_Observer.c": "16ab78acede9b0cab86c6a74f47ffd5b8a7c50f131f44d64a8826eac6896a279",
|
||||
"addons/core/Scripts/Game/ERR/ERR_OrdinaryGateObserver.c": "c8305745807e74f2a3e42ffc15ee8f49e64ae89fed18113cb2edd61f07aa5a66",
|
||||
"addons/core/Scripts/Game/ERR/ERR_OrdinaryInputObserver.c": "116c890146f27c36dc2e0cf5f4e85a273347a8b1eb53619756f0ed820343c76d",
|
||||
"addons/core/Scripts/Game/ERR/ERR_OrdinaryLookObserver.c": "fae1c8ae518cac21ea73e53a57212d85537a493128ed79a0ec2a1cdf3d32bb81",
|
||||
"addons/core/Scripts/Game/ERR/ERR_OrdinaryScenarioLaunch.c": "a4e7e56d174ebd15b4730202dae4c8ed06144f3f27c23ed49c99e2d297dc421a",
|
||||
"addons/core/Scripts/Game/ERR/ERR_PlayerAdminCommands.c": "a084d7dc097dfcde3d6cd9c2e326b9e2f8f2a519f77b30c4f56ab7a1429aa721",
|
||||
"addons/core/Scripts/Game/ERR/ERR_PlayerEscapeResult.c": "3124ab4d2d6d471409a47aba0af528790734df53243c03fe0cdac3e407047c14",
|
||||
"addons/core/Scripts/Game/ERR/ERR_PlayerGuide.c": "59008466b1b0cf3e191ccf16ecb1f32493351df1155c167f237a35279d39c1ba",
|
||||
"addons/core/Scripts/Game/ERR/ERR_PlayerRoster.c": "c038dac0f749bd29ebc35a4e952904b41a34417ba738904d5efcd1833a263e0b",
|
||||
"addons/core/Scripts/Game/ERR/ERR_PreparationStatus.c": "1d8987d2dcc1db2a030e095b33d50f07877181037d339624156291d8317bfa5d",
|
||||
"addons/core/Scripts/Game/ERR/ERR_PrisonEscapeService.c": "ed6286342ed12cc9a3df618474f5647c7ac36bc65336be7a5bec908dee04421d",
|
||||
"addons/core/Scripts/Game/ERR/ERR_RadioDefenceService.c": "5d347cf1a3b021074d560aad8db774828b797e685b63ddff3d28f55781e33ea8",
|
||||
"addons/core/Scripts/Game/ERR/ERR_RadioFeedback.c": "545262e65e9b3645d9e514a0521e442fe08f0c2e4e7c83ba638c5105d09818db",
|
||||
"addons/core/Scripts/Game/ERR/ERR_RecoveryService.c": "ba9ffb93679012c20a665636ef6b201cbe7d8d14fdf53e8cd3eb12ac7248943f",
|
||||
"addons/core/Scripts/Game/ERR/ERR_Resources.c": "d0169aac6fd0c38928c47a9002ded0fd8ba558ea3314a600e792d307ac1ca3ee",
|
||||
"addons/core/Scripts/Game/ERR/ERR_ScenarioComponent.c": "abba03af68323d5715ba1e2497fc66f3c706e6a6a983c3a386228abdfddeec89",
|
||||
"addons/core/Scripts/Game/ERR/ERR_Settings.c": "b9390548936b386e0211d487c1b76b65410fdd2e339cd8ecd9585ef4f4ffed31",
|
||||
"addons/core/Scripts/Game/ERR/ERR_SiteDefinition.c": "b422feeaca90084ea2bee5cde94dc9c6fcae542749b55d95f7226f922a6a68ac",
|
||||
"addons/core/Scripts/Game/ERR/ERR_SiteDiscoveryRules.c": "50f7b3ff4f32bde37ce5ae2be7f598fc4dd8cc08f45914f6e3260d31c84baef2",
|
||||
"addons/core/Scripts/Game/ERR/ERR_SiteService.c": "6bc9a0b5aed326822807f05e17459d0fc2da10b709e8168972b4e40fd09f87cb",
|
||||
"addons/core/Scripts/Game/ERR/ERR_SpawnFinalization.c": "2e295b0f225208c5414728ba83333e5e0ab6eef3a708ce39eb1dfce5400c94c9",
|
||||
"addons/core/Scripts/Game/ERR/ERR_SpawnLogic.c": "ed88279cbeb3e5e6daf8471763df87a251881f550632eddadd08153594bbd1a1",
|
||||
"addons/core/Scripts/Game/ERR/ERR_SpawnPlacement.c": "55323dcb330c23d49dc8fa3fde86a3ae3958c0b6563d6c3cd0960da88333f93d",
|
||||
"addons/core/Scripts/Game/ERR/ERR_Supplies.c": "752e8a56b0b8cde33cf532032cb0a203553017b686faac2e19bee06f7a9c0713",
|
||||
"addons/core/Scripts/Game/ERR/ERR_TimeService.c": "d9f481b7da01e08d2c982a948c18ba6bde76889d7cc9d26d510708f4ba479453",
|
||||
"addons/core/Scripts/GameLib/ERR/ERR_DiagnosticNoSplash.c": "0ea1b402f8927b6d68bf6f7e5caa2967f7e3a39147634faab147796b791933b5",
|
||||
"addons/core/Scripts/WorkbenchGame/ERR/ERR_ValidateBaseWorldPlugin.c": "7f44aa64ea7b4f8b3640a37a4b781c43bf6adb80e4a3a702d9491131698056f6",
|
||||
"addons/core/UI/layouts/ERR/PreparationStatus.layout": "bd269cf8dc6f27735423743dd5b78242550518414448a0256e5e12fa6b92c459",
|
||||
"addons/core/UI/layouts/ERR/PreparationStatus.layout.meta": "75b12176a443bb911fc4ad446982d762201fda42ed38736b79bc5439fca31ccc",
|
||||
"addons/core/Worlds/ERR_Everon.ent": "22324bc7eb0d80dec8a1f3bd61a9df9201b72f749f4e751766b0c9d0b7d46b87",
|
||||
"addons/core/Worlds/ERR_Everon.ent.meta": "19d1903ca72baa326b4724a6791d0da1104a1e53f3f31dc1ca41a856efd68e83",
|
||||
"addons/core/Worlds/ERR_Everon_Layers/default.layer": "17105538007199bfc419aa04a64debaf2da0a7b77a1dc3ba983e92bf747c862e",
|
||||
"addons/core/addon.gproj": "231274e6b62302f32c65f9ff31de2ce8a9e51e1c8d12c87deeec82ae1f40de46",
|
||||
"addons/intel/Scripts/Game/ERR/ERR_IntelService.c": "5e167630a76437fd731fbb7a62a41381ea71509f3adb8a6b9c77f6816384861a",
|
||||
"addons/intel/addon.gproj": "d0ced242cefb220a5cccd6779d61fda9bc55581701b9f78bcf13c09d92ddbcbe",
|
||||
"addons/map/Materials/ERRM_MapRenderTarget.emat": "9877c5b175c5f30dd80bea36c711b21ab38219aa7075adf9ae79932e1d4c76bc",
|
||||
"addons/map/Materials/ERRM_MapRenderTarget.emat.meta": "5ee1a705f8011a44020ca2691f5ccc17d44bf596fef9a36e98d1f267eb58fab0",
|
||||
"addons/map/Prefabs/Items/Equipment/ERRM_SharedFieldMap.et": "30dee8e9eab459ea32a7d835a9fb89d43df47708057cab829f067b25a24cd581",
|
||||
"addons/map/Prefabs/Items/Equipment/ERRM_SharedFieldMap.et.meta": "59093e9072c50d99c86da7609c87541016da5bcf92b98d99db4c524e1c8e0e8d",
|
||||
"addons/map/Scripts/Game/ERR/ERR_ScenarioMap.c": "75fa1d742129ef7f33c005cd48f56db7f49ee7bde3c5428532b0b501b032b0a3",
|
||||
"addons/map/Scripts/Game/ERRMap/ERRM_NativeMapOwnershipProbe.c": "32418602f085e3edba7343f42a6a691630b533be262002f29248e8ae87a38254",
|
||||
"addons/map/Scripts/Game/ERRMap/ERRM_SharedMapComponent.c": "3a10f6ea25bf88a400bc3e6c339823433845c5db4f2f423835ccf99a1b1a843f",
|
||||
"addons/map/UI/layouts/ERRMap/SharedMapRenderTarget.layout": "49a2da4181b94d42174f58c7f9b6bf2207116c99427d61ff1c212092ac7db4d2",
|
||||
"addons/map/UI/layouts/ERRMap/SharedMapRenderTarget.layout.meta": "5c846445cc089e2e08899ba703059d4adb805ff30ab5a16409a3cd59718cbd54",
|
||||
"addons/map/addon.gproj": "1b371e5e01ea9fa46e76570fecb8aaa3a9298e34cba7ccca8a6bdb5ca86eb46a"
|
||||
}
|
||||
@@ -0,0 +1,574 @@
|
||||
---------------------------------------------
|
||||
Log Z:\tmp\erri-workbench-profile\logs\logs_2026-09-19_20-57-34\console.log started at 2026-09-19 20:57:34 (2026-09-19 18:57:34 UTC)
|
||||
|
||||
20:57:34.514 ENGINE : FileSystem: Adding relative directory 'Z:\tmp\erri-workbench-profile\logs\logs_2026-09-19_20-57-34' to filesystem under name logs
|
||||
20:57:34.514 ENGINE : FileSystem: Adding relative directory 'Z:\tmp\erri-workbench-profile\profile' to filesystem under name profile
|
||||
20:57:34.514 ENGINE : FileSystem: Current working directory: 'Z:\home\jakub\.local\share\Steam\steamapps\common\Arma Reforger Tools\Workbench\'
|
||||
20:57:34.516 PROFILING : Workbench Create Engine took: 10.339300 ms
|
||||
20:57:35.552 INIT : INIT : Workbench Init Engine
|
||||
20:57:35.552 ENGINE : Initializing engine, version 192142
|
||||
20:57:35.552 ENGINE : CLI Params: -gproj Z:/home/jakub/devel/escapistsrereintroduced/addons/chat/addon.gproj -addonsDir Z:/home/jakub/devel/escapistsrereintroduced/addons -profile Z:/tmp/erri-workbench-profile -logconsole -wbModule WorldEditor -load Worlds/ERR_Everon.ent -plugin ERR_ValidateWorldPlugin -errPlay 1 -errSmoke 1 -errSmokeOutcome aircraft-field -noThrow -disableCrashReporter
|
||||
20:57:35.560 ENGINE : Addon dirs:
|
||||
20:57:35.560 ENGINE : dir: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/chat/'
|
||||
20:57:35.560 ENGINE : dir: 'Z:/home/jakub/devel/escapistsrereintroduced/addons'
|
||||
20:57:35.560 ENGINE : dir: './addons'
|
||||
20:57:35.560 ENGINE : dir: 'Z:/tmp/erri-workbench-profile/addons'
|
||||
20:57:35.560 ENGINE : Available addons:
|
||||
20:57:35.560 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/chat/addon.gproj' guid: 'FA804F411BDDF2C6'
|
||||
20:57:35.560 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/ai/addon.gproj' guid: '5192138CB9D5B911'
|
||||
20:57:35.560 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/core/addon.gproj' guid: '2528466DE220D91C'
|
||||
20:57:35.560 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/intel/addon.gproj' guid: 'D31039C7C53E348A'
|
||||
20:57:35.560 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/map/addon.gproj' guid: '9AAEE9041D79809E'
|
||||
20:57:35.560 ENGINE : gproj: './addons/core/core.gproj' guid: '5614BBCCBB55ED1C' (packed)
|
||||
20:57:35.560 ENGINE : gproj: 'Z:/tmp/erri-workbench-profile/addons/ArmaReforger/ArmaReforger.gproj' guid: '58D0FB3206B6F859' (packed)
|
||||
20:57:35.560 ENGINE : FileSystem: Adding relative directory 'Z:\home\jakub\devel\escapistsrereintroduced\addons\chat' to filesystem under name ERR_Chat
|
||||
20:57:35.561 ENGINE : FileSystem: Adding relative directory 'Z:\home\jakub\devel\escapistsrereintroduced\addons\map' to filesystem under name ERR_Map
|
||||
20:57:35.561 ENGINE : FileSystem: Adding relative directory 'Z:\home\jakub\devel\escapistsrereintroduced\addons\intel' to filesystem under name ERR_Intel
|
||||
20:57:35.561 ENGINE : FileSystem: Adding relative directory 'Z:\home\jakub\devel\escapistsrereintroduced\addons\ai' to filesystem under name ERR_Ai
|
||||
20:57:35.561 ENGINE : FileSystem: Adding relative directory 'Z:\home\jakub\devel\escapistsrereintroduced\addons\core' to filesystem under name ERR_Core
|
||||
20:57:35.677 ENGINE : FileSystem: Adding package 'Z:/tmp/erri-workbench-profile/addons/ArmaReforger/' (pak count: 14) to filesystem under name ArmaReforger
|
||||
20:57:35.680 ENGINE : FileSystem: Adding package './addons/core/' (pak count: 2) to filesystem under name core
|
||||
20:57:35.680 ENGINE : CPU vendor : AuthenticAMD
|
||||
20:57:35.680 ENGINE : CPU type : 2
|
||||
20:57:35.680 ENGINE : CPU name : AMD Ryzen 7 3800XT 8-Core Processor
|
||||
20:57:35.680 ENGINE : CPU cache info : L1 [Inst 32KB, Data 32KB], L2 [Unif 512KB], L3 [Unif 16384KB]
|
||||
20:57:35.680 ENGINE : CPU count logical : 16
|
||||
20:57:35.680 ENGINE : CPU count physical : 8
|
||||
20:57:35.680 ENGINE : CPU features : mmx sse sse2 sse3 ssse3 sse4_1 sse4_2 popcnt aesni pclmulqdq osxsave avx sha avx2
|
||||
20:57:35.680 RESOURCES : ResourceDB: loading cache (id=0 name=ERR_Chat path=Z:\home\jakub\devel\escapistsrereintroduced\addons\chat/resourceDatabase.rdb)
|
||||
20:57:35.681 RESOURCES : ResourceDB: loading cache (id=1 name=ERR_Map path=Z:\home\jakub\devel\escapistsrereintroduced\addons\map/resourceDatabase.rdb)
|
||||
20:57:35.681 RESOURCES : ResourceDB: loading cache (id=2 name=ERR_Intel path=Z:\home\jakub\devel\escapistsrereintroduced\addons\intel/resourceDatabase.rdb)
|
||||
20:57:35.681 RESOURCES : ResourceDB: loading cache (id=3 name=ERR_Ai path=Z:\home\jakub\devel\escapistsrereintroduced\addons\ai/resourceDatabase.rdb)
|
||||
20:57:35.682 RESOURCES : ResourceDB: loading cache (id=4 name=ERR_Core path=Z:\home\jakub\devel\escapistsrereintroduced\addons\core/resourceDatabase.rdb)
|
||||
20:57:35.686 RESOURCES : ResourceDB: loading cache (id=5 name=ArmaReforger path=Z:/tmp/erri-workbench-profile/addons/ArmaReforger/resourceDatabase.rdb)
|
||||
20:57:35.833 RESOURCES : ResourceDB: loading cache (id=6 name=core path=./addons/core/resourceDatabase.rdb)
|
||||
20:57:35.835 RESOURCES : ResourceDB: loading cache (id=7 name=profile path=Z:\tmp\erri-workbench-profile\profile/resourceDatabase.rdb)
|
||||
20:57:35.835 RESOURCES : ResourceDB: loading cache (id=8 name=logs path=Z:\tmp\erri-workbench-profile\logs\logs_2026-09-19_20-57-34/resourceDatabase.rdb)
|
||||
20:57:35.984 RESOURCES : RESOURCES : ResourceDB: full scan
|
||||
20:57:35.989 RESOURCES : RESOURCES : scanning...
|
||||
20:57:35.989 RESOURCES : RESOURCES : scanning @"ERR_Chat"
|
||||
20:57:35.990 RESOURCES : RESOURCES : scanning @"ERR_Map"
|
||||
20:57:35.992 RESOURCES : RESOURCES : scanning @"ERR_Intel"
|
||||
20:57:35.993 RESOURCES : RESOURCES : scanning @"ERR_Ai"
|
||||
20:57:35.994 RESOURCES : RESOURCES : scanning @"ERR_Core"
|
||||
20:57:35.998 RESOURCES : RESOURCES : scanning @"ArmaReforger"
|
||||
20:57:36.136 RESOURCES : RESOURCES : scanning @"core"
|
||||
20:57:36.140 RESOURCES : RESOURCES : scanning @"profile"
|
||||
20:57:36.141 RESOURCES : RESOURCES : scanning @"logs"
|
||||
20:57:36.141 RESOURCES : RESOURCES : processing meta-files...
|
||||
20:57:36.209 RESOURCES : RESOURCES : processing files...
|
||||
20:57:36.220 INIT : Workbench startup
|
||||
20:57:36.220 INIT : Workbench Init Engine
|
||||
20:57:36.220 RESOURCES : ResourceDB: full scan
|
||||
20:57:36.220 RESOURCES : processing files...
|
||||
20:57:36.220 RESOURCES (W): resource not registered: @"$profile:rereintroduced.json". Setting null GUID
|
||||
20:57:36.220 RESOURCES (W): resource not registered: @"$logs:launch-source-sha256.json". Setting null GUID
|
||||
20:57:36.220 RESOURCES (W): resource not registered: @"$logs:launch-source.json". Setting null GUID
|
||||
20:57:36.220 RESOURCES : RESOURCES : processing folders...
|
||||
20:57:36.228 RESOURCES : RESOURCES : creating GUID-item mapping...
|
||||
20:57:36.242 RESOURCES : RESOURCES : building tree...
|
||||
20:57:36.297 PROFILING : ResourceDB: full scan took: 313.329600 ms
|
||||
20:57:36.298 RESOURCES : ResourceDB: saving cache (id=0 name=ERR_Chat path=Z:\home\jakub\devel\escapistsrereintroduced\addons\chat/resourceDatabase.rdb)
|
||||
20:57:36.300 RESOURCES : ResourceDB: written 804/804 bytes
|
||||
20:57:36.300 RESOURCES : ResourceDB: cache successfully saved
|
||||
20:57:36.300 RESOURCES : ResourceDB: saving cache (id=1 name=ERR_Map path=Z:\home\jakub\devel\escapistsrereintroduced\addons\map/resourceDatabase.rdb)
|
||||
20:57:36.302 RESOURCES : ResourceDB: written 819/819 bytes
|
||||
20:57:36.302 RESOURCES : ResourceDB: cache successfully saved
|
||||
20:57:36.302 RESOURCES : ResourceDB: saving cache (id=2 name=ERR_Intel path=Z:\home\jakub\devel\escapistsrereintroduced\addons\intel/resourceDatabase.rdb)
|
||||
20:57:36.304 RESOURCES : ResourceDB: written 227/227 bytes
|
||||
20:57:36.304 RESOURCES : ResourceDB: cache successfully saved
|
||||
20:57:36.304 RESOURCES : ResourceDB: saving cache (id=3 name=ERR_Ai path=Z:\home\jakub\devel\escapistsrereintroduced\addons\ai/resourceDatabase.rdb)
|
||||
20:57:36.306 RESOURCES : ResourceDB: written 2469/2469 bytes
|
||||
20:57:36.306 RESOURCES : ResourceDB: cache successfully saved
|
||||
20:57:36.306 RESOURCES : ResourceDB: saving cache (id=4 name=ERR_Core path=Z:\home\jakub\devel\escapistsrereintroduced\addons\core/resourceDatabase.rdb)
|
||||
20:57:36.308 RESOURCES : ResourceDB: written 7443/7443 bytes
|
||||
20:57:36.308 RESOURCES : ResourceDB: cache successfully saved
|
||||
20:57:36.308 RESOURCES : ResourceDB: saving cache (id=7 name=profile path=Z:\tmp\erri-workbench-profile\profile/resourceDatabase.rdb)
|
||||
20:57:36.310 RESOURCES : ResourceDB: written 206/206 bytes
|
||||
20:57:36.310 RESOURCES : ResourceDB: cache successfully saved
|
||||
20:57:36.310 RESOURCES : ResourceDB: saving cache (id=8 name=logs path=Z:\tmp\erri-workbench-profile\logs\logs_2026-09-19_20-57-34/resourceDatabase.rdb)
|
||||
20:57:36.312 RESOURCES : ResourceDB: written 162/162 bytes
|
||||
20:57:36.312 RESOURCES : ResourceDB: cache successfully saved
|
||||
20:57:36.312 ENGINE : GameProject load
|
||||
20:57:36.312 ENGINE : Loaded addons:
|
||||
20:57:36.312 ENGINE : gproj: './addons/core/core.gproj' guid: '5614BBCCBB55ED1C'
|
||||
20:57:36.312 ENGINE : gproj: 'Z:/tmp/erri-workbench-profile/addons/ArmaReforger/ArmaReforger.gproj' guid: '58D0FB3206B6F859'
|
||||
20:57:36.312 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/core/addon.gproj' guid: '2528466DE220D91C'
|
||||
20:57:36.312 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/ai/addon.gproj' guid: '5192138CB9D5B911'
|
||||
20:57:36.312 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/intel/addon.gproj' guid: 'D31039C7C53E348A'
|
||||
20:57:36.312 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/map/addon.gproj' guid: '9AAEE9041D79809E'
|
||||
20:57:36.312 ENGINE : gproj: 'Z:/home/jakub/devel/escapistsrereintroduced/addons/chat/addon.gproj' guid: 'FA804F411BDDF2C6'
|
||||
20:57:36.315 ENGINE : Loading custom engine user config '$profile:.save/app1874910_user76561198020202999/settings/ReforgerEngineSettings.conf'
|
||||
20:57:36.315 INIT : GameProject engine user settings load @"$profile:.save/app1874910_user76561198020202999/settings/ReforgerEngineSettings.conf"
|
||||
20:57:36.315 ENGINE : Engine user settings config loaded
|
||||
20:57:36.315 PROFILING : Settings changed took: 0.001900 ms
|
||||
20:57:36.421 RENDER : (OK) Adapter 'AMD Radeon RX 6950 XT (RADV NAVI21)' supports feature level 12_0
|
||||
20:57:36.423 RENDER : Basic screen setup:
|
||||
20:57:36.423 RENDER : Back buffer format : TEXFMT_R8G8B8A8_SRGB (29)
|
||||
20:57:36.423 RENDER : MSAA : none
|
||||
20:57:36.437 RENDER : AMD AGS library initialized, version 6.1.0 x DLL 6.1.0
|
||||
20:57:36.437 RENDER : Extendeded AMD info for AMD Radeon RX 6950 XT (RADV NAVI21) (primary device)
|
||||
20:57:36.437 RENDER : * architecture RDNA2, 80 CUs, 40 WGPs (for RDNA), 64 ROPs
|
||||
20:57:36.437 RENDER : * core clocks 2720 MHz, memory 1124 MHz
|
||||
20:57:36.437 RENDER : * TFlops 27.9, memory bandwidth (562.0 GB/s)
|
||||
20:57:36.437 RENDER : AMD AGS correctly initialized
|
||||
20:57:36.437 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
|
||||
20:57:36.437 RENDER : Detected output devices:
|
||||
20:57:36.437 RENDER : * 1 device/s connected to AMD Radeon RX 6950 XT (RADV NAVI21):
|
||||
20:57:36.437 RENDER : Generic Non-PnP Monitor (\\.\DISPLAY1), 1280x720 (offset 0x0), 30Hz
|
||||
20:57:36.437 RENDER : Concurrent frames limit 2
|
||||
20:57:36.514 RENDER : DX12 device successfully created by AMD AGS library
|
||||
20:57:36.514 RENDER : * user markers not supported in this version AMD SW
|
||||
20:57:36.514 RENDER : Graphics device features
|
||||
20:57:36.514 RENDER : Needed:
|
||||
20:57:36.514 RENDER : * Highest supported shader model: 6.8 (6.0 needed)
|
||||
20:57:36.514 RENDER : Optional:
|
||||
20:57:36.514 RENDER : * Allow tearing (VSYNC) : 1
|
||||
20:57:36.514 RENDER : * 16 bits : 1
|
||||
20:57:36.514 RENDER : * Resource heap tier : 3
|
||||
20:57:36.514 RENDER : * Persistent heaps (DRED) : 1
|
||||
20:57:36.514 RENDER : * DRED 1.2 is supported by compiler
|
||||
20:57:36.538 RENDER : Main RT format setup.
|
||||
20:57:36.538 RENDER : Main RT format for quality 0 : TEXFMT_R11G11B10_FLOAT (26)
|
||||
20:57:36.538 RENDER : Main RT format for quality 1 : TEXFMT_R16G16B16A16_FLOAT (10)
|
||||
20:57:36.540 ENGINE : Job system settings: coreCount=16, shortJobContextCount=16, shortJobThreadCount=15, longJobThreadCount=16
|
||||
20:57:36.569 PROFILING : Settings changed took: 0.015900 ms
|
||||
20:57:37.556 AUDIO : Endpoint: Speakers (PulseAudio Output)
|
||||
20:57:37.556 AUDIO : Format: Channels: 2, Sample rate: 48kHz, Avg. bytes: 384kB, Sample bits: 32, Block align: 8B
|
||||
20:57:37.556 AUDIO : Audio client:
|
||||
20:57:37.556 AUDIO : Format: Channels: 2, Sample rate: 48kHz, Buffer size: 1536B, Frame: 512
|
||||
20:57:37.560 RENDER : RENDER : Reload shaders
|
||||
20:57:37.561 RENDER : Enfusion shader version 13
|
||||
20:57:37.561 INIT : INIT : ShaderListReload
|
||||
20:57:37.561 PROFILING : ShaderListReload took: 0.000600 ms
|
||||
20:57:37.701 AUDIO : Endpoint: Speakers (PulseAudio Output)
|
||||
20:57:37.702 AUDIO : Format: Channels: 2, Sample rate: 48kHz, Avg. bytes: 384kB, Sample bits: 32, Block align: 8B
|
||||
20:57:37.702 AUDIO : Audio client:
|
||||
20:57:37.703 AUDIO : Format: Channels: 2, Sample rate: 48kHz, Buffer size: 1536B, Frame: 512
|
||||
20:57:37.984 RENDER : Loaded 3752 newer shader binaries
|
||||
20:57:37.985 PROFILING : Reload shaders took: 424.380700 ms
|
||||
20:57:37.985 ENGINE : Initializing inputs.
|
||||
20:57:37.998 NETWORK : Initializing networking.
|
||||
20:57:37.998 NETWORK : Using new GameRplScheduler.
|
||||
20:57:37.998 SCRIPT : SCRIPT : Initializing scripts
|
||||
20:57:37.998 SCRIPT : SCRIPT : ScriptProjectManager init
|
||||
20:57:40.279 PROFILING : ScriptProjectManager init took: 2280.352800 ms
|
||||
20:57:40.369 PROFILING : Initializing scripts took: 2370.484200 ms
|
||||
20:57:40.388 ENGINE : Enfusion engine successfully created.
|
||||
20:57:40.388 PROFILING : Workbench Init Engine took: 4836.082800 ms
|
||||
20:57:40.388 INIT : INIT : Workbench Create Game
|
||||
20:57:40.402 GUI : Using default language (en_us)
|
||||
20:57:40.402 GUI : Loading 'en_us' localization file.
|
||||
20:57:40.402 INIT : INIT : Loading StringTable
|
||||
20:57:40.426 PROFILING : Loading StringTable took: 23.652000 ms
|
||||
20:57:40.426 SCRIPT : SCRIPT : Compiling GameLib scripts
|
||||
20:57:40.496 SCRIPT : Module: Workbench; loaded 18x files; 36x classes; used 125K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE"; CRC32: 90ce0460
|
||||
20:57:40.496 SCRIPT : Module: GameLib; loaded 466x files; 648x classes; used 828K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE"; CRC32: d66caacb
|
||||
20:57:40.497 PROFILING : Compiling GameLib scripts took: 71.295600 ms
|
||||
20:57:40.497 SCRIPT : SCRIPT : Compiling Game scripts
|
||||
20:57:41.817 INIT : Workbench Create Game
|
||||
20:57:41.817 SCRIPT : Compiling Game scripts
|
||||
20:57:41.817 SCRIPT (W): @"Scripts/Game/Editor/Components/EditableEntity/SCR_EditableEntityComponent.c,785": 'GetPlayerPlatformKind' is obsolete
|
||||
20:57:41.817 SCRIPT (W): @"Scripts/Game/Editor/Components/EditableEntity/SCR_EditableEntityComponent.c,786": 'GetPlayerPlatformId' is obsolete
|
||||
20:57:42.001 SCRIPT (W): @"Scripts/Game/ERR/ERR_SiteService.c,191": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly.
|
||||
20:57:42.106 SCRIPT (W): @"Scripts/Game/Workshop/SCR_AddonManager.c,876": 'GetRefCount' is obsolete: Will be removed
|
||||
20:57:42.138 SCRIPT (W): @"Scripts/Game/Campaign/SCR_PlayerProfileManagerComponent.c,142": 'PlayerData' is obsolete
|
||||
20:57:42.252 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,159": 'GetDSSession' is obsolete
|
||||
20:57:42.252 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,162": 'RoomID' is obsolete
|
||||
20:57:42.252 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,197": 'GetDSSession' is obsolete
|
||||
20:57:42.252 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,201": 'RoomID' is obsolete
|
||||
20:57:42.290 SCRIPT (W): @"Scripts/Game/ERR/ERR_CasualtyGroundSupport.c,21": 'GetBoneIndex' is obsolete: Use GetAnimation().GetBoneIndex() instead
|
||||
20:57:42.368 SCRIPT (W): @"Scripts/Game/DataCollection/SCR_DataCollectorComponent.c,481": 'GetStorage' is obsolete
|
||||
20:57:42.368 SCRIPT (W): @"Scripts/Game/DataCollection/SCR_DataCollectorComponent.c,483": 'GetOnlineWritePrivilege' is obsolete
|
||||
20:57:42.371 SCRIPT (W): @"Scripts/Game/Utilities/SCR_PlayerIdentityUtils.c,20": 'GetPlayerIdentityId' is obsolete
|
||||
20:57:42.430 SCRIPT (W): @"Scripts/Game/ERR/ERR_ExtractionService.c,45": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly.
|
||||
20:57:42.430 SCRIPT (W): @"Scripts/Game/ERR/ERR_ExtractionService.c,56": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly.
|
||||
20:57:42.432 SCRIPT (W): @"Scripts/Game/UI/Menu/MainMenuUI.c,643": 'GetNotifyCount' is obsolete: Will be substitued by Notification Api.
|
||||
20:57:42.432 SCRIPT (W): @"Scripts/Game/UI/Menu/MainMenuUI.c,645": 'GetNotifyItem' is obsolete: Will be substitued by Notification Api.
|
||||
20:57:42.474 SCRIPT (W): @"Scripts/Game/ERR/ERR_NativeTransportProbe.c,82": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly.
|
||||
20:57:42.507 SCRIPT (W): @"Scripts/Game/DataCollection/PlayerData/SCR_PlayerData.c,210": 'PlayerData' is obsolete
|
||||
20:57:42.789 SCRIPT : Module: WorkbenchGame; loaded 172x files; 617x classes; used 2482K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE"; CRC32: e963af0e
|
||||
20:57:42.796 SCRIPT : Module: Game; loaded 5796x files; 11413x classes; used 33797K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE,ENABLE_BASE_DESTRUCTION,BUDGET_OPTIMIZATION_CHECKS,SHOW_DISCLAIMER,DEBUG,RESPAWN_TIMER_COMPONENT_DEBUG,GAME_MODE_DEBUG,DEBUG_CONFIGURABLE_DIALOGS,DISABLE_WEAPON_SWITCHING,SCRIPTED_AIM_MODIFIER_DEBUG"; CRC32: 76ed3b1e
|
||||
20:57:42.837 PROFILING : Compiling Game scripts took: 2339.925600 ms
|
||||
20:57:42.843 INIT : Creating game instance(ArmaReforgerScripted), version 1.8.0.13 built 2026-08-21 14:30:18 UTC.
|
||||
20:57:42.881 ENGINE : Game successfully created.
|
||||
20:57:42.882 PROFILING : Workbench Create Game took: 2494.294500 ms
|
||||
20:57:42.892 DEFAULT : Using thumbnail cache directory: C:/users/steamuser/AppData/Local/Temp/Arma Reforger Workbench/Projects/ERR_Chat/thumbnails
|
||||
20:57:43.725 INIT : INIT : Workbench Reload Game
|
||||
20:57:43.727 ENGINE : Game destroyed.
|
||||
20:57:43.733 GUI : Using default language (en_us)
|
||||
20:57:43.733 GUI : Loading 'en_us' localization file.
|
||||
20:57:43.733 INIT : INIT : Loading StringTable
|
||||
20:57:43.742 PROFILING : Loading StringTable took: 9.192400 ms
|
||||
20:57:43.743 INIT : Creating game instance(ArmaReforgerScripted), version 1.8.0.13 built 2026-08-21 14:30:18 UTC.
|
||||
20:57:43.749 SCRIPT : Unable to register a script command due keyword duplicity: ban
|
||||
20:57:43.750 SCRIPT : Unable to register a script command due keyword duplicity: kick
|
||||
20:57:43.750 ENGINE : Game successfully created.
|
||||
20:57:43.750 ENGINE : Game successfully initialized.
|
||||
20:57:43.750 PROFILING : Workbench Reload Game took: 24.427400 ms
|
||||
20:57:44.442 WORLD : WORLD : Entities load '$ERR_Core:Worlds/ERR_Everon.ent'
|
||||
20:57:45.475 PROFILING : Entities load took: 1032.527200 ms
|
||||
20:57:45.486 WORLD : WORLD : CreateEntities
|
||||
20:57:45.492 WORLD : WORLD : NotifyBeforeEntitiesCreated
|
||||
20:57:45.492 PROFILING : NotifyBeforeEntitiesCreated took: 0.004600 ms
|
||||
20:57:45.492 WORLD : WORLD : Wait for preloading data
|
||||
20:57:45.492 PROFILING : Wait for preloading data took: 0.004000 ms
|
||||
20:57:45.606 ENTITY : Create entity @"ENTITY:2" ('Eden', GenericTerrainEntity) at <0.000000 0.000000 0.000000> @"{5AD924374E8C7AF6}Prefabs/World/Game/Eden/GenericTerrain_Eden.et"
|
||||
20:57:45.606 PROFILING : PROFILING : Terrain load
|
||||
20:57:47.666 PROFILING : Terrain load took: 2059.615700 ms
|
||||
20:57:51.851 WORLD : CreateEntities
|
||||
20:57:51.852 ENTITY : Create entity @"ENTITY:610406" ('StaticModelEntity','Assets/Structures/Infrastructure/Towers/TransmitterTower_01/TransmitterTower_01_small.xob') at <1931.796021 81.777000 5138.725098> @"{6A004A8F0571D456}Prefabs/Structures/Infrastructure/Towers/TransmitterTower_01/TransmitterTower_01_small.et"
|
||||
20:57:51.852 ENTITY : CreateComponent 'ScriptedRadioComponent'
|
||||
20:57:51.852 DEFAULT (W): World doesn't contain RadioManagerEntity to support any BaseRadioComponent.
|
||||
20:58:02.880 WORLD : WORLD : NotifyBeforeEntitiesInitialized
|
||||
20:58:02.880 PROFILING : NotifyBeforeEntitiesInitialized took: 0.005400 ms
|
||||
20:58:03.325 WORLD : WORLD : NotifyEntitiesInitialized
|
||||
20:58:03.325 TERRAIN : TERRAIN : Initializing road networks...
|
||||
20:58:03.327 PROFILING : Initializing road networks... took: 2.248100 ms
|
||||
20:58:03.328 PROFILING : NotifyEntitiesInitialized took: 2.627100 ms
|
||||
20:58:03.328 PROFILING : CreateEntities took: 17841.250800 ms
|
||||
20:58:03.521 PROFILING : * WorldEditor: LoadWorld: 19084.299100 ms
|
||||
20:58:05.041 TERRAIN : Loading tile map config (worlds/Eden/Eden/tileMap.conf)
|
||||
20:58:05.041 TERRAIN : Loading minimap config (worlds/Eden/Eden/miniMap.conf)
|
||||
20:58:05.044 TERRAIN : The default minimap texture ('worlds/Eden/EdenRasterized.edds') not found. Trying 'worlds/Eden/Eden.edds'...
|
||||
20:58:05.044 TERRAIN : The default minimap texture ('worlds/Eden/Eden.edds') not found. Skipping...
|
||||
20:58:05.137 SCRIPT : ERR VALIDATION: prison terrain=211.344, radio terrain=159.656, extraction terrain=65.1562
|
||||
20:58:05.137 SCRIPT : ERR TERRAIN: x=6084 z=7154 y=211.531
|
||||
20:58:05.137 SCRIPT : ERR TERRAIN: x=6084 z=7157 y=211.516
|
||||
20:58:05.137 SCRIPT : ERR TERRAIN: x=6084 z=7160 y=211.5
|
||||
20:58:05.137 SCRIPT : ERR TERRAIN: x=6084 z=7163 y=211.453
|
||||
20:58:05.138 SCRIPT : ERR TERRAIN: x=6084 z=7166 y=211.406
|
||||
20:58:05.138 SCRIPT : ERR TERRAIN: x=6087 z=7154 y=211.438
|
||||
20:58:05.138 SCRIPT : ERR TERRAIN: x=6087 z=7157 y=211.438
|
||||
20:58:05.138 SCRIPT : ERR TERRAIN: x=6087 z=7160 y=211.422
|
||||
20:58:05.138 SCRIPT : ERR TERRAIN: x=6087 z=7163 y=211.391
|
||||
20:58:05.138 SCRIPT : ERR TERRAIN: x=6087 z=7166 y=211.344
|
||||
20:58:05.138 SCRIPT : ERR TERRAIN: x=6090 z=7154 y=211.344
|
||||
20:58:05.139 SCRIPT : ERR TERRAIN: x=6090 z=7157 y=211.344
|
||||
20:58:05.139 SCRIPT : ERR TERRAIN: x=6090 z=7160 y=211.344
|
||||
20:58:05.139 SCRIPT : ERR TERRAIN: x=6090 z=7163 y=211.328
|
||||
20:58:05.139 SCRIPT : ERR TERRAIN: x=6090 z=7166 y=211.281
|
||||
20:58:05.139 SCRIPT : ERR TERRAIN: x=6093 z=7154 y=211.25
|
||||
20:58:05.139 SCRIPT : ERR TERRAIN: x=6093 z=7157 y=211.281
|
||||
20:58:05.139 SCRIPT : ERR TERRAIN: x=6093 z=7160 y=211.25
|
||||
20:58:05.139 SCRIPT : ERR TERRAIN: x=6093 z=7163 y=211.234
|
||||
20:58:05.139 SCRIPT : ERR TERRAIN: x=6093 z=7166 y=211.188
|
||||
20:58:05.140 SCRIPT : ERR TERRAIN: x=6096 z=7154 y=211.156
|
||||
20:58:05.140 SCRIPT : ERR TERRAIN: x=6096 z=7157 y=211.172
|
||||
20:58:05.140 SCRIPT : ERR TERRAIN: x=6096 z=7160 y=211.156
|
||||
20:58:05.140 SCRIPT : ERR TERRAIN: x=6096 z=7163 y=211.141
|
||||
20:58:05.140 SCRIPT : ERR TERRAIN: x=6096 z=7166 y=211.094
|
||||
20:58:05.162 SCRIPT : ERR SITE CANDIDATE: position=<6090,211.344,7160> elevationRange=0.640625
|
||||
20:58:05.185 BACKEND : Attempting online Game Config instead.
|
||||
20:58:08.585 INIT : INIT : Workbench Reload Game
|
||||
20:58:08.587 ENGINE : Game destroyed.
|
||||
20:58:08.594 GUI : Using default language (en_us)
|
||||
20:58:08.594 GUI : Loading 'en_us' localization file.
|
||||
20:58:08.595 INIT : INIT : Loading StringTable
|
||||
20:58:08.614 PROFILING : Loading StringTable took: 18.855900 ms
|
||||
20:58:08.614 INIT : Creating game instance(ArmaReforgerScripted), version 1.8.0.13 built 2026-08-21 14:30:18 UTC.
|
||||
20:58:08.622 SCRIPT : Unable to register a script command due keyword duplicity: ban
|
||||
20:58:08.622 SCRIPT : Unable to register a script command due keyword duplicity: kick
|
||||
20:58:08.622 ENGINE : Game successfully created.
|
||||
20:58:08.622 ENGINE : Game successfully initialized.
|
||||
20:58:08.622 PROFILING : Workbench Reload Game took: 37.505500 ms
|
||||
20:58:08.625 DEFAULT (W): LogiLED: Cannot initialize! (service not running or no compatible device detected)
|
||||
20:58:08.675 PLATFORM : Save data from container 'settings' have been loaded
|
||||
20:58:08.766 PLATFORM : Save data from container 'sessions' have been loaded
|
||||
20:58:08.767 PLATFORM : GameProject user settings load from profile @"ReforgerGameSettings.conf"
|
||||
20:58:08.767 ENGINE : Game user settings config loaded
|
||||
20:58:08.864 DEFAULT : [SaveGameManager] Starting new playthrough nr.0 '' for mission '{B6C516F86302C679}Worlds/ERR_Everon.ent'.
|
||||
20:58:08.871 WORLD : WORLD : Game::LoadEntities
|
||||
20:58:08.871 WORLD : WORLD : Initializing world systems @"{1C60D2EDA2B468B8}Configs/Systems/BaseGameModeSystems.conf"
|
||||
20:58:08.872 NETWORK : Enabled lag compensation, 29 frames with 100 FPS and 280 ms rewind limits.
|
||||
20:58:08.872 WORLD : WORLD : CreateEntities
|
||||
20:58:08.872 WORLD : WORLD : CreateEntities
|
||||
20:58:08.872 WORLD : WORLD : NotifyBeforeEntitiesCreated
|
||||
20:58:08.886 RESOURCES : Loaded mission headers from 7 addon(s)!
|
||||
20:58:08.886 PROFILING : NotifyBeforeEntitiesCreated took: 13.970900 ms
|
||||
20:58:08.886 WORLD : WORLD : Wait for preloading data
|
||||
20:58:08.886 PROFILING : Wait for preloading data took: 0.000800 ms
|
||||
20:58:13.662 WORLD : Game::LoadEntities
|
||||
20:58:13.662 WORLD : CreateEntities
|
||||
20:58:13.662 WORLD : CreateEntities
|
||||
20:58:13.662 ENTITY : Create entity @"ENTITY:610406" ('StaticModelEntity','Assets/Structures/Infrastructure/Towers/TransmitterTower_01/TransmitterTower_01_small.xob') at <1931.796021 81.777000 5138.725098> @"{6A004A8F0571D456}Prefabs/Structures/Infrastructure/Towers/TransmitterTower_01/TransmitterTower_01_small.et"
|
||||
20:58:13.662 ENTITY : CreateComponent 'ScriptedRadioComponent'
|
||||
20:58:13.662 DEFAULT (W): World doesn't contain RadioManagerEntity to support any BaseRadioComponent.
|
||||
20:58:15.116 ENTITY : Create entity @"ENTITY:842066" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1080.213013 10.776751 6018.347168>
|
||||
20:58:15.116 ENTITY : CreateComponent 'Hierarchy'
|
||||
20:58:15.116 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842066" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1080.213013 10.776751 6018.347168>')
|
||||
20:58:15.116 ENTITY : Create entity @"ENTITY:842068" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1082.185913 10.778749 6018.331055>
|
||||
20:58:15.116 ENTITY : CreateComponent 'Hierarchy'
|
||||
20:58:15.116 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842068" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1082.185913 10.778749 6018.331055>')
|
||||
20:58:15.116 ENTITY : Create entity @"ENTITY:842070" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1084.190918 10.790751 6018.334961>
|
||||
20:58:15.116 ENTITY : CreateComponent 'Hierarchy'
|
||||
20:58:15.116 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842070" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1084.190918 10.790751 6018.334961>')
|
||||
20:58:15.121 ENTITY : Create entity @"ENTITY:842333" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4425.594727 9.981750 11029.402344>
|
||||
20:58:15.121 ENTITY : CreateComponent 'Hierarchy'
|
||||
20:58:15.121 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842333" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4425.594727 9.981750 11029.402344>')
|
||||
20:58:15.122 ENTITY : Create entity @"ENTITY:842335" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4426.584473 9.983749 11031.109375>
|
||||
20:58:15.122 ENTITY : CreateComponent 'Hierarchy'
|
||||
20:58:15.122 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842335" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4426.584473 9.983749 11031.109375>')
|
||||
20:58:15.122 ENTITY : Create entity @"ENTITY:842337" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4427.572266 9.995750 11032.853516>
|
||||
20:58:15.122 ENTITY : CreateComponent 'Hierarchy'
|
||||
20:58:15.122 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842337" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4427.572266 9.995750 11032.853516>')
|
||||
20:58:15.126 ENTITY : Create entity @"ENTITY:842591" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.946289 10.470250 1551.986084>
|
||||
20:58:15.126 ENTITY : CreateComponent 'Hierarchy'
|
||||
20:58:15.126 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842591" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.946289 10.470250 1551.986084>')
|
||||
20:58:15.126 ENTITY : Create entity @"ENTITY:842593" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.430664 10.472250 1550.081421>
|
||||
20:58:15.127 ENTITY : CreateComponent 'Hierarchy'
|
||||
20:58:15.127 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842593" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.430664 10.472250 1550.081421>')
|
||||
20:58:15.127 ENTITY : Create entity @"ENTITY:842595" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10008.926758 10.484250 1548.140869>
|
||||
20:58:15.127 ENTITY : CreateComponent 'Hierarchy'
|
||||
20:58:15.127 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842595" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10008.926758 10.484250 1548.140869>')
|
||||
20:58:20.634 WORLD : WORLD : NotifyBeforeEntitiesInitialized
|
||||
20:58:20.634 PROFILING : NotifyBeforeEntitiesInitialized took: 0.050600 ms
|
||||
20:58:22.684 WORLD : InitEntities 'world'
|
||||
20:58:22.684 ENTITY : Init entity @"ENTITY:2305843009213693953" ('Rereintroduced', ERR_GameMode) at <1076.468018 51.000999 1325.246948> @"{978E045E53EF36C8}Prefabs/ERR/GameMode.et"
|
||||
20:58:22.684 SCRIPT (W): SCR_PerceivedFactionManagerComponent trying to set fall back faction 'CIV' but this faction could not be found so it is null instead.
|
||||
20:58:22.713 WORLD : InitEntities 'world'
|
||||
20:58:22.713 ENTITY : Init entity @"ENTITY:2305843009213693953" ('Rereintroduced', ERR_GameMode) at <1076.468018 51.000999 1325.246948> @"{978E045E53EF36C8}Prefabs/ERR/GameMode.et"
|
||||
20:58:22.713 SCRIPT : ERR SMOKE: scripted integration test enabled; gameplay acceptance remains separate
|
||||
20:58:22.713 WORLD : WORLD : NotifyEntitiesInitialized
|
||||
20:58:22.713 TERRAIN : TERRAIN : Initializing road networks...
|
||||
20:58:22.716 PROFILING : Initializing road networks... took: 2.323900 ms
|
||||
20:58:22.716 DEFAULT : DEFAULT : WorldVolumesCollection
|
||||
20:58:22.772 PROFILING : WorldVolumesCollection took: 56.482400 ms
|
||||
20:58:22.772 INIT : INIT : SoundWorldInit
|
||||
20:58:22.789 PROFILING : SoundWorldInit took: 16.777600 ms
|
||||
20:58:22.789 PROFILING : NotifyEntitiesInitialized took: 75.809000 ms
|
||||
20:58:22.789 PROFILING : CreateEntities took: 13916.716400 ms
|
||||
20:58:22.789 PROFILING : CreateEntities took: 13916.976200 ms
|
||||
20:58:22.790 WORLD : WORLD : Wait for preloading data around camera
|
||||
20:58:22.790 PROFILING : Wait for preloading data around camera took: 0.001000 ms
|
||||
20:58:22.790 WORLD : WORLD : EOnActivate
|
||||
20:58:22.823 PROFILING : EOnActivate took: 32.867200 ms
|
||||
20:58:22.823 PROFILING : Game::LoadEntities took: 13952.051500 ms
|
||||
20:58:23.115 DEFAULT : Entered offline game state.
|
||||
20:58:23.218 NETWORK : Player connected: connectionID=2147483646
|
||||
20:58:23.218 NETWORK : ### Connecting player: connectionID=2147483646, Name=
|
||||
20:58:23.219 NETWORK : ### Creating player: PlayerId=1, Name=jakub
|
||||
20:58:23.223 ENTITY : SpawnEntityPrefab @"{225E51284CC95CFA}Prefabs/Characters/Core/DefaultPlayerControllerMP.et"
|
||||
20:58:23.224 ENTITY : Create entity @"ENTITY:4611686018427388381" ('SCR_PlayerController') at <0.000000 0.000000 0.000000>
|
||||
20:58:23.224 ENTITY : EntityPrefabUse @"{225E51284CC95CFA}Prefabs/Characters/Core/DefaultPlayerControllerMP.et"
|
||||
20:58:23.224 SCRIPT (W): Notification data in 'SCR_NotificationsLogDisplay' has duplicate notification info key: 'EDITOR_PERCEIVED_FACTION_PUNISHMENT_KILLING_SET'. There should only be one of each key!
|
||||
20:58:23.224 SCRIPT (W): Notification data in 'SCR_NotificationsLogDisplay' has duplicate notification info key: 'EDITOR_PERCEIVED_FACTION_TYPE_DISABLED'. There should only be one of each key!
|
||||
20:58:23.226 SCRIPT (W): Can't open config file ""
|
||||
20:58:23.233 WORLD : InitEntities 'world'
|
||||
20:58:23.233 ENTITY : Init entity @"ENTITY:4611686018427388381" ('SCR_PlayerController') at <0.000000 0.000000 0.000000> @"{225E51284CC95CFA}Prefabs/Characters/Core/DefaultPlayerControllerMP.et"
|
||||
20:58:23.233 GUI : WidgetManager: CrateWidgets @"{3C9DCDD76AB83157}UI/layouts/HUD/HUDLayouts/HUDManager_Root.layout"
|
||||
20:58:23.233 SCRIPT (W): Slot_WeaponInfo Has no Content!
|
||||
20:58:23.233 SCRIPT (W): Slot_Chat Has no Content!
|
||||
20:58:23.233 SCRIPT (W): Slot_VON Has no Content!
|
||||
20:58:23.234 SCRIPT (W): Slot_AvailableActions Has no Content!
|
||||
20:58:23.234 SCRIPT (W): Slot_Vehicle Has no Content!
|
||||
20:58:23.234 SCRIPT (W): Slot_GameVersion Has no Content!
|
||||
20:58:23.234 SCRIPT (W): Slot_Notifications Has no Content!
|
||||
20:58:23.234 SCRIPT (W): Slot_Hints Has no Content!
|
||||
20:58:23.246 ENTITY : SpawnEntityPrefab @"{59EF8ECAE1DCD417}Prefabs/Editor/Modes/EditorModeEdit.et"
|
||||
20:58:23.246 ENTITY : Create entity @"ENTITY:4611686018427388384" ('SCR_EditorModeEntity') at <0.000000 0.000000 0.000000>
|
||||
20:58:23.246 ENTITY : EntityPrefabUse @"{59EF8ECAE1DCD417}Prefabs/Editor/Modes/EditorModeEdit.et"
|
||||
20:58:23.247 SCRIPT (W): SCR_EntityCatalogManagerComponent.GetFilteredEditorPrefabsOfAllFactions: Detected that {259EE7B78C51B624}UAZ469.et is present in at least two different faction entity catalogs! Since this may cause issues, such as dupliacted entries in build mode, one of them will be discarded! This is only supported for items. Other things require creation of faction specific variants.
|
||||
20:58:23.247 SCRIPT (W): SCR_EntityCatalogManagerComponent.GetFilteredEditorPrefabsOfAllFactions: Detected that {DF5CCB7C0FF049F4}Mi8MT_unarmed_transport.et is present in at least two different faction entity catalogs! Since this may cause issues, such as dupliacted entries in build mode, one of them will be discarded! This is only supported for items. Other things require creation of faction specific variants.
|
||||
20:58:23.250 NETWORK : ### Updating player: PlayerId=1, Name=jakub, rplIdentity=0xFFFFFFFE, IdentityId=00000000-0000-0000-0000-000000000000
|
||||
20:58:23.250 SCRIPT (W): Ban Settings could not be loaded from BE Storage: Relying on default config
|
||||
20:58:23.251 NETWORK : Players connecting: 0
|
||||
20:58:23.251 NETWORK : Players connected: 1 / 1
|
||||
20:58:23.278 DEFAULT : Using autosave directory: C:/users/steamuser/AppData/Local/Temp/Arma Reforger Workbench/Projects/ERR_Chat/autosaves
|
||||
20:58:23.280 PROFILING : Workbench startup took: 48830.109200 ms
|
||||
20:58:23.302 WORLD : Frame start
|
||||
20:58:23.303 SCRIPT : ScenarioFramework: Available tasks are empty, no new tasks will be generated.
|
||||
20:58:23.318 WORLD : UpdateEntities
|
||||
20:58:23.319 WORLD : Frame
|
||||
20:58:23.319 SCRIPT : SCR_BaseGameMode::OnGameStateChanged = GAME
|
||||
20:58:23.505 WORLD : UpdateEntities
|
||||
20:58:23.505 WORLD : PostFrame
|
||||
20:58:23.506 GUI : WidgetManager: CrateWidgets @"{D89BBA18F99053D6}UI/layouts/HUD/Chat/ChatHud.layout"
|
||||
20:58:23.506 SCRIPT (W): EditBoxFilterComponent used on invalid widget type.
|
||||
20:58:23.550 RESOURCES : GetResourceObject @"{20A6917D2114E29A}UI/layouts/HUD/Hint/HintInfoDisplay.layout"
|
||||
20:58:23.550 GUI : Layout load @"{20A6917D2114E29A}UI/layouts/HUD/Hint/HintInfoDisplay.layout"
|
||||
20:58:23.550 GUI : Widget prefab @"{EA1CC57D868E94F9}UI/layouts/HUD/Hint/Hint.layout"
|
||||
20:58:23.550 GUI (W): Overridden prefab member (GUID: '{661AB14E0F471C66}' type: ButtonWidgetClass) no longer exists in prefab
|
||||
20:58:23.694 RENDER : RENDER : ObjectsHeightMap::Build
|
||||
20:58:23.695 RENDER : RENDER : MeshOccupancyGridManager::GenerateAllForWorld
|
||||
20:58:23.853 PROFILING : MeshOccupancyGridManager::GenerateAllForWorld took: 158.377200 ms
|
||||
20:58:23.862 PROFILING : ObjectsHeightMap::Build took: 167.041000 ms
|
||||
20:58:25.036 SCRIPT : Rereintroduced [sites]: cache clearance position=<6086,211.538,7160> clear=1
|
||||
20:58:25.060 SCRIPT : Rereintroduced [sites]: authored everon-prison-1 at <6090,211.444,7160>
|
||||
20:58:25.061 SCRIPT : Rereintroduced [sites]: cache clearance position=<6150,203.288,7050> clear=1
|
||||
20:58:25.090 SCRIPT : Rereintroduced [sites]: authored everon-supply-1 at <6150,203.288,7050>
|
||||
20:58:25.092 SCRIPT : Rereintroduced [sites]: authored everon-radio-1 at <6500,159.756,7200>
|
||||
20:58:25.142 SCRIPT : Rereintroduced [sites]: authored everon-extraction-1 at <7000,65.2562,7500>
|
||||
20:58:25.143 SCRIPT : Rereintroduced [sites]: cache clearance position=<5960,220.256,7220> clear=1
|
||||
20:58:25.148 SCRIPT : Rereintroduced [sites]: transport parking=<5960,220.256,7212> radius=4 terrainRange=0.8125 obstructed=0 clear=1
|
||||
20:58:25.194 SCRIPT : Rereintroduced [sites]: authored everon-supply-2 at <5960,220.256,7220>
|
||||
20:58:25.194 SCRIPT : Rereintroduced [sites]: cache clearance position=<6340,175.788,7400> clear=1
|
||||
20:58:25.196 SCRIPT : Rereintroduced [sites]: authored everon-medical-1 at <6340,175.788,7400>
|
||||
20:58:25.196 SCRIPT : Rereintroduced [sites]: cache clearance position=<6740,140.6,7300> clear=1
|
||||
20:58:25.199 SCRIPT : Rereintroduced [sites]: cache clearance position=<6740,140.913,7296> clear=1
|
||||
20:58:25.201 SCRIPT : Rereintroduced [sites]: cache clearance position=<6736,140.975,7300> clear=1
|
||||
20:58:25.201 SCRIPT : Rereintroduced [sites]: cache clearance position=<6744,140.288,7300> clear=1
|
||||
20:58:25.202 SCRIPT : Rereintroduced [sites]: authored everon-outpost-1 at <6740,140.6,7300>
|
||||
20:58:25.203 SCRIPT : ERR EXTRACTION PLACEMENT: wakes=1 alive=1 ready=0 origin=<7012,63.725,7500> up=1
|
||||
20:58:25.203 SCRIPT : ERR EXTRACTION PHYSICS: dynamic=1 awake=1 speed=0 angularSpeed=0
|
||||
20:58:25.203 SCRIPT : ERR EXTRACTION NATIVE: valid=1 contact=0 engine=0 origin=<0,0,0> up=1 entityDifference=10267.5
|
||||
20:58:25.203 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_F node=-1704401612 center=<7012,64.0216,7502.25>
|
||||
20:58:25.203 SCRIPT : ERR GEAR TERRAIN: bottom=<7012,63.7216,7502.25> terrainY=63.2926 tireTerrainGap=0.428944
|
||||
20:58:25.204 SCRIPT : ERR GEAR SUPPORT: center=<7012,64.0216,7502.25> radius=0.3 bottom=<7012,63.7216,7502.25> fraction=1 normal=<0,0,0> self=0 dynamic=0 supported=0 gap=0.119999
|
||||
20:58:25.204 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_bL node=-410678372 center=<7009.72,64.4897,7497.97>
|
||||
20:58:25.204 SCRIPT : ERR GEAR TERRAIN: bottom=<7009.72,64.0397,7497.97> terrainY=64.1655 tireTerrainGap=-0.125717
|
||||
20:58:25.204 SCRIPT : ERR GEAR SUPPORT: center=<7009.72,64.4897,7497.97> radius=0.45 bottom=<7009.72,64.0397,7497.97> fraction=1 normal=<0,0,0> self=0 dynamic=0 supported=0 gap=0.119999
|
||||
20:58:25.204 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_bR node=-410678366 center=<7014.28,64.4898,7497.97>
|
||||
20:58:25.204 SCRIPT : ERR GEAR TERRAIN: bottom=<7014.28,64.0398,7497.97> terrainY=63.8096 tireTerrainGap=0.230156
|
||||
20:58:25.205 SCRIPT : ERR GEAR SUPPORT: center=<7014.28,64.4898,7497.97> radius=0.45 bottom=<7014.28,64.0398,7497.97> fraction=1 normal=<0,0,0> self=0 dynamic=0 supported=0 gap=0.119999
|
||||
20:58:25.205 SCRIPT : Rereintroduced [guards]: initial site=everon-prison-1 requested=6 physical=0 conscious=0 nativeComplete=0
|
||||
20:58:25.205 SCRIPT : Rereintroduced [guards]: initial site=everon-supply-1 requested=6 physical=0 conscious=0 nativeComplete=0
|
||||
20:58:25.205 SCRIPT : Rereintroduced [guards]: initial site=everon-radio-1 requested=6 physical=0 conscious=0 nativeComplete=0
|
||||
20:58:25.205 SCRIPT : Rereintroduced [guards]: initial site=everon-extraction-1 requested=6 physical=0 conscious=0 nativeComplete=0
|
||||
20:58:25.205 SCRIPT : Rereintroduced [guards]: initial site=everon-supply-2 requested=6 physical=0 conscious=0 nativeComplete=0
|
||||
20:58:25.206 SCRIPT : Rereintroduced [guards]: initial site=everon-outpost-1 requested=6 physical=0 conscious=0 nativeComplete=0
|
||||
20:58:25.978 WORLD : UpdateEntities
|
||||
20:58:25.978 WORLD : AfterPostSimulate
|
||||
20:58:25.978 DEFAULT (W): Collider UCS_FG_DriveShaft_01 not found
|
||||
20:58:26.052 SCRIPT : Rereintroduced [guards]: initial site=everon-prison-1 requested=6 physical=1 conscious=1 nativeComplete=0
|
||||
20:58:26.052 SCRIPT : Rereintroduced [guards]: initial site=everon-supply-1 requested=6 physical=1 conscious=1 nativeComplete=0
|
||||
20:58:26.053 SCRIPT : Rereintroduced [guards]: initial site=everon-radio-1 requested=6 physical=1 conscious=1 nativeComplete=0
|
||||
20:58:26.053 SCRIPT : Rereintroduced [guards]: initial site=everon-extraction-1 requested=6 physical=1 conscious=1 nativeComplete=0
|
||||
20:58:26.306 SCRIPT : ERR EXTRACTION PLACEMENT: wakes=1 alive=1 ready=1 origin=<7012.08,63.5285,7499.7> up=0.995678
|
||||
20:58:26.306 SCRIPT : ERR EXTRACTION PHYSICS: dynamic=1 awake=1 speed=0.286983 angularSpeed=0.0801588
|
||||
20:58:26.306 SCRIPT : ERR EXTRACTION NATIVE: valid=1 contact=1 engine=0 origin=<0,0,0> up=1 entityDifference=10267.4
|
||||
20:58:26.306 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_F node=-1704401612 center=<7012.07,63.6132,7501.97>
|
||||
20:58:26.307 SCRIPT : ERR GEAR TERRAIN: bottom=<7012.07,63.3132,7501.97> terrainY=63.3165 tireTerrainGap=-0.00326157
|
||||
20:58:26.307 SCRIPT : ERR GEAR SUPPORT: center=<7012.07,63.6132,7501.97> radius=0.3 bottom=<7012.07,63.3132,7501.97> fraction=0.440022 normal=<-0,0.990257,0.139255> self=0 dynamic=0 supported=1 gap=-0.0031929
|
||||
20:58:26.307 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_bL node=-410678372 center=<7009.88,64.6007,7497.71>
|
||||
20:58:26.307 SCRIPT : ERR GEAR TERRAIN: bottom=<7009.88,64.1507,7497.71> terrainY=64.1555 tireTerrainGap=-0.00480652
|
||||
20:58:26.307 SCRIPT : ERR GEAR SUPPORT: center=<7009.88,64.6007,7497.71> radius=0.45 bottom=<7009.88,64.1507,7497.71> fraction=0.432978 normal=<0.139105,0.989191,0.0463683> self=0 dynamic=0 supported=1 gap=-0.00474548
|
||||
20:58:26.307 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_bR node=-410678366 center=<7014.42,64.2628,7497.74>
|
||||
20:58:26.308 SCRIPT : ERR GEAR TERRAIN: bottom=<7014.42,63.8128,7497.74> terrainY=63.8179 tireTerrainGap=-0.00510025
|
||||
20:58:26.308 SCRIPT : ERR GEAR SUPPORT: center=<7014.42,64.2628,7497.74> radius=0.45 bottom=<7014.42,63.8128,7497.74> fraction=0.431111 normal=<0.015606,0.998782,0.0468179> self=0 dynamic=0 supported=1 gap=-0.00515366
|
||||
20:58:26.308 SCRIPT : ERR EXTRACTION FUEL: manager=1 hasFuel=1
|
||||
20:58:26.563 SCRIPT : Rereintroduced [guards]: initial site=everon-prison-1 requested=6 physical=2 conscious=2 nativeComplete=0
|
||||
20:58:26.563 SCRIPT : Rereintroduced [guards]: initial site=everon-supply-1 requested=6 physical=2 conscious=2 nativeComplete=0
|
||||
20:58:26.563 SCRIPT : Rereintroduced [guards]: initial site=everon-supply-2 requested=6 physical=1 conscious=1 nativeComplete=0
|
||||
20:58:26.564 SCRIPT : Rereintroduced [guards]: initial site=everon-outpost-1 requested=6 physical=1 conscious=1 nativeComplete=0
|
||||
20:58:27.073 SCRIPT : Rereintroduced [guards]: initial site=everon-prison-1 requested=6 physical=3 conscious=3 nativeComplete=0
|
||||
20:58:27.073 SCRIPT : Rereintroduced [guards]: initial site=everon-supply-2 requested=6 physical=2 conscious=2 nativeComplete=0
|
||||
20:58:27.073 SCRIPT : Rereintroduced [guards]: initial site=everon-outpost-1 requested=6 physical=2 conscious=2 nativeComplete=0
|
||||
20:58:27.328 SCRIPT : ERR EXTRACTION PLACEMENT: wakes=1 alive=1 ready=1 origin=<7012.1,63.5361,7499.71> up=0.994351
|
||||
20:58:27.328 SCRIPT : ERR EXTRACTION PHYSICS: dynamic=1 awake=1 speed=0.0975902 angularSpeed=0.0685686
|
||||
20:58:27.328 SCRIPT : ERR EXTRACTION NATIVE: valid=1 contact=1 engine=0 origin=<0,0,0> up=1 entityDifference=10267.4
|
||||
20:58:27.328 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_F node=-1704401612 center=<7012.07,63.6186,7501.99>
|
||||
20:58:27.329 SCRIPT : ERR GEAR TERRAIN: bottom=<7012.07,63.3186,7501.99> terrainY=63.3144 tireTerrainGap=0.00423813
|
||||
20:58:27.329 SCRIPT : ERR GEAR SUPPORT: center=<7012.07,63.6186,7501.99> radius=0.3 bottom=<7012.07,63.3186,7501.99> fraction=0.474215 normal=<-0,0.990257,0.139255> self=0 dynamic=0 supported=1 gap=0.00432587
|
||||
20:58:27.329 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_bL node=-410678372 center=<7009.93,64.6021,7497.71>
|
||||
20:58:27.329 SCRIPT : ERR GEAR TERRAIN: bottom=<7009.93,64.1521,7497.71> terrainY=64.149 tireTerrainGap=0.00312805
|
||||
20:58:27.329 SCRIPT : ERR GEAR SUPPORT: center=<7009.93,64.6021,7497.71> radius=0.45 bottom=<7009.93,64.1521,7497.71> fraction=0.468575 normal=<0.139105,0.989191,0.0463683> self=0 dynamic=0 supported=1 gap=0.0030899
|
||||
20:58:27.329 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_bR node=-410678366 center=<7014.47,64.2643,7497.78>
|
||||
20:58:27.329 SCRIPT : ERR GEAR TERRAIN: bottom=<7014.47,63.8143,7497.78> terrainY=63.8154 tireTerrainGap=-0.0010643
|
||||
20:58:27.330 SCRIPT : ERR GEAR SUPPORT: center=<7014.47,64.2643,7497.78> radius=0.45 bottom=<7014.47,63.8143,7497.78> fraction=0.449722 normal=<0.015606,0.998782,0.0468179> self=0 dynamic=0 supported=1 gap=-0.00106049
|
||||
20:58:27.330 SCRIPT : ERR EXTRACTION FUEL: manager=1 hasFuel=1
|
||||
20:58:27.581 SCRIPT : Rereintroduced [guards]: initial site=everon-prison-1 requested=6 physical=4 conscious=4 nativeComplete=0
|
||||
20:58:27.582 SCRIPT : Rereintroduced [guards]: initial site=everon-radio-1 requested=6 physical=2 conscious=2 nativeComplete=0
|
||||
20:58:27.582 SCRIPT : Rereintroduced [guards]: initial site=everon-extraction-1 requested=6 physical=2 conscious=2 nativeComplete=0
|
||||
20:58:27.582 SCRIPT : Rereintroduced [guards]: initial site=everon-outpost-1 requested=6 physical=3 conscious=3 nativeComplete=0
|
||||
20:58:27.831 SCRIPT : Rereintroduced [extraction placement]: native supported aircraft stable for one second, fuel present, exactly one initial wake
|
||||
20:58:28.086 SCRIPT : Rereintroduced [guards]: initial site=everon-supply-1 requested=6 physical=3 conscious=3 nativeComplete=0
|
||||
20:58:28.087 SCRIPT : Rereintroduced [guards]: initial site=everon-radio-1 requested=6 physical=3 conscious=3 nativeComplete=0
|
||||
20:58:28.087 SCRIPT : Rereintroduced [guards]: initial site=everon-extraction-1 requested=6 physical=3 conscious=3 nativeComplete=0
|
||||
20:58:28.087 SCRIPT : Rereintroduced [guards]: initial site=everon-supply-2 requested=6 physical=3 conscious=3 nativeComplete=0
|
||||
20:58:28.339 SCRIPT : ERR EXTRACTION PLACEMENT: wakes=1 alive=1 ready=1 origin=<7012.12,63.5331,7499.74> up=0.994194
|
||||
20:58:28.339 SCRIPT : ERR EXTRACTION PHYSICS: dynamic=1 awake=1 speed=0.04555 angularSpeed=0.0154758
|
||||
20:58:28.339 SCRIPT : ERR EXTRACTION NATIVE: valid=1 contact=1 engine=0 origin=<0,0,0> up=1 entityDifference=10267.4
|
||||
20:58:28.339 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_F node=-1704401612 center=<7012.08,63.6141,7502.01>
|
||||
20:58:28.340 SCRIPT : ERR GEAR TERRAIN: bottom=<7012.08,63.3141,7502.01> terrainY=63.3116 tireTerrainGap=0.00251007
|
||||
20:58:28.340 SCRIPT : ERR GEAR SUPPORT: center=<7012.08,63.6141,7502.01> radius=0.3 bottom=<7012.08,63.3141,7502.01> fraction=0.465906 normal=<0,0.996962,0.0778877> self=0 dynamic=0 supported=1 gap=0.00249863
|
||||
20:58:28.340 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_bL node=-410678372 center=<7009.97,64.5946,7497.72>
|
||||
20:58:28.340 SCRIPT : ERR GEAR TERRAIN: bottom=<7009.97,64.1446,7497.72> terrainY=64.1429 tireTerrainGap=0.00172424
|
||||
20:58:28.340 SCRIPT : ERR GEAR SUPPORT: center=<7009.97,64.5946,7497.72> radius=0.45 bottom=<7009.97,64.1446,7497.72> fraction=0.462402 normal=<0.139105,0.989191,0.0463683> self=0 dynamic=0 supported=1 gap=0.00173187
|
||||
20:58:28.340 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_bR node=-410678366 center=<7014.51,64.2603,7497.82>
|
||||
20:58:28.340 SCRIPT : ERR GEAR TERRAIN: bottom=<7014.51,63.8103,7497.82> terrainY=63.8129 tireTerrainGap=-0.00257492
|
||||
20:58:28.341 SCRIPT : ERR GEAR SUPPORT: center=<7014.51,64.2603,7497.82> radius=0.45 bottom=<7014.51,63.8103,7497.82> fraction=0.442778 normal=<0.015606,0.998782,0.0468179> self=0 dynamic=0 supported=1 gap=-0.00259018
|
||||
20:58:28.341 SCRIPT : ERR EXTRACTION FUEL: manager=1 hasFuel=1
|
||||
20:58:28.589 SCRIPT : Rereintroduced [guards]: initial site=everon-supply-1 requested=6 physical=4 conscious=4 nativeComplete=0
|
||||
20:58:28.590 SCRIPT : Rereintroduced [guards]: initial site=everon-radio-1 requested=6 physical=4 conscious=4 nativeComplete=0
|
||||
20:58:28.590 SCRIPT : Rereintroduced [guards]: initial site=everon-extraction-1 requested=6 physical=4 conscious=4 nativeComplete=0
|
||||
20:58:28.590 SCRIPT : Rereintroduced [guards]: initial site=everon-supply-2 requested=6 physical=4 conscious=4 nativeComplete=0
|
||||
20:58:29.101 SCRIPT : Rereintroduced [guards]: initial site=everon-prison-1 requested=6 physical=5 conscious=5 nativeComplete=0
|
||||
20:58:29.101 SCRIPT : Rereintroduced [guards]: initial site=everon-supply-1 requested=6 physical=5 conscious=5 nativeComplete=0
|
||||
20:58:29.101 SCRIPT : Rereintroduced [guards]: initial site=everon-radio-1 requested=6 physical=5 conscious=5 nativeComplete=0
|
||||
20:58:29.102 SCRIPT : Rereintroduced [guards]: initial site=everon-outpost-1 requested=6 physical=4 conscious=4 nativeComplete=0
|
||||
20:58:29.352 SCRIPT : ERR EXTRACTION PLACEMENT: wakes=1 alive=1 ready=1 origin=<7012.13,63.5289,7499.75> up=0.994143
|
||||
20:58:29.352 SCRIPT : ERR EXTRACTION PHYSICS: dynamic=1 awake=0 speed=0 angularSpeed=0
|
||||
20:58:29.352 SCRIPT : ERR EXTRACTION NATIVE: valid=1 contact=1 engine=0 origin=<0,0,0> up=1 entityDifference=10267.4
|
||||
20:58:29.352 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_F node=-1704401612 center=<7012.08,63.6125,7502.02>
|
||||
20:58:29.352 SCRIPT : ERR GEAR TERRAIN: bottom=<7012.08,63.3125,7502.02> terrainY=63.3109 tireTerrainGap=0.00163269
|
||||
20:58:29.353 SCRIPT : ERR GEAR SUPPORT: center=<7012.08,63.6125,7502.02> radius=0.3 bottom=<7012.08,63.3125,7502.02> fraction=0.461881 normal=<0,0.996962,0.0778877> self=0 dynamic=0 supported=1 gap=0.00161362
|
||||
20:58:29.353 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_bL node=-410678372 center=<7009.97,64.5939,7497.73>
|
||||
20:58:29.353 SCRIPT : ERR GEAR TERRAIN: bottom=<7009.97,64.1439,7497.73> terrainY=64.1414 tireTerrainGap=0.00248718
|
||||
20:58:29.353 SCRIPT : ERR GEAR SUPPORT: center=<7009.97,64.5939,7497.73> radius=0.45 bottom=<7009.97,64.1439,7497.73> fraction=0.465508 normal=<0.139105,0.989191,0.0463683> self=0 dynamic=0 supported=1 gap=0.00241089
|
||||
20:58:29.353 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_bR node=-410678366 center=<7014.51,64.2602,7497.84>
|
||||
20:58:29.353 SCRIPT : ERR GEAR TERRAIN: bottom=<7014.51,63.8102,7497.84> terrainY=63.8122 tireTerrainGap=-0.00204086
|
||||
20:58:29.354 SCRIPT : ERR GEAR SUPPORT: center=<7014.51,64.2602,7497.84> radius=0.45 bottom=<7014.51,63.8102,7497.84> fraction=0.445278 normal=<0.015606,0.998782,0.0468179> self=0 dynamic=0 supported=1 gap=-0.00203705
|
||||
20:58:29.354 SCRIPT : ERR EXTRACTION FUEL: manager=1 hasFuel=1
|
||||
20:58:29.610 SCRIPT : Rereintroduced [guards]: initial site=everon-supply-1 requested=6 physical=6 conscious=6 nativeComplete=1
|
||||
20:58:29.610 SCRIPT : Rereintroduced [guards]: initial site=everon-extraction-1 requested=6 physical=5 conscious=5 nativeComplete=0
|
||||
20:58:29.610 SCRIPT : Rereintroduced [guards]: initial site=everon-supply-2 requested=6 physical=5 conscious=5 nativeComplete=0
|
||||
20:58:29.611 SCRIPT : Rereintroduced [guards]: initial site=everon-outpost-1 requested=6 physical=5 conscious=5 nativeComplete=0
|
||||
20:58:30.114 SCRIPT : Rereintroduced [guards]: initial site=everon-radio-1 requested=6 physical=6 conscious=6 nativeComplete=1
|
||||
20:58:30.114 SCRIPT : Rereintroduced [guards]: initial site=everon-extraction-1 requested=6 physical=6 conscious=6 nativeComplete=1
|
||||
20:58:30.114 SCRIPT : Rereintroduced [guards]: initial site=everon-supply-2 requested=6 physical=6 conscious=6 nativeComplete=1
|
||||
20:58:30.114 SCRIPT : Rereintroduced [guards]: initial site=everon-outpost-1 requested=6 physical=6 conscious=6 nativeComplete=1
|
||||
20:58:30.369 SCRIPT : ERR EXTRACTION PLACEMENT: wakes=1 alive=1 ready=1 origin=<7012.13,63.5289,7499.75> up=0.994143
|
||||
20:58:30.369 SCRIPT : ERR EXTRACTION PHYSICS: dynamic=1 awake=0 speed=0 angularSpeed=0
|
||||
20:58:30.370 SCRIPT : ERR EXTRACTION NATIVE: valid=1 contact=1 engine=0 origin=<0,0,0> up=1 entityDifference=10267.4
|
||||
20:58:30.370 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_F node=-1704401612 center=<7012.08,63.6125,7502.02>
|
||||
20:58:30.370 SCRIPT : ERR GEAR TERRAIN: bottom=<7012.08,63.3125,7502.02> terrainY=63.3109 tireTerrainGap=0.00163269
|
||||
20:58:30.370 SCRIPT : ERR GEAR SUPPORT: center=<7012.08,63.6125,7502.02> radius=0.3 bottom=<7012.08,63.3125,7502.02> fraction=0.461881 normal=<0,0.996962,0.0778877> self=0 dynamic=0 supported=1 gap=0.00161362
|
||||
20:58:30.370 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_bL node=-410678372 center=<7009.97,64.5939,7497.73>
|
||||
20:58:30.371 SCRIPT : ERR GEAR TERRAIN: bottom=<7009.97,64.1439,7497.73> terrainY=64.1414 tireTerrainGap=0.00248718
|
||||
20:58:30.371 SCRIPT : ERR GEAR SUPPORT: center=<7009.97,64.5939,7497.73> radius=0.45 bottom=<7009.97,64.1439,7497.73> fraction=0.465508 normal=<0.139105,0.989191,0.0463683> self=0 dynamic=0 supported=1 gap=0.00241089
|
||||
20:58:30.371 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_bR node=-410678366 center=<7014.51,64.2602,7497.84>
|
||||
20:58:30.371 SCRIPT : ERR GEAR TERRAIN: bottom=<7014.51,63.8102,7497.84> terrainY=63.8122 tireTerrainGap=-0.00204086
|
||||
20:58:30.371 SCRIPT : ERR GEAR SUPPORT: center=<7014.51,64.2602,7497.84> radius=0.45 bottom=<7014.51,63.8102,7497.84> fraction=0.445278 normal=<0.015606,0.998782,0.0468179> self=0 dynamic=0 supported=1 gap=-0.00203705
|
||||
20:58:30.371 SCRIPT : ERR EXTRACTION FUEL: manager=1 hasFuel=1
|
||||
20:58:30.622 SCRIPT : Rereintroduced [guards]: initial site=everon-prison-1 requested=6 physical=6 conscious=6 nativeComplete=1
|
||||
20:58:30.622 SCRIPT : Rereintroduced [sites]: 7 sites and 117 physical stock items ready
|
||||
20:58:30.635 SCRIPT : Rereintroduced [environment]: date=authored weather=authored
|
||||
20:58:30.636 SCRIPT : Rereintroduced [time]: started at 14:00 with 1x progression
|
||||
20:58:30.636 SCRIPT : Rereintroduced [mission]: phase 0 -> 1
|
||||
20:58:30.637 SCRIPT : Rereintroduced [prison]: owned composition raw={BE6B8D56349038A6}Prefabs/ERR/Prison.et resolved={BE6B8D56349038A6}Prefabs/ERR/Prison.et position=<6090,211.444,7160>
|
||||
20:58:30.637 SCRIPT : Rereintroduced [prison]: gate candidate raw= resolved={C3FDC4DBCD58C2F5}Prefabs/ERR/PrisonDoor.et lock=1 door=1 position=<6090,211.344,7154>
|
||||
20:58:30.637 SCRIPT : Rereintroduced [prison]: destruction health=1000 destroyed=0 queued=0
|
||||
20:58:30.637 SCRIPT : Rereintroduced [prison]: one intact successor lock in owned prison
|
||||
20:58:31.558 SCRIPT : INFO: Faction: player jakub (playerID = 1 | UUID = 00000000-0000-0000-0000-000000000000) has joined faction #AR-Faction_US (US)
|
||||
20:58:31.597 SCRIPT : Rereintroduced [spawn]: player 1 at <6088.5,211.491,7158.5>
|
||||
20:58:31.793 SCRIPT : ERR SMOKE PASS: new identity may enter prison
|
||||
20:58:31.794 SCRIPT : ERR SMOKE PASS: spawn consumes identity life
|
||||
20:58:31.794 SCRIPT : ERR SMOKE PASS: disconnect retains living actor and clears connection
|
||||
20:58:31.794 SCRIPT : ERR SMOKE PASS: reconnected identity retains spent life
|
||||
20:58:31.794 SCRIPT : ERR SMOKE PASS: duplicate active identity rejected
|
||||
20:58:31.794 SCRIPT : ERR SMOKE PASS: recycled connection receives independent life and extraction admission policy
|
||||
20:58:31.794 SCRIPT : ERR SMOKE PASS: base contracts catalog resolves hostile vanilla factions and successful preparation
|
||||
20:58:31.794 SCRIPT : ERR SMOKE PASS: base contracts physical prisoner matches injected faction and resource
|
||||
20:58:31.795 SCRIPT : ERR SMOKE PASS: base contracts physical guard squad comes from injected catalog
|
||||
20:58:31.795 SCRIPT : ERR SMOKE PASS: base contracts same-side factions rejected
|
||||
20:58:31.795 SCRIPT : ERR SMOKE PASS: base contracts unknown world faction rejected
|
||||
20:58:31.795 SCRIPT : ERR SMOKE PASS: base contracts missing prisoner resource rejected
|
||||
20:58:31.795 SCRIPT : ERR SMOKE PASS: base contracts isolated catalog restored without mutating live configuration
|
||||
20:58:31.796 SCRIPT : ERR SMOKE PASS: base contracts unauthorized settings request rejected
|
||||
20:58:31.796 SCRIPT : ERR SMOKE PASS: base contracts partially numeric input rejected without mutation
|
||||
20:58:31.796 SCRIPT : ERR SMOKE PASS: base contracts out-of-range duration rejected without mutation
|
||||
20:58:31.799 SCRIPT : ERR SMOKE PASS: base contracts normalized base command saves validated duration
|
||||
20:58:31.799 SCRIPT : ERR SMOKE PASS: base contracts base command reads saved duration
|
||||
20:58:31.799 SCRIPT : ERR SMOKE PASS: base contracts base settings listing available
|
||||
20:58:31.799 SCRIPT : ERR SMOKE PASS: base contracts base mission status available before companions
|
||||
20:58:31.803 SCRIPT : ERR SMOKE PASS: base contracts test setting restored
|
||||
20:58:31.803 SCRIPT : ERR SMOKE PASS: companion command retained: hq interval show
|
||||
20:58:31.803 SCRIPT : ERR SMOKE PASS: companion command retained: hq squads show
|
||||
20:58:31.803 SCRIPT : ERR SMOKE PASS: companion command retained: hq radius show
|
||||
20:58:31.803 SCRIPT : ERR SMOKE PASS: companion command retained: intel carrying show
|
||||
20:58:31.803 SCRIPT : ERR SMOKE PASS: companion command retained: intel reveal show
|
||||
20:58:31.804 SCRIPT : ERR SMOKE PASS: companion journal is behind Core admin authorization
|
||||
20:58:31.804 SCRIPT : ERR SMOKE PASS: companion HQ status uses the shared command service
|
||||
20:58:32.297 SCRIPT (E): ERR SMOKE FAIL: aircraft-field independent qualified candidate found before one finite allocation
|
||||
20:58:32.297 SCRIPT (E): ERR SMOKE FAIL: native actual aircraft field fixture
|
||||
@@ -0,0 +1,108 @@
|
||||
---------------------------------------------
|
||||
Log Z:\tmp\erri-workbench-profile\logs\logs_2026-09-19_20-57-34\error.log started at 2026-09-19 20:57:36 (2026-09-19 18:57:36 UTC)
|
||||
|
||||
20:57:36.220 INIT : Workbench startup
|
||||
20:57:36.220 INIT : Workbench Init Engine
|
||||
20:57:36.220 RESOURCES : ResourceDB: full scan
|
||||
20:57:36.220 RESOURCES : processing files...
|
||||
20:57:36.220 RESOURCES (W): resource not registered: @"$profile:rereintroduced.json". Setting null GUID
|
||||
20:57:36.220 RESOURCES (W): resource not registered: @"$logs:launch-source-sha256.json". Setting null GUID
|
||||
20:57:36.220 RESOURCES (W): resource not registered: @"$logs:launch-source.json". Setting null GUID
|
||||
20:57:41.817 INIT : Workbench Create Game
|
||||
20:57:41.817 SCRIPT : Compiling Game scripts
|
||||
20:57:41.817 SCRIPT (W): @"Scripts/Game/Editor/Components/EditableEntity/SCR_EditableEntityComponent.c,785": 'GetPlayerPlatformKind' is obsolete
|
||||
20:57:41.817 SCRIPT (W): @"Scripts/Game/Editor/Components/EditableEntity/SCR_EditableEntityComponent.c,786": 'GetPlayerPlatformId' is obsolete
|
||||
20:57:42.001 SCRIPT (W): @"Scripts/Game/ERR/ERR_SiteService.c,191": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly.
|
||||
20:57:42.106 SCRIPT (W): @"Scripts/Game/Workshop/SCR_AddonManager.c,876": 'GetRefCount' is obsolete: Will be removed
|
||||
20:57:42.138 SCRIPT (W): @"Scripts/Game/Campaign/SCR_PlayerProfileManagerComponent.c,142": 'PlayerData' is obsolete
|
||||
20:57:42.252 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,159": 'GetDSSession' is obsolete
|
||||
20:57:42.252 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,162": 'RoomID' is obsolete
|
||||
20:57:42.252 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,197": 'GetDSSession' is obsolete
|
||||
20:57:42.252 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,201": 'RoomID' is obsolete
|
||||
20:57:42.290 SCRIPT (W): @"Scripts/Game/ERR/ERR_CasualtyGroundSupport.c,21": 'GetBoneIndex' is obsolete: Use GetAnimation().GetBoneIndex() instead
|
||||
20:57:42.368 SCRIPT (W): @"Scripts/Game/DataCollection/SCR_DataCollectorComponent.c,481": 'GetStorage' is obsolete
|
||||
20:57:42.368 SCRIPT (W): @"Scripts/Game/DataCollection/SCR_DataCollectorComponent.c,483": 'GetOnlineWritePrivilege' is obsolete
|
||||
20:57:42.371 SCRIPT (W): @"Scripts/Game/Utilities/SCR_PlayerIdentityUtils.c,20": 'GetPlayerIdentityId' is obsolete
|
||||
20:57:42.430 SCRIPT (W): @"Scripts/Game/ERR/ERR_ExtractionService.c,45": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly.
|
||||
20:57:42.430 SCRIPT (W): @"Scripts/Game/ERR/ERR_ExtractionService.c,56": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly.
|
||||
20:57:42.432 SCRIPT (W): @"Scripts/Game/UI/Menu/MainMenuUI.c,643": 'GetNotifyCount' is obsolete: Will be substitued by Notification Api.
|
||||
20:57:42.432 SCRIPT (W): @"Scripts/Game/UI/Menu/MainMenuUI.c,645": 'GetNotifyItem' is obsolete: Will be substitued by Notification Api.
|
||||
20:57:42.474 SCRIPT (W): @"Scripts/Game/ERR/ERR_NativeTransportProbe.c,82": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly.
|
||||
20:57:42.506 SCRIPT (W): @"Scripts/Game/DataCollection/PlayerData/SCR_PlayerData.c,210": 'PlayerData' is obsolete
|
||||
20:57:51.851 WORLD : CreateEntities
|
||||
20:57:51.852 ENTITY : Create entity @"ENTITY:610406" ('StaticModelEntity','Assets/Structures/Infrastructure/Towers/TransmitterTower_01/TransmitterTower_01_small.xob') at <1931.796021 81.777000 5138.725098> @"{6A004A8F0571D456}Prefabs/Structures/Infrastructure/Towers/TransmitterTower_01/TransmitterTower_01_small.et"
|
||||
20:57:51.852 ENTITY : CreateComponent 'ScriptedRadioComponent'
|
||||
20:57:51.852 DEFAULT (W): World doesn't contain RadioManagerEntity to support any BaseRadioComponent.
|
||||
20:58:08.625 DEFAULT (W): LogiLED: Cannot initialize! (service not running or no compatible device detected)
|
||||
20:58:13.662 WORLD : Game::LoadEntities
|
||||
20:58:13.662 WORLD : CreateEntities
|
||||
20:58:13.662 WORLD : CreateEntities
|
||||
20:58:13.662 ENTITY : Create entity @"ENTITY:610406" ('StaticModelEntity','Assets/Structures/Infrastructure/Towers/TransmitterTower_01/TransmitterTower_01_small.xob') at <1931.796021 81.777000 5138.725098> @"{6A004A8F0571D456}Prefabs/Structures/Infrastructure/Towers/TransmitterTower_01/TransmitterTower_01_small.et"
|
||||
20:58:13.662 ENTITY : CreateComponent 'ScriptedRadioComponent'
|
||||
20:58:13.662 DEFAULT (W): World doesn't contain RadioManagerEntity to support any BaseRadioComponent.
|
||||
20:58:15.116 ENTITY : Create entity @"ENTITY:842066" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1080.213013 10.776751 6018.347168>
|
||||
20:58:15.116 ENTITY : CreateComponent 'Hierarchy'
|
||||
20:58:15.116 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842066" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1080.213013 10.776751 6018.347168>')
|
||||
20:58:15.116 ENTITY : Create entity @"ENTITY:842068" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1082.185913 10.778749 6018.331055>
|
||||
20:58:15.116 ENTITY : CreateComponent 'Hierarchy'
|
||||
20:58:15.116 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842068" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1082.185913 10.778749 6018.331055>')
|
||||
20:58:15.116 ENTITY : Create entity @"ENTITY:842070" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1084.190918 10.790751 6018.334961>
|
||||
20:58:15.116 ENTITY : CreateComponent 'Hierarchy'
|
||||
20:58:15.116 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842070" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <1084.190918 10.790751 6018.334961>')
|
||||
20:58:15.121 ENTITY : Create entity @"ENTITY:842333" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4425.594727 9.981750 11029.402344>
|
||||
20:58:15.121 ENTITY : CreateComponent 'Hierarchy'
|
||||
20:58:15.121 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842333" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4425.594727 9.981750 11029.402344>')
|
||||
20:58:15.122 ENTITY : Create entity @"ENTITY:842335" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4426.584473 9.983749 11031.109375>
|
||||
20:58:15.122 ENTITY : CreateComponent 'Hierarchy'
|
||||
20:58:15.122 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842335" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4426.584473 9.983749 11031.109375>')
|
||||
20:58:15.122 ENTITY : Create entity @"ENTITY:842337" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4427.572266 9.995750 11032.853516>
|
||||
20:58:15.122 ENTITY : CreateComponent 'Hierarchy'
|
||||
20:58:15.122 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842337" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <4427.572266 9.995750 11032.853516>')
|
||||
20:58:15.126 ENTITY : Create entity @"ENTITY:842591" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.946289 10.470250 1551.986084>
|
||||
20:58:15.126 ENTITY : CreateComponent 'Hierarchy'
|
||||
20:58:15.126 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842591" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.946289 10.470250 1551.986084>')
|
||||
20:58:15.126 ENTITY : Create entity @"ENTITY:842593" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.430664 10.472250 1550.081421>
|
||||
20:58:15.126 ENTITY : CreateComponent 'Hierarchy'
|
||||
20:58:15.127 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842593" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10009.430664 10.472250 1550.081421>')
|
||||
20:58:15.127 ENTITY : Create entity @"ENTITY:842595" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10008.926758 10.484250 1548.140869>
|
||||
20:58:15.127 ENTITY : CreateComponent 'Hierarchy'
|
||||
20:58:15.127 ENTITY (W): Invalid PivotID 'socket_light_04' in Hierarchy component ('@"ENTITY:842595" ('GameEntity','Assets/Structures/BuildingsParts/Lights/LampTower_01.xob') at <10008.926758 10.484250 1548.140869>')
|
||||
20:58:22.684 WORLD : InitEntities 'world'
|
||||
20:58:22.684 ENTITY : Init entity @"ENTITY:2305843009213693953" ('Rereintroduced', ERR_GameMode) at <1076.468018 51.000999 1325.246948> @"{978E045E53EF36C8}Prefabs/ERR/GameMode.et"
|
||||
20:58:22.684 SCRIPT (W): SCR_PerceivedFactionManagerComponent trying to set fall back faction 'CIV' but this faction could not be found so it is null instead.
|
||||
20:58:23.223 ENTITY : SpawnEntityPrefab @"{225E51284CC95CFA}Prefabs/Characters/Core/DefaultPlayerControllerMP.et"
|
||||
20:58:23.224 ENTITY : Create entity @"ENTITY:4611686018427388381" ('SCR_PlayerController') at <0.000000 0.000000 0.000000>
|
||||
20:58:23.224 ENTITY : EntityPrefabUse @"{225E51284CC95CFA}Prefabs/Characters/Core/DefaultPlayerControllerMP.et"
|
||||
20:58:23.224 SCRIPT (W): Notification data in 'SCR_NotificationsLogDisplay' has duplicate notification info key: 'EDITOR_PERCEIVED_FACTION_PUNISHMENT_KILLING_SET'. There should only be one of each key!
|
||||
20:58:23.224 SCRIPT (W): Notification data in 'SCR_NotificationsLogDisplay' has duplicate notification info key: 'EDITOR_PERCEIVED_FACTION_TYPE_DISABLED'. There should only be one of each key!
|
||||
20:58:23.226 SCRIPT (W): Can't open config file ""
|
||||
20:58:23.233 WORLD : InitEntities 'world'
|
||||
20:58:23.233 ENTITY : Init entity @"ENTITY:4611686018427388381" ('SCR_PlayerController') at <0.000000 0.000000 0.000000> @"{225E51284CC95CFA}Prefabs/Characters/Core/DefaultPlayerControllerMP.et"
|
||||
20:58:23.233 GUI : WidgetManager: CrateWidgets @"{3C9DCDD76AB83157}UI/layouts/HUD/HUDLayouts/HUDManager_Root.layout"
|
||||
20:58:23.233 SCRIPT (W): Slot_WeaponInfo Has no Content!
|
||||
20:58:23.233 SCRIPT (W): Slot_Chat Has no Content!
|
||||
20:58:23.233 SCRIPT (W): Slot_VON Has no Content!
|
||||
20:58:23.234 SCRIPT (W): Slot_AvailableActions Has no Content!
|
||||
20:58:23.234 SCRIPT (W): Slot_Vehicle Has no Content!
|
||||
20:58:23.234 SCRIPT (W): Slot_GameVersion Has no Content!
|
||||
20:58:23.234 SCRIPT (W): Slot_Notifications Has no Content!
|
||||
20:58:23.234 SCRIPT (W): Slot_Hints Has no Content!
|
||||
20:58:23.245 ENTITY : SpawnEntityPrefab @"{59EF8ECAE1DCD417}Prefabs/Editor/Modes/EditorModeEdit.et"
|
||||
20:58:23.246 ENTITY : Create entity @"ENTITY:4611686018427388384" ('SCR_EditorModeEntity') at <0.000000 0.000000 0.000000>
|
||||
20:58:23.246 ENTITY : EntityPrefabUse @"{59EF8ECAE1DCD417}Prefabs/Editor/Modes/EditorModeEdit.et"
|
||||
20:58:23.247 SCRIPT (W): SCR_EntityCatalogManagerComponent.GetFilteredEditorPrefabsOfAllFactions: Detected that {259EE7B78C51B624}UAZ469.et is present in at least two different faction entity catalogs! Since this may cause issues, such as dupliacted entries in build mode, one of them will be discarded! This is only supported for items. Other things require creation of faction specific variants.
|
||||
20:58:23.247 SCRIPT (W): SCR_EntityCatalogManagerComponent.GetFilteredEditorPrefabsOfAllFactions: Detected that {DF5CCB7C0FF049F4}Mi8MT_unarmed_transport.et is present in at least two different faction entity catalogs! Since this may cause issues, such as dupliacted entries in build mode, one of them will be discarded! This is only supported for items. Other things require creation of faction specific variants.
|
||||
20:58:23.250 SCRIPT (W): Ban Settings could not be loaded from BE Storage: Relying on default config
|
||||
20:58:23.505 WORLD : UpdateEntities
|
||||
20:58:23.505 WORLD : PostFrame
|
||||
20:58:23.506 GUI : WidgetManager: CrateWidgets @"{D89BBA18F99053D6}UI/layouts/HUD/Chat/ChatHud.layout"
|
||||
20:58:23.506 SCRIPT (W): EditBoxFilterComponent used on invalid widget type.
|
||||
20:58:23.550 RESOURCES : GetResourceObject @"{20A6917D2114E29A}UI/layouts/HUD/Hint/HintInfoDisplay.layout"
|
||||
20:58:23.550 GUI : Layout load @"{20A6917D2114E29A}UI/layouts/HUD/Hint/HintInfoDisplay.layout"
|
||||
20:58:23.550 GUI : Widget prefab @"{EA1CC57D868E94F9}UI/layouts/HUD/Hint/Hint.layout"
|
||||
20:58:23.550 GUI (W): Overridden prefab member (GUID: '{661AB14E0F471C66}' type: ButtonWidgetClass) no longer exists in prefab
|
||||
20:58:25.978 WORLD : UpdateEntities
|
||||
20:58:25.978 WORLD : AfterPostSimulate
|
||||
20:58:25.978 DEFAULT (W): Collider UCS_FG_DriveShaft_01 not found
|
||||
20:58:32.297 SCRIPT (E): ERR SMOKE FAIL: aircraft-field independent qualified candidate found before one finite allocation
|
||||
20:58:32.297 SCRIPT (E): ERR SMOKE FAIL: native actual aircraft field fixture
|
||||
@@ -0,0 +1,150 @@
|
||||
[gamescope] [[0;34mInfo[0m] [0;37mconsole:[0m gamescope version 3.16.28 (gcc 16.2.1)
|
||||
No CAP_SYS_NICE, falling back to regular-priority compute and threads.
|
||||
Performance will be affected.
|
||||
[gamescope] [[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/deckhd.steamdeck.deckhd-lcd.lua' (id: 4)
|
||||
[gamescope] [[0;34mInfo[0m] [0;37mscriptmgr:[0m Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/gpd.win4.lcd.lua' (id: 5)
|
||||
[gamescope] [[0;34mInfo[0m] [0;37mscriptmgr:[0m Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/lenovo.legiongo.lcd.lua' (id: 6)
|
||||
[gamescope] [[0;34mInfo[0m] [0;37mscriptmgr:[0m Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/lenovo.legiongos.lcd.lua' (id: 7)
|
||||
[gamescope] [[0;34mInfo[0m] [0;37mscriptmgr:[0m Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/onexplayer.f1.oled.lua' (id: 8)
|
||||
[gamescope] [[0;34mInfo[0m] [0;37mscriptmgr:[0m Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/valve.steamdeck.lcd.lua' (id: 9)
|
||||
[gamescope] [[0;34mInfo[0m] [0;37mscriptmgr:[0m Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/valve.steamdeck.oled.lua' (id: 10)
|
||||
[gamescope] [[0;34mInfo[0m] [0;37mscriptmgr:[0m Running script file '/usr/share/gamescope/scripts/00-gamescope/displays/zotac.zone.oled.lua' (id: 11)
|
||||
[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 :2
|
||||
The XKEYBOARD keymap compiler (xkbcomp) reports:
|
||||
> Warning: Multiple symbols for level 1/group 1 on key <FK23>
|
||||
> Using F23, ignoring XF86TouchpadOff
|
||||
> Warning: Symbol map for key <FK23> redefined
|
||||
> Using last definition for conflicting fields
|
||||
> Warning: Symbol map for key <FK24> redefined
|
||||
> Using last definition for conflicting fields
|
||||
> Warning: Could not resolve keysym XF86ElectronicPrivacyScreenOn
|
||||
> Warning: Could not resolve keysym XF86ElectronicPrivacyScreenOff
|
||||
> Warning: Could not resolve keysym XF86ActionOnSelection
|
||||
> Warning: Could not resolve keysym XF86ContextualInsert
|
||||
> Warning: Could not resolve keysym XF86ContextualQuery
|
||||
Errors from xkbcomp are not fatal to the X server
|
||||
[gamescope] [[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: 186
|
||||
[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
|
||||
ATTENTION: default value of option vk_wsi_force_swapchain_to_current_extent overridden by environment.
|
||||
[Gamescope WSI] Application info:
|
||||
pApplicationName: xalia.exe
|
||||
applicationVersion: 0
|
||||
pEngineName: DXVK
|
||||
engineVersion: 12587008
|
||||
apiVersion: 4206592
|
||||
[Gamescope WSI] Executable name: xalia.exe
|
||||
ATTENTION: default value of option vk_wsi_force_swapchain_to_current_extent overridden by environment.
|
||||
[Gamescope WSI] No application info given.
|
||||
[Gamescope WSI] Application info:
|
||||
pApplicationName: ArmaReforgerWorkbenchSteamDiag.exe
|
||||
applicationVersion: 1
|
||||
pEngineName: DXVK
|
||||
engineVersion: 12587008
|
||||
apiVersion: 4206592
|
||||
[Gamescope WSI] Executable name: ArmaReforgerWorkbenchSteamDiag.exe
|
||||
ATTENTION: default value of option vk_wsi_force_swapchain_to_current_extent overridden by environment.
|
||||
[Gamescope WSI] No application info given.
|
||||
The XKEYBOARD keymap compiler (xkbcomp) reports:
|
||||
> Warning: Unsupported maximum keycode 709, clipping.
|
||||
> X11 cannot support keycodes above 255.
|
||||
> Warning: Virtual modifier Hyper multiply defined
|
||||
> Using 0, ignoring 0
|
||||
> Warning: Virtual modifier ScrollLock multiply defined
|
||||
> Using 0, ignoring 0
|
||||
Errors from xkbcomp are not fatal to the X server
|
||||
ATTENTION: default value of option vk_wsi_force_swapchain_to_current_extent overridden by environment.
|
||||
[Gamescope WSI] Application info:
|
||||
pApplicationName: ArmaReforgerWorkbenchSteamDiag.exe
|
||||
applicationVersion: 0
|
||||
pEngineName: DXVK
|
||||
engineVersion: 12587008
|
||||
apiVersion: 4206592
|
||||
ATTENTION: default value of option vk_wsi_force_swapchain_to_current_extent overridden by environment.
|
||||
[Gamescope WSI] Application info:
|
||||
pApplicationName: ArmaReforgerWorkbenchSteamDiag.exe
|
||||
applicationVersion: 0
|
||||
pEngineName: vkd3d
|
||||
engineVersion: 12587008
|
||||
apiVersion: 4206592
|
||||
[Gamescope WSI] Forcing on VK_EXT_swapchain_maintenance1.
|
||||
ATTENTION: default value of option vk_wsi_force_swapchain_to_current_extent overridden by environment.
|
||||
[Gamescope WSI] No application info given.
|
||||
ATTENTION: default value of option vk_wsi_force_swapchain_to_current_extent overridden by environment.
|
||||
[Gamescope WSI] Application info:
|
||||
pApplicationName: ArmaReforgerWorkbenchSteamDiag.exe
|
||||
applicationVersion: 0
|
||||
pEngineName: vkd3d
|
||||
engineVersion: 12587008
|
||||
apiVersion: 4206592
|
||||
[Gamescope WSI] Forcing on VK_EXT_swapchain_maintenance1.
|
||||
[Gamescope WSI] Creating Gamescope surface: xid: 0x1a001a4
|
||||
[Gamescope WSI] Atom of T was wrong type. Expected XCB_ATOM_CARDINAL.
|
||||
[Gamescope WSI] Made gamescope surface for xid: 0x1a001a4
|
||||
[Gamescope WSI] Surface state:
|
||||
steam app id: 1874910
|
||||
window xid: 0x1a001a4
|
||||
wayland surface res id: 5
|
||||
layer client flags: 0x4
|
||||
server hdr output enabled: false
|
||||
hdr formats exposed to client: false
|
||||
[Gamescope WSI] Creating Gamescope surface: xid: 0x1a0039a
|
||||
[Gamescope WSI] Atom of T was wrong type. Expected XCB_ATOM_CARDINAL.
|
||||
[Gamescope WSI] Made gamescope surface for xid: 0x1a0039a
|
||||
[Gamescope WSI] Surface state:
|
||||
steam app id: 1874910
|
||||
window xid: 0x1a0039a
|
||||
wayland surface res id: 10
|
||||
layer client flags: 0x4
|
||||
server hdr output enabled: false
|
||||
hdr formats exposed to client: false
|
||||
[Gamescope WSI] Creating swapchain for xid: 0x1a0039a - oldSwapchain: (nil) - provided minImageCount: 3 - minImageCount: 3 - format: VK_FORMAT_B8G8R8A8_UNORM - colorspace: VK_COLOR_SPACE_SRGB_NONLINEAR_KHR - flip: false
|
||||
[Gamescope WSI] Created swapchain for xid: 0x1a0039a swapchain: 0x55555a01a7e0 - imageCount: 4
|
||||
[Gamescope WSI] Destroying swapchain: 0x55555a01a7e0
|
||||
[Gamescope WSI] Destroyed swapchain: 0x55555a01a7e0
|
||||
[Gamescope WSI] Creating swapchain for xid: 0x1a0039a - oldSwapchain: (nil) - provided minImageCount: 3 - minImageCount: 3 - format: VK_FORMAT_B8G8R8A8_UNORM - colorspace: VK_COLOR_SPACE_SRGB_NONLINEAR_KHR - flip: false
|
||||
[Gamescope WSI] Created swapchain for xid: 0x1a0039a swapchain: 0x555559fa8d50 - imageCount: 4
|
||||
[Gamescope WSI] Destroying swapchain: 0x555559fa8d50
|
||||
[Gamescope WSI] Destroyed swapchain: 0x555559fa8d50
|
||||
[Gamescope WSI] Creating swapchain for xid: 0x1a0039a - oldSwapchain: (nil) - provided minImageCount: 3 - minImageCount: 3 - format: VK_FORMAT_B8G8R8A8_UNORM - colorspace: VK_COLOR_SPACE_SRGB_NONLINEAR_KHR - flip: false
|
||||
[Gamescope WSI] Created swapchain for xid: 0x1a0039a swapchain: 0x555559fa1ef0 - imageCount: 4
|
||||
[gamescope] [[0;34mInfo[0m] [0;37mlaunch:[0m Primary child shut down!
|
||||
+203
@@ -0,0 +1,203 @@
|
||||
{
|
||||
"addons/ai/Prefabs/ERR/MortarCrew.et": "05d3e7353ff9fe5523218a1487b31b7b742b0be8adbcb060c7099978cf008bce",
|
||||
"addons/ai/Prefabs/ERR/MortarCrew.et.meta": "fdfd4fcd21a67c3d698fa4aadc4e5c76e665cebf4be86013bc389e493fab63cc",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_AircraftControlBridge.c": "b8f0141644d8f043c6db4c2d4bb93215c548e5c27ab5468c66e996d62bdf905a",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_AircraftFieldEnvelope.c": "c02c8e6fbdfd3b8c67461590d532019d3bf0002307b19aee604eb17ad230c329",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_AircraftFieldFlight.c": "e3322b6d85b1234bfbf218a119cf6f7eed0b9ddd160004d2d9fe02c64ed857ba",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_AircraftFieldRules.c": "395eadae1067f230c26dbf73f43e39180173e173fd04a346839c474e084feaae",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_AircraftFlight.c": "aa25a8e67a30c48677bf528236402b7f8e5d815dc18df93b878520ad3d1fe8a7",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_AircraftFlightEnvelope.c": "8125cef61fb283d0d7c4dd2df3c04b062b448f1101fd48dd53f4f4097df5fef3",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_AircraftRouteEnvelope.c": "e8fcef844239c47a1f2f36be420afe943bc450091b05859435406b46c87fa511",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_AircraftRouteFlight.c": "1d8d92bf6d97429d68a9f62018232e90cc124cc8d7445efeabe863706a31e2b9",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_AircraftService.c": "3f05209227986b5c6bfb193f8f53783cfd4ef083bce898e22257c3e63daed913",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_HQ.c": "7ee8e7a3282fd566ec330c94854b353b2c6178e9b964f7b4d5e197e4d0b7dee9",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_HQJournal.c": "b3e402cfe92d415f37f666045afb062e6e11670ba03a0ca6f2d9fd4fc3520ac1",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_HQNetwork.c": "92ff2caca52e94c2cc9642dfc8509ce6e9349b257012bade8650bace9231128c",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_HQObservation.c": "36c978ec5f052213ac1236e1398d85063efbfd7ef60fe04f1fc11447fefe1d68",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_HQReport.c": "c4d16ccb571db4d9444c0a8d2be7318845d25ff90238b6d304e96a9ea19f1a08",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_HelicopterAvailability.c": "60eaef2f6d4b2fd44861c5a4434ef97e732e40a5ff7401e2da451ed2dd9c2762",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_MortarAimSolution.c": "59e8343d09f7a44871d8d3335d6ad1d02216abb5deed30d38b5ec9ba3f2c0649",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_MortarBattery.c": "a4eed96d17f239cbf353863ebe40d2282aeacd7a4d63a7b2f0ecfb3d93a2e2b2",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_MortarCourierTransfer.c": "968e58ca700b4a11e5e04a5c159696f514a0b1bce531210172b913e495f7e2b7",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_MortarFiring.c": "7aec51c83972610d1bcbca58b84b14f16f59952d402b12c3d88e7192a3e2ee90",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_MortarLogistics.c": "e1ffb25fba384b449de576a5502a93d875c3f52e8da1941bbf590ad9845f9730",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_MortarPrediction.c": "470dd196ed64800c697d24c09d1344bacd2502587fac76af4ee0edae2563092d",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_MortarReadiness.c": "2fabe8f812fd333cea7199d1eb722c807fcc5adb285c618956bd54d31fa27ce3",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_MortarRefresh.c": "52ae8d9d6cad92f42d68c634091b80a474d2666b6c06d63a8c30a3fab71494c4",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_MortarReportLedger.c": "42a96040b63e56677353e55164ae23031c90f70b4d6673a9f412ad7b19e636ae",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_MortarSalvo.c": "697c01f479df6c505a41d984a29c02002e3052114dafa2ec6252ae55e2979a2b",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_MortarSupplyTransfer.c": "34f7eaa01dc68e97aae8c1177b7f8fd6c15d5a41c6dc86de377f00b3613a8e77",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_MortarSystem.c": "4edefc8530cc6eec7a5e1df1d0b7d56e6801186f23c61331ce0e8075b8281efb",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_NativeAircraftControlProbe.c": "0cf3e72ccdc42e6ef20fb71d743f0e037a9e69b2e082c720fa705628cf790205",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_NativeAircraftFieldProbe.c": "d2d2dd65e202672f285ed9afb7ee0247da31b8eb29e0fc3091ccb846f49236e8",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_NativeAircraftRouteProbe.c": "8d0dca97e5106d1c84b64992c789e1af0689514beefc027e713ca6ab901fc470",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_NativeMortarCourierProbe.c": "740c8bebbd4128a9311b1167d1058549475d6b46f81c9b6c0d19650f4b50616f",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_NativeMortarFiringProbe.c": "ee570d21bede8baebefc799399712d9582b3e30ebda7299f6c941777f02ad2a2",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_NativeMortarSalvoProbe.c": "5fd7bb8953f6850ad79e646c0c286153108a10ee2d5ef397ccb65a07f8d2ed7c",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_NativeMortarTransferProbe.c": "399c21940ef10777b46fdb3e905430ce43404ce1de2f4a6bb62f9c61c1a0689c",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_NativePatrolHQProbe.c": "4c04aa3e1b6b000747da8e2a919a6501107880fd041134c019f516665bb6f758",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_SettlementSafety.c": "e5c0ebc95521a9a33a3f7d9cca6c551dda862a08b7af20b017877aba9584795b",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_SupportScenario.c": "71757018ec9716c4dc24f62a292a214919d3fd5daed3c16e03e56abd208e9f03",
|
||||
"addons/ai/addon.gproj": "5f559db8f526700db11e6ae763f5245f19b7006fc68c56e4c09fb6f940bdf2a1",
|
||||
"addons/chat/Missions/ERR_Everon.conf": "76f3ac0d21b585654beac7ddd68e3c8cbdd66dbfe909b17b04838fa813a7c29b",
|
||||
"addons/chat/Missions/ERR_Everon.conf.meta": "0a23c98bf83873536c65fa17d38dea33a1d7b9e4ab210f90633ff688abcc551f",
|
||||
"addons/chat/Scripts/Game/ERR/ERR_AdminCommands.c": "d7b4ed95fc32767911936cb0fcc60763233f2c31afd34a6a0fa998b39cec9f5c",
|
||||
"addons/chat/Scripts/Game/ERR/ERR_NativeHQResponseProof.c": "0f8b09fd8753234c91fd6baaca0e2f812e409ae1c4be8f340b648ae59b69c2f3",
|
||||
"addons/chat/Scripts/Game/ERR/ERR_NativeMortarProbe.c": "ddb892141500c192c0787b011d57dd8c07dd8c9a3ca5fdc407f6c271897bde0a",
|
||||
"addons/chat/Scripts/Game/ERR/ERR_NativeRadioProbe.c": "84524163c63402755b4f834f74dfe6d8e5c397dc26031f532593c6f79f5a93b1",
|
||||
"addons/chat/Scripts/Game/ERR/ERR_NativeSmoke.c": "04400b71fd5e203e7cc4ff459fe6b49e8abb81c9cd215551a3f280ac8493e663",
|
||||
"addons/chat/Scripts/Game/ERRChat/ERR_OrdinaryScenarioLaunchChat.c": "dda715c9691d366e35fa2ad5e390dee1971651f137a5a9f9aeb23dcbe53ec87e",
|
||||
"addons/chat/Scripts/WorkbenchGame/ERR/ERR_ValidateWorldPlugin.c": "81c92d408ce88cc9f98d6053f1d0c863427693ba748f00df9f1bf8079015ef94",
|
||||
"addons/chat/addon.gproj": "ea1587e0174cf795334d306c71d99b06797fc891427cd57b6cab6e21cf0e4e0e",
|
||||
"addons/core/Configs/ERR/EveronSites.conf": "ade92cc8d2b14a84ac378bbbb52608b351dca65d359dd7a315d64a145fa4b46f",
|
||||
"addons/core/Configs/ERR/EveronSites.conf.meta": "d5fe68025ef4e7c1e16082cf5873b7c7172eacbfaef4ab29b7e0e3c98f8dca56",
|
||||
"addons/core/Configs/ERR/Factions/MissionVehicles.conf": "5f74f4a7089c7e7b54ad62463159ce8f0bab25a6b85268dc3872ea6001e048fb",
|
||||
"addons/core/Configs/ERR/Factions/MissionVehicles.conf.meta": "00c368b6271d3440cc8bf627b03a384d247635723923fc5ad2104b8b4007b035",
|
||||
"addons/core/Configs/ERR/Factions/US.conf": "4c3da063abb6e3ee39a6e4e0c5a9ffd5eae9d209d58470ea18b45dba5528db1b",
|
||||
"addons/core/Configs/ERR/Factions/US.conf.meta": "a05469aef028e9e17eba545e81e2af2887b59f0fef17dac51a23c7b8155e381b",
|
||||
"addons/core/Configs/ERR/Factions/USSR.conf": "407ea27f80a64c5184c089d43cdd0bdabfc5974c84f1d2a245081fdf2afa3f30",
|
||||
"addons/core/Configs/ERR/Factions/USSR.conf.meta": "057397d97096346791b51b7b13fbe18af218bcf78e9984d9c01b49a2403de611",
|
||||
"addons/core/Configs/ERR/GameOverScreens.conf": "45231061911a1462d45fb6db0fecc2b0793f17b5ae71017174954ff4fbd20236",
|
||||
"addons/core/Configs/ERR/GameOverScreens.conf.meta": "eb654b745c0b97b41c991694569ef4877a3c2315e0826f9556337cd68690843e",
|
||||
"addons/core/Configs/ERR/VanillaFactions.conf": "db890b61b48ee15484041fd2245a862d9fa9e7ba21b1229c281ff37c448a35b1",
|
||||
"addons/core/Configs/ERR/VanillaFactions.conf.meta": "ac77725c0c21974991ef47a466b88122e939de8b46fd23e68889e7674cbb2bfd",
|
||||
"addons/core/Missions/ERR_Everon_Base.conf": "1e6a0e9a756d15495201f71121626890f01efe6b00154c561672d4ec157960bd",
|
||||
"addons/core/Missions/ERR_Everon_Base.conf.meta": "9b16267c644d815bcf98a3a3aaff30b93d7224fb24d3a2bac66730a28011f317",
|
||||
"addons/core/Prefabs/ERR/Extraction.et": "1aa286ef253c5410f09fa641e4be91a7be8ec834487a7fbb74cfb45cab60ee1e",
|
||||
"addons/core/Prefabs/ERR/Extraction.et.meta": "c2a838633001e2e3a202d39cb33aa744ebcd996017ad032359069641b5d13853",
|
||||
"addons/core/Prefabs/ERR/FactionManager.et": "425f916b890019c537f6b2f72b1af9e7be54b0a476320da969e1f313a7ac5ea5",
|
||||
"addons/core/Prefabs/ERR/FactionManager.et.meta": "9bf53d5e4bcbe60dd1a4ece1409fc23c349055c860708620f5f6e9716290a97d",
|
||||
"addons/core/Prefabs/ERR/FieldCover.et": "20f8095e69dbfe3db74ff19078e528ea75405362b335e03560ccd61f8df2e7f3",
|
||||
"addons/core/Prefabs/ERR/FieldCover.et.meta": "83461ffa76244e1d69f20b053a9741ccdf7d127009182bd540a7e5ba6150c3d9",
|
||||
"addons/core/Prefabs/ERR/GameMode.et": "385c97a5b8067091d92aa60c2d4fcf02002cf606b95523866ead65c96b8c0029",
|
||||
"addons/core/Prefabs/ERR/GameMode.et.meta": "106769cd34525c9d440057072836cb7401a6752148c40edd7fe61c03bd58328c",
|
||||
"addons/core/Prefabs/ERR/ObjectiveDocument.et": "2e72270bf186654af12d2c3ff9bf940690b03fb17fca44f873c1fde5d11384c0",
|
||||
"addons/core/Prefabs/ERR/ObjectiveDocument.et.meta": "eaba9903be147b98a1106e2273e2270773df73b9b22f2cd4e20136a8e281382e",
|
||||
"addons/core/Prefabs/ERR/Patrol.et": "c5685a8bc311cc5563fb3334beec9408d3d7a1069152fddeeb7df4f1b7f9e6ce",
|
||||
"addons/core/Prefabs/ERR/Patrol.et.meta": "7c5da568fa2fcf0709ee2959253cb068d7c7ed7c2467af3b247a7e70efd96b69",
|
||||
"addons/core/Prefabs/ERR/Prison.et": "dcd3f4dfd453303d026e68b64f7de6125bd3390822d8432dd95a3710a5b3df89",
|
||||
"addons/core/Prefabs/ERR/Prison.et.meta": "2e426ef3de68f4107907854b51e818bc11d84649a01c538e3f18dd9ebec766bb",
|
||||
"addons/core/Prefabs/ERR/PrisonDoor.et": "fc66be9d36f1f01084de59f1b0a1e8817f9e46547ead33d4fafaac0107446c40",
|
||||
"addons/core/Prefabs/ERR/PrisonDoor.et.meta": "b8f3db52bf186426026668fbb9d633c3cbd4d438ab301fba880398f6a0e781c2",
|
||||
"addons/core/Prefabs/ERR/PrisonWall.et": "8009d19365ae72a4749d7ad4fa04662575b06c65c6bf06507d380d57258b5eed",
|
||||
"addons/core/Prefabs/ERR/PrisonWall.et.meta": "0294bc5dbb56f90f8153d62459bb0a6ad91d76a479812bbec9c7db182fdb58d6",
|
||||
"addons/core/Prefabs/ERR/Prisoner.et": "198b5badabb12f218f86df7eb4dc268fd830769dc3de7eef6362cfaee4d6fc8d",
|
||||
"addons/core/Prefabs/ERR/Prisoner.et.meta": "974278ba49fafeed70b619a0067bbc70ae4d534be441c812ce2bef4a5fb3c022",
|
||||
"addons/core/Prefabs/ERR/Radio.et": "b4b5cfe125b39019855816c9a1c508ca4d65d435b5546fdaa6c1fa3c8c9b1165",
|
||||
"addons/core/Prefabs/ERR/Radio.et.meta": "bc91137b68ba550217914fb8892bb44d7e1920e4a1086f3e506623832a44212f",
|
||||
"addons/core/Prefabs/ERR/SpectatorCamera.et": "b5b87d5b7b707f3745741aebe7c923067c8a74f8fbb2a4711834bab03bb5a812",
|
||||
"addons/core/Prefabs/ERR/SpectatorCamera.et.meta": "2a16558f93915e31908a674509e9c89976470f78a84a1174a64b94b68b8f77ad",
|
||||
"addons/core/Prefabs/ERR/SupplyCache.et": "bccf7afbaae97cfcdd78dd6dbbf4be5b2c045d348f50fe4581962e556c0044d7",
|
||||
"addons/core/Prefabs/ERR/SupplyCache.et.meta": "2f5de3a4aab1e9d0e35521f48dc57b95bd6e449c383dec4f1c258e10295904cb",
|
||||
"addons/core/Prefabs/ERR/SupplySite.et": "dc5decce5cabf39b6116e8794ec3960cb1e35761854fdbe69740da118787ded4",
|
||||
"addons/core/Prefabs/ERR/SupplySite.et.meta": "b41944b12eb3528ff7a3ac94258b18c66ef161aa6a38894aee300a1ac4798630",
|
||||
"addons/core/Scripts/Game/ERR/ERR_Actions.c": "cabb21413c90b252d29708b62228d0679c51c76e39ee0e483953ad7061b2b9d6",
|
||||
"addons/core/Scripts/Game/ERR/ERR_Actors.c": "bb5e2d065ec40629cebebf2be25958b992ad05dbc906c5f66dddbe6c6d4ff124",
|
||||
"addons/core/Scripts/Game/ERR/ERR_AdminService.c": "9985747d5ddaeb91bf27937836a6c369f8dcb353263b77a49212ec28c10ba4eb",
|
||||
"addons/core/Scripts/Game/ERR/ERR_CasualtyGroundSupport.c": "26f0c7ebe8563bb022f7c383674e7d8997b0cc35c7ea321d39d74f2493c1ed9d",
|
||||
"addons/core/Scripts/Game/ERR/ERR_CasualtyLoadingGameMode.c": "f4cf19440583ac24346831a2d5f1d7f734c031e46dc266c499972329dd0533cf",
|
||||
"addons/core/Scripts/Game/ERR/ERR_CasualtyLoadingOwner.c": "6346a05ddda030f7d9b6f026f977d5f018ee16002fa519e8c49dcd700c323dc7",
|
||||
"addons/core/Scripts/Game/ERR/ERR_CasualtyLoadingService.c": "93fe23d9e1da596886c33cf76bad92b0906ff5cdd8b5b21d58906e9270246201",
|
||||
"addons/core/Scripts/Game/ERR/ERR_DiscoveryMap.c": "7553c8cc1388cca3404994e36f96946c6abd1fefb08cef2fbb3ea1a62b22861b",
|
||||
"addons/core/Scripts/Game/ERR/ERR_DiscoveryService.c": "2793bb888566dd975e5bbf93fdb47a22e3b0f33a68d04992191cf6428ae942a0",
|
||||
"addons/core/Scripts/Game/ERR/ERR_DocumentComponent.c": "17bb76b80ebd3357e46d553c44674f602c7bd6901c92aec53ac8214194aa4ff2",
|
||||
"addons/core/Scripts/Game/ERR/ERR_EnvironmentService.c": "867e9f47adfb7a9819a8b58498688ff86127282cb89cf2529ae81f73e529e1c5",
|
||||
"addons/core/Scripts/Game/ERR/ERR_EscapeGameOverScreenInfo.c": "8893b161bf168884d62f1315d3c8aa9af4ca413f621d6f8e2525bb5245d5f509",
|
||||
"addons/core/Scripts/Game/ERR/ERR_ExtractionPlacement.c": "c30222ca25cc0e91dec4077e6b82b37a9edafcf2cbebd0be5b6bd8656b53adfe",
|
||||
"addons/core/Scripts/Game/ERR/ERR_ExtractionService.c": "91357099b4e0401196b67d48963be54be30e56bdba57cdac67dc20b8ebb883e9",
|
||||
"addons/core/Scripts/Game/ERR/ERR_FactionCatalog.c": "a5a8c53acf21259e14f59cb919535910f30dabff5a9179c664bc6a7a4d744d6e",
|
||||
"addons/core/Scripts/Game/ERR/ERR_GameMode.c": "b5b07abdfecde247b9d9d6f74dddfff50fde825f3c7fe6d86abd97e85f87b2e7",
|
||||
"addons/core/Scripts/Game/ERR/ERR_InitialGuardRules.c": "8c9d6b1dc4c2af96284e34f487eebb5a221091016ef108006dec60b4e3836558",
|
||||
"addons/core/Scripts/Game/ERR/ERR_Inventory.c": "b63e679d5b650b63a7a91dfc3f42a62f4be58b0338f6df3313e66d29a93bebf6",
|
||||
"addons/core/Scripts/Game/ERR/ERR_InventoryLayout.c": "1af5df45a0f06d19a017954e9bf4b2d722e2d2389f8ffdeb1d024435b9a08be8",
|
||||
"addons/core/Scripts/Game/ERR/ERR_ItemStationTeardown.c": "102e61216e86e47ad243cc19f6f66da1fcd8cc77f8799354ceaeb4a6dc74622e",
|
||||
"addons/core/Scripts/Game/ERR/ERR_LoadCasualtyAction.c": "5d868fb065a1a0fea7d5abfc81d1d8be96823815535f2ffd0dc4ff60d8eae794",
|
||||
"addons/core/Scripts/Game/ERR/ERR_LocalAdmission.c": "b0e824c6880cbf9b1f368dc7ada9907bde78b22b948d419b6c861323f32258be",
|
||||
"addons/core/Scripts/Game/ERR/ERR_Location.c": "d2035f56ded35743312ec6ca91a67f8623a466c91255e1893c570edf0954ff24",
|
||||
"addons/core/Scripts/Game/ERR/ERR_MissionRules.c": "f7abc38ad8fdc375ce7fa63a65f0bade027d22b37e09de5e3f94ba8c3c63cc41",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeAdminSettingsProbe.c": "6a4df33a2b0e6b6aeed944c6895961e658d4f0db9aed9b8433a43a451fa35cae",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeBaseSmoke.c": "7b35e53ceb91b8235fb753d42c8d5c80f6164b6d4cb53c685e058c409662708a",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeCasualtyGroundProbe.c": "41f40db3735f8aa535c0061458d9892dcfe972222b8a17238e67b65633c46bc3",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeCasualtyLoadProbe.c": "94c533deea654ec546df3f1ebb7cd213e6cd79b1125d99bab5303ef8e87b018b",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeCasualtyRemoveProbe.c": "4cfc06f6d43b709b63caae714155ffc562502e884f49a9825623c6f46972ad36",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeCasualtyServiceProbe.c": "02a9d70d1f4ba20326df199ba41489cfbae12b7bb0aab441361421cee38ad9ea",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeContractsProbe.c": "d1556df885171cf967e96eef5d8981a2e9ee4e3938b7d32fdd0426f647bbabc0",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeDefinitionProbe.c": "c07048341396443ddf5307e340e2087254d65f0bddf8f7d93e6b6bd7f03ca360",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeDiscoveryMapProbe.c": "9ed32d391d08d937ff4f9f33bd11c3a204ce9a2230c2d72b6761e0320b31f24f",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeEndProbe.c": "2dec80c7e247ec5c257407f95d9d5edd42fe0cc44d6af9f724f6ebd10d8a355f",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeEnvironmentProbe.c": "8b1d110717aa5f07bfb8fe633847eab519109e3a8a4100970a487be05c053418",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeEnvironmentRestartProbe.c": "7a836a206381b8e8de24c92baf141beb30575723675dd6948d738169ed26b507",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeExtractionProbe.c": "4b09385f73206de004f4f3c38a6192fd658a0d2012482dc5a84dff1599ceb972",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeFactionCatalogProbe.c": "ee11486cf77da9070506ccc0cfd6e94240c5387c8be455bf864934a8fef65f78",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeFlightFootprint.c": "a8862a04ac784426f431e2e9cd3f1f19f820b38a081674d29549b8b00277c72d",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeFlightInputDiagnostics.c": "e231dcbdaefe81beb3bd587cb73be8fb3d3184bc86d18dbaa30a43ca4ba5dcc4",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeGuardCancelProbe.c": "bfa1c65cb039e19c3d1891e4a3fd33469e974c97cc7f42128efc31a8f587d514",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeItemStationTeardownProbe.c": "028588a49fa9207087cd27ec9396979cd932daa071e2490bd0262cd71dae30d9",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeLifecycleProbe.c": "b613a5dbe81c2032fd02d31070ae5631166d14d0b02cdbec3b63b782f0bbc115",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeLocalAdmissionProbe.c": "29c860ca3e51cdaa463f3c23a98ff45ee0499ce9bbc322046e0efbed587f1e09",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeMedicalProbe.c": "43fa51ffbcf9dd0cd8e905a1135bcf0756651da3af34677f3c92e7d264ed70b6",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeObjectiveLossProbe.c": "6b80fd317a8c6e8583bd4337870838a86251e3b8a681d0aa07e8b52e22abfc48",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeObjectiveProbe.c": "71fbd2479a70048f83d8b262ad1452f427be2c0afc8b071ef13bff477b9dc29b",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativePatrolProbe.c": "02bd9fdf5454db7dd4c82240efe0d947bf8d6488ace42809c3aef6505cb6266d",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativePoweredFlightProbe.c": "7ae5d6f85bbbebec214c66bfdf6f53b93c802f109fcd5bcfbad82c5d61d6cb9f",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativePreparationStatusProbe.c": "456f4d7c3272b89d5f4c6713617baa5596d846994152356fee9a659839bcd8b5",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativePrisonBreachProbe.c": "22d0923cd69ba591e783011d424c97c86520272b70da9aa6a6d15558464c264c",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativePrisonerProbe.c": "e2d1ffe5d269add55124601ff0d1dc032a398c7d51010736e6f0e4cbeb38ae86",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeProgressionIdentityProbe.c": "1d3fe20bce761a1082964bca9bad9ce79d1fa8b04db9b5053bae98da380ae560",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeRadioDefenceProbe.c": "cad54f0b43cefd72df74697dfc7e93725ff0acac6d311e963ce4f817428c272c",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeRecoveryProbe.c": "4de6868cd3e76afb80cf0ae5dac1e35d2c417838f640c2f18aa3343217eea2f2",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeResultProbe.c": "db239385dc705840240d02448eabc77fa41162cfade6f21a275a3404339e8a31",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeSiteSurvey.c": "ac0203753ade0cdff6d483132797a80e4520f14546c3f9dea288281cd4cd9c4f",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeStationTeardownDiagnostic.c": "172248540932174341882861bb78a9720a6cf89981fcdf9dffe63f7fd4023f2c",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeTimeProbe.c": "c93d049785971e51246fcc07cf24804270a752a655505f2c38e48c80df5255ae",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeTransportProbe.c": "63ec0c5ce698114daa6314b2a6e3c3e98e76094117c477f9d0d072260686d193",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeTransportSurvey.c": "3e94493bf54d15be2bceb106ad18873e14e6755af09c05f07db7fb26fb7adff5",
|
||||
"addons/core/Scripts/Game/ERR/ERR_ObjectiveDetails.c": "628ebd166dcb5544c2d18dce489619984887ee18296cf2446fc6d894f89dd5bf",
|
||||
"addons/core/Scripts/Game/ERR/ERR_ObjectiveText.c": "3b73b19429c7746425470d73ce5983f9fd442e4cd6acaab87f8728ea4dccb0c2",
|
||||
"addons/core/Scripts/Game/ERR/ERR_Objectives.c": "88d95a52fcba103483ea751571e1afeae0e6fc82115ed50d6fc195424726960f",
|
||||
"addons/core/Scripts/Game/ERR/ERR_Observer.c": "16ab78acede9b0cab86c6a74f47ffd5b8a7c50f131f44d64a8826eac6896a279",
|
||||
"addons/core/Scripts/Game/ERR/ERR_OrdinaryGateObserver.c": "1e376ca83c0005cf532539e14d7f47363c47b7c5b03fe3d55405a59208705fd7",
|
||||
"addons/core/Scripts/Game/ERR/ERR_OrdinaryInputObserver.c": "808a46cc1e4b31b65dbbbcdd55493f594ebb3974bbec38b4a2402334c653c0ef",
|
||||
"addons/core/Scripts/Game/ERR/ERR_OrdinaryLookObserver.c": "d5a1b636938d65e9d11c78b31487f2924400c34d98e2ec812954a2a224da7dc0",
|
||||
"addons/core/Scripts/Game/ERR/ERR_OrdinaryScenarioLaunch.c": "a4e7e56d174ebd15b4730202dae4c8ed06144f3f27c23ed49c99e2d297dc421a",
|
||||
"addons/core/Scripts/Game/ERR/ERR_PlayerAdminCommands.c": "a084d7dc097dfcde3d6cd9c2e326b9e2f8f2a519f77b30c4f56ab7a1429aa721",
|
||||
"addons/core/Scripts/Game/ERR/ERR_PlayerEscapeResult.c": "3124ab4d2d6d471409a47aba0af528790734df53243c03fe0cdac3e407047c14",
|
||||
"addons/core/Scripts/Game/ERR/ERR_PlayerGuide.c": "59008466b1b0cf3e191ccf16ecb1f32493351df1155c167f237a35279d39c1ba",
|
||||
"addons/core/Scripts/Game/ERR/ERR_PlayerRoster.c": "c038dac0f749bd29ebc35a4e952904b41a34417ba738904d5efcd1833a263e0b",
|
||||
"addons/core/Scripts/Game/ERR/ERR_PreparationStatus.c": "1d8987d2dcc1db2a030e095b33d50f07877181037d339624156291d8317bfa5d",
|
||||
"addons/core/Scripts/Game/ERR/ERR_PrisonEscapeService.c": "ed6286342ed12cc9a3df618474f5647c7ac36bc65336be7a5bec908dee04421d",
|
||||
"addons/core/Scripts/Game/ERR/ERR_RadioDefenceService.c": "5d347cf1a3b021074d560aad8db774828b797e685b63ddff3d28f55781e33ea8",
|
||||
"addons/core/Scripts/Game/ERR/ERR_RadioFeedback.c": "545262e65e9b3645d9e514a0521e442fe08f0c2e4e7c83ba638c5105d09818db",
|
||||
"addons/core/Scripts/Game/ERR/ERR_RecoveryService.c": "ba9ffb93679012c20a665636ef6b201cbe7d8d14fdf53e8cd3eb12ac7248943f",
|
||||
"addons/core/Scripts/Game/ERR/ERR_Resources.c": "d0169aac6fd0c38928c47a9002ded0fd8ba558ea3314a600e792d307ac1ca3ee",
|
||||
"addons/core/Scripts/Game/ERR/ERR_ScenarioComponent.c": "abba03af68323d5715ba1e2497fc66f3c706e6a6a983c3a386228abdfddeec89",
|
||||
"addons/core/Scripts/Game/ERR/ERR_Settings.c": "b9390548936b386e0211d487c1b76b65410fdd2e339cd8ecd9585ef4f4ffed31",
|
||||
"addons/core/Scripts/Game/ERR/ERR_SiteDefinition.c": "b422feeaca90084ea2bee5cde94dc9c6fcae542749b55d95f7226f922a6a68ac",
|
||||
"addons/core/Scripts/Game/ERR/ERR_SiteDiscoveryRules.c": "50f7b3ff4f32bde37ce5ae2be7f598fc4dd8cc08f45914f6e3260d31c84baef2",
|
||||
"addons/core/Scripts/Game/ERR/ERR_SiteService.c": "6bc9a0b5aed326822807f05e17459d0fc2da10b709e8168972b4e40fd09f87cb",
|
||||
"addons/core/Scripts/Game/ERR/ERR_SpawnFinalization.c": "2e295b0f225208c5414728ba83333e5e0ab6eef3a708ce39eb1dfce5400c94c9",
|
||||
"addons/core/Scripts/Game/ERR/ERR_SpawnLogic.c": "ed88279cbeb3e5e6daf8471763df87a251881f550632eddadd08153594bbd1a1",
|
||||
"addons/core/Scripts/Game/ERR/ERR_SpawnPlacement.c": "55323dcb330c23d49dc8fa3fde86a3ae3958c0b6563d6c3cd0960da88333f93d",
|
||||
"addons/core/Scripts/Game/ERR/ERR_Supplies.c": "752e8a56b0b8cde33cf532032cb0a203553017b686faac2e19bee06f7a9c0713",
|
||||
"addons/core/Scripts/Game/ERR/ERR_TimeService.c": "d9f481b7da01e08d2c982a948c18ba6bde76889d7cc9d26d510708f4ba479453",
|
||||
"addons/core/Scripts/GameLib/ERR/ERR_DiagnosticNoSplash.c": "0ea1b402f8927b6d68bf6f7e5caa2967f7e3a39147634faab147796b791933b5",
|
||||
"addons/core/Scripts/WorkbenchGame/ERR/ERR_ValidateBaseWorldPlugin.c": "7f44aa64ea7b4f8b3640a37a4b781c43bf6adb80e4a3a702d9491131698056f6",
|
||||
"addons/core/UI/layouts/ERR/PreparationStatus.layout": "bd269cf8dc6f27735423743dd5b78242550518414448a0256e5e12fa6b92c459",
|
||||
"addons/core/UI/layouts/ERR/PreparationStatus.layout.meta": "75b12176a443bb911fc4ad446982d762201fda42ed38736b79bc5439fca31ccc",
|
||||
"addons/core/Worlds/ERR_Everon.ent": "22324bc7eb0d80dec8a1f3bd61a9df9201b72f749f4e751766b0c9d0b7d46b87",
|
||||
"addons/core/Worlds/ERR_Everon.ent.meta": "19d1903ca72baa326b4724a6791d0da1104a1e53f3f31dc1ca41a856efd68e83",
|
||||
"addons/core/Worlds/ERR_Everon_Layers/default.layer": "17105538007199bfc419aa04a64debaf2da0a7b77a1dc3ba983e92bf747c862e",
|
||||
"addons/core/addon.gproj": "231274e6b62302f32c65f9ff31de2ce8a9e51e1c8d12c87deeec82ae1f40de46",
|
||||
"addons/intel/Scripts/Game/ERR/ERR_IntelService.c": "5e167630a76437fd731fbb7a62a41381ea71509f3adb8a6b9c77f6816384861a",
|
||||
"addons/intel/addon.gproj": "d0ced242cefb220a5cccd6779d61fda9bc55581701b9f78bcf13c09d92ddbcbe",
|
||||
"addons/map/Materials/ERRM_MapRenderTarget.emat": "9877c5b175c5f30dd80bea36c711b21ab38219aa7075adf9ae79932e1d4c76bc",
|
||||
"addons/map/Materials/ERRM_MapRenderTarget.emat.meta": "5ee1a705f8011a44020ca2691f5ccc17d44bf596fef9a36e98d1f267eb58fab0",
|
||||
"addons/map/Prefabs/Items/Equipment/ERRM_SharedFieldMap.et": "30dee8e9eab459ea32a7d835a9fb89d43df47708057cab829f067b25a24cd581",
|
||||
"addons/map/Prefabs/Items/Equipment/ERRM_SharedFieldMap.et.meta": "59093e9072c50d99c86da7609c87541016da5bcf92b98d99db4c524e1c8e0e8d",
|
||||
"addons/map/Scripts/Game/ERR/ERR_ScenarioMap.c": "75fa1d742129ef7f33c005cd48f56db7f49ee7bde3c5428532b0b501b032b0a3",
|
||||
"addons/map/Scripts/Game/ERRMap/ERRM_NativeMapOwnershipProbe.c": "32418602f085e3edba7343f42a6a691630b533be262002f29248e8ae87a38254",
|
||||
"addons/map/Scripts/Game/ERRMap/ERRM_SharedMapComponent.c": "3a10f6ea25bf88a400bc3e6c339823433845c5db4f2f423835ccf99a1b1a843f",
|
||||
"addons/map/UI/layouts/ERRMap/SharedMapRenderTarget.layout": "49a2da4181b94d42174f58c7f9b6bf2207116c99427d61ff1c212092ac7db4d2",
|
||||
"addons/map/UI/layouts/ERRMap/SharedMapRenderTarget.layout.meta": "5c846445cc089e2e08899ba703059d4adb805ff30ab5a16409a3cd59718cbd54",
|
||||
"addons/map/addon.gproj": "1b371e5e01ea9fa46e76570fecb8aaa3a9298e34cba7ccca8a6bdb5ca86eb46a"
|
||||
}
|
||||
@@ -0,0 +1,45 @@
|
||||
{
|
||||
"schema_version": 1,
|
||||
"launch_id": "185fed96-6785-4956-a06a-801764e12b7b",
|
||||
"captured_unix": 1789844252.8275833,
|
||||
"source_root": "/home/jakub/devel/escapistsrereintroduced",
|
||||
"command": [
|
||||
"gamescope",
|
||||
"--backend",
|
||||
"headless",
|
||||
"-W",
|
||||
"1280",
|
||||
"-H",
|
||||
"720",
|
||||
"-w",
|
||||
"1280",
|
||||
"-h",
|
||||
"720",
|
||||
"-r",
|
||||
"30",
|
||||
"--",
|
||||
"/home/jakub/.local/share/Steam/steamapps/common/Proton - Experimental/proton",
|
||||
"run",
|
||||
"/home/jakub/.local/share/Steam/steamapps/common/Arma Reforger Tools/Workbench/ArmaReforgerWorkbenchSteamDiag.exe",
|
||||
"-gproj",
|
||||
"Z:/home/jakub/devel/escapistsrereintroduced/addons/chat/addon.gproj",
|
||||
"-addonsDir",
|
||||
"Z:/home/jakub/devel/escapistsrereintroduced/addons",
|
||||
"-profile",
|
||||
"Z:/tmp/erri-workbench-profile",
|
||||
"-logconsole",
|
||||
"-wbModule=WorldEditor",
|
||||
"-load",
|
||||
"Worlds/ERR_Everon.ent",
|
||||
"-plugin=ERR_ValidateWorldPlugin",
|
||||
"-errPlay",
|
||||
"1",
|
||||
"-errSmoke",
|
||||
"1",
|
||||
"-errSmokeOutcome",
|
||||
"aircraft-field",
|
||||
"-noThrow",
|
||||
"-disableCrashReporter"
|
||||
],
|
||||
"manifest_sha256": "ff47ec3c450cea8b642f88db5a9323bd6c99286cb8322d3c214e821d5a741209"
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
{
|
||||
"log": "docs/evidence/native-2026-09-19-205734-field-survey-refusal/console.log.txt",
|
||||
"smoke_completions": 0,
|
||||
"assertions_passed": 28,
|
||||
"script_or_runtime_failures": [
|
||||
"20:58:32.297 SCRIPT (E): ERR SMOKE FAIL: aircraft-field independent qualified candidate found before one finite allocation",
|
||||
"20:58:32.297 SCRIPT (E): ERR SMOKE FAIL: native actual aircraft field fixture"
|
||||
],
|
||||
"engine_errors": [
|
||||
"20:58:32.297 SCRIPT (E): ERR SMOKE FAIL: aircraft-field independent qualified candidate found before one finite allocation",
|
||||
"20:58:32.297 SCRIPT (E): ERR SMOKE FAIL: native actual aircraft field fixture"
|
||||
],
|
||||
"missing_end_screen": [],
|
||||
"scope": "scripted local Workbench integration only; no multiplayer, piloting or FPS claim"
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
#1 t=6.8s M0 REGISTER group 1 [session=1789844302-1]
|
||||
#2 t=6.8s M0 MORTAR DEPLOY site=1 order=0 radio=M0 source=M0 position=<6000,202.788,7000>; authored gun and four-person crew; finite ammunition initialization pending [session=1789844302-1]
|
||||
#3 t=7.7s M0 COURIER READY trip=0 state=1 delivered=0; 12 distinct original HE shells physically confirmed in existing western cache [session=1789844302-1]
|
||||
@@ -0,0 +1,37 @@
|
||||
{
|
||||
"stopped_unix": 1789844313.4251354,
|
||||
"console_sha256": "b0b5219ebb6afeafd6e00a51d15af0d65147683c35498049121e760862ec9d45",
|
||||
"end_source_sha256": "ff47ec3c450cea8b642f88db5a9323bd6c99286cb8322d3c214e821d5a741209",
|
||||
"source_unchanged_after_run": true,
|
||||
"source_provenance": "launch_snapshot",
|
||||
"launch_id": "185fed96-6785-4956-a06a-801764e12b7b",
|
||||
"launch_source_manifest": "launch-source-sha256.json",
|
||||
"launch_source_metadata": "launch-source.json",
|
||||
"launch_source_sha256": "ff47ec3c450cea8b642f88db5a9323bd6c99286cb8322d3c214e821d5a741209",
|
||||
"started_unix": 1789844252.8276513,
|
||||
"result": "test-failed",
|
||||
"result_before_cleanup": "test-failed",
|
||||
"cleanup_confirmed": true,
|
||||
"cleanup_report": {
|
||||
"cleanup_confirmed": true,
|
||||
"idle_verified": true,
|
||||
"errors": [],
|
||||
"orphan_cleanup": {
|
||||
"attempted": true,
|
||||
"report": {
|
||||
"scope": "/tmp/erri-headless-compat/pfx",
|
||||
"candidates": [],
|
||||
"term_sent": [],
|
||||
"kill_sent": [],
|
||||
"cleared": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"runner_error": null,
|
||||
"session": "/tmp/erri-workbench-profile/logs/logs_2026-09-19_20-57-34",
|
||||
"rounds_required": 1,
|
||||
"project": "chat",
|
||||
"display": "headless Gamescope 1280x720/30Hz",
|
||||
"dedicated_server": false,
|
||||
"audio": "silent sink and per-test-stream mute"
|
||||
}
|
||||
@@ -0,0 +1,257 @@
|
||||
---------------------------------------------
|
||||
Log Z:\tmp\erri-workbench-profile\logs\logs_2026-09-19_20-57-34\script.log started at 2026-09-19 20:57:37 (2026-09-19 18:57:37 UTC)
|
||||
|
||||
20:57:37.998 SCRIPT : SCRIPT : Initializing scripts
|
||||
20:57:37.998 SCRIPT : SCRIPT : ScriptProjectManager init
|
||||
20:57:40.426 SCRIPT : SCRIPT : Compiling GameLib scripts
|
||||
20:57:40.496 SCRIPT : Module: Workbench; loaded 18x files; 36x classes; used 125K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE"; CRC32: 90ce0460
|
||||
20:57:40.496 SCRIPT : Module: GameLib; loaded 466x files; 648x classes; used 828K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE"; CRC32: d66caacb
|
||||
20:57:40.497 SCRIPT : SCRIPT : Compiling Game scripts
|
||||
20:57:41.817 SCRIPT : Compiling Game scripts
|
||||
20:57:41.817 SCRIPT (W): @"Scripts/Game/Editor/Components/EditableEntity/SCR_EditableEntityComponent.c,785": 'GetPlayerPlatformKind' is obsolete
|
||||
20:57:41.817 SCRIPT (W): @"Scripts/Game/Editor/Components/EditableEntity/SCR_EditableEntityComponent.c,786": 'GetPlayerPlatformId' is obsolete
|
||||
20:57:42.001 SCRIPT (W): @"Scripts/Game/ERR/ERR_SiteService.c,191": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly.
|
||||
20:57:42.106 SCRIPT (W): @"Scripts/Game/Workshop/SCR_AddonManager.c,876": 'GetRefCount' is obsolete: Will be removed
|
||||
20:57:42.138 SCRIPT (W): @"Scripts/Game/Campaign/SCR_PlayerProfileManagerComponent.c,142": 'PlayerData' is obsolete
|
||||
20:57:42.252 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,159": 'GetDSSession' is obsolete
|
||||
20:57:42.252 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,162": 'RoomID' is obsolete
|
||||
20:57:42.252 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,197": 'GetDSSession' is obsolete
|
||||
20:57:42.252 SCRIPT (W): @"Scripts/Game/UI/Backend/CareerBackend.c,201": 'RoomID' is obsolete
|
||||
20:57:42.290 SCRIPT (W): @"Scripts/Game/ERR/ERR_CasualtyGroundSupport.c,21": 'GetBoneIndex' is obsolete: Use GetAnimation().GetBoneIndex() instead
|
||||
20:57:42.368 SCRIPT (W): @"Scripts/Game/DataCollection/SCR_DataCollectorComponent.c,481": 'GetStorage' is obsolete
|
||||
20:57:42.368 SCRIPT (W): @"Scripts/Game/DataCollection/SCR_DataCollectorComponent.c,483": 'GetOnlineWritePrivilege' is obsolete
|
||||
20:57:42.371 SCRIPT (W): @"Scripts/Game/Utilities/SCR_PlayerIdentityUtils.c,20": 'GetPlayerIdentityId' is obsolete
|
||||
20:57:42.430 SCRIPT (W): @"Scripts/Game/ERR/ERR_ExtractionService.c,45": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly.
|
||||
20:57:42.430 SCRIPT (W): @"Scripts/Game/ERR/ERR_ExtractionService.c,56": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly.
|
||||
20:57:42.432 SCRIPT (W): @"Scripts/Game/UI/Menu/MainMenuUI.c,643": 'GetNotifyCount' is obsolete: Will be substitued by Notification Api.
|
||||
20:57:42.432 SCRIPT (W): @"Scripts/Game/UI/Menu/MainMenuUI.c,645": 'GetNotifyItem' is obsolete: Will be substitued by Notification Api.
|
||||
20:57:42.474 SCRIPT (W): @"Scripts/Game/ERR/ERR_NativeTransportProbe.c,82": 'GetCompartmentType' is obsolete: Use GetType() on the compartment instance directly.
|
||||
20:57:42.507 SCRIPT (W): @"Scripts/Game/DataCollection/PlayerData/SCR_PlayerData.c,210": 'PlayerData' is obsolete
|
||||
20:57:42.789 SCRIPT : Module: WorkbenchGame; loaded 172x files; 617x classes; used 2482K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE"; CRC32: e963af0e
|
||||
20:57:42.796 SCRIPT : Module: Game; loaded 5796x files; 11413x classes; used 33797K of static memory; defines: "ENF_WB,WORKBENCH,PLATFORM_WINDOWS,ENABLE_DIAG,ENF_ENABLE_VHC_OVERRIDE,ENF_ENABLE_RPLCOMPONENT_IN_GAMECODE,ENABLE_BASE_DESTRUCTION,BUDGET_OPTIMIZATION_CHECKS,SHOW_DISCLAIMER,DEBUG,RESPAWN_TIMER_COMPONENT_DEBUG,GAME_MODE_DEBUG,DEBUG_CONFIGURABLE_DIALOGS,DISABLE_WEAPON_SWITCHING,SCRIPTED_AIM_MODIFIER_DEBUG"; CRC32: 76ed3b1e
|
||||
20:57:43.749 SCRIPT : Unable to register a script command due keyword duplicity: ban
|
||||
20:57:43.750 SCRIPT : Unable to register a script command due keyword duplicity: kick
|
||||
20:58:05.137 SCRIPT : ERR VALIDATION: prison terrain=211.344, radio terrain=159.656, extraction terrain=65.1562
|
||||
20:58:05.137 SCRIPT : ERR TERRAIN: x=6084 z=7154 y=211.531
|
||||
20:58:05.137 SCRIPT : ERR TERRAIN: x=6084 z=7157 y=211.516
|
||||
20:58:05.137 SCRIPT : ERR TERRAIN: x=6084 z=7160 y=211.5
|
||||
20:58:05.138 SCRIPT : ERR TERRAIN: x=6084 z=7163 y=211.453
|
||||
20:58:05.138 SCRIPT : ERR TERRAIN: x=6084 z=7166 y=211.406
|
||||
20:58:05.138 SCRIPT : ERR TERRAIN: x=6087 z=7154 y=211.438
|
||||
20:58:05.138 SCRIPT : ERR TERRAIN: x=6087 z=7157 y=211.438
|
||||
20:58:05.138 SCRIPT : ERR TERRAIN: x=6087 z=7160 y=211.422
|
||||
20:58:05.138 SCRIPT : ERR TERRAIN: x=6087 z=7163 y=211.391
|
||||
20:58:05.138 SCRIPT : ERR TERRAIN: x=6087 z=7166 y=211.344
|
||||
20:58:05.138 SCRIPT : ERR TERRAIN: x=6090 z=7154 y=211.344
|
||||
20:58:05.139 SCRIPT : ERR TERRAIN: x=6090 z=7157 y=211.344
|
||||
20:58:05.139 SCRIPT : ERR TERRAIN: x=6090 z=7160 y=211.344
|
||||
20:58:05.139 SCRIPT : ERR TERRAIN: x=6090 z=7163 y=211.328
|
||||
20:58:05.139 SCRIPT : ERR TERRAIN: x=6090 z=7166 y=211.281
|
||||
20:58:05.139 SCRIPT : ERR TERRAIN: x=6093 z=7154 y=211.25
|
||||
20:58:05.139 SCRIPT : ERR TERRAIN: x=6093 z=7157 y=211.281
|
||||
20:58:05.139 SCRIPT : ERR TERRAIN: x=6093 z=7160 y=211.25
|
||||
20:58:05.139 SCRIPT : ERR TERRAIN: x=6093 z=7163 y=211.234
|
||||
20:58:05.139 SCRIPT : ERR TERRAIN: x=6093 z=7166 y=211.188
|
||||
20:58:05.140 SCRIPT : ERR TERRAIN: x=6096 z=7154 y=211.156
|
||||
20:58:05.140 SCRIPT : ERR TERRAIN: x=6096 z=7157 y=211.172
|
||||
20:58:05.140 SCRIPT : ERR TERRAIN: x=6096 z=7160 y=211.156
|
||||
20:58:05.140 SCRIPT : ERR TERRAIN: x=6096 z=7163 y=211.141
|
||||
20:58:05.140 SCRIPT : ERR TERRAIN: x=6096 z=7166 y=211.094
|
||||
20:58:05.162 SCRIPT : ERR SITE CANDIDATE: position=<6090,211.344,7160> elevationRange=0.640625
|
||||
20:58:08.622 SCRIPT : Unable to register a script command due keyword duplicity: ban
|
||||
20:58:08.622 SCRIPT : Unable to register a script command due keyword duplicity: kick
|
||||
20:58:22.684 SCRIPT (W): SCR_PerceivedFactionManagerComponent trying to set fall back faction 'CIV' but this faction could not be found so it is null instead.
|
||||
20:58:22.713 SCRIPT : ERR SMOKE: scripted integration test enabled; gameplay acceptance remains separate
|
||||
20:58:23.224 SCRIPT (W): Notification data in 'SCR_NotificationsLogDisplay' has duplicate notification info key: 'EDITOR_PERCEIVED_FACTION_PUNISHMENT_KILLING_SET'. There should only be one of each key!
|
||||
20:58:23.224 SCRIPT (W): Notification data in 'SCR_NotificationsLogDisplay' has duplicate notification info key: 'EDITOR_PERCEIVED_FACTION_TYPE_DISABLED'. There should only be one of each key!
|
||||
20:58:23.226 SCRIPT (W): Can't open config file ""
|
||||
20:58:23.233 SCRIPT (W): Slot_WeaponInfo Has no Content!
|
||||
20:58:23.233 SCRIPT (W): Slot_Chat Has no Content!
|
||||
20:58:23.233 SCRIPT (W): Slot_VON Has no Content!
|
||||
20:58:23.234 SCRIPT (W): Slot_AvailableActions Has no Content!
|
||||
20:58:23.234 SCRIPT (W): Slot_Vehicle Has no Content!
|
||||
20:58:23.234 SCRIPT (W): Slot_GameVersion Has no Content!
|
||||
20:58:23.234 SCRIPT (W): Slot_Notifications Has no Content!
|
||||
20:58:23.234 SCRIPT (W): Slot_Hints Has no Content!
|
||||
20:58:23.247 SCRIPT (W): SCR_EntityCatalogManagerComponent.GetFilteredEditorPrefabsOfAllFactions: Detected that {259EE7B78C51B624}UAZ469.et is present in at least two different faction entity catalogs! Since this may cause issues, such as dupliacted entries in build mode, one of them will be discarded! This is only supported for items. Other things require creation of faction specific variants.
|
||||
20:58:23.247 SCRIPT (W): SCR_EntityCatalogManagerComponent.GetFilteredEditorPrefabsOfAllFactions: Detected that {DF5CCB7C0FF049F4}Mi8MT_unarmed_transport.et is present in at least two different faction entity catalogs! Since this may cause issues, such as dupliacted entries in build mode, one of them will be discarded! This is only supported for items. Other things require creation of faction specific variants.
|
||||
20:58:23.250 SCRIPT (W): Ban Settings could not be loaded from BE Storage: Relying on default config
|
||||
20:58:23.303 SCRIPT : ScenarioFramework: Available tasks are empty, no new tasks will be generated.
|
||||
20:58:23.319 SCRIPT : SCR_BaseGameMode::OnGameStateChanged = GAME
|
||||
20:58:23.506 SCRIPT (W): EditBoxFilterComponent used on invalid widget type.
|
||||
20:58:25.036 SCRIPT : Rereintroduced [sites]: cache clearance position=<6086,211.538,7160> clear=1
|
||||
20:58:25.060 SCRIPT : Rereintroduced [sites]: authored everon-prison-1 at <6090,211.444,7160>
|
||||
20:58:25.061 SCRIPT : Rereintroduced [sites]: cache clearance position=<6150,203.288,7050> clear=1
|
||||
20:58:25.090 SCRIPT : Rereintroduced [sites]: authored everon-supply-1 at <6150,203.288,7050>
|
||||
20:58:25.092 SCRIPT : Rereintroduced [sites]: authored everon-radio-1 at <6500,159.756,7200>
|
||||
20:58:25.142 SCRIPT : Rereintroduced [sites]: authored everon-extraction-1 at <7000,65.2562,7500>
|
||||
20:58:25.143 SCRIPT : Rereintroduced [sites]: cache clearance position=<5960,220.256,7220> clear=1
|
||||
20:58:25.148 SCRIPT : Rereintroduced [sites]: transport parking=<5960,220.256,7212> radius=4 terrainRange=0.8125 obstructed=0 clear=1
|
||||
20:58:25.194 SCRIPT : Rereintroduced [sites]: authored everon-supply-2 at <5960,220.256,7220>
|
||||
20:58:25.194 SCRIPT : Rereintroduced [sites]: cache clearance position=<6340,175.788,7400> clear=1
|
||||
20:58:25.196 SCRIPT : Rereintroduced [sites]: authored everon-medical-1 at <6340,175.788,7400>
|
||||
20:58:25.196 SCRIPT : Rereintroduced [sites]: cache clearance position=<6740,140.6,7300> clear=1
|
||||
20:58:25.200 SCRIPT : Rereintroduced [sites]: cache clearance position=<6740,140.913,7296> clear=1
|
||||
20:58:25.201 SCRIPT : Rereintroduced [sites]: cache clearance position=<6736,140.975,7300> clear=1
|
||||
20:58:25.201 SCRIPT : Rereintroduced [sites]: cache clearance position=<6744,140.288,7300> clear=1
|
||||
20:58:25.202 SCRIPT : Rereintroduced [sites]: authored everon-outpost-1 at <6740,140.6,7300>
|
||||
20:58:25.203 SCRIPT : ERR EXTRACTION PLACEMENT: wakes=1 alive=1 ready=0 origin=<7012,63.725,7500> up=1
|
||||
20:58:25.203 SCRIPT : ERR EXTRACTION PHYSICS: dynamic=1 awake=1 speed=0 angularSpeed=0
|
||||
20:58:25.203 SCRIPT : ERR EXTRACTION NATIVE: valid=1 contact=0 engine=0 origin=<0,0,0> up=1 entityDifference=10267.5
|
||||
20:58:25.203 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_F node=-1704401612 center=<7012,64.0216,7502.25>
|
||||
20:58:25.203 SCRIPT : ERR GEAR TERRAIN: bottom=<7012,63.7216,7502.25> terrainY=63.2926 tireTerrainGap=0.428944
|
||||
20:58:25.204 SCRIPT : ERR GEAR SUPPORT: center=<7012,64.0216,7502.25> radius=0.3 bottom=<7012,63.7216,7502.25> fraction=1 normal=<0,0,0> self=0 dynamic=0 supported=0 gap=0.119999
|
||||
20:58:25.204 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_bL node=-410678372 center=<7009.72,64.4897,7497.97>
|
||||
20:58:25.204 SCRIPT : ERR GEAR TERRAIN: bottom=<7009.72,64.0397,7497.97> terrainY=64.1655 tireTerrainGap=-0.125717
|
||||
20:58:25.204 SCRIPT : ERR GEAR SUPPORT: center=<7009.72,64.4897,7497.97> radius=0.45 bottom=<7009.72,64.0397,7497.97> fraction=1 normal=<0,0,0> self=0 dynamic=0 supported=0 gap=0.119999
|
||||
20:58:25.204 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_bR node=-410678366 center=<7014.28,64.4898,7497.97>
|
||||
20:58:25.204 SCRIPT : ERR GEAR TERRAIN: bottom=<7014.28,64.0398,7497.97> terrainY=63.8096 tireTerrainGap=0.230156
|
||||
20:58:25.205 SCRIPT : ERR GEAR SUPPORT: center=<7014.28,64.4898,7497.97> radius=0.45 bottom=<7014.28,64.0398,7497.97> fraction=1 normal=<0,0,0> self=0 dynamic=0 supported=0 gap=0.119999
|
||||
20:58:25.205 SCRIPT : Rereintroduced [guards]: initial site=everon-prison-1 requested=6 physical=0 conscious=0 nativeComplete=0
|
||||
20:58:25.205 SCRIPT : Rereintroduced [guards]: initial site=everon-supply-1 requested=6 physical=0 conscious=0 nativeComplete=0
|
||||
20:58:25.205 SCRIPT : Rereintroduced [guards]: initial site=everon-radio-1 requested=6 physical=0 conscious=0 nativeComplete=0
|
||||
20:58:25.205 SCRIPT : Rereintroduced [guards]: initial site=everon-extraction-1 requested=6 physical=0 conscious=0 nativeComplete=0
|
||||
20:58:25.205 SCRIPT : Rereintroduced [guards]: initial site=everon-supply-2 requested=6 physical=0 conscious=0 nativeComplete=0
|
||||
20:58:25.206 SCRIPT : Rereintroduced [guards]: initial site=everon-outpost-1 requested=6 physical=0 conscious=0 nativeComplete=0
|
||||
20:58:26.052 SCRIPT : Rereintroduced [guards]: initial site=everon-prison-1 requested=6 physical=1 conscious=1 nativeComplete=0
|
||||
20:58:26.052 SCRIPT : Rereintroduced [guards]: initial site=everon-supply-1 requested=6 physical=1 conscious=1 nativeComplete=0
|
||||
20:58:26.053 SCRIPT : Rereintroduced [guards]: initial site=everon-radio-1 requested=6 physical=1 conscious=1 nativeComplete=0
|
||||
20:58:26.053 SCRIPT : Rereintroduced [guards]: initial site=everon-extraction-1 requested=6 physical=1 conscious=1 nativeComplete=0
|
||||
20:58:26.306 SCRIPT : ERR EXTRACTION PLACEMENT: wakes=1 alive=1 ready=1 origin=<7012.08,63.5285,7499.7> up=0.995678
|
||||
20:58:26.306 SCRIPT : ERR EXTRACTION PHYSICS: dynamic=1 awake=1 speed=0.286983 angularSpeed=0.0801588
|
||||
20:58:26.306 SCRIPT : ERR EXTRACTION NATIVE: valid=1 contact=1 engine=0 origin=<0,0,0> up=1 entityDifference=10267.4
|
||||
20:58:26.306 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_F node=-1704401612 center=<7012.07,63.6132,7501.97>
|
||||
20:58:26.307 SCRIPT : ERR GEAR TERRAIN: bottom=<7012.07,63.3132,7501.97> terrainY=63.3165 tireTerrainGap=-0.00326157
|
||||
20:58:26.307 SCRIPT : ERR GEAR SUPPORT: center=<7012.07,63.6132,7501.97> radius=0.3 bottom=<7012.07,63.3132,7501.97> fraction=0.440022 normal=<-0,0.990257,0.139255> self=0 dynamic=0 supported=1 gap=-0.0031929
|
||||
20:58:26.307 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_bL node=-410678372 center=<7009.88,64.6007,7497.71>
|
||||
20:58:26.307 SCRIPT : ERR GEAR TERRAIN: bottom=<7009.88,64.1507,7497.71> terrainY=64.1555 tireTerrainGap=-0.00480652
|
||||
20:58:26.307 SCRIPT : ERR GEAR SUPPORT: center=<7009.88,64.6007,7497.71> radius=0.45 bottom=<7009.88,64.1507,7497.71> fraction=0.432978 normal=<0.139105,0.989191,0.0463683> self=0 dynamic=0 supported=1 gap=-0.00474548
|
||||
20:58:26.307 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_bR node=-410678366 center=<7014.42,64.2628,7497.74>
|
||||
20:58:26.308 SCRIPT : ERR GEAR TERRAIN: bottom=<7014.42,63.8128,7497.74> terrainY=63.8179 tireTerrainGap=-0.00510025
|
||||
20:58:26.308 SCRIPT : ERR GEAR SUPPORT: center=<7014.42,64.2628,7497.74> radius=0.45 bottom=<7014.42,63.8128,7497.74> fraction=0.431111 normal=<0.015606,0.998782,0.0468179> self=0 dynamic=0 supported=1 gap=-0.00515366
|
||||
20:58:26.308 SCRIPT : ERR EXTRACTION FUEL: manager=1 hasFuel=1
|
||||
20:58:26.563 SCRIPT : Rereintroduced [guards]: initial site=everon-prison-1 requested=6 physical=2 conscious=2 nativeComplete=0
|
||||
20:58:26.563 SCRIPT : Rereintroduced [guards]: initial site=everon-supply-1 requested=6 physical=2 conscious=2 nativeComplete=0
|
||||
20:58:26.563 SCRIPT : Rereintroduced [guards]: initial site=everon-supply-2 requested=6 physical=1 conscious=1 nativeComplete=0
|
||||
20:58:26.564 SCRIPT : Rereintroduced [guards]: initial site=everon-outpost-1 requested=6 physical=1 conscious=1 nativeComplete=0
|
||||
20:58:27.073 SCRIPT : Rereintroduced [guards]: initial site=everon-prison-1 requested=6 physical=3 conscious=3 nativeComplete=0
|
||||
20:58:27.073 SCRIPT : Rereintroduced [guards]: initial site=everon-supply-2 requested=6 physical=2 conscious=2 nativeComplete=0
|
||||
20:58:27.073 SCRIPT : Rereintroduced [guards]: initial site=everon-outpost-1 requested=6 physical=2 conscious=2 nativeComplete=0
|
||||
20:58:27.328 SCRIPT : ERR EXTRACTION PLACEMENT: wakes=1 alive=1 ready=1 origin=<7012.1,63.5361,7499.71> up=0.994351
|
||||
20:58:27.328 SCRIPT : ERR EXTRACTION PHYSICS: dynamic=1 awake=1 speed=0.0975902 angularSpeed=0.0685686
|
||||
20:58:27.328 SCRIPT : ERR EXTRACTION NATIVE: valid=1 contact=1 engine=0 origin=<0,0,0> up=1 entityDifference=10267.4
|
||||
20:58:27.328 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_F node=-1704401612 center=<7012.07,63.6186,7501.99>
|
||||
20:58:27.329 SCRIPT : ERR GEAR TERRAIN: bottom=<7012.07,63.3186,7501.99> terrainY=63.3144 tireTerrainGap=0.00423813
|
||||
20:58:27.329 SCRIPT : ERR GEAR SUPPORT: center=<7012.07,63.6186,7501.99> radius=0.3 bottom=<7012.07,63.3186,7501.99> fraction=0.474215 normal=<-0,0.990257,0.139255> self=0 dynamic=0 supported=1 gap=0.00432587
|
||||
20:58:27.329 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_bL node=-410678372 center=<7009.93,64.6021,7497.71>
|
||||
20:58:27.329 SCRIPT : ERR GEAR TERRAIN: bottom=<7009.93,64.1521,7497.71> terrainY=64.149 tireTerrainGap=0.00312805
|
||||
20:58:27.329 SCRIPT : ERR GEAR SUPPORT: center=<7009.93,64.6021,7497.71> radius=0.45 bottom=<7009.93,64.1521,7497.71> fraction=0.468575 normal=<0.139105,0.989191,0.0463683> self=0 dynamic=0 supported=1 gap=0.0030899
|
||||
20:58:27.329 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_bR node=-410678366 center=<7014.47,64.2643,7497.78>
|
||||
20:58:27.329 SCRIPT : ERR GEAR TERRAIN: bottom=<7014.47,63.8143,7497.78> terrainY=63.8154 tireTerrainGap=-0.0010643
|
||||
20:58:27.330 SCRIPT : ERR GEAR SUPPORT: center=<7014.47,64.2643,7497.78> radius=0.45 bottom=<7014.47,63.8143,7497.78> fraction=0.449722 normal=<0.015606,0.998782,0.0468179> self=0 dynamic=0 supported=1 gap=-0.00106049
|
||||
20:58:27.330 SCRIPT : ERR EXTRACTION FUEL: manager=1 hasFuel=1
|
||||
20:58:27.581 SCRIPT : Rereintroduced [guards]: initial site=everon-prison-1 requested=6 physical=4 conscious=4 nativeComplete=0
|
||||
20:58:27.582 SCRIPT : Rereintroduced [guards]: initial site=everon-radio-1 requested=6 physical=2 conscious=2 nativeComplete=0
|
||||
20:58:27.582 SCRIPT : Rereintroduced [guards]: initial site=everon-extraction-1 requested=6 physical=2 conscious=2 nativeComplete=0
|
||||
20:58:27.582 SCRIPT : Rereintroduced [guards]: initial site=everon-outpost-1 requested=6 physical=3 conscious=3 nativeComplete=0
|
||||
20:58:27.831 SCRIPT : Rereintroduced [extraction placement]: native supported aircraft stable for one second, fuel present, exactly one initial wake
|
||||
20:58:28.086 SCRIPT : Rereintroduced [guards]: initial site=everon-supply-1 requested=6 physical=3 conscious=3 nativeComplete=0
|
||||
20:58:28.087 SCRIPT : Rereintroduced [guards]: initial site=everon-radio-1 requested=6 physical=3 conscious=3 nativeComplete=0
|
||||
20:58:28.087 SCRIPT : Rereintroduced [guards]: initial site=everon-extraction-1 requested=6 physical=3 conscious=3 nativeComplete=0
|
||||
20:58:28.087 SCRIPT : Rereintroduced [guards]: initial site=everon-supply-2 requested=6 physical=3 conscious=3 nativeComplete=0
|
||||
20:58:28.339 SCRIPT : ERR EXTRACTION PLACEMENT: wakes=1 alive=1 ready=1 origin=<7012.12,63.5331,7499.74> up=0.994194
|
||||
20:58:28.339 SCRIPT : ERR EXTRACTION PHYSICS: dynamic=1 awake=1 speed=0.04555 angularSpeed=0.0154758
|
||||
20:58:28.339 SCRIPT : ERR EXTRACTION NATIVE: valid=1 contact=1 engine=0 origin=<0,0,0> up=1 entityDifference=10267.4
|
||||
20:58:28.339 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_F node=-1704401612 center=<7012.08,63.6141,7502.01>
|
||||
20:58:28.340 SCRIPT : ERR GEAR TERRAIN: bottom=<7012.08,63.3141,7502.01> terrainY=63.3116 tireTerrainGap=0.00251007
|
||||
20:58:28.340 SCRIPT : ERR GEAR SUPPORT: center=<7012.08,63.6141,7502.01> radius=0.3 bottom=<7012.08,63.3141,7502.01> fraction=0.465906 normal=<0,0.996962,0.0778877> self=0 dynamic=0 supported=1 gap=0.00249863
|
||||
20:58:28.340 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_bL node=-410678372 center=<7009.97,64.5946,7497.72>
|
||||
20:58:28.340 SCRIPT : ERR GEAR TERRAIN: bottom=<7009.97,64.1446,7497.72> terrainY=64.1429 tireTerrainGap=0.00172424
|
||||
20:58:28.340 SCRIPT : ERR GEAR SUPPORT: center=<7009.97,64.5946,7497.72> radius=0.45 bottom=<7009.97,64.1446,7497.72> fraction=0.462402 normal=<0.139105,0.989191,0.0463683> self=0 dynamic=0 supported=1 gap=0.00173187
|
||||
20:58:28.340 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_bR node=-410678366 center=<7014.51,64.2603,7497.82>
|
||||
20:58:28.341 SCRIPT : ERR GEAR TERRAIN: bottom=<7014.51,63.8103,7497.82> terrainY=63.8129 tireTerrainGap=-0.00257492
|
||||
20:58:28.341 SCRIPT : ERR GEAR SUPPORT: center=<7014.51,64.2603,7497.82> radius=0.45 bottom=<7014.51,63.8103,7497.82> fraction=0.442778 normal=<0.015606,0.998782,0.0468179> self=0 dynamic=0 supported=1 gap=-0.00259018
|
||||
20:58:28.341 SCRIPT : ERR EXTRACTION FUEL: manager=1 hasFuel=1
|
||||
20:58:28.589 SCRIPT : Rereintroduced [guards]: initial site=everon-supply-1 requested=6 physical=4 conscious=4 nativeComplete=0
|
||||
20:58:28.590 SCRIPT : Rereintroduced [guards]: initial site=everon-radio-1 requested=6 physical=4 conscious=4 nativeComplete=0
|
||||
20:58:28.590 SCRIPT : Rereintroduced [guards]: initial site=everon-extraction-1 requested=6 physical=4 conscious=4 nativeComplete=0
|
||||
20:58:28.590 SCRIPT : Rereintroduced [guards]: initial site=everon-supply-2 requested=6 physical=4 conscious=4 nativeComplete=0
|
||||
20:58:29.101 SCRIPT : Rereintroduced [guards]: initial site=everon-prison-1 requested=6 physical=5 conscious=5 nativeComplete=0
|
||||
20:58:29.101 SCRIPT : Rereintroduced [guards]: initial site=everon-supply-1 requested=6 physical=5 conscious=5 nativeComplete=0
|
||||
20:58:29.101 SCRIPT : Rereintroduced [guards]: initial site=everon-radio-1 requested=6 physical=5 conscious=5 nativeComplete=0
|
||||
20:58:29.102 SCRIPT : Rereintroduced [guards]: initial site=everon-outpost-1 requested=6 physical=4 conscious=4 nativeComplete=0
|
||||
20:58:29.352 SCRIPT : ERR EXTRACTION PLACEMENT: wakes=1 alive=1 ready=1 origin=<7012.13,63.5289,7499.75> up=0.994143
|
||||
20:58:29.352 SCRIPT : ERR EXTRACTION PHYSICS: dynamic=1 awake=0 speed=0 angularSpeed=0
|
||||
20:58:29.352 SCRIPT : ERR EXTRACTION NATIVE: valid=1 contact=1 engine=0 origin=<0,0,0> up=1 entityDifference=10267.4
|
||||
20:58:29.352 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_F node=-1704401612 center=<7012.08,63.6125,7502.02>
|
||||
20:58:29.353 SCRIPT : ERR GEAR TERRAIN: bottom=<7012.08,63.3125,7502.02> terrainY=63.3109 tireTerrainGap=0.00163269
|
||||
20:58:29.353 SCRIPT : ERR GEAR SUPPORT: center=<7012.08,63.6125,7502.02> radius=0.3 bottom=<7012.08,63.3125,7502.02> fraction=0.461881 normal=<0,0.996962,0.0778877> self=0 dynamic=0 supported=1 gap=0.00161362
|
||||
20:58:29.353 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_bL node=-410678372 center=<7009.97,64.5939,7497.73>
|
||||
20:58:29.353 SCRIPT : ERR GEAR TERRAIN: bottom=<7009.97,64.1439,7497.73> terrainY=64.1414 tireTerrainGap=0.00248718
|
||||
20:58:29.353 SCRIPT : ERR GEAR SUPPORT: center=<7009.97,64.5939,7497.73> radius=0.45 bottom=<7009.97,64.1439,7497.73> fraction=0.465508 normal=<0.139105,0.989191,0.0463683> self=0 dynamic=0 supported=1 gap=0.00241089
|
||||
20:58:29.353 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_bR node=-410678366 center=<7014.51,64.2602,7497.84>
|
||||
20:58:29.354 SCRIPT : ERR GEAR TERRAIN: bottom=<7014.51,63.8102,7497.84> terrainY=63.8122 tireTerrainGap=-0.00204086
|
||||
20:58:29.354 SCRIPT : ERR GEAR SUPPORT: center=<7014.51,64.2602,7497.84> radius=0.45 bottom=<7014.51,63.8102,7497.84> fraction=0.445278 normal=<0.015606,0.998782,0.0468179> self=0 dynamic=0 supported=1 gap=-0.00203705
|
||||
20:58:29.354 SCRIPT : ERR EXTRACTION FUEL: manager=1 hasFuel=1
|
||||
20:58:29.610 SCRIPT : Rereintroduced [guards]: initial site=everon-supply-1 requested=6 physical=6 conscious=6 nativeComplete=1
|
||||
20:58:29.610 SCRIPT : Rereintroduced [guards]: initial site=everon-extraction-1 requested=6 physical=5 conscious=5 nativeComplete=0
|
||||
20:58:29.610 SCRIPT : Rereintroduced [guards]: initial site=everon-supply-2 requested=6 physical=5 conscious=5 nativeComplete=0
|
||||
20:58:29.611 SCRIPT : Rereintroduced [guards]: initial site=everon-outpost-1 requested=6 physical=5 conscious=5 nativeComplete=0
|
||||
20:58:30.114 SCRIPT : Rereintroduced [guards]: initial site=everon-radio-1 requested=6 physical=6 conscious=6 nativeComplete=1
|
||||
20:58:30.114 SCRIPT : Rereintroduced [guards]: initial site=everon-extraction-1 requested=6 physical=6 conscious=6 nativeComplete=1
|
||||
20:58:30.114 SCRIPT : Rereintroduced [guards]: initial site=everon-supply-2 requested=6 physical=6 conscious=6 nativeComplete=1
|
||||
20:58:30.115 SCRIPT : Rereintroduced [guards]: initial site=everon-outpost-1 requested=6 physical=6 conscious=6 nativeComplete=1
|
||||
20:58:30.369 SCRIPT : ERR EXTRACTION PLACEMENT: wakes=1 alive=1 ready=1 origin=<7012.13,63.5289,7499.75> up=0.994143
|
||||
20:58:30.369 SCRIPT : ERR EXTRACTION PHYSICS: dynamic=1 awake=0 speed=0 angularSpeed=0
|
||||
20:58:30.370 SCRIPT : ERR EXTRACTION NATIVE: valid=1 contact=1 engine=0 origin=<0,0,0> up=1 entityDifference=10267.4
|
||||
20:58:30.370 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_F node=-1704401612 center=<7012.08,63.6125,7502.02>
|
||||
20:58:30.370 SCRIPT : ERR GEAR TERRAIN: bottom=<7012.08,63.3125,7502.02> terrainY=63.3109 tireTerrainGap=0.00163269
|
||||
20:58:30.370 SCRIPT : ERR GEAR SUPPORT: center=<7012.08,63.6125,7502.02> radius=0.3 bottom=<7012.08,63.3125,7502.02> fraction=0.461881 normal=<0,0.996962,0.0778877> self=0 dynamic=0 supported=1 gap=0.00161362
|
||||
20:58:30.370 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_bL node=-410678372 center=<7009.97,64.5939,7497.73>
|
||||
20:58:30.371 SCRIPT : ERR GEAR TERRAIN: bottom=<7009.97,64.1439,7497.73> terrainY=64.1414 tireTerrainGap=0.00248718
|
||||
20:58:30.371 SCRIPT : ERR GEAR SUPPORT: center=<7009.97,64.5939,7497.73> radius=0.45 bottom=<7009.97,64.1439,7497.73> fraction=0.465508 normal=<0.139105,0.989191,0.0463683> self=0 dynamic=0 supported=1 gap=0.00241089
|
||||
20:58:30.371 SCRIPT : ERR GEAR PIVOT: bone=v_wheel_bR node=-410678366 center=<7014.51,64.2602,7497.84>
|
||||
20:58:30.371 SCRIPT : ERR GEAR TERRAIN: bottom=<7014.51,63.8102,7497.84> terrainY=63.8122 tireTerrainGap=-0.00204086
|
||||
20:58:30.371 SCRIPT : ERR GEAR SUPPORT: center=<7014.51,64.2602,7497.84> radius=0.45 bottom=<7014.51,63.8102,7497.84> fraction=0.445278 normal=<0.015606,0.998782,0.0468179> self=0 dynamic=0 supported=1 gap=-0.00203705
|
||||
20:58:30.371 SCRIPT : ERR EXTRACTION FUEL: manager=1 hasFuel=1
|
||||
20:58:30.622 SCRIPT : Rereintroduced [guards]: initial site=everon-prison-1 requested=6 physical=6 conscious=6 nativeComplete=1
|
||||
20:58:30.622 SCRIPT : Rereintroduced [sites]: 7 sites and 117 physical stock items ready
|
||||
20:58:30.635 SCRIPT : Rereintroduced [environment]: date=authored weather=authored
|
||||
20:58:30.636 SCRIPT : Rereintroduced [time]: started at 14:00 with 1x progression
|
||||
20:58:30.637 SCRIPT : Rereintroduced [mission]: phase 0 -> 1
|
||||
20:58:30.637 SCRIPT : Rereintroduced [prison]: owned composition raw={BE6B8D56349038A6}Prefabs/ERR/Prison.et resolved={BE6B8D56349038A6}Prefabs/ERR/Prison.et position=<6090,211.444,7160>
|
||||
20:58:30.637 SCRIPT : Rereintroduced [prison]: gate candidate raw= resolved={C3FDC4DBCD58C2F5}Prefabs/ERR/PrisonDoor.et lock=1 door=1 position=<6090,211.344,7154>
|
||||
20:58:30.637 SCRIPT : Rereintroduced [prison]: destruction health=1000 destroyed=0 queued=0
|
||||
20:58:30.637 SCRIPT : Rereintroduced [prison]: one intact successor lock in owned prison
|
||||
20:58:31.558 SCRIPT : INFO: Faction: player jakub (playerID = 1 | UUID = 00000000-0000-0000-0000-000000000000) has joined faction #AR-Faction_US (US)
|
||||
20:58:31.597 SCRIPT : Rereintroduced [spawn]: player 1 at <6088.5,211.491,7158.5>
|
||||
20:58:31.793 SCRIPT : ERR SMOKE PASS: new identity may enter prison
|
||||
20:58:31.794 SCRIPT : ERR SMOKE PASS: spawn consumes identity life
|
||||
20:58:31.794 SCRIPT : ERR SMOKE PASS: disconnect retains living actor and clears connection
|
||||
20:58:31.794 SCRIPT : ERR SMOKE PASS: reconnected identity retains spent life
|
||||
20:58:31.794 SCRIPT : ERR SMOKE PASS: duplicate active identity rejected
|
||||
20:58:31.794 SCRIPT : ERR SMOKE PASS: recycled connection receives independent life and extraction admission policy
|
||||
20:58:31.794 SCRIPT : ERR SMOKE PASS: base contracts catalog resolves hostile vanilla factions and successful preparation
|
||||
20:58:31.794 SCRIPT : ERR SMOKE PASS: base contracts physical prisoner matches injected faction and resource
|
||||
20:58:31.795 SCRIPT : ERR SMOKE PASS: base contracts physical guard squad comes from injected catalog
|
||||
20:58:31.795 SCRIPT : ERR SMOKE PASS: base contracts same-side factions rejected
|
||||
20:58:31.795 SCRIPT : ERR SMOKE PASS: base contracts unknown world faction rejected
|
||||
20:58:31.795 SCRIPT : ERR SMOKE PASS: base contracts missing prisoner resource rejected
|
||||
20:58:31.795 SCRIPT : ERR SMOKE PASS: base contracts isolated catalog restored without mutating live configuration
|
||||
20:58:31.796 SCRIPT : ERR SMOKE PASS: base contracts unauthorized settings request rejected
|
||||
20:58:31.796 SCRIPT : ERR SMOKE PASS: base contracts partially numeric input rejected without mutation
|
||||
20:58:31.796 SCRIPT : ERR SMOKE PASS: base contracts out-of-range duration rejected without mutation
|
||||
20:58:31.799 SCRIPT : ERR SMOKE PASS: base contracts normalized base command saves validated duration
|
||||
20:58:31.799 SCRIPT : ERR SMOKE PASS: base contracts base command reads saved duration
|
||||
20:58:31.799 SCRIPT : ERR SMOKE PASS: base contracts base settings listing available
|
||||
20:58:31.799 SCRIPT : ERR SMOKE PASS: base contracts base mission status available before companions
|
||||
20:58:31.803 SCRIPT : ERR SMOKE PASS: base contracts test setting restored
|
||||
20:58:31.803 SCRIPT : ERR SMOKE PASS: companion command retained: hq interval show
|
||||
20:58:31.803 SCRIPT : ERR SMOKE PASS: companion command retained: hq squads show
|
||||
20:58:31.803 SCRIPT : ERR SMOKE PASS: companion command retained: hq radius show
|
||||
20:58:31.803 SCRIPT : ERR SMOKE PASS: companion command retained: intel carrying show
|
||||
20:58:31.803 SCRIPT : ERR SMOKE PASS: companion command retained: intel reveal show
|
||||
20:58:31.804 SCRIPT : ERR SMOKE PASS: companion journal is behind Core admin authorization
|
||||
20:58:31.804 SCRIPT : ERR SMOKE PASS: companion HQ status uses the shared command service
|
||||
20:58:32.297 SCRIPT (E): ERR SMOKE FAIL: aircraft-field independent qualified candidate found before one finite allocation
|
||||
20:58:32.297 SCRIPT (E): ERR SMOKE FAIL: native actual aircraft field fixture
|
||||
@@ -0,0 +1,4 @@
|
||||
{
|
||||
"schema_version": 1,
|
||||
"kind": "launch_snapshot"
|
||||
}
|
||||
@@ -0,0 +1,203 @@
|
||||
{
|
||||
"addons/ai/Prefabs/ERR/MortarCrew.et": "05d3e7353ff9fe5523218a1487b31b7b742b0be8adbcb060c7099978cf008bce",
|
||||
"addons/ai/Prefabs/ERR/MortarCrew.et.meta": "fdfd4fcd21a67c3d698fa4aadc4e5c76e665cebf4be86013bc389e493fab63cc",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_AircraftControlBridge.c": "b8f0141644d8f043c6db4c2d4bb93215c548e5c27ab5468c66e996d62bdf905a",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_AircraftFieldEnvelope.c": "c02c8e6fbdfd3b8c67461590d532019d3bf0002307b19aee604eb17ad230c329",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_AircraftFieldFlight.c": "e3322b6d85b1234bfbf218a119cf6f7eed0b9ddd160004d2d9fe02c64ed857ba",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_AircraftFieldRules.c": "395eadae1067f230c26dbf73f43e39180173e173fd04a346839c474e084feaae",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_AircraftFlight.c": "aa25a8e67a30c48677bf528236402b7f8e5d815dc18df93b878520ad3d1fe8a7",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_AircraftFlightEnvelope.c": "8125cef61fb283d0d7c4dd2df3c04b062b448f1101fd48dd53f4f4097df5fef3",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_AircraftRouteEnvelope.c": "e8fcef844239c47a1f2f36be420afe943bc450091b05859435406b46c87fa511",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_AircraftRouteFlight.c": "1d8d92bf6d97429d68a9f62018232e90cc124cc8d7445efeabe863706a31e2b9",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_AircraftService.c": "3f05209227986b5c6bfb193f8f53783cfd4ef083bce898e22257c3e63daed913",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_HQ.c": "7ee8e7a3282fd566ec330c94854b353b2c6178e9b964f7b4d5e197e4d0b7dee9",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_HQJournal.c": "b3e402cfe92d415f37f666045afb062e6e11670ba03a0ca6f2d9fd4fc3520ac1",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_HQNetwork.c": "92ff2caca52e94c2cc9642dfc8509ce6e9349b257012bade8650bace9231128c",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_HQObservation.c": "36c978ec5f052213ac1236e1398d85063efbfd7ef60fe04f1fc11447fefe1d68",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_HQReport.c": "c4d16ccb571db4d9444c0a8d2be7318845d25ff90238b6d304e96a9ea19f1a08",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_HelicopterAvailability.c": "60eaef2f6d4b2fd44861c5a4434ef97e732e40a5ff7401e2da451ed2dd9c2762",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_MortarAimSolution.c": "59e8343d09f7a44871d8d3335d6ad1d02216abb5deed30d38b5ec9ba3f2c0649",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_MortarBattery.c": "a4eed96d17f239cbf353863ebe40d2282aeacd7a4d63a7b2f0ecfb3d93a2e2b2",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_MortarCourierTransfer.c": "968e58ca700b4a11e5e04a5c159696f514a0b1bce531210172b913e495f7e2b7",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_MortarFiring.c": "7aec51c83972610d1bcbca58b84b14f16f59952d402b12c3d88e7192a3e2ee90",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_MortarLogistics.c": "e1ffb25fba384b449de576a5502a93d875c3f52e8da1941bbf590ad9845f9730",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_MortarPrediction.c": "470dd196ed64800c697d24c09d1344bacd2502587fac76af4ee0edae2563092d",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_MortarReadiness.c": "2fabe8f812fd333cea7199d1eb722c807fcc5adb285c618956bd54d31fa27ce3",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_MortarRefresh.c": "52ae8d9d6cad92f42d68c634091b80a474d2666b6c06d63a8c30a3fab71494c4",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_MortarReportLedger.c": "42a96040b63e56677353e55164ae23031c90f70b4d6673a9f412ad7b19e636ae",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_MortarSalvo.c": "697c01f479df6c505a41d984a29c02002e3052114dafa2ec6252ae55e2979a2b",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_MortarSupplyTransfer.c": "34f7eaa01dc68e97aae8c1177b7f8fd6c15d5a41c6dc86de377f00b3613a8e77",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_MortarSystem.c": "4edefc8530cc6eec7a5e1df1d0b7d56e6801186f23c61331ce0e8075b8281efb",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_NativeAircraftControlProbe.c": "0cf3e72ccdc42e6ef20fb71d743f0e037a9e69b2e082c720fa705628cf790205",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_NativeAircraftFieldProbe.c": "d2d2dd65e202672f285ed9afb7ee0247da31b8eb29e0fc3091ccb846f49236e8",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_NativeAircraftRouteProbe.c": "8d0dca97e5106d1c84b64992c789e1af0689514beefc027e713ca6ab901fc470",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_NativeMortarCourierProbe.c": "740c8bebbd4128a9311b1167d1058549475d6b46f81c9b6c0d19650f4b50616f",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_NativeMortarFiringProbe.c": "ee570d21bede8baebefc799399712d9582b3e30ebda7299f6c941777f02ad2a2",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_NativeMortarSalvoProbe.c": "5fd7bb8953f6850ad79e646c0c286153108a10ee2d5ef397ccb65a07f8d2ed7c",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_NativeMortarTransferProbe.c": "399c21940ef10777b46fdb3e905430ce43404ce1de2f4a6bb62f9c61c1a0689c",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_NativePatrolHQProbe.c": "4c04aa3e1b6b000747da8e2a919a6501107880fd041134c019f516665bb6f758",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_SettlementSafety.c": "e5c0ebc95521a9a33a3f7d9cca6c551dda862a08b7af20b017877aba9584795b",
|
||||
"addons/ai/Scripts/Game/ERR/ERR_SupportScenario.c": "71757018ec9716c4dc24f62a292a214919d3fd5daed3c16e03e56abd208e9f03",
|
||||
"addons/ai/addon.gproj": "5f559db8f526700db11e6ae763f5245f19b7006fc68c56e4c09fb6f940bdf2a1",
|
||||
"addons/chat/Missions/ERR_Everon.conf": "76f3ac0d21b585654beac7ddd68e3c8cbdd66dbfe909b17b04838fa813a7c29b",
|
||||
"addons/chat/Missions/ERR_Everon.conf.meta": "0a23c98bf83873536c65fa17d38dea33a1d7b9e4ab210f90633ff688abcc551f",
|
||||
"addons/chat/Scripts/Game/ERR/ERR_AdminCommands.c": "d7b4ed95fc32767911936cb0fcc60763233f2c31afd34a6a0fa998b39cec9f5c",
|
||||
"addons/chat/Scripts/Game/ERR/ERR_NativeHQResponseProof.c": "0f8b09fd8753234c91fd6baaca0e2f812e409ae1c4be8f340b648ae59b69c2f3",
|
||||
"addons/chat/Scripts/Game/ERR/ERR_NativeMortarProbe.c": "ddb892141500c192c0787b011d57dd8c07dd8c9a3ca5fdc407f6c271897bde0a",
|
||||
"addons/chat/Scripts/Game/ERR/ERR_NativeRadioProbe.c": "84524163c63402755b4f834f74dfe6d8e5c397dc26031f532593c6f79f5a93b1",
|
||||
"addons/chat/Scripts/Game/ERR/ERR_NativeSmoke.c": "04400b71fd5e203e7cc4ff459fe6b49e8abb81c9cd215551a3f280ac8493e663",
|
||||
"addons/chat/Scripts/Game/ERRChat/ERR_OrdinaryScenarioLaunchChat.c": "dda715c9691d366e35fa2ad5e390dee1971651f137a5a9f9aeb23dcbe53ec87e",
|
||||
"addons/chat/Scripts/WorkbenchGame/ERR/ERR_ValidateWorldPlugin.c": "81c92d408ce88cc9f98d6053f1d0c863427693ba748f00df9f1bf8079015ef94",
|
||||
"addons/chat/addon.gproj": "ea1587e0174cf795334d306c71d99b06797fc891427cd57b6cab6e21cf0e4e0e",
|
||||
"addons/core/Configs/ERR/EveronSites.conf": "ade92cc8d2b14a84ac378bbbb52608b351dca65d359dd7a315d64a145fa4b46f",
|
||||
"addons/core/Configs/ERR/EveronSites.conf.meta": "d5fe68025ef4e7c1e16082cf5873b7c7172eacbfaef4ab29b7e0e3c98f8dca56",
|
||||
"addons/core/Configs/ERR/Factions/MissionVehicles.conf": "5f74f4a7089c7e7b54ad62463159ce8f0bab25a6b85268dc3872ea6001e048fb",
|
||||
"addons/core/Configs/ERR/Factions/MissionVehicles.conf.meta": "00c368b6271d3440cc8bf627b03a384d247635723923fc5ad2104b8b4007b035",
|
||||
"addons/core/Configs/ERR/Factions/US.conf": "4c3da063abb6e3ee39a6e4e0c5a9ffd5eae9d209d58470ea18b45dba5528db1b",
|
||||
"addons/core/Configs/ERR/Factions/US.conf.meta": "a05469aef028e9e17eba545e81e2af2887b59f0fef17dac51a23c7b8155e381b",
|
||||
"addons/core/Configs/ERR/Factions/USSR.conf": "407ea27f80a64c5184c089d43cdd0bdabfc5974c84f1d2a245081fdf2afa3f30",
|
||||
"addons/core/Configs/ERR/Factions/USSR.conf.meta": "057397d97096346791b51b7b13fbe18af218bcf78e9984d9c01b49a2403de611",
|
||||
"addons/core/Configs/ERR/GameOverScreens.conf": "45231061911a1462d45fb6db0fecc2b0793f17b5ae71017174954ff4fbd20236",
|
||||
"addons/core/Configs/ERR/GameOverScreens.conf.meta": "eb654b745c0b97b41c991694569ef4877a3c2315e0826f9556337cd68690843e",
|
||||
"addons/core/Configs/ERR/VanillaFactions.conf": "db890b61b48ee15484041fd2245a862d9fa9e7ba21b1229c281ff37c448a35b1",
|
||||
"addons/core/Configs/ERR/VanillaFactions.conf.meta": "ac77725c0c21974991ef47a466b88122e939de8b46fd23e68889e7674cbb2bfd",
|
||||
"addons/core/Missions/ERR_Everon_Base.conf": "1e6a0e9a756d15495201f71121626890f01efe6b00154c561672d4ec157960bd",
|
||||
"addons/core/Missions/ERR_Everon_Base.conf.meta": "9b16267c644d815bcf98a3a3aaff30b93d7224fb24d3a2bac66730a28011f317",
|
||||
"addons/core/Prefabs/ERR/Extraction.et": "1aa286ef253c5410f09fa641e4be91a7be8ec834487a7fbb74cfb45cab60ee1e",
|
||||
"addons/core/Prefabs/ERR/Extraction.et.meta": "c2a838633001e2e3a202d39cb33aa744ebcd996017ad032359069641b5d13853",
|
||||
"addons/core/Prefabs/ERR/FactionManager.et": "425f916b890019c537f6b2f72b1af9e7be54b0a476320da969e1f313a7ac5ea5",
|
||||
"addons/core/Prefabs/ERR/FactionManager.et.meta": "9bf53d5e4bcbe60dd1a4ece1409fc23c349055c860708620f5f6e9716290a97d",
|
||||
"addons/core/Prefabs/ERR/FieldCover.et": "20f8095e69dbfe3db74ff19078e528ea75405362b335e03560ccd61f8df2e7f3",
|
||||
"addons/core/Prefabs/ERR/FieldCover.et.meta": "83461ffa76244e1d69f20b053a9741ccdf7d127009182bd540a7e5ba6150c3d9",
|
||||
"addons/core/Prefabs/ERR/GameMode.et": "385c97a5b8067091d92aa60c2d4fcf02002cf606b95523866ead65c96b8c0029",
|
||||
"addons/core/Prefabs/ERR/GameMode.et.meta": "106769cd34525c9d440057072836cb7401a6752148c40edd7fe61c03bd58328c",
|
||||
"addons/core/Prefabs/ERR/ObjectiveDocument.et": "2e72270bf186654af12d2c3ff9bf940690b03fb17fca44f873c1fde5d11384c0",
|
||||
"addons/core/Prefabs/ERR/ObjectiveDocument.et.meta": "eaba9903be147b98a1106e2273e2270773df73b9b22f2cd4e20136a8e281382e",
|
||||
"addons/core/Prefabs/ERR/Patrol.et": "c5685a8bc311cc5563fb3334beec9408d3d7a1069152fddeeb7df4f1b7f9e6ce",
|
||||
"addons/core/Prefabs/ERR/Patrol.et.meta": "7c5da568fa2fcf0709ee2959253cb068d7c7ed7c2467af3b247a7e70efd96b69",
|
||||
"addons/core/Prefabs/ERR/Prison.et": "dcd3f4dfd453303d026e68b64f7de6125bd3390822d8432dd95a3710a5b3df89",
|
||||
"addons/core/Prefabs/ERR/Prison.et.meta": "2e426ef3de68f4107907854b51e818bc11d84649a01c538e3f18dd9ebec766bb",
|
||||
"addons/core/Prefabs/ERR/PrisonDoor.et": "fc66be9d36f1f01084de59f1b0a1e8817f9e46547ead33d4fafaac0107446c40",
|
||||
"addons/core/Prefabs/ERR/PrisonDoor.et.meta": "b8f3db52bf186426026668fbb9d633c3cbd4d438ab301fba880398f6a0e781c2",
|
||||
"addons/core/Prefabs/ERR/PrisonWall.et": "8009d19365ae72a4749d7ad4fa04662575b06c65c6bf06507d380d57258b5eed",
|
||||
"addons/core/Prefabs/ERR/PrisonWall.et.meta": "0294bc5dbb56f90f8153d62459bb0a6ad91d76a479812bbec9c7db182fdb58d6",
|
||||
"addons/core/Prefabs/ERR/Prisoner.et": "198b5badabb12f218f86df7eb4dc268fd830769dc3de7eef6362cfaee4d6fc8d",
|
||||
"addons/core/Prefabs/ERR/Prisoner.et.meta": "974278ba49fafeed70b619a0067bbc70ae4d534be441c812ce2bef4a5fb3c022",
|
||||
"addons/core/Prefabs/ERR/Radio.et": "b4b5cfe125b39019855816c9a1c508ca4d65d435b5546fdaa6c1fa3c8c9b1165",
|
||||
"addons/core/Prefabs/ERR/Radio.et.meta": "bc91137b68ba550217914fb8892bb44d7e1920e4a1086f3e506623832a44212f",
|
||||
"addons/core/Prefabs/ERR/SpectatorCamera.et": "b5b87d5b7b707f3745741aebe7c923067c8a74f8fbb2a4711834bab03bb5a812",
|
||||
"addons/core/Prefabs/ERR/SpectatorCamera.et.meta": "2a16558f93915e31908a674509e9c89976470f78a84a1174a64b94b68b8f77ad",
|
||||
"addons/core/Prefabs/ERR/SupplyCache.et": "bccf7afbaae97cfcdd78dd6dbbf4be5b2c045d348f50fe4581962e556c0044d7",
|
||||
"addons/core/Prefabs/ERR/SupplyCache.et.meta": "2f5de3a4aab1e9d0e35521f48dc57b95bd6e449c383dec4f1c258e10295904cb",
|
||||
"addons/core/Prefabs/ERR/SupplySite.et": "dc5decce5cabf39b6116e8794ec3960cb1e35761854fdbe69740da118787ded4",
|
||||
"addons/core/Prefabs/ERR/SupplySite.et.meta": "b41944b12eb3528ff7a3ac94258b18c66ef161aa6a38894aee300a1ac4798630",
|
||||
"addons/core/Scripts/Game/ERR/ERR_Actions.c": "cabb21413c90b252d29708b62228d0679c51c76e39ee0e483953ad7061b2b9d6",
|
||||
"addons/core/Scripts/Game/ERR/ERR_Actors.c": "bb5e2d065ec40629cebebf2be25958b992ad05dbc906c5f66dddbe6c6d4ff124",
|
||||
"addons/core/Scripts/Game/ERR/ERR_AdminService.c": "9985747d5ddaeb91bf27937836a6c369f8dcb353263b77a49212ec28c10ba4eb",
|
||||
"addons/core/Scripts/Game/ERR/ERR_CasualtyGroundSupport.c": "26f0c7ebe8563bb022f7c383674e7d8997b0cc35c7ea321d39d74f2493c1ed9d",
|
||||
"addons/core/Scripts/Game/ERR/ERR_CasualtyLoadingGameMode.c": "f4cf19440583ac24346831a2d5f1d7f734c031e46dc266c499972329dd0533cf",
|
||||
"addons/core/Scripts/Game/ERR/ERR_CasualtyLoadingOwner.c": "6346a05ddda030f7d9b6f026f977d5f018ee16002fa519e8c49dcd700c323dc7",
|
||||
"addons/core/Scripts/Game/ERR/ERR_CasualtyLoadingService.c": "93fe23d9e1da596886c33cf76bad92b0906ff5cdd8b5b21d58906e9270246201",
|
||||
"addons/core/Scripts/Game/ERR/ERR_DiscoveryMap.c": "7553c8cc1388cca3404994e36f96946c6abd1fefb08cef2fbb3ea1a62b22861b",
|
||||
"addons/core/Scripts/Game/ERR/ERR_DiscoveryService.c": "2793bb888566dd975e5bbf93fdb47a22e3b0f33a68d04992191cf6428ae942a0",
|
||||
"addons/core/Scripts/Game/ERR/ERR_DocumentComponent.c": "17bb76b80ebd3357e46d553c44674f602c7bd6901c92aec53ac8214194aa4ff2",
|
||||
"addons/core/Scripts/Game/ERR/ERR_EnvironmentService.c": "867e9f47adfb7a9819a8b58498688ff86127282cb89cf2529ae81f73e529e1c5",
|
||||
"addons/core/Scripts/Game/ERR/ERR_EscapeGameOverScreenInfo.c": "8893b161bf168884d62f1315d3c8aa9af4ca413f621d6f8e2525bb5245d5f509",
|
||||
"addons/core/Scripts/Game/ERR/ERR_ExtractionPlacement.c": "c30222ca25cc0e91dec4077e6b82b37a9edafcf2cbebd0be5b6bd8656b53adfe",
|
||||
"addons/core/Scripts/Game/ERR/ERR_ExtractionService.c": "91357099b4e0401196b67d48963be54be30e56bdba57cdac67dc20b8ebb883e9",
|
||||
"addons/core/Scripts/Game/ERR/ERR_FactionCatalog.c": "a5a8c53acf21259e14f59cb919535910f30dabff5a9179c664bc6a7a4d744d6e",
|
||||
"addons/core/Scripts/Game/ERR/ERR_GameMode.c": "b5b07abdfecde247b9d9d6f74dddfff50fde825f3c7fe6d86abd97e85f87b2e7",
|
||||
"addons/core/Scripts/Game/ERR/ERR_InitialGuardRules.c": "8c9d6b1dc4c2af96284e34f487eebb5a221091016ef108006dec60b4e3836558",
|
||||
"addons/core/Scripts/Game/ERR/ERR_Inventory.c": "b63e679d5b650b63a7a91dfc3f42a62f4be58b0338f6df3313e66d29a93bebf6",
|
||||
"addons/core/Scripts/Game/ERR/ERR_InventoryLayout.c": "1af5df45a0f06d19a017954e9bf4b2d722e2d2389f8ffdeb1d024435b9a08be8",
|
||||
"addons/core/Scripts/Game/ERR/ERR_ItemStationTeardown.c": "102e61216e86e47ad243cc19f6f66da1fcd8cc77f8799354ceaeb4a6dc74622e",
|
||||
"addons/core/Scripts/Game/ERR/ERR_LoadCasualtyAction.c": "5d868fb065a1a0fea7d5abfc81d1d8be96823815535f2ffd0dc4ff60d8eae794",
|
||||
"addons/core/Scripts/Game/ERR/ERR_LocalAdmission.c": "b0e824c6880cbf9b1f368dc7ada9907bde78b22b948d419b6c861323f32258be",
|
||||
"addons/core/Scripts/Game/ERR/ERR_Location.c": "d2035f56ded35743312ec6ca91a67f8623a466c91255e1893c570edf0954ff24",
|
||||
"addons/core/Scripts/Game/ERR/ERR_MissionRules.c": "f7abc38ad8fdc375ce7fa63a65f0bade027d22b37e09de5e3f94ba8c3c63cc41",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeAdminSettingsProbe.c": "6a4df33a2b0e6b6aeed944c6895961e658d4f0db9aed9b8433a43a451fa35cae",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeBaseSmoke.c": "7b35e53ceb91b8235fb753d42c8d5c80f6164b6d4cb53c685e058c409662708a",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeCasualtyGroundProbe.c": "41f40db3735f8aa535c0061458d9892dcfe972222b8a17238e67b65633c46bc3",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeCasualtyLoadProbe.c": "94c533deea654ec546df3f1ebb7cd213e6cd79b1125d99bab5303ef8e87b018b",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeCasualtyRemoveProbe.c": "4cfc06f6d43b709b63caae714155ffc562502e884f49a9825623c6f46972ad36",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeCasualtyServiceProbe.c": "02a9d70d1f4ba20326df199ba41489cfbae12b7bb0aab441361421cee38ad9ea",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeContractsProbe.c": "d1556df885171cf967e96eef5d8981a2e9ee4e3938b7d32fdd0426f647bbabc0",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeDefinitionProbe.c": "c07048341396443ddf5307e340e2087254d65f0bddf8f7d93e6b6bd7f03ca360",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeDiscoveryMapProbe.c": "9ed32d391d08d937ff4f9f33bd11c3a204ce9a2230c2d72b6761e0320b31f24f",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeEndProbe.c": "2dec80c7e247ec5c257407f95d9d5edd42fe0cc44d6af9f724f6ebd10d8a355f",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeEnvironmentProbe.c": "8b1d110717aa5f07bfb8fe633847eab519109e3a8a4100970a487be05c053418",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeEnvironmentRestartProbe.c": "7a836a206381b8e8de24c92baf141beb30575723675dd6948d738169ed26b507",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeExtractionProbe.c": "4b09385f73206de004f4f3c38a6192fd658a0d2012482dc5a84dff1599ceb972",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeFactionCatalogProbe.c": "ee11486cf77da9070506ccc0cfd6e94240c5387c8be455bf864934a8fef65f78",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeFlightFootprint.c": "a8862a04ac784426f431e2e9cd3f1f19f820b38a081674d29549b8b00277c72d",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeFlightInputDiagnostics.c": "e231dcbdaefe81beb3bd587cb73be8fb3d3184bc86d18dbaa30a43ca4ba5dcc4",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeGuardCancelProbe.c": "bfa1c65cb039e19c3d1891e4a3fd33469e974c97cc7f42128efc31a8f587d514",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeItemStationTeardownProbe.c": "028588a49fa9207087cd27ec9396979cd932daa071e2490bd0262cd71dae30d9",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeLifecycleProbe.c": "b613a5dbe81c2032fd02d31070ae5631166d14d0b02cdbec3b63b782f0bbc115",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeLocalAdmissionProbe.c": "29c860ca3e51cdaa463f3c23a98ff45ee0499ce9bbc322046e0efbed587f1e09",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeMedicalProbe.c": "43fa51ffbcf9dd0cd8e905a1135bcf0756651da3af34677f3c92e7d264ed70b6",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeObjectiveLossProbe.c": "6b80fd317a8c6e8583bd4337870838a86251e3b8a681d0aa07e8b52e22abfc48",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeObjectiveProbe.c": "71fbd2479a70048f83d8b262ad1452f427be2c0afc8b071ef13bff477b9dc29b",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativePatrolProbe.c": "02bd9fdf5454db7dd4c82240efe0d947bf8d6488ace42809c3aef6505cb6266d",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativePoweredFlightProbe.c": "7ae5d6f85bbbebec214c66bfdf6f53b93c802f109fcd5bcfbad82c5d61d6cb9f",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativePreparationStatusProbe.c": "456f4d7c3272b89d5f4c6713617baa5596d846994152356fee9a659839bcd8b5",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativePrisonBreachProbe.c": "22d0923cd69ba591e783011d424c97c86520272b70da9aa6a6d15558464c264c",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativePrisonerProbe.c": "e2d1ffe5d269add55124601ff0d1dc032a398c7d51010736e6f0e4cbeb38ae86",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeProgressionIdentityProbe.c": "1d3fe20bce761a1082964bca9bad9ce79d1fa8b04db9b5053bae98da380ae560",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeRadioDefenceProbe.c": "cad54f0b43cefd72df74697dfc7e93725ff0acac6d311e963ce4f817428c272c",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeRecoveryProbe.c": "4de6868cd3e76afb80cf0ae5dac1e35d2c417838f640c2f18aa3343217eea2f2",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeResultProbe.c": "db239385dc705840240d02448eabc77fa41162cfade6f21a275a3404339e8a31",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeSiteSurvey.c": "ac0203753ade0cdff6d483132797a80e4520f14546c3f9dea288281cd4cd9c4f",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeStationTeardownDiagnostic.c": "172248540932174341882861bb78a9720a6cf89981fcdf9dffe63f7fd4023f2c",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeTimeProbe.c": "c93d049785971e51246fcc07cf24804270a752a655505f2c38e48c80df5255ae",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeTransportProbe.c": "63ec0c5ce698114daa6314b2a6e3c3e98e76094117c477f9d0d072260686d193",
|
||||
"addons/core/Scripts/Game/ERR/ERR_NativeTransportSurvey.c": "3e94493bf54d15be2bceb106ad18873e14e6755af09c05f07db7fb26fb7adff5",
|
||||
"addons/core/Scripts/Game/ERR/ERR_ObjectiveDetails.c": "628ebd166dcb5544c2d18dce489619984887ee18296cf2446fc6d894f89dd5bf",
|
||||
"addons/core/Scripts/Game/ERR/ERR_ObjectiveText.c": "3b73b19429c7746425470d73ce5983f9fd442e4cd6acaab87f8728ea4dccb0c2",
|
||||
"addons/core/Scripts/Game/ERR/ERR_Objectives.c": "88d95a52fcba103483ea751571e1afeae0e6fc82115ed50d6fc195424726960f",
|
||||
"addons/core/Scripts/Game/ERR/ERR_Observer.c": "16ab78acede9b0cab86c6a74f47ffd5b8a7c50f131f44d64a8826eac6896a279",
|
||||
"addons/core/Scripts/Game/ERR/ERR_OrdinaryGateObserver.c": "1e376ca83c0005cf532539e14d7f47363c47b7c5b03fe3d55405a59208705fd7",
|
||||
"addons/core/Scripts/Game/ERR/ERR_OrdinaryInputObserver.c": "808a46cc1e4b31b65dbbbcdd55493f594ebb3974bbec38b4a2402334c653c0ef",
|
||||
"addons/core/Scripts/Game/ERR/ERR_OrdinaryLookObserver.c": "d5a1b636938d65e9d11c78b31487f2924400c34d98e2ec812954a2a224da7dc0",
|
||||
"addons/core/Scripts/Game/ERR/ERR_OrdinaryScenarioLaunch.c": "a4e7e56d174ebd15b4730202dae4c8ed06144f3f27c23ed49c99e2d297dc421a",
|
||||
"addons/core/Scripts/Game/ERR/ERR_PlayerAdminCommands.c": "a084d7dc097dfcde3d6cd9c2e326b9e2f8f2a519f77b30c4f56ab7a1429aa721",
|
||||
"addons/core/Scripts/Game/ERR/ERR_PlayerEscapeResult.c": "3124ab4d2d6d471409a47aba0af528790734df53243c03fe0cdac3e407047c14",
|
||||
"addons/core/Scripts/Game/ERR/ERR_PlayerGuide.c": "59008466b1b0cf3e191ccf16ecb1f32493351df1155c167f237a35279d39c1ba",
|
||||
"addons/core/Scripts/Game/ERR/ERR_PlayerRoster.c": "c038dac0f749bd29ebc35a4e952904b41a34417ba738904d5efcd1833a263e0b",
|
||||
"addons/core/Scripts/Game/ERR/ERR_PreparationStatus.c": "1d8987d2dcc1db2a030e095b33d50f07877181037d339624156291d8317bfa5d",
|
||||
"addons/core/Scripts/Game/ERR/ERR_PrisonEscapeService.c": "ed6286342ed12cc9a3df618474f5647c7ac36bc65336be7a5bec908dee04421d",
|
||||
"addons/core/Scripts/Game/ERR/ERR_RadioDefenceService.c": "5d347cf1a3b021074d560aad8db774828b797e685b63ddff3d28f55781e33ea8",
|
||||
"addons/core/Scripts/Game/ERR/ERR_RadioFeedback.c": "545262e65e9b3645d9e514a0521e442fe08f0c2e4e7c83ba638c5105d09818db",
|
||||
"addons/core/Scripts/Game/ERR/ERR_RecoveryService.c": "ba9ffb93679012c20a665636ef6b201cbe7d8d14fdf53e8cd3eb12ac7248943f",
|
||||
"addons/core/Scripts/Game/ERR/ERR_Resources.c": "d0169aac6fd0c38928c47a9002ded0fd8ba558ea3314a600e792d307ac1ca3ee",
|
||||
"addons/core/Scripts/Game/ERR/ERR_ScenarioComponent.c": "abba03af68323d5715ba1e2497fc66f3c706e6a6a983c3a386228abdfddeec89",
|
||||
"addons/core/Scripts/Game/ERR/ERR_Settings.c": "b9390548936b386e0211d487c1b76b65410fdd2e339cd8ecd9585ef4f4ffed31",
|
||||
"addons/core/Scripts/Game/ERR/ERR_SiteDefinition.c": "b422feeaca90084ea2bee5cde94dc9c6fcae542749b55d95f7226f922a6a68ac",
|
||||
"addons/core/Scripts/Game/ERR/ERR_SiteDiscoveryRules.c": "50f7b3ff4f32bde37ce5ae2be7f598fc4dd8cc08f45914f6e3260d31c84baef2",
|
||||
"addons/core/Scripts/Game/ERR/ERR_SiteService.c": "6bc9a0b5aed326822807f05e17459d0fc2da10b709e8168972b4e40fd09f87cb",
|
||||
"addons/core/Scripts/Game/ERR/ERR_SpawnFinalization.c": "2e295b0f225208c5414728ba83333e5e0ab6eef3a708ce39eb1dfce5400c94c9",
|
||||
"addons/core/Scripts/Game/ERR/ERR_SpawnLogic.c": "ed88279cbeb3e5e6daf8471763df87a251881f550632eddadd08153594bbd1a1",
|
||||
"addons/core/Scripts/Game/ERR/ERR_SpawnPlacement.c": "55323dcb330c23d49dc8fa3fde86a3ae3958c0b6563d6c3cd0960da88333f93d",
|
||||
"addons/core/Scripts/Game/ERR/ERR_Supplies.c": "752e8a56b0b8cde33cf532032cb0a203553017b686faac2e19bee06f7a9c0713",
|
||||
"addons/core/Scripts/Game/ERR/ERR_TimeService.c": "d9f481b7da01e08d2c982a948c18ba6bde76889d7cc9d26d510708f4ba479453",
|
||||
"addons/core/Scripts/GameLib/ERR/ERR_DiagnosticNoSplash.c": "0ea1b402f8927b6d68bf6f7e5caa2967f7e3a39147634faab147796b791933b5",
|
||||
"addons/core/Scripts/WorkbenchGame/ERR/ERR_ValidateBaseWorldPlugin.c": "7f44aa64ea7b4f8b3640a37a4b781c43bf6adb80e4a3a702d9491131698056f6",
|
||||
"addons/core/UI/layouts/ERR/PreparationStatus.layout": "bd269cf8dc6f27735423743dd5b78242550518414448a0256e5e12fa6b92c459",
|
||||
"addons/core/UI/layouts/ERR/PreparationStatus.layout.meta": "75b12176a443bb911fc4ad446982d762201fda42ed38736b79bc5439fca31ccc",
|
||||
"addons/core/Worlds/ERR_Everon.ent": "22324bc7eb0d80dec8a1f3bd61a9df9201b72f749f4e751766b0c9d0b7d46b87",
|
||||
"addons/core/Worlds/ERR_Everon.ent.meta": "19d1903ca72baa326b4724a6791d0da1104a1e53f3f31dc1ca41a856efd68e83",
|
||||
"addons/core/Worlds/ERR_Everon_Layers/default.layer": "17105538007199bfc419aa04a64debaf2da0a7b77a1dc3ba983e92bf747c862e",
|
||||
"addons/core/addon.gproj": "231274e6b62302f32c65f9ff31de2ce8a9e51e1c8d12c87deeec82ae1f40de46",
|
||||
"addons/intel/Scripts/Game/ERR/ERR_IntelService.c": "5e167630a76437fd731fbb7a62a41381ea71509f3adb8a6b9c77f6816384861a",
|
||||
"addons/intel/addon.gproj": "d0ced242cefb220a5cccd6779d61fda9bc55581701b9f78bcf13c09d92ddbcbe",
|
||||
"addons/map/Materials/ERRM_MapRenderTarget.emat": "9877c5b175c5f30dd80bea36c711b21ab38219aa7075adf9ae79932e1d4c76bc",
|
||||
"addons/map/Materials/ERRM_MapRenderTarget.emat.meta": "5ee1a705f8011a44020ca2691f5ccc17d44bf596fef9a36e98d1f267eb58fab0",
|
||||
"addons/map/Prefabs/Items/Equipment/ERRM_SharedFieldMap.et": "30dee8e9eab459ea32a7d835a9fb89d43df47708057cab829f067b25a24cd581",
|
||||
"addons/map/Prefabs/Items/Equipment/ERRM_SharedFieldMap.et.meta": "59093e9072c50d99c86da7609c87541016da5bcf92b98d99db4c524e1c8e0e8d",
|
||||
"addons/map/Scripts/Game/ERR/ERR_ScenarioMap.c": "75fa1d742129ef7f33c005cd48f56db7f49ee7bde3c5428532b0b501b032b0a3",
|
||||
"addons/map/Scripts/Game/ERRMap/ERRM_NativeMapOwnershipProbe.c": "32418602f085e3edba7343f42a6a691630b533be262002f29248e8ae87a38254",
|
||||
"addons/map/Scripts/Game/ERRMap/ERRM_SharedMapComponent.c": "3a10f6ea25bf88a400bc3e6c339823433845c5db4f2f423835ccf99a1b1a843f",
|
||||
"addons/map/UI/layouts/ERRMap/SharedMapRenderTarget.layout": "49a2da4181b94d42174f58c7f9b6bf2207116c99427d61ff1c212092ac7db4d2",
|
||||
"addons/map/UI/layouts/ERRMap/SharedMapRenderTarget.layout.meta": "5c846445cc089e2e08899ba703059d4adb805ff30ab5a16409a3cd59718cbd54",
|
||||
"addons/map/addon.gproj": "1b371e5e01ea9fa46e76570fecb8aaa3a9298e34cba7ccca8a6bdb5ca86eb46a"
|
||||
}
|
||||
@@ -120,3 +120,45 @@ source-bound native trial remains necessary; prior approach successes do not
|
||||
qualify the changed timing.
|
||||
|
||||
The first [native timing candidate202949](evidence/approach-timing-review-2026-09-19-202949/review.json) passed camera calibration but failed its original approach deadline. It sent12 paired W pulses and14 yaw requests;11 full stops were completed before expiry. Actual holds were 195.1–236.3ms (median200.9ms), and largest completed stop was0.438m. Observed path was3.965m. All releases and owned cleanup were confirmed. The improved release latency therefore did not produce a completed route within the existing budget. No wheel/F was sent; the failure remains archived.
|
||||
|
||||
## Separate coarse-heading experiment (native pending)
|
||||
|
||||
The failed 202949 timing run spent its original budget on 14 small yaw requests
|
||||
and 12 forward pulses despite shorter measured holds. A new **explicit**
|
||||
`--exercise-prison-coarse-approach` runner flag requires the existing approach,
|
||||
relative-look, gate-observation and private-display/input flags. Its matching
|
||||
helper flag is `--enable-private-coarse-approach-proof`. Neither flag enables F,
|
||||
pitch, a gate operation or any new native observer lifetime.
|
||||
|
||||
| Bound | Default `standard` | Explicit `coarse` |
|
||||
| --- | ---: | ---: |
|
||||
| Relative horizontal mouse request | 128 px | 384 px |
|
||||
| Desired yaw proposal before pixel rounding | 10° | 25° |
|
||||
| Actual native turn, including every intermediate sample | 15° | 35° |
|
||||
| Maximum paired W pulses | 12 | 16 |
|
||||
|
||||
Both retain 16 total turns, 2,048 total pixels, the exact private pointer's current
|
||||
and proposed clipped bounds, fresh full ownership/focus checks, stationary body
|
||||
requirements, directional native acknowledgement and full settling. A coarse
|
||||
request can still be refused because it does not fit the owned pointer area.
|
||||
Both retain the 35-second absolute READY deadline and 45-second QUEUED observer
|
||||
window, 1.5-second supervised key lease, 400ms actual W hold limit, positive
|
||||
sampled native forward input, full native stops, 0.75m endpoint tolerance, 0.25m
|
||||
reserve added to the largest measured stopping distance, six-metre total path,
|
||||
and the existing interior/velocity bounds. No limit renews when heading finishes
|
||||
or an input is refused. The known stopping-reserve deadzone remains a refusal.
|
||||
|
||||
The route report records `profile`; omitted profiles in historical reports mean
|
||||
`standard`, never coarse. Only those two names are accepted. Runner launch context
|
||||
and helper report independently bind `coarse_approach_requested`, while the existing
|
||||
exact helper and approach-module SHA-256 records bind the implementation. Final
|
||||
qualification rejects an unrequested coarse flag/profile, changed module hashes,
|
||||
or helper-only completion, and rechecks actual native intermediate turns under
|
||||
the selected profile. Default commands retain the previous capability limits.
|
||||
|
||||
Offline tests cover default compatibility, an attainable simulated coarse route,
|
||||
exact 16-pulse exhaustion, intermediate overshoot, unknown/unrequested profiles,
|
||||
private pointer/focus/expiry refusal and retained stopping/hold rules. These are
|
||||
policy and adapter tests, not evidence of improved ordinary gameplay. Previous
|
||||
failed runs keep their original profile and result; the new experiment requires
|
||||
its own source-bound native run before any success claim.
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# Proposed genuine held-F prison-lock proof
|
||||
|
||||
Design only; no held-F run or code change is established by this document. The next experiment is one real keyboard hold after independently accepted approach and alignment. It must not select an action, call an action method, change a door, move the player, alter input settings, or extend the original observation clock. A normal-input lock completion would establish this local route only, not multiplayer reliability or passage through the opened gate.
|
||||
The three read-only observer phase extensions are implemented, source-tested and compiled in the20:57 field fixture snapshot. The held-F helper, independent validator and actual interaction remain pending; no held-F run is established. The next experiment is one real keyboard hold after independently accepted approach and alignment. It must not select an action, call an action method, change a door, move the player, alter input settings, or extend the original observation clock. A normal-input lock completion would establish this local route only, not multiplayer reliability or passage through the opened gate.
|
||||
|
||||
## Native behavior that determines the proof
|
||||
|
||||
|
||||
@@ -0,0 +1,146 @@
|
||||
"""Execute bounded whole-field survey with fake native terrain/traces, never fly."""
|
||||
from policy_harness import ROOT, body, run
|
||||
import re
|
||||
P=ROOT/'addons/ai/Scripts/Game/ERR/ERR_AircraftFieldEnvelope.c'
|
||||
RULES=ROOT/'addons/ai/Scripts/Game/ERR/ERR_AircraftFieldRules.c'
|
||||
def cpp(s):
|
||||
for name in ('Math','vector','ERR_AircraftFieldRules','SCR_TerrainHelper','TraceFlags'):
|
||||
s=s.replace(name+'.',name+'::')
|
||||
s=s.replace('array<IEntity> excluded = null','void* excluded = nullptr')
|
||||
s=s.replace('TraceBox corridor','TraceBox* corridor').replace('TraceBox low','TraceBox* low')
|
||||
for name in ('corridor','low'):s=s.replace(name+'.',name+'->')
|
||||
s=s.replace('GetGame().','GetGame()->').replace('GetWorld().','GetWorld()->').replace(', null)', ', nullptr)')
|
||||
return re.sub(r'(?<![\w.])(\d+\.\d+)(?![\w.])', r'\1f', s)
|
||||
run(r'''
|
||||
#include <cassert>
|
||||
#include <cmath>
|
||||
#include <algorithm>
|
||||
#include <vector>
|
||||
#include <cstdio>
|
||||
struct Math {static float Clamp(float v,float lo,float hi){return std::clamp(v,lo,hi);}static float Min(float a,float b){return std::min(a,b);}static float Max(float a,float b){return std::max(a,b);}static int Ceil(float x){return std::ceil(x);}static float AbsFloat(float x){return std::abs(x);}};
|
||||
struct vector {float v[3]={};vector(){}vector(float x,float y,float z){v[0]=x;v[1]=y;v[2]=z;}vector(const char*s){sscanf(s,"%f %f %f",v,v+1,v+2);}float&operator[](int i){return v[i];}float operator[](int i)const{return v[i];}vector operator+(vector b)const{return {v[0]+b[0],v[1]+b[1],v[2]+b[2]};}vector operator-(vector b)const{return {v[0]-b[0],v[1]-b[1],v[2]-b[2]};}vector operator*(float n)const{return {v[0]*n,v[1]*n,v[2]*n};}static float Dot(vector a,vector b){return a[0]*b[0]+a[1]*b[1]+a[2]*b[2];}static float DistanceXZ(vector a,vector b){return std::hypot(a[0]-b[0],a[2]-b[2]);}};
|
||||
vector Vector(float x,float y,float z){return {x,y,z};}
|
||||
struct ERR_AircraftFieldRules {
|
||||
'''+cpp(body(RULES,'static bool Length('))+r'''
|
||||
};
|
||||
namespace TraceFlags {enum {ENTS=1,WORLD=2};}
|
||||
struct TraceBox {vector Start,End,Mins,Maxs;int Flags=0;void* ExcludeArray=nullptr;};
|
||||
struct World {int calls=0,refuseAt=0;std::vector<TraceBox> seen;float TraceMove(TraceBox* t,void*){calls++;seen.push_back(*t);delete t;return calls==refuseAt?.5:1;}} world;
|
||||
struct Game {bool hasWorld=true;World* GetWorld(){return hasWorld?&world:nullptr;}} game;
|
||||
bool hasGame=true;Game* GetGame(){return hasGame?&game:nullptr;}
|
||||
struct SCR_TerrainHelper {
|
||||
static int samples,kind;static std::vector<vector> points;
|
||||
static float GetTerrainY(vector p){samples++;points.push_back(p);if(kind==1)return 10.31f;if(kind==2&&samples==2000)return 9.69f;if(kind==3)return NAN;return 10;}
|
||||
};
|
||||
int SCR_TerrainHelper::samples=0;int SCR_TerrainHelper::kind=0;std::vector<vector> SCR_TerrainHelper::points;
|
||||
static const int MAX_TERRAIN_NODES=4096;
|
||||
'''+ '\n'.join(cpp(body(P,key)) for key in ('static bool FinitePoint(', 'static int TerrainColumns(', 'static bool TerrainBudget(', 'static bool Survey('))+r'''
|
||||
void reset(){world=World();SCR_TerrainHelper::samples=0;SCR_TerrainHelper::kind=0;SCR_TerrainHelper::points.clear();hasGame=true;game.hasWorld=true;}
|
||||
int main(){
|
||||
assert(TerrainColumns(100)==90);assert(TerrainColumns(100.05f)==91);
|
||||
assert(TerrainColumns(99.94f)==0&&TerrainColumns(100.06f)==0&&TerrainColumns(NAN)==0);
|
||||
assert(TerrainBudget(90,40)&&TerrainBudget(91,40)&&TerrainBudget(63,63));
|
||||
assert(!TerrainBudget(64,63)&&!TerrainBudget(0,40)&&!TerrainBudget(4096,1)&&!TerrainBudget(-1,40));
|
||||
assert(!FinitePoint({NAN,10,0})&&!FinitePoint({0,INFINITY,0})&&!FinitePoint({0,10,1000001}));
|
||||
for(float angle: {0.f,.4f,1.2f,2.8f}){
|
||||
reset();vector a={100,10,200},u={std::cos(angle),0,std::sin(angle)},v={-u[2],0,u[0]},b=a+u*100;
|
||||
int excluded=7;assert(Survey(a,b,&excluded));
|
||||
int columns=TerrainColumns(vector::DistanceXZ(a,b));
|
||||
assert(SCR_TerrainHelper::samples==(columns+1)*41&&SCR_TerrainHelper::samples<=4096&&world.calls==2);
|
||||
auto high=world.seen[0],low=world.seen[1];assert(high.Flags==(TraceFlags::ENTS|TraceFlags::WORLD)&&low.Flags==TraceFlags::ENTS);
|
||||
assert(high.ExcludeArray==&excluded&&low.ExcludeArray==&excluded);
|
||||
assert(high.Start[1]+high.Mins[1]==12&&high.End[1]+high.Maxs[1]==71);
|
||||
assert(std::abs(low.Start[1]+low.Mins[1]-10.3f)<.0001);
|
||||
// Assert the real terrain-query coordinates, including both endpoint caps.
|
||||
float minimumAlong=1e6,maximumAlong=-1e6,minimumAcross=1e6,maximumAcross=-1e6;
|
||||
for(auto p:SCR_TerrainHelper::points){float along=vector::Dot(p-a,u),across=vector::Dot(p-a,v);minimumAlong=std::min(minimumAlong,along);maximumAlong=std::max(maximumAlong,along);minimumAcross=std::min(minimumAcross,across);maximumAcross=std::max(maximumAcross,across);}
|
||||
assert(std::abs(minimumAlong+40)<.001&&std::abs(maximumAlong-140)<.001&&std::abs(minimumAcross+40)<.001&&std::abs(maximumAcross-40)<.001);
|
||||
for(size_t i=0;i<SCR_TerrainHelper::points.size();i++){
|
||||
if(i%41)assert(vector::DistanceXZ(SCR_TerrainHelper::points[i],SCR_TerrainHelper::points[i-1])<=2.0001);
|
||||
if(i>=41)assert(vector::DistanceXZ(SCR_TerrainHelper::points[i],SCR_TerrainHelper::points[i-41])<=2.0001);
|
||||
}
|
||||
// Every sampled bearing of the entire40m segment tube fits both traces.
|
||||
for(int step=0;step<=10;step++)for(int bearing=0;bearing<16;bearing++){
|
||||
float theta=bearing*6.2831853f/16;vector p=a+u*(step*10)+Vector(std::cos(theta)*40,0,std::sin(theta)*40);
|
||||
for(int axis:{0,2}){assert(p[axis]>=high.Start[axis]+high.Mins[axis]-.001&&p[axis]<=high.Start[axis]+high.Maxs[axis]+.001);assert(low.Mins[axis]==high.Mins[axis]&&low.Maxs[axis]==high.Maxs[axis]);}
|
||||
}
|
||||
}
|
||||
vector a={0,10,0},b={100,10,0};
|
||||
for(int fault=1;fault<=3;fault++){reset();SCR_TerrainHelper::kind=fault;assert(!Survey(a,b));assert(world.calls==0&&SCR_TerrainHelper::samples<=4096);if(fault==2)assert(SCR_TerrainHelper::samples==2000);}
|
||||
for(int trace=1;trace<=2;trace++){reset();world.refuseAt=trace;assert(!Survey(a,b));assert(world.calls==trace&&SCR_TerrainHelper::samples==3731);}
|
||||
for(vector end:{Vector(99.94f,10,0),Vector(100.06f,10,0),Vector(100,10.31f,0),Vector(NAN,10,0)}){reset();assert(!Survey(a,end));assert(world.calls==0&&SCR_TerrainHelper::samples==0);}
|
||||
reset();assert(!Survey({0,1,0},{100,1,0}));assert(SCR_TerrainHelper::samples==0);
|
||||
reset();hasGame=false;assert(!Survey(a,b));assert(SCR_TerrainHelper::samples==0);
|
||||
reset();game.hasWorld=false;assert(!Survey(a,b));assert(SCR_TerrainHelper::samples==0);
|
||||
reset();assert(Survey(a,{100.05f,10,0}));assert(SCR_TerrainHelper::samples==3772);
|
||||
}
|
||||
''')
|
||||
source=P.read_text();qualify=body(P,'static ERR_AircraftFieldEnvelope QualifyField(')
|
||||
assert 'bool Claim(' not in source and 'bool ClaimedBy(' not in source
|
||||
assert 'ERR_AircraftFlightEnvelope.Qualify(mode, aircraft, pilot)' in qualify
|
||||
assert qualify.index('ERR_AircraftFlightEnvelope.Qualify(')<qualify.index('Hierarchy(')<qualify.index('ClearColumn(')<qualify.index('Survey(')<qualify.index('new ERR_AircraftFieldEnvelope')
|
||||
assert 'm_Home = point.Home()' in qualify and 'm_Radius = point.Radius()' in qualify
|
||||
assert source.count('m_Destination = end')==1
|
||||
assert 'record.m_QualifiedAt = began;' in qualify and 'now - began <= 2000' in qualify
|
||||
assert 'vector.Distance(aircraft.GetOrigin(), point.Home()) > 0.1' in qualify
|
||||
assert 'GetGame().GetWorld() != world' in qualify
|
||||
assert 'ERR_AircraftFieldRules.Contains(m_Home, m_Destination, position, upright)' in body(P,'bool Contains(')
|
||||
print('PASS: actual100m whole-field survey sampling/4096cap, rotated coverage, all-node terrain and native trace refusal; original certificate lineage retained; no native qualification')
|
||||
|
||||
# Execute the actual certificate issuance body with fake native boundaries.
|
||||
# Geometry/terrain/trace internals are exercised above, not replaced in that test.
|
||||
q=cpp(qualify)
|
||||
q=q.replace('static ERR_AircraftFieldEnvelope QualifyField(', 'static Field* QualifyField(')
|
||||
q=q.replace('ERR_GameMode mode','Mode* mode').replace('Vehicle aircraft','Entity* aircraft').replace('IEntity pilot','Entity* pilot')
|
||||
q=q.replace('BaseWorld world','World* world').replace('ERR_AircraftFlightEnvelope point','Base* point')
|
||||
q=q.replace('ERR_AircraftFlightEnvelope.Qualify','Base::Qualify').replace('ERR_Actors.Ground','Ground')
|
||||
q=q.replace('array<IEntity> excluded = {}','int excluded = 1')
|
||||
q=q.replace('ERR_AircraftFieldEnvelope record = new ERR_AircraftFieldEnvelope()','Field* record = new Field()')
|
||||
q=q.replace('ERR_GameMode.Get()','Mode::Get()')
|
||||
for name in ('world','point','record','mode','aircraft','pilot'):q=q.replace(name+'.',name+'->')
|
||||
q=q.replace('return null;', 'return nullptr;')
|
||||
run(r'''
|
||||
#include <cassert>
|
||||
#include <cmath>
|
||||
#include <algorithm>
|
||||
#include <vector>
|
||||
struct vector{float v[3]={};vector(){}vector(float x,float y,float z){v[0]=x;v[1]=y;v[2]=z;}float&operator[](int i){return v[i];}float operator[](int i)const{return v[i];}static float DistanceXZ(vector a,vector b){return std::hypot(a[0]-b[0],a[2]-b[2]);}static float Distance(vector a,vector b){return std::sqrt((a[0]-b[0])*(a[0]-b[0])+(a[1]-b[1])*(a[1]-b[1])+(a[2]-b[2])*(a[2]-b[2]));}};
|
||||
struct Math{static float AbsFloat(float x){return std::abs(x);}};
|
||||
struct ERR_AircraftFieldRules{
|
||||
'''+cpp(body(RULES,'static bool Length('))+r'''
|
||||
};
|
||||
struct World{float now=1000;float GetWorldTime(){return now;}} world,foreignWorld;
|
||||
struct Game{World* current=&world;World* GetWorld(){return current;}} game;
|
||||
Game* liveGame=&game;Game* GetGame(){return liveGame;}
|
||||
struct Mode{bool active=true;bool Active(){return active;}static Mode* current;static Mode* Get(){return current;}} mode,foreignMode;Mode* Mode::current=&mode;
|
||||
struct Entity{World* worldPtr=&world;vector origin={0,10.1f,0};World* GetWorld(){return worldPtr;}vector GetOrigin(){return origin;}} aircraft,pilot;
|
||||
int fault=0,allocations=0;std::vector<int> order;
|
||||
vector Ground(vector point){point[1]=10;return point;}
|
||||
struct Base {
|
||||
Mode* m_Mode=nullptr;Entity* m_Aircraft=nullptr;Entity* m_Pilot=nullptr;vector m_Home={0,10.1f,0};float m_Radius=28,m_QualifiedAt=-1;
|
||||
vector Home(){return m_Home;}float Radius(){return m_Radius;}
|
||||
static Base* Qualify(Mode*,Entity*,Entity*){order.push_back(1);static Base point;return fault==1?nullptr:&point;}
|
||||
};
|
||||
struct Field:Base{
|
||||
vector m_Destination;Field(){allocations++;}
|
||||
'''+cpp(body(P,'static bool FinitePoint('))+r'''
|
||||
static bool Hierarchy(Entity* entity,int){order.push_back(entity==&aircraft?2:3);return fault!=(entity==&aircraft?2:3);}
|
||||
static bool ClearColumn(Entity*,Entity*,vector){order.push_back(4);return fault!=4;}
|
||||
static bool Survey(vector,vector,int){order.push_back(5);world.now+=500;if(fault==6)world.now=3001;if(fault==7)aircraft.origin[0]=.101f;if(fault==8)game.current=&foreignWorld;if(fault==9)Mode::current=&foreignMode;if(fault==10)mode.active=false;if(fault==11)pilot.worldPtr=&foreignWorld;return fault!=5;}
|
||||
'''+q+r'''
|
||||
};
|
||||
void reset(){fault=0;world.now=1000;game.current=&world;Mode::current=&mode;mode.active=true;aircraft.origin={0,10.1f,0};aircraft.worldPtr=&world;pilot.worldPtr=&world;allocations=0;order.clear();}
|
||||
int main(){
|
||||
reset();Field* qualified=Field::QualifyField(&mode,&aircraft,&pilot,{100,999,0});
|
||||
assert(qualified&&allocations==1&&order==std::vector<int>({1,2,3,4,5}));
|
||||
assert(qualified->m_Mode==&mode&&qualified->m_Aircraft==&aircraft&&qualified->m_Pilot==&pilot);
|
||||
assert(qualified->m_QualifiedAt==1000&&world.now==1500); // survey never renews age
|
||||
assert(qualified->m_Radius==28&&qualified->m_Home[1]==10.1f);
|
||||
assert(qualified->m_Destination[0]==100&&qualified->m_Destination[1]==10.1f);
|
||||
delete qualified;
|
||||
for(int problem=1;problem<=11;problem++){reset();fault=problem;assert(!Field::QualifyField(&mode,&aircraft,&pilot,{100,10,0}));assert(allocations==0);}
|
||||
reset();assert(!Field::QualifyField(&mode,&aircraft,&pilot,{99,10,0}));assert(order==std::vector<int>({1})&&allocations==0);
|
||||
reset();assert(!Field::QualifyField(&mode,&aircraft,&pilot,{NAN,10,0}));assert(order.empty()&&allocations==0);
|
||||
}
|
||||
''')
|
||||
print('PASS: actual QualifyField preserves original identity/footprint/time, orders complete surveys before issuance, and refuses failed stages/moved body/expired or changed world; native boundaries faked')
|
||||
@@ -0,0 +1,181 @@
|
||||
"""Execute prototype flight methods with real rules; native boundaries are fakes."""
|
||||
from policy_harness import ROOT, body, run
|
||||
import re
|
||||
P=ROOT/'addons/ai/Scripts/Game/ERR/ERR_AircraftFieldFlight.c'
|
||||
B=ROOT/'addons/ai/Scripts/Game/ERR/ERR_AircraftFlight.c'
|
||||
R=ROOT/'addons/ai/Scripts/Game/ERR/ERR_AircraftFieldRules.c'
|
||||
source=P.read_text()
|
||||
def cpp(s):
|
||||
s=s.replace('protected ','').replace('override ','').replace('ref ','').replace('super.','Base::')
|
||||
for old,new in [('ERR_AircraftFlightState.','State::'),('ERR_AircraftFlightRules.','FlightRules::'),('ERR_AircraftFieldRules.','Rules::'),('ERR_AircraftTranslationRules.','TranslationRules::'),('Math.','Math::'),('vector.','vector::')]:s=s.replace(old,new)
|
||||
s=s.replace('ERR_AircraftFieldEnvelope m_Field;', 'ERR_AircraftFieldEnvelope* m_Field=nullptr;')
|
||||
s=s.replace('FuelManagerComponent fuel = FuelManagerComponent.Cast(aircraft.FindComponent(FuelManagerComponent));','FuelManagerComponent* fuel = FixtureFuel(aircraft);')
|
||||
s=s.replace('fuel.', 'fuel->').replace('m_Fuel.', 'm_Fuel->')
|
||||
s=s.replace('ERR_AircraftFieldEnvelope field','ERR_AircraftFieldEnvelope* field').replace('ERR_AircraftFlightEnvelope qualification','int qualification')
|
||||
s=s.replace('SignalsManagerComponent signals','SignalsManagerComponent* signals').replace('ActionManager actions','ActionManager* actions')
|
||||
for name in ('field','m_Field','signals','actions'):s=s.replace(name+'.',name+'->')
|
||||
s=s.replace('"0 0 0"','vector{}').replace('out vector nextIntegral','vector& nextIntegral')
|
||||
return s
|
||||
rules=cpp(R.read_text().replace('class ERR_AircraftFieldRules','struct Rules')).rstrip()+';'
|
||||
fields=cpp(source[source.index(' protected ref'):source.index(' int FieldPhase()')])
|
||||
# Explicit defaults emulate Enforce's zero-initialized script fields.
|
||||
fields=re.sub(r'(bool m_\w+);',r'\1=false;',fields)
|
||||
fields=re.sub(r'(int m_\w+);',r'\1=0;',fields)
|
||||
methods='\n'.join(cpp(body(P,k)) for k in (
|
||||
'protected bool FuelAdmission(', 'bool StartField(', 'override bool Start(', 'override bool StartTranslation(',
|
||||
'protected bool FieldContains(', 'protected override bool Grounded(',
|
||||
'protected bool BeginFieldBrake(', 'protected override bool Landing(',
|
||||
'protected override bool BeginTranslation(', 'protected override bool ControlLease(',
|
||||
'protected vector FieldDemand(', 'override void PrepareActions(',
|
||||
'protected override void CheckTranslation(', 'override void Tick('))
|
||||
run(r'''#include <cassert>
|
||||
#include <cmath>
|
||||
#include <algorithm>
|
||||
#include <string>
|
||||
#include <initializer_list>
|
||||
#define PrintFormat(...) ((void)0)
|
||||
using string=std::string;using ERR_GameMode=int;using Vehicle=int;using SCR_AIGroup=int;using IEntity=int;using PilotCompartmentSlot=int;using CharacterControllerComponent=int;
|
||||
namespace State {enum {IDLE,HOOKS,STARTING,POSITIVE,NEGATIVE,CLIMB,LANDING,SHUTDOWN,COMPLETE,CANCELLED,FAILED,RELINQUISHED,TRANSLATING};}
|
||||
struct vector {
|
||||
float v[3]={0,0,0};vector()=default;vector(float x,float y,float z):v{x,y,z}{}
|
||||
float& operator[](int i){return v[i];}float operator[](int i)const{return v[i];}
|
||||
vector operator+(vector b)const{return {v[0]+b[0],v[1]+b[1],v[2]+b[2]};}vector operator-(vector b)const{return {v[0]-b[0],v[1]-b[1],v[2]-b[2]};}vector operator*(float s)const{return {v[0]*s,v[1]*s,v[2]*s};}
|
||||
float Length()const{return std::sqrt(Dot(*this,*this));}static float Dot(vector a,vector b){return a[0]*b[0]+a[1]*b[1]+a[2]*b[2];}static float DistanceXZ(vector a,vector b){return std::hypot(a[0]-b[0],a[2]-b[2]);}
|
||||
};
|
||||
struct Math {static float AbsFloat(float x){return std::abs(x);}static float Clamp(float x,float lo,float hi){return std::clamp(x,lo,hi);}static float Min(float a,float b){return std::min(a,b);}static float Max(float a,float b){return std::max(a,b);}static float Sqrt(float a){return std::sqrt(a);}};
|
||||
'''+rules+r'''
|
||||
struct FlightRules {
|
||||
'''+''.join(cpp(body(B,k)) for k in ('static bool Hover(', 'static float Vertical(', 'static int CancelAction('))+r'''
|
||||
};
|
||||
struct TranslationRules {
|
||||
'''+cpp(body(B,'static vector Demand('))+r'''
|
||||
};
|
||||
struct ERR_AircraftFieldEnvelope {vector home={0,0,0},destination={100,0,0};bool available=true;vector Home(){return home;}vector Destination(){return destination;}bool Contains(vector p,float u){return available&&Rules::Contains(home,destination,p,u);}};
|
||||
struct SignalsManagerComponent {bool available=true;int FindSignal(const char*){return available?1:-1;}};
|
||||
struct Controller {bool hover=true,engine=true,enableAllowed=true;int hoverWrites=0;SignalsManagerComponent signals;explicit operator bool()const{return true;}SignalsManagerComponent* GetSignalsManager(){return &signals;}bool GetAutohoverEnabled(){return hover;}void SetAutohoverEnabled(bool enabled){hoverWrites++;if(enableAllowed)hover=enabled;}bool IsEngineOn(){return engine;}};
|
||||
struct Simulation {vector velocity,angular;bool contact=false;vector GetVelocity(){return velocity;}vector GetAngularVelocityLocal(){return angular;}bool HasAnyGroundContact(){return contact;}};
|
||||
struct Aircraft {vector origin={0,8,0};float upright=1;vector GetOrigin(){return origin;}vector GetYawPitchRoll(){return {};}void GetWorldTransform(vector (&t)[4]){t[0]={1,0,0};t[1]={0,upright,0};t[2]={0,0,1};t[3]=origin;}};
|
||||
struct ActionManager {bool active=true;int activated=0;bool IsContextActive(const char*){return active;}void ActivateContext(const char*,int){activated++;}};
|
||||
struct FuelManagerComponent {float total=100;bool present=true;bool HasFuel(){return present&&total>0;}float GetTotalFuel(){return total;}};
|
||||
FuelManagerComponent fuelBoundary;FuelManagerComponent* FixtureFuel(int aircraft){return aircraft==2?&fuelBoundary:nullptr;}
|
||||
struct Base {
|
||||
bool m_StartAttempted=false,m_TranslationRequested=false,m_TranslationStarted=false,m_TranslationProven=false,m_Readback=true,m_Cancelled=false;
|
||||
vector m_TranslationTarget,m_TranslationOrigin,m_Home;float m_TranslationDistance=0,m_Stable=-1,m_Deadline=240000,m_StageDeadline=240000,m_LastControl=0,m_LastTick=-1,m_Collective=-.8,m_Heading=0,clock=0;
|
||||
int m_State=State::IDLE,m_Token=0,m_TranslationUpdates=0,m_ActionUpdates=0,m_HelicopterUpdates=0,m_Character=11,m_Pilot=12;
|
||||
FuelManagerComponent* m_Fuel=&fuelBoundary;Controller m_Controller;Simulation m_Simulation;Aircraft m_Aircraft;ActionManager manager;ActionManager* m_Actions=&manager;string m_Reason;
|
||||
bool owner=true,healthy=true,leased=true,grounded=false,pairsOkay=true,startOkay=true;
|
||||
int starts=0,claims=0,landings=0,failures=0,relinquished=0,releases=0,shutdowns=0,pairs=0,baseInputs=0,baseTicks=0;float collectiveWrite=0,forwardWrite=0,asideWrite=0;
|
||||
bool Start(ERR_GameMode,Vehicle,SCR_AIGroup,IEntity,PilotCompartmentSlot,ERR_AircraftFieldEnvelope* q,int token,float deadline){m_StartAttempted=true;starts++;if(!startOkay)return false;claims++;m_Home=q->Home();m_Token=token;m_Deadline=deadline;m_State=State::HOOKS;return true;}
|
||||
virtual bool Grounded(){return grounded;}virtual bool Landing(float now){landings++;m_State=State::LANDING;m_Stable=-1;m_StageDeadline=Math::Min(m_Deadline,now+65000);return true;}
|
||||
virtual bool BeginTranslation(float,vector){assert(false);return false;}
|
||||
bool Owns(){return owner;}bool Healthy(){return healthy;}bool Lease(){return leased&&!Finished();}float Now(){return clock;}bool Finished(){return m_State>=State::COMPLETE&&m_State<=State::RELINQUISHED;}
|
||||
void Fail(string r){m_Reason=r;failures++;m_State=State::FAILED;}void Relinquish(string r){m_Reason=r;relinquished++;m_State=State::RELINQUISHED;}void Release(bool){releases++;}void RecordState(){}void Shutdown(float now){shutdowns++;m_State=State::SHUTDOWN;m_StageDeadline=Math::Min(m_Deadline,now+15000);m_Stable=-1;m_Controller.engine=false;}
|
||||
bool Pair(const char* p,const char*,float value){pairs++;string name=p;if(name=="HelicopterCollectiveIncrease")collectiveWrite=value;if(name=="HelicopterCyclicForward")forwardWrite=value;if(name=="HelicopterCyclicRight")asideWrite=value;return pairsOkay;}
|
||||
void PrepareActions(int,int,ActionManager*,float){baseInputs++;}void Tick(){baseTicks++;}
|
||||
'''+cpp(body(B,'void Cancel('))+r'''
|
||||
};
|
||||
struct Flight:Base {
|
||||
'''+fields+methods+r'''
|
||||
};
|
||||
void started(Flight& f,ERR_AircraftFieldEnvelope& q){assert(f.StartField(1,2,3,4,5,&q,77,240000));f.m_State=State::CLIMB;f.clock=60000;f.m_LastControl=f.clock;assert(f.BeginTranslation(f.clock,{0,8,0}));}
|
||||
bool near(float a,float b){return std::abs(a-b)<.0001f;}
|
||||
int main(){
|
||||
ERR_AircraftFieldEnvelope q;
|
||||
Flight fuelCheck;assert(!fuelCheck.FuelAdmission(0)&&!fuelCheck.FuelAdmission(999));fuelBoundary.total=49.99f;assert(!fuelCheck.StartField(1,2,3,4,5,&q,77,240000)&&fuelCheck.starts==0&&fuelCheck.claims==0&&!fuelCheck.m_Field);
|
||||
fuelBoundary.total=50;assert(fuelCheck.FuelAdmission(2));fuelBoundary.present=false;assert(!fuelCheck.FuelAdmission(2));fuelBoundary.present=true;fuelBoundary.total=100;
|
||||
Flight refuse;assert(!refuse.StartField(1,2,3,4,5,nullptr,77,240000)&&refuse.starts==0);
|
||||
q.destination={101,0,0};assert(!refuse.StartField(1,2,3,4,5,&q,77,240000)&&refuse.starts==0);q.destination={100,0,0};
|
||||
assert(!refuse.StartField(1,2,3,4,5,&q,77,238999)&&refuse.starts==0);
|
||||
assert(!refuse.Start(1,2,3,4,5,1,77,240000));assert(!refuse.StartTranslation(1,2,3,4,5,1,77,240000,{100,0,0}));
|
||||
Flight f;started(f,q);assert(f.starts==1&&f.claims==1&&f.m_Field==&q&&f.m_TranslationTarget[0]==100&&f.m_TranslationTarget[1]==8&&f.m_Token==77&&f.m_Deadline==240000);
|
||||
assert(!f.StartField(1,2,3,4,5,&q,78,240000)&&f.starts==1);
|
||||
assert(f.m_State==State::TRANSLATING&&f.m_FieldPhase==1&&f.m_StageDeadline==220000);
|
||||
f.CheckTranslation(61000,{-0.23f,8,0},8,0,1);assert(f.m_FieldPhase==1); // actual post-hover distance can exceed100m
|
||||
vector demand=f.FieldDemand({0,8,0},{},.1f);assert(f.m_FieldReference[0]>0&&f.m_FieldReference.Length()<=.020001f&&demand.Length()<=.080001f);
|
||||
f.m_FieldReference={2,0,0};f.m_FieldIntegral={1,0,0};f.m_Aircraft.origin={80,8,0};f.m_Simulation.velocity={2,0,0};
|
||||
f.CheckTranslation(90000,f.m_Aircraft.origin,8,2,1);assert(f.m_FieldPhase==2&&f.m_FieldStopFrozen&&f.m_FieldLandingPoint[0]==100&&f.m_State==State::TRANSLATING&&f.landings==0&&f.m_StageDeadline==135000);
|
||||
float brakeDeadline=f.m_StageDeadline;float brakeCap=f.m_FieldBrakeSpeed;assert(near(brakeCap,1.8f));
|
||||
auto firstBrake=f.FieldDemand(f.m_Aircraft.origin,f.m_Simulation.velocity,.1f);assert(f.m_FieldReference.Length()<2&&f.m_FieldReference.Length()>=1.9799f&&firstBrake.Length()<=.080001f);
|
||||
float previous=f.m_FieldReference.Length();for(int i=0;i<20;i++){f.FieldDemand({85,8,0},{1.9f,0,0},.1f);assert(f.m_FieldReference.Length()<=previous+.000001f);previous=f.m_FieldReference.Length();}
|
||||
f.clock=91000;f.Cancel("stop during brake");assert(f.m_Cancelled&&f.m_FieldLandingPoint[0]==100&&f.m_StageDeadline==brakeDeadline&&f.landings==0);
|
||||
f.clock=92000;f.Cancel("duplicate");assert(f.m_Reason=="stop during brake"&&f.m_StageDeadline==brakeDeadline&&f.m_Token==77&&f.m_FieldBrakeSpeed==brakeCap);
|
||||
f.m_Simulation.velocity={.1f,0,0};f.CheckTranslation(92000,{99.6f,8,0},8,.1f,1);f.CheckTranslation(93999,{99.6f,8,0},8,.1f,1);assert(f.m_FieldPhase==2);
|
||||
f.m_Simulation.velocity={.3f,0,0};f.CheckTranslation(94000,{99.6f,8,0},8,.3f,1);assert(f.m_FieldLowSince<0);
|
||||
f.m_Simulation.velocity={.1f,0,0};f.CheckTranslation(95000,{99.6f,8,0},8,.1f,1);f.CheckTranslation(97000,{99.6f,8,0},8,.1f,1);
|
||||
assert(f.m_FieldPhase==3&&f.m_FieldIntegral.Length()==0&&f.m_FieldReference.Length()==0&&f.m_StageDeadline==brakeDeadline&&f.landings==0);
|
||||
f.CheckTranslation(101999,{99.6f,8,0},8,.1f,1);assert(f.landings==0);
|
||||
f.CheckTranslation(102000,{99.6f,8,0},8,.1f,1);assert(f.landings==1&&f.m_State==State::LANDING&&!f.m_FieldArrived&&!f.m_TranslationProven&&f.m_StageDeadline==127000&&f.m_Deadline==240000);
|
||||
// Grounded completion requires exact frozen centre, stable native contact and shutdown.
|
||||
f.grounded=true;f.m_Aircraft.origin={98,0,0};assert(!f.Grounded());f.m_Aircraft.origin={99.6f,0,0};assert(f.Grounded());
|
||||
f.clock=103000;f.m_LastControl=f.clock;f.Tick();f.clock=104000;f.m_LastControl=f.clock;f.Tick();f.clock=104999;f.m_LastControl=f.clock;f.Tick();assert(f.shutdowns==0);
|
||||
f.clock=105000;f.m_LastControl=f.clock;f.Tick();assert(f.shutdowns==1&&f.m_State==State::SHUTDOWN);
|
||||
f.clock=105100;f.m_LastControl=f.clock;f.Tick();assert(f.m_State==State::CANCELLED&&f.releases==1&&f.m_Token==77&&f.m_Deadline==240000);
|
||||
// Uncancelled normal hold can produce COMPLETE only after native ground observations.
|
||||
Flight normal;started(normal,q);normal.m_Aircraft.origin={99.7f,8,0};assert(normal.BeginFieldBrake(80000));
|
||||
normal.CheckTranslation(80000,normal.m_Aircraft.origin,8,0,1);normal.CheckTranslation(82000,normal.m_Aircraft.origin,8,0,1);
|
||||
normal.CheckTranslation(85000,{98,8,0},8,0,1);assert(normal.m_Stable<0&&!normal.m_FieldArrived);
|
||||
normal.CheckTranslation(86000,normal.m_Aircraft.origin,8,0,1);normal.CheckTranslation(90999,normal.m_Aircraft.origin,8,0,1);assert(!normal.m_FieldArrived);
|
||||
normal.CheckTranslation(91000,normal.m_Aircraft.origin,8,0,1);assert(normal.m_FieldArrived&&normal.m_TranslationProven&&normal.landings==1);
|
||||
normal.m_Aircraft.origin={99.7f,0,0};normal.grounded=true;
|
||||
for(int t=92000;t<=94100;t+=700){normal.clock=t;normal.m_LastControl=t;normal.Tick();}
|
||||
assert(normal.m_State==State::SHUTDOWN);normal.clock=94200;normal.m_LastControl=normal.clock;normal.Tick();assert(normal.m_State==State::COMPLETE&&normal.releases==1);
|
||||
// Cancelling during climb retains altitude/braking instead of invoking descent.
|
||||
Flight climb;assert(climb.StartField(1,2,3,4,5,&q,77,240000));climb.m_State=State::CLIMB;climb.clock=30000;climb.m_Aircraft.origin={1,3,0};climb.Cancel("climb stop");
|
||||
assert(climb.m_State==State::TRANSLATING&&climb.m_FieldPhase==2&&climb.landings==0&&!climb.m_TranslationStarted);
|
||||
// Actual inherited Cancel may run airborne before startup enabled autohover.
|
||||
for(int stage:{State::POSITIVE,State::NEGATIVE}){
|
||||
Flight early;assert(early.StartField(1,2,3,4,5,&q,77,240000));early.m_State=stage;early.m_Controller.hover=false;early.clock=30000;early.m_Aircraft.origin={1,.2f,0};early.m_Simulation.velocity={.1f,0,0};
|
||||
early.Cancel("pre-climb airborne stop");assert(early.m_Cancelled&&early.m_FieldPhase==2&&early.m_State==State::TRANSLATING&&early.m_Controller.hover&&early.m_Controller.hoverWrites==1&&early.failures==0&&early.landings==0);
|
||||
auto frozen=early.m_FieldLandingPoint;auto stageDeadline=early.m_StageDeadline;early.PrepareActions(early.m_Character,early.m_Pilot,early.m_Actions,.1f);assert(early.pairs==4&&early.failures==0);
|
||||
early.Cancel("duplicate");assert(early.m_Controller.hoverWrites==1&&early.m_FieldLandingPoint[0]==frozen[0]&&early.m_StageDeadline==stageDeadline&&early.m_Deadline==240000);
|
||||
}
|
||||
Flight refusedHover;started(refusedHover,q);refusedHover.m_Controller.hover=false;refusedHover.m_Controller.enableAllowed=false;refusedHover.Cancel("native hover refuses");assert(refusedHover.failures==1&&!refusedHover.m_FieldStopFrozen&&refusedHover.m_Controller.hoverWrites==1&&refusedHover.m_State==State::FAILED);
|
||||
Flight capturedBrake;started(capturedBrake,q);capturedBrake.owner=false;capturedBrake.Cancel("captured before brake");assert(capturedBrake.relinquished==1&&capturedBrake.m_Controller.hoverWrites==0&&!capturedBrake.m_FieldStopFrozen);
|
||||
// First cancellation freezes a velocity-projected qualified point exactly once.
|
||||
Flight cancel;started(cancel,q);cancel.m_Aircraft.origin={30,8,0};cancel.m_Simulation.velocity={2,0,0};cancel.m_FieldReference={2,0,0};cancel.clock=70000;cancel.Cancel("first");
|
||||
assert(cancel.m_State==State::TRANSLATING&&cancel.m_FieldPhase==2&&cancel.landings==0&&near(cancel.m_FieldLandingPoint[0],30+Rules::BrakingReserve(2)));
|
||||
auto centre=cancel.m_FieldLandingPoint;float deadline=cancel.m_StageDeadline;cancel.clock=71000;cancel.m_Aircraft.origin={40,8,0};cancel.Cancel("again");assert(cancel.m_FieldLandingPoint[0]==centre[0]&&cancel.m_StageDeadline==deadline);
|
||||
Flight settling;started(settling,q);settling.m_Aircraft.origin={99.7f,8,0};assert(settling.BeginFieldBrake(80000));settling.m_FieldPhase=3;settling.m_Stable=81000;settling.clock=82000;auto old=settling.m_StageDeadline;settling.Cancel("mid hold");assert(settling.failures==0&&settling.landings==0&&settling.m_State==State::TRANSLATING&&settling.m_StageDeadline==old);
|
||||
// Cancellation cannot invent a stopping point beyond qualified space.
|
||||
Flight outside;started(outside,q);outside.m_Aircraft.origin={100,8,0};outside.m_Simulation.velocity={2,0,0};outside.Cancel("too late");assert(outside.failures==1&&!outside.m_FieldStopFrozen&&outside.landings==0);
|
||||
// Early abort is owner-tick based and cannot transition inherited input mid-call.
|
||||
Flight abort;started(abort,q);abort.clock=155000;abort.m_LastControl=abort.clock;abort.m_Aircraft.origin={20,8,0};assert(abort.ControlLease()&&!abort.m_Cancelled);abort.Tick();assert(abort.m_Cancelled&&abort.m_FieldPhase==2&&abort.m_Deadline==240000&&abort.m_StageDeadline==200000);
|
||||
Flight edge;started(edge,q);edge.clock=153499;edge.m_LastControl=edge.clock;edge.m_Aircraft.origin={20,8,0};edge.Tick();assert(!edge.m_Cancelled);edge.clock=153500;edge.m_LastControl=edge.clock;edge.Tick();assert(edge.m_Cancelled&&edge.m_Deadline==240000);
|
||||
Flight low;started(low,q);low.m_Aircraft.origin={20,8,0};low.clock=70000;low.m_LastControl=low.clock;fuelBoundary.total=20;low.Tick();assert(low.m_Cancelled&&low.m_FieldPhase==2&&low.m_Reason=="field candidate low-fuel reserve reached");fuelBoundary.total=100;
|
||||
Flight capture;started(capture,q);capture.owner=false;assert(!capture.ControlLease()&&capture.relinquished==1&&capture.pairs==0);
|
||||
Flight expiry;started(expiry,q);expiry.clock=240000;assert(!expiry.ControlLease()&&expiry.failures==1);
|
||||
Flight fast;started(fast,q);fast.m_Simulation.velocity={2.501f,0,0};assert(!fast.ControlLease()&&fast.failures==1);
|
||||
Flight corridor;started(corridor,q);corridor.m_Aircraft.origin={50,8,8};assert(!corridor.ControlLease()&&corridor.failures==1);
|
||||
// Exact callbacks only; no native input on invalid timestep or failed lease.
|
||||
Flight input;started(input,q);input.m_Aircraft.origin={10,8,0};ActionManager other;
|
||||
input.PrepareActions(999,input.m_Pilot,input.m_Actions,.1f);input.PrepareActions(input.m_Character,999,input.m_Actions,.1f);input.PrepareActions(input.m_Character,input.m_Pilot,&other,.1f);assert(input.pairs==0);
|
||||
for(float dt:{0.0f,-1.0f,.201f,NAN}) { input.PrepareActions(input.m_Character,input.m_Pilot,input.m_Actions,dt); }
|
||||
assert(input.pairs==0);
|
||||
input.PrepareActions(input.m_Character,input.m_Pilot,input.m_Actions,.1f);assert(input.pairs==4&&input.m_ActionUpdates==1&&input.m_TranslationUpdates==1&&input.m_FieldReference.Length()<=.020001f);
|
||||
input.m_State=State::LANDING;input.m_FieldPhase=3;input.m_FieldLandingPoint={10,0,0};input.m_Aircraft.origin={10,0,0};input.grounded=true;input.PrepareActions(input.m_Character,input.m_Pilot,input.m_Actions,.1f);assert(input.collectiveWrite==-1&&input.forwardWrite==0&&input.asideWrite==0);
|
||||
input.owner=false;int writes=input.pairs;input.PrepareActions(input.m_Character,input.m_Pilot,input.m_Actions,.1f);assert(input.pairs==writes&&input.relinquished==1);
|
||||
Flight inactive;started(inactive,q);inactive.manager.active=false;inactive.PrepareActions(inactive.m_Character,inactive.m_Pilot,inactive.m_Actions,.1f);assert(inactive.pairs==0&&!inactive.m_Readback&&inactive.manager.activated==1);
|
||||
Flight gap;started(gap,q);gap.m_Aircraft.origin={99.7f,8,0};gap.BeginFieldBrake(80000);gap.m_FieldLowSince=81000;gap.m_Stable=81000;gap.m_LastTick=81000;gap.clock=83000;gap.m_LastControl=gap.clock;gap.Tick();assert(gap.m_FieldPhase==2&&gap.m_FieldLowSince==83000&&gap.m_Stable<0);
|
||||
// Slow positioning/landing never consumes or retains the cruise PI output.
|
||||
Flight slow;started(slow,q);slow.m_FieldPhase=3;slow.m_FieldStopFrozen=true;slow.m_FieldLandingPoint={100,0,0};slow.m_FieldIntegral={4,0,0};
|
||||
auto actual=slow.FieldDemand({90,8,0},{1,2,0},.1f);auto shared=TranslationRules::Demand({100,0,0},{90,8,0},{1,2,0});assert((actual-shared).Length()==0&&actual.Length()<=.030001f);
|
||||
Flight startup;assert(startup.StartField(1,2,3,4,5,&q,77,240000));startup.PrepareActions(11,12,startup.m_Actions,.1f);startup.Tick();assert(startup.baseInputs==1&&startup.baseTicks==1);
|
||||
}
|
||||
''')
|
||||
# Preserve shared ownership, startup and bridge; no new actuation domain.
|
||||
assert 'class ERR_AircraftFieldFlight : ERR_AircraftFlight' in source
|
||||
for forbidden in ('s_Owners', 'modded class', 'SetWorldTransform(', 'SetOrigin(', 'SetVelocity(', 'SetActive(', 'Spawn(', '.Claim(', '.SetActionValue(', '.StartEngine(', '.StopEngine('):assert forbidden not in source
|
||||
for unchanged in ('protected bool Owns(', 'protected bool Healthy(', 'protected bool Lease(', 'protected void Release(', 'void Cancel('):assert unchanged not in source
|
||||
assert 'return super.Start(' in body(P,'bool StartField(')
|
||||
assert 'AbortDue' not in body(P,'protected override bool ControlLease(')
|
||||
assert 'ERR_AircraftFieldRules.AbortDue(now + 1500, m_Deadline)' in body(P,'override void Tick(')
|
||||
assert 'm_Deadline =' not in source and 'm_Token =' not in source
|
||||
prepare=body(P,'override void PrepareActions(')
|
||||
assert prepare.index('!ControlLease()')<prepare.index('FieldDemand(')<prepare.index('Pair(')
|
||||
assert 'm_StageDeadline' not in body(P,'protected override void CheckTranslation(')
|
||||
assert 'm_FieldIntegral = "0 0 0"' in body(P,'protected override void CheckTranslation(')
|
||||
print('PASS: actual field startup delegation, immutable lease/target, braking/settling/cancel transitions, early abort, callback scope, physical terminal policy and shared landing demand; native boundaries faked')
|
||||
|
||||
brake=body(P,'protected bool BeginFieldBrake(')
|
||||
assert brake.index('if (m_FieldStopFrozen) return true;')<brake.index('!Owns()')<brake.index('m_Field.Contains(point, 1)')<brake.index('m_Controller.SetAutohoverEnabled(true)')<brake.index('if (!m_Controller.GetAutohoverEnabled())')<brake.index('m_FieldStopFrozen = true;')
|
||||
print('PASS: actual inherited airborne pre-CLIMB cancellation enables verified native autohover once, refuses failed enable and never writes after capture')
|
||||
@@ -0,0 +1,103 @@
|
||||
"""Actual field evidence/observation bodies; physical engine boundaries remain untested."""
|
||||
from policy_harness import ROOT, body, run
|
||||
import re
|
||||
P=ROOT/'addons/ai/Scripts/Game/ERR/ERR_NativeAircraftFieldProbe.c'
|
||||
s=P.read_text()
|
||||
def cpp(x):
|
||||
x=x.replace('ERR_AircraftFlightState.','State::').replace('ERR_NativeAircraftFieldRules.','Rules::').replace('ERR_AircraftFieldRules.','FieldRules::').replace('vector.','vector::').replace('ERR_AircraftFieldFlight flight','Flight* flight').replace('flight.','flight->')
|
||||
return re.sub(r'(?<![\w.])(\d+\.\d+)(?![\w.])',r'\1f',x)
|
||||
rules=s[s.index('class ERR_NativeAircraftFieldRules'):s.index('class ERR_NativeAircraftFieldProbe')].replace('class ERR_NativeAircraftFieldRules','struct Rules').rstrip()+';'
|
||||
observed='\n'.join(cpp(body(P,k)) for k in ('void BrakeBegan(', 'void BrakeStopped('))
|
||||
run(r'''#include <cassert>
|
||||
#include <cmath>
|
||||
#include <string>
|
||||
using string=std::string;
|
||||
struct vector {float x=0,y=0,z=0;static float DistanceXZ(vector a,vector b){return std::hypot(a.x-b.x,a.z-b.z);}};
|
||||
namespace State {enum {COMPLETE=8,CANCELLED,FAILED,RELINQUISHED};}
|
||||
'''+cpp(rules)+r'''
|
||||
struct FieldRules {static float HorizontalSpeed(vector v){return std::hypot(v.x,v.z);}static float BrakingReserve(float s){return s*s/.30f+s+3;}};
|
||||
struct Flight {float ERR_NativeFieldStageDeadline(){return 70000;}vector LandingPoint(){return {100,0,0};}};
|
||||
template<typename...T>void PrintFormat(T...args){}
|
||||
struct Probe {
|
||||
bool m_Stopped=false,m_BrakeObserved=false,m_BrakeStopped=false,m_BrakePassed=false;
|
||||
string m_ObservationFailure;
|
||||
Flight* m_Flight=nullptr;float m_BrakeAt=0,m_BrakeReserve=0,m_BrakeStageDeadline=0,m_ControlDeadline=240000,m_BrakeSampledTravel=0,m_BrakeLowSince=-1;
|
||||
vector m_BrakeOrigin,m_BrakePrevious,m_BrakeLandingPoint;
|
||||
'''+observed+r'''
|
||||
};
|
||||
int main(){
|
||||
assert(Rules::Cruise(1,1,false,1)&&!Rules::Cruise(.99f,1,false,1)&&!Rules::Cruise(1,2.501f,false,1));
|
||||
assert(!Rules::Cruise(1,1,true,1)&&!Rules::Cruise(1,1,false,2));
|
||||
assert(Rules::Terminal(false,State::COMPLETE,0,true,true,true,true,100,.5f));
|
||||
assert(!Rules::Terminal(false,State::COMPLETE,0,true,false,true,true,100,.5f));
|
||||
assert(!Rules::Terminal(false,State::COMPLETE,0,true,true,false,true,100,.5f));
|
||||
assert(!Rules::Terminal(false,State::COMPLETE,0,true,true,true,false,100,.5f));
|
||||
assert(!Rules::Terminal(false,State::COMPLETE,0,true,true,true,true,98,.5f));
|
||||
assert(!Rules::Terminal(false,State::COMPLETE,0,true,true,true,true,100,.76f));
|
||||
assert(Rules::Terminal(true,State::CANCELLED,1,false,false,false,true,30,.5f));
|
||||
assert(!Rules::Terminal(true,State::CANCELLED,1,true,false,false,true,30,.5f));
|
||||
assert(!Rules::Terminal(true,State::COMPLETE,1,false,false,false,true,30,.5f));
|
||||
assert(!Rules::Terminal(true,State::CANCELLED,0,false,false,false,true,30,.5f));
|
||||
assert(!Rules::Terminal(true,State::CANCELLED,2,false,false,false,true,30,.5f));
|
||||
assert(Rules::PhysicalFinish(true,true,true,1,1,1,1,101,101));
|
||||
assert(!Rules::PhysicalFinish(true,false,true,1,1,1,1,101,101));
|
||||
assert(!Rules::PhysicalFinish(true,true,false,1,1,1,1,101,101));
|
||||
assert(!Rules::PhysicalFinish(true,true,true,0,1,1,1,101,101));
|
||||
assert(!Rules::PhysicalFinish(true,true,true,1,2,1,1,101,101));
|
||||
for(int i=0;i<5;i++)assert(!Rules::CanDispose(i!=0,i!=1,i!=2,i!=3,i!=4));
|
||||
Flight flight,foreign;Probe p;p.m_Flight=&flight;
|
||||
p.BrakeBegan(&foreign,1000,{0,0,0},{2,0,0});assert(!p.m_BrakeObserved);
|
||||
p.BrakeBegan(&flight,1000,{0,0,0},{2,0,0});assert(p.m_BrakeObserved&&p.m_BrakeReserve>18&&p.m_BrakeReserve<19);
|
||||
p.m_BrakeSampledTravel=15;p.m_BrakePrevious={15,0,0};p.m_BrakeLowSince=2000;
|
||||
p.BrakeStopped(&flight,4000,{16,0,0},{.1f,0,0});assert(p.m_BrakePassed&&p.m_BrakeStopped&&p.m_ObservationFailure.empty());
|
||||
p.BrakeBegan(&flight,5000,{50,0,0},{2,0,0});assert(!p.m_ObservationFailure.empty()&&p.m_BrakeAt==1000); // no renewal
|
||||
for(int fault=0;fault<4;fault++){
|
||||
Probe bad;bad.m_Flight=&flight;bad.BrakeBegan(&flight,1000,{0,0,0},{2,0,0});bad.m_BrakeLowSince=2000;
|
||||
float stopped=4000;vector at={16,0,0},vel={.1f,0,0};
|
||||
if(fault==0){at={19,0,0};} if(fault==1){stopped=3999;} if(fault==2){vel={.25f,0,0};} if(fault==3){bad.m_BrakeSampledTravel=20;}
|
||||
bad.BrakeStopped(&flight,stopped,at,vel);assert(!bad.m_BrakePassed&&!bad.m_ObservationFailure.empty()&&!bad.m_Stopped); // failure deferred outside callback
|
||||
}
|
||||
assert(!Rules::Braking(NAN,1,1,0,3000,0)&&!Rules::Braking(10,NAN,1,0,3000,0));
|
||||
}
|
||||
''')
|
||||
assert s.startswith('#ifdef WORKBENCH') and s.rstrip().endswith('#endif')
|
||||
assert 'outcome == "aircraft-field"' in body(P,'static bool Enabled(')
|
||||
find=body(P,'protected bool FindPad(')
|
||||
assert '"4850.953 0 11787.412"' in find and '"100 0 0"' in find
|
||||
assert find.count('.Survey(')==1 and 'for (' not in find and 'AirportOffset' not in s
|
||||
assert s.count('ERR_Actors.Spawn(AIRCRAFT,')==1 and s.count('SpawnCharacterInCompartment(')==1
|
||||
assert s.count('physics.SetActive(ActiveState.ACTIVE)')==1
|
||||
for prohibited in ('SetWorldTransform(', 'SetOrigin(', 'SetVelocity(', '.StartEngine(', '.StopEngine(', 'm_Mode.Own(', 'm_Flight.Tick(', 'm_Flight.Cancel(', 'm_Flight.StartField(', 'FieldDemand('):assert prohibited not in s
|
||||
for sig in ('void PrepareActions(', 'void PrepareHelicopter('):
|
||||
assert '++' in body(P,sig) and '.Prepare' not in body(P,sig)
|
||||
for sig in ('void BrakeBegan(', 'void BrakeStopped('):assert 'Check(' not in body(P,sig) and 'Stop(' not in body(P,sig)
|
||||
assert 'super.BeginFieldBrake(now)' in body(P,'protected override bool BeginFieldBrake(')
|
||||
assert 'super.CheckTranslation(now, position, height, speed, upright)' in body(P,'protected override void CheckTranslation(')
|
||||
start=body(P,'protected bool StartRetainedField(');assert '.StartField(m_Aircraft, m_Envelope, ORDER_TOKEN, m_ControlDeadline)' in start
|
||||
assert 'ERR_AircraftFieldFlight.Cast(entry.Flight)' in body(P,' ERR_AircraftFieldFlight ERR_NativeOriginalFieldFlight(')
|
||||
tick=body(P,'int Tick(')
|
||||
assert tick.index('FindPad(m_Pad)')<tick.index('ERR_Actors.Spawn(AIRCRAFT,')
|
||||
assert tick.index('QualifyField(')<tick.index('StartRetainedField()')
|
||||
assert tick.index('m_Service.Tick();')<tick.index('m_ObservationFailure.IsEmpty()')<tick.index('if (!m_Flight.Finished())')
|
||||
assert 'now - m_CruiseSince >= 10000' in tick and 'now - m_CruiseSince >= 1000' in tick
|
||||
assert 'now - m_TranslationStable >= 5000' in tick and 'now - m_LandingStable >= 2000' in tick
|
||||
stop=body(P,'void Stop(')
|
||||
assert stop.index('s_Current = null')<stop.index('m_Service.Stop()')<stop.index('ERR_Actors.DeleteSpawned(')<stop.index('m_Service.Tick()')<stop.index('m_Flight = null')
|
||||
assert 'CanDispose(' in stop
|
||||
# Execute root-owned Chat dispatch branch: failure cannot become completion/reset.
|
||||
chat=ROOT/'addons/chat/Scripts/Game/ERR/ERR_NativeSmoke.c';cs=chat.read_text()
|
||||
a=cs.index('if (m_ERRSmokeStep == 240)');opening=cs.index('{',a);i=opening+1;depth=1
|
||||
while depth:depth+=(cs[i]=='{')-(cs[i]=='}');i+=1
|
||||
branch=cs[opening+1:i-1].replace('m_ERRAircraftField.Tick','m_ERRAircraftField.Tick').replace('ERR_Phase.DEFEAT','2')
|
||||
run(r'''#include <cassert>
|
||||
#include <initializer_list>
|
||||
struct Fixture {int result=0;int Tick(float){return result;}};
|
||||
struct Chat {Fixture m_ERRAircraftField;int m_ERRSmokeStep=240,failures=0,transitions=0;void ERR_Check(bool,const char*){failures++;}void Transition(int){transitions++;}void Tick(float now){
|
||||
'''+branch+r'''} };
|
||||
int main(){for(int result:{-1,0,1}){Chat c;c.m_ERRAircraftField.result=result;c.Tick(1000);assert(c.failures==(result<0));assert(c.transitions==(result==1));assert(c.m_ERRSmokeStep==(result==1?241:240));}}
|
||||
''')
|
||||
assert 'm_ERRTestAircraftField = outcome == "aircraft-field"' in cs
|
||||
assert 'm_ERRTestAircraftControl || m_ERRTestAircraftRoute || m_ERRTestAircraftField' in cs and '+ 330000' in cs
|
||||
assert 'm_ERRAircraftField.Stop()' in body(chat,'protected void ERR_StopHQPatrol(')
|
||||
assert 'errSmokeFieldServiceCancel' in cs and 'current == ERR_Phase.DEFEAT && m_ERRSmokeStep == 241' in cs
|
||||
print('PASS: actual field result/braking observer and Chat dispatch rules; one finite fixed candidate, deferred callback failure and guarded cleanup; no native measurement')
|
||||
@@ -0,0 +1,99 @@
|
||||
"""Execute the actual field policy equations; no claim about native stopping/flight."""
|
||||
from policy_harness import ROOT, run
|
||||
import re
|
||||
source = (ROOT/'addons/ai/Scripts/Game/ERR/ERR_AircraftFieldRules.c').read_text()
|
||||
cpp = source.replace('class ERR_AircraftFieldRules', 'struct Rules').replace('out vector nextIntegral', 'vector& nextIntegral')
|
||||
cpp = cpp.replace('Math.', 'Math::').replace('vector.', 'vector::').replace('"0 0 0"', 'vector{}')
|
||||
cpp = re.sub(r'(?<![\w.])(\d+\.\d+)(?![\w.])', r'\1f', cpp)
|
||||
cpp = cpp.rstrip() + ';'
|
||||
run(r'''#include <cassert>
|
||||
#include <cmath>
|
||||
#include <algorithm>
|
||||
struct vector {
|
||||
float v[3]={0,0,0};
|
||||
vector()=default; vector(float x,float y,float z):v{x,y,z}{}
|
||||
float& operator[](int i){return v[i];} float operator[](int i)const{return v[i];}
|
||||
vector operator+(vector b)const{return {v[0]+b[0],v[1]+b[1],v[2]+b[2]};}
|
||||
vector operator-(vector b)const{return {v[0]-b[0],v[1]-b[1],v[2]-b[2]};}
|
||||
vector operator*(float s)const{return {v[0]*s,v[1]*s,v[2]*s};}
|
||||
float Length()const{return std::sqrt(Dot(*this,*this));}
|
||||
static float Dot(vector a,vector b){return a[0]*b[0]+a[1]*b[1]+a[2]*b[2];}
|
||||
static float DistanceXZ(vector a,vector b){return std::hypot(a[0]-b[0],a[2]-b[2]);}
|
||||
};
|
||||
struct Math {static float AbsFloat(float x){return std::abs(x);} static float Clamp(float x,float lo,float hi){return std::clamp(x,lo,hi);} static float Max(float a,float b){return std::max(a,b);} static float Min(float a,float b){return std::min(a,b);} static float Sqrt(float a){return std::sqrt(a);}};
|
||||
'''+cpp+r'''
|
||||
bool close(float a,float b){return std::abs(a-b)<.00001f;}
|
||||
int main(){
|
||||
assert(Rules::Length(99.95f)&&Rules::Length(100.05f));
|
||||
assert(!Rules::Length(99.949f)&&!Rules::Length(100.051f)&&!Rules::Length(NAN));
|
||||
assert(Rules::SpeedAllowed({1.5f,9,2})&&!Rules::SpeedAllowed({1.501f,0,2}));
|
||||
assert(!Rules::SpeedAllowed({0,NAN,0})&&!Rules::SpeedAllowed({INFINITY,0,0}));
|
||||
assert(Rules::ValidStep(.5f)&&!Rules::ValidStep(0)&&!Rules::ValidStep(.501f)&&!Rules::ValidStep(NAN));
|
||||
float speed=0;
|
||||
for(int i=0;i<100;i++){float next=Rules::RampSpeed(speed,2,.1f);assert(next-speed<=.020001f);speed=next;}
|
||||
assert(close(speed,2));
|
||||
for(int i=0;i<100;i++){float next=Rules::RampSpeed(speed,0,.1f);assert(next<=speed&&speed-next<=.020001f);speed=next;}
|
||||
assert(close(speed,0));
|
||||
assert(close(Rules::RampSpeed(1,2,1),1)&&close(Rules::RampSpeed(1,NAN,.1f),1));
|
||||
|
||||
vector previous={2,0,0};
|
||||
for(int i=0;i<400;i++){
|
||||
vector ramped=Rules::RampReference(previous,{-2,8,0},.1f);
|
||||
assert((ramped-previous).Length()<=.020001f&&ramped.Length()<=2.00001f&&ramped[1]==0);
|
||||
previous=ramped;
|
||||
}
|
||||
assert(previous[0]<-1.99f);
|
||||
vector sideways=Rules::RampReference({2,0,0},{0,0,2},.1f);
|
||||
assert((sideways-vector{2,0,0}).Length()<=.020001f);
|
||||
assert(close(Rules::RampReference({1,4,0},{-2,0,0},0)[0],1));
|
||||
assert(close(Rules::ApproachSpeed(100,2),2)&&close(Rules::ApproachSpeed(.75f,2),0));
|
||||
assert(close(Rules::ApproachSpeed(3,2),0));
|
||||
assert(close(Rules::ApproachSpeed(Rules::BrakingReserve(1.5f),2),1.5f));
|
||||
assert(Rules::ApproachSpeed(18,2)<2); // before the2m/s reserve, unlike old sqrt(distance-.75)
|
||||
for(int i=3;i<=120;i++){
|
||||
float admitted=Rules::ApproachSpeed(float(i),2);
|
||||
assert(admitted<=2&&Rules::BrakingReserve(admitted)<=i+.00002f);
|
||||
}
|
||||
assert(Rules::ApproachSpeed(15,1.2f)<=1.2f);
|
||||
assert(Rules::ApproachSpeed(10,.1f)<=.1f&&Rules::ApproachSpeed(NAN,1)==0);
|
||||
assert(close(Rules::ApproachSpeed(108,2),2)&&Rules::ApproachSpeed(120.01f,2)==0);
|
||||
assert(!Rules::ShouldBrake(100.23f,1)&&!Rules::ShouldBrake(108,2)&&!Rules::ShouldBrake(120,2));
|
||||
assert(Rules::ShouldBrake(120.01f,1)&&!Rules::Length(108));
|
||||
vector integral, next;
|
||||
for(int i=0;i<2000;i++){
|
||||
vector demand=Rules::VelocityDemand({2,100,0},{0,-2,0},integral,.1f,next);
|
||||
assert(close(demand[0],.08f)&&demand[1]==0&&next.Length()==0);integral=next;
|
||||
}
|
||||
// Low error accumulates useful demand rather than permanently freezing I.
|
||||
integral={};vector demand=Rules::VelocityDemand({.1f,5,0},{0,7,0},integral,.5f,next);
|
||||
assert(close(next[0],.05f)&&close(demand[0],.011f)&&demand[1]==0);
|
||||
// Opposing error unwinds a positive stored integral.
|
||||
integral={4,0,0};demand=Rules::VelocityDemand({0,0,0},{.1f,0,0},integral,.5f,next);
|
||||
assert(next[0]<4&&demand[0]<.08f);
|
||||
// Diagonal demand is capped as a vector, not independently on both axes.
|
||||
demand=Rules::VelocityDemand({2,3,2},{-1,4,-1},{4,5,4},.1f,next);
|
||||
assert(demand.Length()<=.080001f&&demand[1]==0&&next.Length()<=4.00001f&&next[1]==0);
|
||||
demand=Rules::VelocityDemand({0,0,0},{2,0,0},{},.1f,next);
|
||||
assert(demand[0]<0&&close(demand.Length(),.08f));
|
||||
demand=Rules::VelocityDemand({NAN,0,0},{},{1,0,0},.1f,next);assert(demand.Length()==0&&next.Length()==0);
|
||||
demand=Rules::VelocityDemand({1,0,0},{},{1,0,0},0,next);assert(demand.Length()==0&&next.Length()==0);
|
||||
assert(close(Rules::BrakingReserve(0),3)&&close(Rules::BrakingReserve(2.5f),26.333334f));
|
||||
assert(Rules::ShouldBrake(25,0)&&!Rules::ShouldBrake(25.01f,0));
|
||||
assert(Rules::ShouldBrake(26,2.5f)&&!Rules::ShouldBrake(27,2.5f));
|
||||
assert(Rules::ShouldBrake(50,NAN)&&Rules::ShouldBrake(NAN,1));
|
||||
assert(Rules::LeaseAdmitted(1000,241000)&&Rules::LeaseAdmitted(1000,240000));
|
||||
assert(!Rules::LeaseAdmitted(1000,239999)&&!Rules::LeaseAdmitted(1000,241001)&&!Rules::LeaseAdmitted(-1,239999));
|
||||
assert(!Rules::AbortDue(154999,240000)&&Rules::AbortDue(155000,240000));
|
||||
assert(Rules::AbortDue(240000,240000)&&Rules::AbortDue(NAN,240000));
|
||||
assert(Rules::LowSpeedHeld(.249f,1000,3000)&&!Rules::LowSpeedHeld(.25f,1000,3000));
|
||||
assert(!Rules::LowSpeedHeld(0,1000,2999)&&!Rules::LowSpeedHeld(0,-1,3000)&&!Rules::LowSpeedHeld(NAN,0,3000));
|
||||
vector start={0,10,0},end={100,10,0};
|
||||
assert(Rules::Contains(start,end,{50,18,7.999f},1));
|
||||
assert(!Rules::Contains(start,end,{50,18,8},1));
|
||||
assert(Rules::Contains(start,end,{-7.99f,18,0},1)&&!Rules::Contains(start,end,{-8,18,0},1));
|
||||
assert(!Rules::Contains(start,end,{108,18,0},1)&&!Rules::Contains(start,end,{50,28.01f,0},1));
|
||||
assert(!Rules::Contains(start,end,{50,6.99f,0},1)&&!Rules::Contains(start,end,{50,18,0},.84f));
|
||||
assert(!Rules::Contains(start,end,{NAN,18,0},1)&&!Rules::Contains(start,end,{50,18,0},NAN));
|
||||
}
|
||||
''')
|
||||
print('PASS: actual field PI/ramp/vector caps, antiwindup, braking hypothesis, immutable admission limits and segment bounds; no native physics tested')
|
||||
@@ -0,0 +1,50 @@
|
||||
"""Actual early CLI refusals and AST-executed argv construction; never launches native tools."""
|
||||
import ast
|
||||
from pathlib import Path
|
||||
import subprocess
|
||||
import sys
|
||||
import tempfile
|
||||
import unittest
|
||||
from types import SimpleNamespace
|
||||
from policy_harness import ROOT
|
||||
RUNNER=ROOT/'tools/headless_workbench.py'
|
||||
class FieldRunnerTests(unittest.TestCase):
|
||||
def test_early_refusal_before_any_profile_or_lock(self):
|
||||
cases=[
|
||||
(['--project','core','--rounds','1','--timeout','420','--smoke','aircraft-field'],'requires Chat, one round'),
|
||||
(['--project','chat','--rounds','2','--timeout','420','--smoke','aircraft-field'],'requires Chat, one round'),
|
||||
(['--project','chat','--rounds','1','--timeout','419','--smoke','aircraft-field'],'requires Chat, one round'),
|
||||
(['--project','chat','--rounds','1','--timeout','420','--smoke','aircraft-route','--field-service-cancel'],'--field-service-cancel requires'),
|
||||
(['--project','chat','--rounds','1','--timeout','420','--smoke','aircraft-field','--route-service-cancel'],'--route-service-cancel requires'),
|
||||
(['--project','chat','--rounds','1','--timeout','420','--smoke','aircraft-field'],'must be a disposable cloned prefix'),
|
||||
(['--project','chat','--rounds','1','--timeout','420','--smoke','aircraft-field','--field-service-cancel'],'must be a disposable cloned prefix'),
|
||||
]
|
||||
for arguments,error in cases:
|
||||
with self.subTest(arguments=arguments),tempfile.TemporaryDirectory(prefix='erri-field-args-') as folder:
|
||||
root=Path(folder)
|
||||
result=subprocess.run([sys.executable,str(RUNNER),'--compat',str(root/'missing'),'--profile',str(root/'profile'),*arguments],capture_output=True,text=True,timeout=10)
|
||||
self.assertEqual(result.returncode,2);self.assertIn(error,result.stderr);self.assertEqual(list(root.iterdir()),[])
|
||||
def command(self,smoke,cancel=False):
|
||||
tree=ast.parse(RUNNER.read_text());nodes=[]
|
||||
for node in tree.body:
|
||||
if isinstance(node,ast.Assign) and any(isinstance(t,ast.Name) and t.id=='command' for t in node.targets):nodes.append(node)
|
||||
if isinstance(node,ast.If) and isinstance(node.test,ast.Attribute) and node.test.attr in ('field_service_cancel','route_service_cancel'):nodes.append(node)
|
||||
self.assertEqual(len(nodes),3)
|
||||
namespace={'a':SimpleNamespace(project='chat',smoke=smoke,field_service_cancel=cancel,route_service_cancel=False),'ROOT':Path('/private/source'),'proton':Path('/private/proton'),'wb':Path('/private/workbench'),'profile_arg':'Z:/private/profile'}
|
||||
exec(compile(ast.Module(body=nodes,type_ignores=[]),str(RUNNER),'exec'),namespace)
|
||||
return namespace['command']
|
||||
def test_exact_field_command_and_cancel_optin(self):
|
||||
normal=self.command('aircraft-field');cancelled=self.command('aircraft-field',True)
|
||||
self.assertEqual(cancelled,normal+['-errSmokeFieldServiceCancel','1'])
|
||||
self.assertEqual(normal[normal.index('-errSmokeOutcome')+1],'aircraft-field')
|
||||
self.assertEqual(normal[normal.index('-gproj')+1],'Z:/private/source/addons/chat/addon.gproj')
|
||||
self.assertEqual(normal[normal.index('--backend')+1],'headless')
|
||||
self.assertIn('-disableCrashReporter',normal)
|
||||
self.assertNotIn('-errSmokeFieldServiceCancel',self.command('aircraft-route'))
|
||||
def test_cleanup_provenance_not_bypassed(self):
|
||||
source=RUNNER.read_text()
|
||||
self.assertIn('assert_prefix_idle(compat)',source)
|
||||
self.assertIn('cleanup_owned_run(',source)
|
||||
self.assertIn('seal_run(',source)
|
||||
self.assertIn("env.update(PULSE_SINK=silent_sink",source)
|
||||
if __name__=='__main__':unittest.main()
|
||||
@@ -64,7 +64,7 @@ for project,rounds,timeout,extra,message in cases:
|
||||
chat=ROOT/'addons/chat/Scripts/Game/ERR/ERR_NativeSmoke.c'
|
||||
text=chat.read_text()
|
||||
assert 'm_ERRTestAircraftRoute = outcome == "aircraft-route";' in text
|
||||
assert 'if (m_ERRTestAircraftControl || m_ERRTestAircraftRoute) m_ERRSmokeDeadline = GetWorld().GetWorldTime() + 330000;' in text
|
||||
assert 'if (m_ERRTestAircraftControl || m_ERRTestAircraftRoute || m_ERRTestAircraftField) m_ERRSmokeDeadline = GetWorld().GetWorldTime() + 330000;' in text
|
||||
assert 'OnStop().Insert(ERR_StopHQPatrol);' in text
|
||||
assert 'if (m_ERRAircraftRoute) m_ERRAircraftRoute.Stop();' in body(chat,'protected void ERR_StopHQPatrol(')
|
||||
assert 'ERR_StopHQPatrol();' in body(chat,'protected bool ERR_Check(')
|
||||
@@ -153,11 +153,11 @@ int main(){
|
||||
# The sole fixture getter observes the service's original retained controller.
|
||||
getter=body(P,'ERR_AircraftRouteFlight ERR_NativeOriginalFlight(')
|
||||
run(r'''#include <cassert>
|
||||
struct Flight{};struct Entry {Flight* FlightPtr=nullptr;};
|
||||
struct BaseFlight {virtual ~BaseFlight()=default;};struct Flight:BaseFlight{};struct FieldFlight:BaseFlight{};struct Entry {BaseFlight* FlightPtr=nullptr;};
|
||||
struct Observe {Entry* entry=nullptr;Entry* Find(int){return entry;}
|
||||
''' + getter.replace('ERR_AircraftRouteFlight ', 'Flight* ').replace('Vehicle aircraft','int aircraft').replace('ERR_AircraftServiceEntry entry','Entry* entry').replace('entry.Flight','entry->FlightPtr').replace('return null;','return nullptr;') + r'''
|
||||
''' + getter.replace('ERR_AircraftRouteFlight.Cast(entry.Flight)', 'dynamic_cast<Flight*>(entry.Flight)').replace('ERR_AircraftRouteFlight ', 'Flight* ').replace('Vehicle aircraft','int aircraft').replace('ERR_AircraftServiceEntry entry','Entry* entry').replace('entry.Flight','entry->FlightPtr').replace('null','nullptr') + r'''
|
||||
};
|
||||
int main(){Observe p;assert(!p.ERR_NativeOriginalFlight(1));Flight flight;Entry e;e.FlightPtr=&flight;p.entry=&e;assert(p.ERR_NativeOriginalFlight(1)==&flight);}
|
||||
int main(){Observe p;assert(!p.ERR_NativeOriginalFlight(1));Flight flight;Entry e;e.FlightPtr=&flight;p.entry=&e;assert(p.ERR_NativeOriginalFlight(1)==&flight);FieldFlight field;e.FlightPtr=&field;assert(!p.ERR_NativeOriginalFlight(1));}
|
||||
''')
|
||||
assert 'm_Service.Drained() && !m_Service.Pending(m_Aircraft) && !m_Service.Retired(m_Aircraft)' in tick
|
||||
assert 'if (!RetainedIdentity())' in tick
|
||||
|
||||
@@ -5,14 +5,14 @@ P=ROOT/'addons/ai/Scripts/Game/ERR/ERR_AircraftService.c'
|
||||
|
||||
def cpp(s):
|
||||
s=s.replace('protected ','').replace('return null;', 'return nullptr;')
|
||||
for a,b in [('ERR_AircraftServiceEntry entry','Entry* entry'),('ERR_AircraftServiceEntry known','Entry* known'),('new ERR_AircraftServiceEntry()','new Entry()'),('ERR_AircraftRouteEnvelope qualification','Qualification* qualification'),('new ERR_AircraftRouteFlight()','new Flight()'),('ERR_GameMode mode','Mode* mode'),('ERR_GameMode.Get()','Mode::Get()'),('ERR_AircraftFlightRules.','Rules::'),('ERR_AircraftFlightState.','State::'),('Replication.IsServer()','server'),('string reason','std::string reason'),('vector destination = "0 0 0"','Vec destination')]:s=s.replace(a,b)
|
||||
for a,b in [('ERR_AircraftServiceEntry entry','Entry* entry'),('ERR_AircraftServiceEntry known','Entry* known'),('new ERR_AircraftServiceEntry()','new Entry()'),('ERR_AircraftRouteEnvelope qualification','Qualification* qualification'),('ERR_AircraftRouteFlight flight','RouteFlight* flight'),('ERR_AircraftFieldFlight flight','FieldFlight* flight'),('ERR_AircraftFieldEnvelope qualification','FieldQualification* qualification'),('new ERR_AircraftRouteFlight()','new RouteFlight()'),('new ERR_AircraftFieldFlight()','new FieldFlight()'),('ERR_GameMode mode','Mode* mode'),('ERR_GameMode.Get()','Mode::Get()'),('ERR_AircraftFlightRules.','Rules::'),('ERR_AircraftFlightState.','State::'),('Replication.IsServer()','server'),('string reason','std::string reason'),('vector destination = "0 0 0"','Vec destination')]:s=s.replace(a,b)
|
||||
s=re.sub(r'foreach \(Entry\* (entry|known) : m_Entries\)',r'for (Entry* \1 : m_Entries.values)',s)
|
||||
for name in ('entry','known','qualification','GetGame()','m_Mode','m_World','s_Retainers','entry.Flight'):
|
||||
for name in ('entry','known','qualification','GetGame()','m_Mode','m_World','s_Retainers','entry.Flight','flight'):
|
||||
s=s.replace(name+'.',name+'->')
|
||||
s=s.replace('entry->Flight.','entry->Flight->').replace('entry->Reason.IsEmpty()','entry->Reason.empty()')
|
||||
return s.replace('ERR_AircraftServiceEntry Find(', 'Entry* Find(').replace('ERR_AircraftServiceEntry entry)', 'Entry* entry)').replace('vector Destination(', 'Vec Destination(').replace('string Reason(', 'std::string Reason(')
|
||||
return s.replace('ERR_AircraftServiceEntry BeginAttempt(', 'Entry* BeginAttempt(').replace('ERR_AircraftServiceEntry Find(', 'Entry* Find(').replace('ERR_AircraftServiceEntry entry)', 'Entry* entry)').replace('vector Destination(', 'Vec Destination(').replace('string Reason(', 'std::string Reason(')
|
||||
|
||||
keys=['protected bool Context(', 'protected ERR_AircraftServiceEntry Find(', 'bool Register(', 'bool Ready(', 'bool StartRoute(', 'protected void Finish(', 'bool Cancel(', 'void Tick(', 'void Stop(', 'protected void ReleaseRetainers(', 'bool Drained(', 'bool Stopping(', 'int RegisteredCount(', 'int AttemptedOrders(', 'bool Pending(', 'bool Retired(', 'int OrderToken(', 'float OrderDeadline(', 'int FlightState(', 'string Reason(', 'vector Destination(']
|
||||
keys=['protected bool Context(', 'protected ERR_AircraftServiceEntry Find(', 'bool Register(', 'bool Ready(', 'protected ERR_AircraftServiceEntry BeginAttempt(', 'bool StartRoute(', 'bool StartField(', 'protected bool RecordStart(', 'protected void Finish(', 'bool Cancel(', 'void Tick(', 'void Stop(', 'protected void ReleaseRetainers(', 'bool Drained(', 'bool Stopping(', 'int RegisteredCount(', 'int AttemptedOrders(', 'bool Pending(', 'bool Retired(', 'int OrderToken(', 'float OrderDeadline(', 'int FlightState(', 'string Reason(', 'vector Destination(']
|
||||
run(r'''
|
||||
#include <cassert>
|
||||
#include <map>
|
||||
@@ -30,8 +30,10 @@ struct Rules {static bool Deadline(float now,float deadline){return now>=0&&dead
|
||||
struct Entity {bool original=true,ready=true;int startMode=0,next=State::HOOKS;};
|
||||
using Vehicle=Entity*;using SCR_AIGroup=Entity*;using IEntity=Entity*;using PilotCompartmentSlot=Entity*;
|
||||
struct Qualification {bool claimed=false;Vec target={20,0,0};Vec Destination(){return target;}};
|
||||
int starts=0,claims=0,ticks=0,cancels=0;
|
||||
struct FieldQualification:Qualification {FieldQualification(){target={100,0,0};}};
|
||||
int starts=0,claims=0,ticks=0,cancels=0,routeConstructions=0,fieldConstructions=0;
|
||||
struct Flight {
|
||||
virtual ~Flight()=default;int kind=0;
|
||||
Entity* aircraft=nullptr;int token=0,state=State::IDLE;float deadline=0;bool cancelled=false;std::string reason;
|
||||
bool Finished(){return state>=State::COMPLETE&&state<=State::RELINQUISHED;}
|
||||
bool StartRoute(Mode*,Vehicle a,SCR_AIGroup,IEntity,PilotCompartmentSlot,Qualification* q,int t,float d){
|
||||
@@ -46,6 +48,8 @@ struct Flight {
|
||||
void Tick(){ticks++;if(!aircraft->original||!Mode::Get()||!Mode::Get()->active){state=State::RELINQUISHED;return;}if(world.now>=deadline){state=State::FAILED;return;}state=aircraft->next;}
|
||||
int State(){return state;}int OrderToken(){return token;}std::string Reason(){return reason;}
|
||||
};
|
||||
struct RouteFlight:Flight {RouteFlight(){kind=1;routeConstructions++;}};
|
||||
struct FieldFlight:Flight {FieldFlight(){kind=2;fieldConstructions++;}bool StartField(Mode* m,Vehicle a,SCR_AIGroup g,IEntity p,PilotCompartmentSlot s,FieldQualification* q,int t,float d){return StartRoute(m,a,g,p,s,q,t,d);}};
|
||||
struct Entry {Vehicle Aircraft=nullptr;SCR_AIGroup Group=nullptr;IEntity Pilot=nullptr;PilotCompartmentSlot Seat=nullptr;struct Flight* Flight=nullptr;int Token=0;float Deadline=0;Vec Destination;bool Pending=false,CancelRequested=false,Retired=false;std::string Reason;};
|
||||
struct Entries {std::vector<Entry*> values;int Count(){return values.size();}void Insert(Entry* e){values.push_back(e);}};
|
||||
struct Tokens {std::set<int> values;int Count(){return values.size();}bool Contains(int n){return values.count(n);}void Insert(int n){values.insert(n);}};
|
||||
@@ -61,7 +65,7 @@ struct Service {
|
||||
};Registry* Service::s_Retainers=®istry;
|
||||
struct Setup {
|
||||
Mode mode;Entity a[5],g[5],p[5],seat[5];Service service;Qualification q;
|
||||
Setup():service(&mode){registry.values.clear();server=true;gamePointer=&game;game.current=&world;world.now=1000;Mode::current=&mode;starts=claims=ticks=cancels=0;}
|
||||
Setup():service(&mode){registry.values.clear();server=true;gamePointer=&game;game.current=&world;world.now=1000;Mode::current=&mode;starts=claims=ticks=cancels=routeConstructions=fieldConstructions=0;}
|
||||
bool Register(int i=0){return service.Register(&a[i],&g[i],&p[i],&seat[i]);}
|
||||
bool Start(int token=1){return service.StartRoute(&a[0],&q,token,200000);}
|
||||
};
|
||||
@@ -88,6 +92,26 @@ int main(){
|
||||
for(int fail:{1,2,3}){Setup x;assert(x.Register());x.a[0].startMode=fail;assert(!x.Start());assert(starts==1&&x.service.AttemptedOrders()==1&&x.service.Retired(&x.a[0]));assert(!x.Start(2)&&starts==1);if(fail==3){assert(x.service.Pending(&x.a[0])&&cancels==1);assert(!x.service.Cancel(&x.a[0],1,"duplicate"));x.a[0].next=State::CANCELLED;x.service.Tick();assert(x.service.Drained());}else assert(x.service.Drained());}
|
||||
{Setup x;assert(x.Register());x.q.claimed=true;assert(!x.Start()&&starts==1&&claims==0&&x.service.AttemptedOrders()==1);}
|
||||
{Setup x;assert(x.Register());for(int i=1;i<=Service::MAX_ORDERS;i++){Qualification q;assert(x.service.StartRoute(&x.a[0],&q,i,200000));x.a[0].next=State::COMPLETE;x.service.Tick();}assert(x.service.AttemptedOrders()==128);Qualification q;assert(!x.service.StartRoute(&x.a[0],&q,129,200000)&&starts==128);}
|
||||
// Explicit field kind constructs one known controller, records actual target,
|
||||
// and shares tokens/reservations with the normal route kind.
|
||||
{Setup x;assert(x.Register()&&x.Register(1));FieldQualification field;assert(x.service.StartField(&x.a[0],&field,10,241000));Entry* e=x.service.Find(&x.a[0]);Flight* original=e->Flight;assert(original->kind==2&&fieldConstructions==1&&routeConstructions==0&&starts==1&&claims==1);assert(x.service.Destination(&x.a[0]).x==100);field.target.x=999;assert(x.service.Destination(&x.a[0]).x==100);
|
||||
Qualification normal;FieldQualification another;assert(!x.service.StartRoute(&x.a[0],&normal,11,200000));assert(!x.service.StartRoute(&x.a[1],&normal,10,200000));assert(!x.service.StartField(&x.a[1],&another,10,241000));assert(starts==1&&claims==1);
|
||||
assert(x.service.Cancel(&x.a[0],10,"field radio loss")&&!x.service.Cancel(&x.a[0],10,"duplicate"));assert(e->Flight==original&&x.service.Pending(&x.a[0])&&cancels==1&&x.service.OrderDeadline(&x.a[0])==241000);
|
||||
x.a[0].next=State::LANDING;x.service.Tick();assert(e->Flight==original&&x.service.Pending(&x.a[0]));x.a[0].next=State::CANCELLED;x.service.Tick();assert(x.service.Drained()&&!x.service.Retired(&x.a[0]));
|
||||
assert(!x.service.StartRoute(&x.a[0],&normal,10,200000));assert(x.service.StartRoute(&x.a[0],&normal,11,200000));assert(x.service.Find(&x.a[0])->Flight->kind==1&&routeConstructions==1&&claims==2);
|
||||
}
|
||||
// Tokens attempted by normal routes cannot replay as field routes even on
|
||||
// another ready asset after physical completion.
|
||||
{Setup x;assert(x.Register()&&x.Register(1)&&x.Start(21));x.a[0].next=State::COMPLETE;x.service.Tick();FieldQualification q;assert(!x.service.StartField(&x.a[1],&q,21,241000)&&fieldConstructions==0);assert(x.service.StartField(&x.a[1],&q,22,241000)&&claims==2);}
|
||||
{Setup x;assert(x.Register());FieldQualification q;assert(!x.service.StartField(&x.a[0],nullptr,1,241000));assert(!x.service.StartField(&x.a[0],&q,0,241000));assert(!x.service.StartField(&x.a[0],&q,1,NAN));assert(starts==0&&claims==0&&x.service.AttemptedOrders()==0&&fieldConstructions==0);}
|
||||
// Failed field admission/claim uses exactly the existing retirement and
|
||||
// retained partial-start protocol. Changing kind cannot create a retry.
|
||||
for(int fail:{1,2,3}){Setup x;assert(x.Register()&&x.Register(1));x.a[0].startMode=fail;FieldQualification q;assert(!x.service.StartField(&x.a[0],&q,31,241000));assert(x.service.Retired(&x.a[0])&&x.service.AttemptedOrders()==1&&fieldConstructions==1);Qualification route;assert(!x.service.StartRoute(&x.a[0],&route,32,200000)&&!x.service.StartRoute(&x.a[1],&route,31,200000));if(fail==3){Flight* retained=x.service.Find(&x.a[0])->Flight;assert(x.service.Pending(&x.a[0])&&cancels==1);x.a[0].next=State::LANDING;x.service.Tick();assert(x.service.Find(&x.a[0])->Flight==retained&&x.service.Pending(&x.a[0]));x.a[0].next=State::CANCELLED;x.service.Tick();}assert(x.service.Drained()&&x.service.Retired(&x.a[0]));}
|
||||
{Setup x;assert(x.Register());FieldQualification q;q.claimed=true;assert(!x.service.StartField(&x.a[0],&q,41,241000)&&starts==1&&claims==0&&x.service.Retired(&x.a[0]));}
|
||||
// Stop drains both kinds together; no early release or additional starts.
|
||||
{Setup x;assert(x.Register()&&x.Register(1)&&x.Start(51));FieldQualification q;assert(x.service.StartField(&x.a[1],&q,52,241000));Flight* field=x.service.Find(&x.a[1])->Flight;x.service.Stop();x.service.Stop();assert(cancels==2&&x.service.Stopping()&&!x.service.Drained());x.a[0].next=State::CANCELLED;x.a[1].next=State::LANDING;x.service.Tick();assert(!x.service.Drained()&®istry.Get(&x.a[0])==&x.service&&x.service.Find(&x.a[1])->Flight==field);x.a[1].next=State::CANCELLED;x.service.Tick();assert(x.service.Drained()&®istry.values.empty()&&!x.service.Ready(&x.a[1]));}
|
||||
// One bounded attempt budget covers both kinds without independent counters.
|
||||
{Setup x;assert(x.Register());for(int i=1;i<=Service::MAX_ORDERS;i++){if(i%2){FieldQualification q;assert(x.service.StartField(&x.a[0],&q,i,241000));}else{Qualification q;assert(x.service.StartRoute(&x.a[0],&q,i,200000));}x.a[0].next=State::COMPLETE;x.service.Tick();}FieldQualification q;assert(!x.service.StartField(&x.a[0],&q,129,241000)&&starts==128&&claims==128&&routeConstructions==64&&fieldConstructions==64);}
|
||||
}
|
||||
''')
|
||||
source=P.read_text()
|
||||
@@ -98,8 +122,28 @@ for required in ('entry.Seat.GetOccupant() != entry.Pilot','controller.GetPilotC
|
||||
assert required in original
|
||||
for required in ('!Original(entry)','!ERR_Actors.CanFight(entry.Pilot)','!fuel.HasFuel()','!damage.GetEngineFunctional()','simulation.RotorGetState(rotor) == RotorState.DESTROYED','!simulation.HasAnyGroundContact()','!physics.IsActive()','controller.IsEngineOn()'):
|
||||
assert required in ready
|
||||
assert source.count('new ERR_AircraftRouteFlight()')==1
|
||||
assert source.count('new ERR_AircraftRouteFlight()')==1 and source.count('new ERR_AircraftFieldFlight()')==1
|
||||
assert 'ref ERR_AircraftFlight Flight;' in source
|
||||
assert source.count('m_UsedTokens.Insert(token)')==1
|
||||
for signature in ('bool StartRoute(', 'bool StartField('):
|
||||
method=body(P,signature)
|
||||
assert method.index('if (!qualification) return false;')<method.index('BeginAttempt(')<method.index('entry.Flight = flight; entry.Pending = true;')<method.index('bool started = flight.')<method.index('RecordStart(entry, started)')
|
||||
assert '.Claim(' not in source and 'QualifyRoute(' not in source
|
||||
for prohibited in ('Spawn(', 'Delete(', 'DeleteSpawned(', 'SetOrigin(', 'SetWorldTransform(', 'SetVelocity(', 'SetActive(', 'SetFuel(', 'SetHealth(', 'PrepareActions(', 'PrepareHelicopter(', 'CallLater(', 'GetPlayerCount() == 0'):
|
||||
assert prohibited not in source
|
||||
print('PASS: actual finite registration, unique claims/tokens, retention/cancel/stop, readiness gating, capture/expiry retirement and bounded order history; native boundaries faked')
|
||||
print('PASS: actual finite registration, unique claims/tokens, retention/cancel/stop, readiness gating, capture/expiry retirement and bounded cross-kind order history and typed field/route construction; native boundaries faked')
|
||||
|
||||
# The existing route probe sees only its exact subtype; a field controller can
|
||||
# never be relabeled as route evidence through the shared retained base pointer.
|
||||
route_probe=ROOT/'addons/ai/Scripts/Game/ERR/ERR_NativeAircraftRouteProbe.c'
|
||||
getter=body(route_probe,'ERR_AircraftRouteFlight ERR_NativeOriginalFlight(')
|
||||
getter=getter.replace('ERR_AircraftRouteFlight.Cast(entry.Flight)','dynamic_cast<Route*>(entry->Flight)').replace('ERR_AircraftRouteFlight ','Route* ').replace('ERR_AircraftServiceEntry entry','Entry* entry').replace('Vehicle aircraft','int aircraft').replace('null','nullptr')
|
||||
run(r'''#include <cassert>
|
||||
struct Base {virtual ~Base()=default;};struct Route:Base{};struct Field:Base{};
|
||||
struct Entry {Base* Flight=nullptr;};
|
||||
struct Observer {Entry* entry=nullptr;Entry* Find(int){return entry;}
|
||||
'''+getter+r'''
|
||||
};
|
||||
int main(){Observer o;assert(!o.ERR_NativeOriginalFlight(1));Entry e;o.entry=&e;assert(!o.ERR_NativeOriginalFlight(1));Route route;e.Flight=&route;assert(o.ERR_NativeOriginalFlight(1)==&route);Field field;e.Flight=&field;assert(!o.ERR_NativeOriginalFlight(1));}
|
||||
''')
|
||||
print('PASS: actual WORKBENCH route observer returns exact retained route subtype and refuses absent/field controllers')
|
||||
|
||||
@@ -631,13 +631,14 @@ class ApproachTests(unittest.TestCase):
|
||||
'baseline_samples':[20,21],'response_sample':22,'return_sample':23,
|
||||
'motions':[{'dx':24,'dy':0,'monotonic':10.1,'after_sample':21,'after_real_ms':3310},
|
||||
{'dx':-24,'dy':0,'monotonic':10.3,'after_sample':22,'after_real_ms':3420}]}
|
||||
report={'look_proof':look,'events':[]};keyboard=FakeKeyboard(observer);notifications=[];motions=[]
|
||||
report={'look_proof':look,'events':[],'coarse_approach_requested':True};keyboard=FakeKeyboard(observer);notifications=[];motions=[]
|
||||
mouse=SimpleNamespace(approach_move=lambda *a,**k:motions.append((a,k)))
|
||||
def module(guard,k,m,observe,geometry,calibration,r,**kwargs):
|
||||
self.assertEqual(calibration['ready_monotonic'],10)
|
||||
self.assertEqual(calibration['ready_real_ms'],3091)
|
||||
self.assertEqual(calibration['observer_start_real_ms'],1000)
|
||||
self.assertEqual(kwargs['key_state_busy'],proof.KeyStateBusy)
|
||||
self.assertEqual(kwargs['profile'],'coarse')
|
||||
self.assertEqual(observe()[-1]['geometry'],geometry)
|
||||
self.assertEqual(geometry['nonce'],NONCE)
|
||||
with self.assertRaises(proof.Refused):k.send('F',True)
|
||||
@@ -999,7 +1000,7 @@ class SelectionIntegration(unittest.TestCase):
|
||||
|
||||
def test_actual_main_wires_selection_only_to_observer_and_sequence(self):
|
||||
with tempfile.TemporaryDirectory() as folder:
|
||||
root=Path(folder);args=SimpleNamespace(nonce='N',prefix=root/'pfx',profile=root/'profile',game_executable=root/'game',host_display=':0',report=root/'report.json',console=root/'console.log',command=[],enable_private_look_proof=True,enable_private_approach_proof=True,enable_private_alignment_proof=True,enable_private_selection_proof=True)
|
||||
root=Path(folder);args=SimpleNamespace(nonce='N',prefix=root/'pfx',profile=root/'profile',game_executable=root/'game',host_display=':0',report=root/'report.json',console=root/'console.log',command=[],enable_private_look_proof=True,enable_private_approach_proof=True,enable_private_alignment_proof=True,enable_private_selection_proof=True,enable_private_coarse_approach_proof=True)
|
||||
owner={'window':1,'pid':2,'server_pid':2,'process':{'pid':2}}
|
||||
query=SimpleNamespace(windows=lambda:[{}],focus=lambda:(1,0),close=lambda:None)
|
||||
observer=SimpleNamespace(identity=(1,2),start_offset=0,offset=0,raw=[],events=[],look_records=[],gate_records=[],close=lambda:None)
|
||||
@@ -1021,7 +1022,8 @@ class SelectionIntegration(unittest.TestCase):
|
||||
with patch.object(proof,'arguments',return_value=args),patch.object(proof,'wrapper_command',return_value=[]),patch.object(proof,'console_path'),patch.object(proof.display,'validate_paths'),patch.object(proof.display,'binding',return_value={'display':':2'}),patch.object(proof.display,'X11',return_value=query),patch.object(proof.display,'owned_window',return_value=owner),patch.object(proof.display,'input_target',return_value={'verified':True}),patch.object(proof,'Observer',autospec=True,return_value=observer) as ob,patch.object(proof,'Guard',autospec=True),patch.object(proof,'Keyboard',autospec=True),patch.object(proof,'RelativeMouse',autospec=True) as mouse,patch.object(proof,'sequence',side_effect=sequence),patch.object(proof.signal,'signal'):
|
||||
self.assertEqual(proof.main([]),0)
|
||||
self.assertTrue(ob.call_args.kwargs['enable_selection']);self.assertNotIn('selection',mouse.call_args.kwargs)
|
||||
archived=json.loads(args.report.read_text());self.assertTrue(archived['selection_requested']);self.assertEqual(archived['wheel_events'],[])
|
||||
self.assertTrue(mouse.call_args.kwargs['enable_coarse_approach']);self.assertNotIn('coarse_approach',ob.call_args.kwargs)
|
||||
archived=json.loads(args.report.read_text());self.assertTrue(archived['coarse_approach_requested']);self.assertTrue(archived['selection_requested']);self.assertEqual(archived['wheel_events'],[])
|
||||
|
||||
def test_one_native_wheel_pair_and_mask_roundtrip_no_retries(self):
|
||||
r=WheelRig();w=r.wheel();notices=[]
|
||||
@@ -1173,4 +1175,44 @@ class SelectionIntegration(unittest.TestCase):
|
||||
self.assertEqual(proof.supervise([]),1);self.assertEqual(child.terminated,1)
|
||||
self.assertEqual(failed.call_args.kwargs['button'],5);self.assertIsNone(failed.call_args.args[1]);stop.assert_called_once()
|
||||
|
||||
class CoarseApproachTests(unittest.TestCase):
|
||||
def test_opt_in_requires_approach_and_default_is_unchanged(self):
|
||||
argv=['--enable-private-keyboard-proof','--prefix','/tmp/pfx','--game-executable','/tmp/game','--profile','/tmp/profile','--report','/tmp/report','--host-display',':0','--nonce','N']
|
||||
self.assertFalse(proof.arguments(argv).enable_private_coarse_approach_proof)
|
||||
with self.assertRaises(SystemExit),patch('sys.stderr'):proof.arguments(argv+['--enable-private-coarse-approach-proof'])
|
||||
args=proof.arguments(argv+['--enable-private-coarse-approach-proof','--enable-private-approach-proof','--enable-private-look-proof'])
|
||||
self.assertTrue(args.enable_private_coarse_approach_proof)
|
||||
with self.assertRaisesRegex(proof.Refused,'Coarse approach'):
|
||||
proof.sequence(FakeGuard(),FakeKeyboard(FakeObserver()),FakeObserver(),{},coarse_approach=True)
|
||||
with self.assertRaisesRegex(proof.Refused,'Coarse approach'):
|
||||
proof.sequence(FakeGuard(),FakeKeyboard(FakeObserver()),FakeObserver(),{'coarse_approach_requested':True},approach=True)
|
||||
|
||||
def test_coarse_mouse_preserves_actual_private_pointer_focus_and_deadline_checks(self):
|
||||
class Fn:
|
||||
def __init__(self,fn):self.fn=fn
|
||||
def __call__(self,*a):return self.fn(*a)
|
||||
events=[];xt=SimpleNamespace(XTestFakeRelativeMotionEvent=Fn(lambda *a:events.append(a) or 1))
|
||||
query=SimpleNamespace(d=1,x=SimpleNamespace(XQueryPointer=Fn(lambda *a:1),XFlush=lambda d:None),server_pid=lambda child:9)
|
||||
keyboard=SimpleNamespace(xt=xt,require_idle=lambda:None);clock=Clock()
|
||||
target={'geometry':{'root':1},'focused_clipped_bounds':(0,0,1000,720)}
|
||||
checks=[];guard=SimpleNamespace(check=lambda:checks.append(True) or target)
|
||||
mouse=proof.RelativeMouse(query,keyboard,{'window':100,'pid':9},enable_approach=True,enable_coarse_approach=True)
|
||||
mouse.pointer=lambda:{'root':1,'child':0,'root_x':500,'root_y':300,'mask':0}
|
||||
for dx in (384,-384):mouse.approach_move(dx,0,guard,deadline=35,clock=clock)
|
||||
self.assertEqual(len(events),2);self.assertEqual(len(checks),4)
|
||||
for dx,dy in ((385,0),(300,1),(True,0)):
|
||||
with self.assertRaises(proof.Refused):mouse.approach_move(dx,dy,guard,deadline=35,clock=clock)
|
||||
mouse.enable_coarse_approach=False
|
||||
with self.assertRaises(proof.Refused):mouse.approach_move(300,0,guard,deadline=35,clock=clock)
|
||||
mouse.enable_coarse_approach=True
|
||||
mouse.pointer=lambda:{'root':1,'child':0,'root_x':900,'root_y':300,'mask':0}
|
||||
with self.assertRaisesRegex(proof.Refused,'clipped'):mouse.approach_move(300,0,guard,deadline=35,clock=clock)
|
||||
mouse.pointer=lambda:{'root':1,'child':77,'root_x':500,'root_y':300,'mask':0};query.server_pid=lambda child:10
|
||||
with self.assertRaisesRegex(proof.Refused,'foreign'):mouse.approach_move(300,0,guard,deadline=35,clock=clock)
|
||||
mouse.pointer=lambda:{'root':1,'child':0,'root_x':500,'root_y':300,'mask':0}
|
||||
def late():clock.now=35;return target
|
||||
with self.assertRaisesRegex(proof.Refused,'deadline'):mouse.approach_move(300,0,SimpleNamespace(check=late),deadline=35,clock=clock)
|
||||
self.assertEqual(len(events),2)
|
||||
with self.assertRaisesRegex(proof.Refused,'capability'):proof.RelativeMouse(query,keyboard,{'window':100,'pid':9},enable_coarse_approach=True)
|
||||
|
||||
if __name__ == '__main__': unittest.main()
|
||||
|
||||
@@ -3,7 +3,7 @@ import re
|
||||
from policy_harness import ROOT, body, run
|
||||
P=ROOT/'addons/core/Scripts/Game/ERR/ERR_OrdinaryGateObserver.c'
|
||||
def cpp(s):
|
||||
s=s.replace('protected ', '').replace('out float ', 'float& ').replace('out bool ', 'bool& ')
|
||||
s=s.replace('protected ', '').replace('out bool held', 'bool& held').replace('out float ', 'float& ').replace('out bool ', 'bool& ')
|
||||
types=('ERR_GameMode','BaseWorld','PlayerController','IEntity','ERR_PlayerLife','PlayerManager','BaseUserAction','ERR_UnlockPrisonAction','UserActionContext')
|
||||
for typ in types:s=re.sub(r'\b'+typ+r' (\w+)',typ+r'* \1',s)
|
||||
s=s.replace('array<BaseUserAction>', 'Array<BaseUserAction*>').replace('array<bool>', 'Array<bool>')
|
||||
@@ -19,8 +19,10 @@ def cpp(s):
|
||||
s=s.replace(scope+'.',scope+'::')
|
||||
for getter in ('GetGame','Players','PrisonEscape','GetInputManager','GetMenuManager'):
|
||||
s=s.replace(getter+'().',getter+'()->')
|
||||
s=s.replace('nonce.Length()', 'int(nonce.size())').replace('allowed.Contains(nonce[i])', '(allowed.find(nonce[i]) != string::npos)')
|
||||
return s.replace('null','nullptr').replace('string.Format(', 'Format(')
|
||||
accessor=cpp(body(P,'bool ERR_GateReadProgress('))
|
||||
shared='\n'.join(cpp(body(ROOT/'addons/core/Scripts/Game/ERR/ERR_OrdinaryInputObserver.c', signature)) for signature in ('static bool Nonce(', 'static bool HeldScope(', 'static bool PhaseAllowed('))
|
||||
methods='\n'.join(cpp(body(P,s)) for s in ('protected static bool Enabled(', 'static void Sample(', 'protected bool BindGate(', 'protected bool Context(', 'protected void Cancel(', 'protected bool CachedPermission(', 'protected static bool FiniteVector(', 'protected static string ChoiceIdentity(', 'protected void ObserveChoices(', 'protected void Observe('))
|
||||
run(r'''
|
||||
#include <cassert>
|
||||
@@ -51,7 +53,7 @@ struct PlayerManager {PlayerController* controller=nullptr;IEntity* actor=nullpt
|
||||
struct ERR_PlayerLife {UUID AccountId="original-account";};
|
||||
struct Roster {ERR_PlayerLife* life=nullptr;IEntity* actor=nullptr;ERR_PlayerLife* CurrentActor(IEntity* value){return value==actor?life:nullptr;}};
|
||||
struct Prison {IEntity* gate=nullptr;bool registered=true,lost=false;bool Registered(){return registered;}bool GateLost(){return lost;}IEntity* Gate(){return gate;}};
|
||||
namespace ERR_Phase {enum {PRISON,RADIO_SEARCH,EXTRACTION};}
|
||||
namespace ERR_Phase {enum {PRISON=1,RADIO_SEARCH=2,EXTRACTION=4};}
|
||||
struct ERR_GameMode {static ERR_GameMode* current;bool active=true;int phase=ERR_Phase::PRISON;BaseWorld* world=nullptr;Roster* roster=nullptr;Prison* prison=nullptr;static ERR_GameMode* Get(){return current;}bool Active(){return active;}int Phase(){return phase;}BaseWorld* GetWorld(){return world;}Roster* Players(){return roster;}Prison* PrisonEscape(){return prison;}vector prisonPosition=Vector(6090,210,7160);vector PrisonPosition(){return prisonPosition;}};ERR_GameMode* ERR_GameMode::current=nullptr;
|
||||
struct InputManager {float pressed=0;ERR_GameMode* changeDuringRead=nullptr;float GetActionValue(string name){assert(name=="PerformAction");if(changeDuringRead)changeDuringRead->active=false;return pressed;}};
|
||||
struct MenuManager {bool open=false;void* GetTopMenu(){return open?this:nullptr;}};
|
||||
@@ -59,7 +61,9 @@ struct Game {BaseWorld* world=nullptr;PlayerController* controller=nullptr;Playe
|
||||
namespace System {bool console=false;std::map<string,string> cli;bool IsConsoleApp(){return console;}bool GetCLIParam(string key,string& value){if(!cli.count(key))return false;value=cli[key];return true;}}
|
||||
namespace Replication {bool server=true;bool IsServer(){return server;}}
|
||||
namespace RplMode {enum {None,Listen,Dedicated};}namespace RplSession {int mode=RplMode::None;int Mode(){return mode;}}
|
||||
namespace ERR_OrdinaryInputObserverRules {bool Nonce(string n){return !n.empty()&&n.size()<=32&&n.find_first_not_of("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789")==string::npos;}}
|
||||
struct ERR_OrdinaryInputObserverRules {
|
||||
'''+shared+r'''
|
||||
};
|
||||
namespace ERR_Actors {bool CanFight(IEntity* actor){return actor&&actor->living;}}
|
||||
namespace CompartmentAccessComponent {IEntity* GetVehicleIn(IEntity* actor){return actor->vehicle?actor:nullptr;}}
|
||||
int headers=0,samples=0,geometries=0,cancels=0,choices=0;string lastChoice;string reason;bool lastSelected=false,lastContext=false,lastPermitted=false,lastBound=false,lastPerforming=false;float lastProgress=0;int lastPhase=0;
|
||||
@@ -74,7 +78,7 @@ void PrintFormat(string format,string,int,int,string value){if(format.find("ERR
|
||||
class ERR_OrdinaryGateObserver {public:
|
||||
static ERR_OrdinaryGateObserver* s_Request;static bool s_Attempted;
|
||||
ERR_GameMode* m_Mode=nullptr;BaseWorld* m_World=nullptr;PlayerController* m_Controller=nullptr;IEntity* m_Actor=nullptr;ERR_PlayerLife* m_Life=nullptr;UUID m_Account;IEntity* m_Gate=nullptr;BaseActionsManagerComponent* m_Manager=nullptr;ERR_UnlockPrisonAction* m_Lock=nullptr;UserActionContext* m_Context=nullptr;BaseDoorComponent* m_Door=nullptr;SCR_InteractionHandlerComponent* m_Handler=nullptr;
|
||||
string m_Nonce;int m_Start=0,m_Previous=0,m_Index=0;bool m_Stopped=false;
|
||||
string m_Nonce;int m_Start=0,m_Previous=0,m_Index=0;bool m_Stopped=false,m_HeldAction=false;int m_ObservedPhase=-1;
|
||||
'''+methods+r'''
|
||||
};
|
||||
ERR_OrdinaryGateObserver* ERR_OrdinaryGateObserver::s_Request=nullptr;bool ERR_OrdinaryGateObserver::s_Attempted=false;
|
||||
@@ -84,6 +88,17 @@ struct Fixture {BaseWorld world,otherWorld;ERR_GameMode mode;IEntity actor,other
|
||||
};
|
||||
int main(){
|
||||
|
||||
// Held mode changes only admissible phase, never the original pins or clock.
|
||||
{Fixture f;System::cli["errOrdinaryHeldAction"]="Run42";System::cli["errOrdinaryLookObserve"]="Run42";System::cli["errOrdinaryGateObserve"]="Run42"; f.sample();auto p=ERR_OrdinaryGateObserver::s_Request;assert(p&&p->m_HeldAction&&p->m_ObservedPhase==ERR_Phase::PRISON);f.mode.phase=ERR_Phase::RADIO_SEARCH;f.sample(2,1200);f.sample(3,1300);assert(samples==3&&!cancels&&p->m_Start==1000&&p->m_ObservedPhase==ERR_Phase::RADIO_SEARCH);f.mode.phase=ERR_Phase::PRISON;f.sample(4,1400);assert(samples==3&&cancels==1);f.mode.phase=ERR_Phase::RADIO_SEARCH;f.sample(5,1500);assert(samples==3&&cancels==1);}
|
||||
for(int fault=0;fault<5;fault++){Fixture f;System::cli["errOrdinaryHeldAction"]="Run42";System::cli["errOrdinaryLookObserve"]="Run42";System::cli["errOrdinaryGateObserve"]="Run42"; if(fault==0)System::cli["errOrdinaryHeldAction"]="foreign";if(fault==1)System::cli.erase("errOrdinaryLookObserve");if(fault==2)System::cli["errOrdinaryLookObserve"]="foreign";if(fault==3)f.mode.phase=ERR_Phase::RADIO_SEARCH;if(fault==4)System::cli["errOrdinaryHeldAction"]="";f.sample();assert(!samples);f.mode.phase=ERR_Phase::PRISON;System::cli["errOrdinaryHeldAction"]="Run42";System::cli["errOrdinaryLookObserve"]="Run42";System::cli["errOrdinaryGateObserve"]="Run42"; f.sample(2,1200);assert(!samples);}
|
||||
for(int fault=0;fault<8;fault++){Fixture f;System::cli["errOrdinaryHeldAction"]="Run42";System::cli["errOrdinaryLookObserve"]="Run42";System::cli["errOrdinaryGateObserve"]="Run42"; f.sample();f.mode.phase=ERR_Phase::RADIO_SEARCH;f.sample(2,1200);assert(samples==2&&!cancels);if(fault==0)System::cli.erase("errOrdinaryHeldAction");if(fault==1)System::cli["errOrdinaryLookObserve"]="foreign";if(fault==2)f.actor.vehicle=true;if(fault==3)f.menus.open=true;if(fault==4)f.life.AccountId="replacement";if(fault==5)f.mode.phase=ERR_Phase::EXTRACTION;if(fault==6)f.players.actor=nullptr;if(fault==7)game.world=nullptr;f.sample(3,1300);assert(samples==2&&cancels==1);}
|
||||
{Fixture f;f.sample();System::cli["errOrdinaryHeldAction"]="Run42";System::cli["errOrdinaryLookObserve"]="Run42";System::cli["errOrdinaryGateObserve"]="Run42"; f.sample(2,1200);assert(samples==1&&cancels==1);}
|
||||
{Fixture f;System::cli["errOrdinaryHeldAction"]="Run42";System::cli["errOrdinaryLookObserve"]="Run42";System::cli["errOrdinaryGateObserve"]="Run42"; f.sample();f.mode.phase=ERR_Phase::RADIO_SEARCH;f.sample(2,45999);assert(samples==2);f.sample(3,46000);assert(samples==2&&cancels==1);}
|
||||
{Fixture f;System::cli["errOrdinaryHeldAction"]="Run42";System::cli["errOrdinaryLookObserve"]="Run42";System::cli["errOrdinaryGateObserve"]="Run42"; f.sample();f.mode.phase=ERR_Phase::RADIO_SEARCH;f.sample(451,1200);assert(samples==1&&cancels==1);}
|
||||
{Fixture f;System::cli["errOrdinaryHeldAction"]="Run42";System::cli["errOrdinaryLookObserve"]="Run42";System::cli["errOrdinaryGateObserve"]="Run42"; f.sample();f.mode.phase=ERR_Phase::RADIO_SEARCH;f.door.control=1;f.door.state=.4;f.context.origin=Vector(6091,212,7155);f.gate.forward=Vector(1,0,0);f.handler.selected=nullptr;f.handler.current=nullptr;f.sample(2,1200);assert(samples==2&&geometries==2&&!cancels&&!lastSelected&&!lastBound&&lastPhase==ERR_Phase::RADIO_SEARCH);f.manager.context=&f.otherContext;f.sample(3,1300);assert(samples==2&&cancels==1);}
|
||||
// Legacy gate-only observation retains its prior permitted phase reversal.
|
||||
{Fixture f;f.sample();f.mode.phase=ERR_Phase::RADIO_SEARCH;f.sample(2,1200);f.mode.phase=ERR_Phase::PRISON;f.sample(3,1300);assert(samples==3&&!cancels);}
|
||||
|
||||
// Diagnostics are an independent opt-in beneath the same validated observer.
|
||||
{Fixture f;f.sample();assert(choices==0);System::cli["errOrdinaryGateChoices"]="foreign";f.sample(2,1200);assert(choices==0&&samples==2);}
|
||||
// A disabled stock door can be selected while the exact lock is cached available.
|
||||
|
||||
@@ -2,12 +2,12 @@
|
||||
from policy_harness import ROOT, body, run
|
||||
P=ROOT/'addons/core/Scripts/Game/ERR/ERR_OrdinaryInputObserver.c'
|
||||
def cpp(s):
|
||||
s=s.replace('protected ', '').replace('out string nonce','string& nonce')
|
||||
s=s.replace('protected ', '').replace('out bool held', 'bool& held').replace('out string nonce','string& nonce')
|
||||
for t in ('ERR_GameMode','PlayerController','IEntity','ERR_PlayerLife','ERR_OrdinaryInputObserver','PlayerManager','SCR_InventoryMenuUI','Widget'):
|
||||
s=s.replace(t+' mode',t+'* mode').replace(t+' controller',t+'* controller').replace(t+' actor',t+'* actor').replace(t+' life',t+'* life').replace(t+' request',t+'* request').replace(t+' current',t+'* current').replace(t+' manager',t+'* manager').replace(t+' menu',t+'* menu').replace(t+' root',t+'* root').replace(t+' expectedMenu',t+'* expectedMenu').replace(t+' expectedRoot',t+'* expectedRoot').replace(t+' overlay',t+'* overlay')
|
||||
for v in ('mode','controller','actor','request','life','current','manager','menu','root','m_Mode','m_World','m_Controller','m_Actor','m_Character','m_Menu','s_Request','expectedMenu','expectedRoot','m_CaptureMenu','m_CaptureRoot','overlay','m_aHitZonePoints'):
|
||||
s=s.replace(v+'.',v+'->')
|
||||
for scope in ('System','Replication','ERR_Phase','ERR_GameMode','ERR_Actors','SCR_InventoryMenuUI','ERR_OrdinaryInputObserverRules','ERR_OrdinaryLookObserver','ERR_OrdinaryGateObserver','vector','Math'):
|
||||
for scope in ('System','Replication','RplSession','RplMode','CompartmentAccessComponent','ERR_Phase','ERR_GameMode','ERR_Actors','SCR_InventoryMenuUI','ERR_OrdinaryInputObserverRules','ERR_OrdinaryLookObserver','ERR_OrdinaryGateObserver','vector','Math'):
|
||||
s=s.replace(scope+'.',scope+'::')
|
||||
s=s.replace('GetGame().','GetGame()->').replace('GetPlayerManager().','GetPlayerManager()->').replace('GetInputManager().','GetInputManager()->').replace('GetMenuManager().','GetMenuManager()->').replace('GetCallqueue().','GetCallqueue()->').replace('Players().','Players()->')
|
||||
s=s.replace('CharacterControllerComponent.Cast(actor->FindComponent(CharacterControllerComponent))','actor->FindComponent(0)').replace('FindComponent(CharacterControllerComponent)','FindComponent(0)')
|
||||
@@ -17,9 +17,10 @@ def cpp(s):
|
||||
s=s.replace('string.Format', 'Format').replace('Widget* overlay;', 'Widget* overlay=null;')
|
||||
s=s.replace('null','nullptr').replace('bool open;', 'bool open = false;')
|
||||
s=s.replace('nonce.Length()', 'int(nonce.size())').replace('allowed.Contains(nonce[i])', '(allowed.find(nonce[i]) != string::npos)')
|
||||
s=s.replace('nonce.Length()', 'int(nonce.size())').replace('allowed.Contains(nonce[i])', '(allowed.find(nonce[i]) != string::npos)')
|
||||
return s
|
||||
state=cpp(body(P,'string ERR_InputObserverInventoryState('))
|
||||
rules='\n'.join(cpp(body(P,x)) for x in ('static bool Nonce(', 'static bool Within(', 'static bool Stationary('))
|
||||
rules='\n'.join(cpp(body(P,x)) for x in ('static bool Nonce(', 'static bool HeldScope(', 'static bool PhaseAllowed(', 'static bool Within(', 'static bool Stationary('))
|
||||
methods='\n'.join(cpp(body(P,x)) for x in ('protected static bool Enabled(', 'static void Queue(', 'protected bool Valid(', 'protected void Record(', 'protected void CancelCapture(', 'protected void Capture(', 'protected void CaptureLater(', 'protected void Observe(', 'protected void Sample(', 'protected void End(', 'void Cancel(', 'static void ClearWorld('))
|
||||
run(r'''
|
||||
#include <cassert>
|
||||
@@ -33,10 +34,12 @@ struct vector {float x=0,y=0,z=0;float Length(){return std::sqrt(x*x+y*y+z*z);}s
|
||||
namespace Math {float AbsFloat(float x){return std::abs(x);}}
|
||||
namespace System {bool console=false;int now=0;std::map<string,string> cli;std::vector<string> shots;bool IsConsoleApp(){return console;}int GetTickCount(){return now;}bool GetCLIParam(string key,string& value){if(!cli.count(key))return false;value=cli[key];return true;}void MakeScreenshot(string path){shots.push_back(path);}}
|
||||
namespace Replication {bool server=true;bool IsServer(){return server;}}
|
||||
namespace ERR_Phase {enum {PRISON,PREPARING,DEFEAT};}
|
||||
namespace ERR_Phase {enum {PREPARING=0,PRISON=1,RADIO_SEARCH=2,DEFEAT=6};}
|
||||
namespace RplMode {enum {None,Listen,Dedicated};}namespace RplSession {int mode=RplMode::None;int Mode(){return mode;}}
|
||||
struct BaseWorld {float time=0;float GetWorldTime(){return time;}};
|
||||
struct CharacterControllerComponent {bool unconscious=false,disabled=false;vector input,velocity;bool IsUnconscious(){return unconscious;}bool GetDisableMovementControls(){return disabled;}vector GetMovementInput(){return input;}vector GetVelocity(){return velocity;}};
|
||||
struct IEntity {BaseWorld* world=nullptr;CharacterControllerComponent* component=nullptr;bool conscious=true;vector origin;BaseWorld* GetWorld(){return world;}CharacterControllerComponent* FindComponent(int){return component;}vector GetOrigin(){return origin;}};
|
||||
struct IEntity {BaseWorld* world=nullptr;CharacterControllerComponent* component=nullptr;bool conscious=true,vehicle=false;vector origin;BaseWorld* GetWorld(){return world;}CharacterControllerComponent* FindComponent(int){return component;}vector GetOrigin(){return origin;}};
|
||||
namespace CompartmentAccessComponent {IEntity* GetVehicleIn(IEntity* actor){return actor->vehicle?actor:nullptr;}}
|
||||
namespace ERR_Actors {bool CanFight(IEntity* actor){return actor&&actor->conscious;}}
|
||||
struct PlayerController {int id=1;IEntity* actor=nullptr;int GetPlayerId(){return id;}IEntity* GetControlledEntity(){return actor;}};
|
||||
struct ERR_PlayerLife {UUID AccountId="private-account";};
|
||||
@@ -75,14 +78,14 @@ struct ERR_OrdinaryGateObserver {
|
||||
struct ERR_OrdinaryInputObserver {
|
||||
static ERR_OrdinaryInputObserver* s_Request;static bool s_Attempted;
|
||||
ERR_GameMode* m_Mode=nullptr;BaseWorld* m_World=nullptr;PlayerController* m_Controller=nullptr;IEntity* m_Actor=nullptr;CharacterControllerComponent* m_Character=nullptr;ERR_PlayerLife* m_Life=nullptr;
|
||||
UUID m_Account;int m_PlayerId=0;string m_Nonce;bool m_Screenshots=false,m_Finished=false,m_Ready=false,m_Opened=false,m_Closed=false;SCR_InventoryMenuUI* m_Menu=nullptr;
|
||||
UUID m_Account;int m_PlayerId=0;string m_Nonce;bool m_HeldAction=false;int m_ObservedPhase=-1;bool m_Screenshots=false,m_Finished=false,m_Ready=false,m_Opened=false,m_Closed=false;SCR_InventoryMenuUI* m_Menu=nullptr;
|
||||
string m_CaptureSuffix;SCR_InventoryMenuUI* m_CaptureMenu=nullptr;Widget* m_CaptureRoot=nullptr;int m_CaptureDue=0,m_CaptureExpires=0,m_CaptureLoadedAt=-1,m_InventoryStateLines=0;bool m_BaselineCaptureQueued=false,m_OpenCaptureQueued=false,m_ClosedCaptureQueued=false;
|
||||
int m_Start=0,m_Previous=0,m_Samples=0,m_BaselineSince=-1;vector m_BaselineOrigin;float m_LastWorldTime=0;
|
||||
'''+methods+r'''
|
||||
};
|
||||
ERR_OrdinaryInputObserver* ERR_OrdinaryInputObserver::s_Request=nullptr;bool ERR_OrdinaryInputObserver::s_Attempted=false;
|
||||
struct Fixture {ERR_GameMode mode;BaseWorld world;PlayerController controller;IEntity actor;CharacterControllerComponent character;ERR_PlayerLife life;Widget widget;SCR_InventoryMenuUI menu;
|
||||
Fixture(){game={};System::cli={{"errOrdinaryScenario","core"},{"errOrdinaryInputObserve","Run42"},{"errOrdinaryInputScreenshots","1"}};System::now=0;System::console=false;System::shots.clear();Replication::server=true;events.clear();inventoryStates.clear();inventoryReasons.clear();samples=0;ERR_OrdinaryInputObserver::s_Request=nullptr;ERR_OrdinaryInputObserver::s_Attempted=false;SCR_InventoryMenuUI::current=nullptr;ERR_GameMode::current=&mode;mode.world=&world;mode.roster.actor=&actor;mode.roster.life=&life;actor.world=&world;actor.component=&character;controller.actor=&actor;game.world=&world;game.controller=&controller;game.manager.controller=&controller;game.manager.actor=&actor;menu.character=&character;menu.root=&widget;}
|
||||
Fixture(){game={};System::cli={{"errOrdinaryScenario","core"},{"errOrdinaryInputObserve","Run42"},{"errOrdinaryInputScreenshots","1"}};System::now=0;System::console=false;System::shots.clear();Replication::server=true;RplSession::mode=RplMode::None;events.clear();inventoryStates.clear();inventoryReasons.clear();samples=0;ERR_OrdinaryInputObserver::s_Request=nullptr;ERR_OrdinaryInputObserver::s_Attempted=false;SCR_InventoryMenuUI::current=nullptr;ERR_GameMode::current=&mode;mode.world=&world;mode.roster.actor=&actor;mode.roster.life=&life;actor.world=&world;actor.component=&character;controller.actor=&actor;game.world=&world;game.controller=&controller;game.manager.controller=&controller;game.manager.actor=&actor;menu.character=&character;menu.root=&widget;}
|
||||
ERR_OrdinaryInputObserver* queue(){ERR_OrdinaryInputObserver::Queue(&mode,&controller,&actor);return ERR_OrdinaryInputObserver::s_Request;}
|
||||
void sample(int ms){System::now=ms;world.time=ms;ERR_OrdinaryInputObserver::s_Request->Sample();}
|
||||
void capture(int ms){System::now=ms;world.time=ms;ERR_OrdinaryInputObserver::s_Request->CaptureLater();}
|
||||
@@ -92,6 +95,38 @@ struct Fixture {ERR_GameMode mode;BaseWorld world;PlayerController controller;IE
|
||||
};
|
||||
int count(string value){int n=0;for(auto event:events)if(event==value)n++;return n;}
|
||||
int main(){
|
||||
|
||||
// Execute the actual shared option/phase rules and actual queued lifecycle.
|
||||
for(int fault=0;fault<9;fault++){Fixture f;System::cli["errOrdinaryHeldAction"]="Run42";System::cli["errOrdinaryLookObserve"]="Run42";System::cli["errOrdinaryGateObserve"]="Run42";
|
||||
if(fault==0)System::cli["errOrdinaryHeldAction"]="foreign";
|
||||
if(fault==1)System::cli.erase("errOrdinaryLookObserve");
|
||||
if(fault==2)System::cli["errOrdinaryLookObserve"]="foreign";
|
||||
if(fault==3)System::cli.erase("errOrdinaryGateObserve");
|
||||
if(fault==4)System::cli["errOrdinaryGateObserve"]="foreign";
|
||||
if(fault==5)f.mode.phase=ERR_Phase::RADIO_SEARCH;
|
||||
if(fault==6)RplSession::mode=RplMode::Listen;
|
||||
if(fault==7)RplSession::mode=RplMode::Dedicated;
|
||||
if(fault==8)System::cli["errOrdinaryHeldAction"]="";
|
||||
assert(!f.queue()&&game.queue.queued==0);assert(ERR_OrdinaryInputObserver::s_Attempted==(fault==5));
|
||||
if(fault==5){f.mode.phase=ERR_Phase::PRISON;assert(!f.queue());}}
|
||||
{Fixture f;System::cli["errOrdinaryHeldAction"]="Run42";System::cli["errOrdinaryLookObserve"]="Run42";System::cli["errOrdinaryGateObserve"]="Run42";
|
||||
auto p=f.queue();assert(p&&p->m_HeldAction&&p->m_ObservedPhase==ERR_Phase::PRISON);f.sample(100);f.mode.phase=ERR_Phase::RADIO_SEARCH;f.sample(200);f.sample(300);assert(samples==3&&!p->m_Finished&&p->m_ObservedPhase==ERR_Phase::RADIO_SEARCH&&p->m_Start==0);
|
||||
f.mode.phase=ERR_Phase::PRISON;f.sample(400);assert(samples==3&&p->m_Finished);f.mode.phase=ERR_Phase::RADIO_SEARCH;f.sample(500);assert(samples==3);ERR_OrdinaryInputObserver::ClearWorld();assert(!f.queue());}
|
||||
for(int fault=0;fault<10;fault++){Fixture f;System::cli["errOrdinaryHeldAction"]="Run42";System::cli["errOrdinaryLookObserve"]="Run42";System::cli["errOrdinaryGateObserve"]="Run42";auto p=f.queue();f.sample(100);f.mode.phase=ERR_Phase::RADIO_SEARCH;f.sample(200);
|
||||
if(fault==0)System::cli.erase("errOrdinaryHeldAction");
|
||||
if(fault==1)System::cli["errOrdinaryGateObserve"]="foreign";
|
||||
if(fault==2)f.open();
|
||||
if(fault==3)f.actor.vehicle=true;
|
||||
if(fault==4)f.life.AccountId="replacement";
|
||||
if(fault==5)f.mode.phase=ERR_Phase::DEFEAT;
|
||||
if(fault==6)f.character.unconscious=true;
|
||||
if(fault==7)game.world=nullptr;
|
||||
if(fault==8)game.manager.actor=nullptr;
|
||||
if(fault==9)p->m_Samples=450;
|
||||
f.sample(300);assert(p->m_Finished&&samples==2);}
|
||||
{Fixture f;auto p=f.queue();f.mode.phase=ERR_Phase::RADIO_SEARCH;f.sample(100);assert(p->m_Finished&&samples==0);}
|
||||
{Fixture f;auto p=f.queue();System::cli["errOrdinaryHeldAction"]="Run42";System::cli["errOrdinaryLookObserve"]="Run42";System::cli["errOrdinaryGateObserve"]="Run42";f.sample(100);assert(p->m_Finished&&samples==0);}
|
||||
{Fixture f;System::cli["errOrdinaryHeldAction"]="Run42";System::cli["errOrdinaryLookObserve"]="Run42";System::cli["errOrdinaryGateObserve"]="Run42";auto p=f.queue();f.sample(100);f.mode.phase=ERR_Phase::RADIO_SEARCH;f.sample(44999);assert(samples==2&&p->m_Start==0);f.sample(45000);assert(samples==2&&p->m_Finished);}
|
||||
assert(ERR_OrdinaryInputObserverRules::Nonce("aZ09"));for(string n:std::vector<string>{"","../bad","a-b","a_b","line\n","a b","$logs:x",string(33,'x')})assert(!ERR_OrdinaryInputObserverRules::Nonce(n));
|
||||
assert(ERR_OrdinaryInputObserverRules::Within(0,44900,44999,449));assert(!ERR_OrdinaryInputObserverRules::Within(0,44900,45000,449));assert(!ERR_OrdinaryInputObserverRules::Within(0,100,99,2));assert(!ERR_OrdinaryInputObserverRules::Within(0,1,2,450));
|
||||
for(int fault=0;fault<6;fault++){Fixture f;
|
||||
|
||||
@@ -3,16 +3,18 @@ import re
|
||||
from policy_harness import ROOT, body, run
|
||||
P=ROOT/'addons/core/Scripts/Game/ERR/ERR_OrdinaryLookObserver.c'
|
||||
def cpp(s):
|
||||
s=s.replace('protected ', '')
|
||||
s=s.replace('protected ', '').replace('out bool held', 'bool& held')
|
||||
types=('ERR_GameMode','BaseWorld','PlayerController','IEntity','PlayerCamera','ERR_PlayerLife','PlayerManager','CameraManager')
|
||||
for typ in types:s=re.sub(r'\b'+typ+r' (\w+)',typ+r'* \1',s)
|
||||
for name in ('mode','world','controller','actor','manager','cameras','m_Mode','m_World','m_Controller','m_Actor','m_Camera','m_Life','s_Request'):
|
||||
s=s.replace(name+'.',name+'->')
|
||||
for scope in ('System','Replication','RplSession','RplMode','ERR_Phase','ERR_GameMode','ERR_Actors','ERR_OrdinaryInputObserverRules'):
|
||||
for scope in ('System','Replication','RplSession','RplMode','ERR_Phase','ERR_GameMode','ERR_Actors','ERR_OrdinaryInputObserverRules','CompartmentAccessComponent'):
|
||||
s=s.replace(scope+'.',scope+'::')
|
||||
s=s.replace('GetGame().','GetGame()->').replace('Players().','Players()->').replace('GetInputManager().','GetInputManager()->').replace('GetMenuManager().','GetMenuManager()->')
|
||||
s=s.replace('null','nullptr').replace('new ERR_OrdinaryLookObserver()', 'new ERR_OrdinaryLookObserver()')
|
||||
s=s.replace('nonce.Length()', 'int(nonce.size())').replace('allowed.Contains(nonce[i])', '(allowed.find(nonce[i]) != string::npos)')
|
||||
return s
|
||||
shared='\n'.join(cpp(body(ROOT/'addons/core/Scripts/Game/ERR/ERR_OrdinaryInputObserver.c', signature)) for signature in ('static bool Nonce(', 'static bool HeldScope(', 'static bool PhaseAllowed('))
|
||||
methods='\n'.join(cpp(body(P,signature)) for signature in (
|
||||
'protected static bool Enabled(', 'static void Sample(', 'protected void Cancel(', 'protected bool Context(', 'protected static bool FiniteVector(', 'protected void Observe('))
|
||||
run(r'''
|
||||
@@ -26,7 +28,7 @@ using string=std::string;using UUID=string;
|
||||
struct vector {float v[3]={0,0,0}; float& operator[](int i){return v[i];}float Length(){return std::sqrt(v[0]*v[0]+v[1]*v[1]+v[2]*v[2]);}vector operator/(float n){return {{v[0]/n,v[1]/n,v[2]/n}};}};
|
||||
vector Vector(float a,float b,float c){return {{a,b,c}};}
|
||||
struct BaseWorld {};
|
||||
struct IEntity {BaseWorld* world=nullptr;bool living=true;vector origin=Vector(100,2,100);vector GetOrigin(){return origin;} vector matrix[4]={Vector(1,0,0),Vector(0,1,0),Vector(0,0,1),Vector(100,2,100)};BaseWorld* GetWorld(){return world;}void GetTransform(vector out[4]){for(int i=0;i<4;i++)out[i]=matrix[i];}};
|
||||
struct IEntity {BaseWorld* world=nullptr;bool living=true,vehicle=false;vector origin=Vector(100,2,100);vector GetOrigin(){return origin;} vector matrix[4]={Vector(1,0,0),Vector(0,1,0),Vector(0,0,1),Vector(100,2,100)};BaseWorld* GetWorld(){return world;}void GetTransform(vector out[4]){for(int i=0;i<4;i++)out[i]=matrix[i];}};
|
||||
struct CameraManager;
|
||||
struct PlayerCamera:IEntity {CameraManager* replaceDuringRead=nullptr;void GetWorldCameraTransform(vector out[4]);};
|
||||
struct CameraManager {PlayerCamera* current=nullptr;PlayerCamera* CurrentCamera(){return current;}};
|
||||
@@ -35,7 +37,7 @@ struct PlayerController {int id=1;IEntity* actor=nullptr;PlayerCamera* camera=nu
|
||||
struct PlayerManager {PlayerController* controller=nullptr;IEntity* actor=nullptr;PlayerController* GetPlayerController(int){return controller;}IEntity* GetPlayerControlledEntity(int){return actor;}};
|
||||
struct ERR_PlayerLife {UUID AccountId="account";};
|
||||
struct Roster {ERR_PlayerLife* life=nullptr;IEntity* actor=nullptr;ERR_PlayerLife* CurrentActor(IEntity* value){return value==actor?life:nullptr;}};
|
||||
namespace ERR_Phase {enum {PRISON,EXTRACTION};}
|
||||
namespace ERR_Phase {enum {PRISON=1,RADIO_SEARCH=2,EXTRACTION=4};}
|
||||
struct ERR_GameMode {static ERR_GameMode* current;bool active=true;int phase=ERR_Phase::PRISON;BaseWorld* world=nullptr;Roster* roster=nullptr;static ERR_GameMode* Get(){return current;}bool Active(){return active;}int Phase(){return phase;}BaseWorld* GetWorld(){return world;}Roster* Players(){return roster;}};ERR_GameMode* ERR_GameMode::current=nullptr;
|
||||
struct InputManager {float right=0,up=0;float GetActionValue(string name){return name=="CharacterTurnRight"?right:up;}};
|
||||
struct MenuManager {bool open=false;void* GetTopMenu(){return open?this:nullptr;}};
|
||||
@@ -43,7 +45,10 @@ struct Game {BaseWorld* world=nullptr;PlayerController* controller=nullptr;Playe
|
||||
namespace System {bool console=false;std::map<string,string> cli;bool IsConsoleApp(){return console;}bool GetCLIParam(string key,string& value){if(!cli.count(key))return false;value=cli[key];return true;}}
|
||||
namespace Replication {bool server=true;bool IsServer(){return server;}}
|
||||
namespace RplMode {enum {None,Listen,Dedicated};}namespace RplSession {int mode=RplMode::None;int Mode(){return mode;}}
|
||||
namespace ERR_OrdinaryInputObserverRules {bool Nonce(string n){return !n.empty()&&n.size()<=32&&n.find_first_not_of("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789")==string::npos;}}
|
||||
struct ERR_OrdinaryInputObserverRules {
|
||||
'''+shared+r'''
|
||||
};
|
||||
namespace CompartmentAccessComponent {IEntity* GetVehicleIn(IEntity* actor){return actor->vehicle?actor:nullptr;}}
|
||||
namespace ERR_Actors {bool CanFight(IEntity* actor){return actor&&actor->living;}}
|
||||
int headers=0,samples=0,cancels=0;string reason;vector lastDirection,lastCamera,lastBody,lastFacing,lastTurn;
|
||||
void PrintFormat(string,string,int,int){headers++;}
|
||||
@@ -52,7 +57,7 @@ void PrintFormat(string,string,int,int,vector direction,vector camera,vector act
|
||||
class ERR_OrdinaryLookObserver {public:
|
||||
static ERR_OrdinaryLookObserver* s_Request;static bool s_Attempted;
|
||||
ERR_GameMode* m_Mode=nullptr;BaseWorld* m_World=nullptr;PlayerController* m_Controller=nullptr;IEntity* m_Actor=nullptr;PlayerCamera* m_Camera=nullptr;ERR_PlayerLife* m_Life=nullptr;
|
||||
UUID m_Account;string m_Nonce;int m_Start=0,m_Previous=0,m_Index=0;bool m_Stopped=false;
|
||||
UUID m_Account;string m_Nonce;int m_Start=0,m_Previous=0,m_Index=0;bool m_Stopped=false,m_HeldAction=false;int m_ObservedPhase=-1;
|
||||
'''+methods+r'''
|
||||
};
|
||||
ERR_OrdinaryLookObserver* ERR_OrdinaryLookObserver::s_Request=nullptr;bool ERR_OrdinaryLookObserver::s_Attempted=false;
|
||||
@@ -61,6 +66,16 @@ struct Fixture {BaseWorld world,foreignWorld;ERR_GameMode mode;IEntity actor,oth
|
||||
void sample(int index=1,int now=1100){ERR_OrdinaryLookObserver::Sample(&mode,&world,&controller,&actor,"Run42",1000,index,now);}
|
||||
};
|
||||
int main(){
|
||||
|
||||
// Held mode changes only admissible phase, never the original pins or clock.
|
||||
{Fixture f;System::cli["errOrdinaryHeldAction"]="Run42";System::cli["errOrdinaryLookObserve"]="Run42";System::cli["errOrdinaryGateObserve"]="Run42"; f.sample();auto p=ERR_OrdinaryLookObserver::s_Request;assert(p&&p->m_HeldAction&&p->m_ObservedPhase==ERR_Phase::PRISON);f.mode.phase=ERR_Phase::RADIO_SEARCH;f.sample(2,1200);f.sample(3,1300);assert(samples==3&&!cancels&&p->m_Start==1000&&p->m_ObservedPhase==ERR_Phase::RADIO_SEARCH);f.mode.phase=ERR_Phase::PRISON;f.sample(4,1400);assert(samples==3&&cancels==1);f.mode.phase=ERR_Phase::RADIO_SEARCH;f.sample(5,1500);assert(samples==3&&cancels==1);}
|
||||
for(int fault=0;fault<5;fault++){Fixture f;System::cli["errOrdinaryHeldAction"]="Run42";System::cli["errOrdinaryLookObserve"]="Run42";System::cli["errOrdinaryGateObserve"]="Run42"; if(fault==0)System::cli["errOrdinaryHeldAction"]="foreign";if(fault==1)System::cli.erase("errOrdinaryGateObserve");if(fault==2)System::cli["errOrdinaryGateObserve"]="foreign";if(fault==3)f.mode.phase=ERR_Phase::RADIO_SEARCH;if(fault==4)System::cli["errOrdinaryHeldAction"]="";f.sample();assert(!samples);f.mode.phase=ERR_Phase::PRISON;System::cli["errOrdinaryHeldAction"]="Run42";System::cli["errOrdinaryLookObserve"]="Run42";System::cli["errOrdinaryGateObserve"]="Run42"; f.sample(2,1200);assert(!samples);}
|
||||
for(int fault=0;fault<8;fault++){Fixture f;System::cli["errOrdinaryHeldAction"]="Run42";System::cli["errOrdinaryLookObserve"]="Run42";System::cli["errOrdinaryGateObserve"]="Run42"; f.sample();f.mode.phase=ERR_Phase::RADIO_SEARCH;f.sample(2,1200);assert(samples==2&&!cancels);if(fault==0)System::cli.erase("errOrdinaryHeldAction");if(fault==1)System::cli["errOrdinaryGateObserve"]="foreign";if(fault==2)f.actor.vehicle=true;if(fault==3)f.menus.open=true;if(fault==4)f.life.AccountId="replacement";if(fault==5)f.mode.phase=ERR_Phase::EXTRACTION;if(fault==6)f.players.actor=nullptr;if(fault==7)game.world=nullptr;f.sample(3,1300);assert(samples==2&&cancels==1);}
|
||||
{Fixture f;f.sample();System::cli["errOrdinaryHeldAction"]="Run42";System::cli["errOrdinaryLookObserve"]="Run42";System::cli["errOrdinaryGateObserve"]="Run42"; f.sample(2,1200);assert(samples==1&&cancels==1);}
|
||||
{Fixture f;System::cli["errOrdinaryHeldAction"]="Run42";System::cli["errOrdinaryLookObserve"]="Run42";System::cli["errOrdinaryGateObserve"]="Run42"; f.sample();f.mode.phase=ERR_Phase::RADIO_SEARCH;f.sample(2,45999);assert(samples==2);f.sample(3,46000);assert(samples==2&&cancels==1);}
|
||||
{Fixture f;System::cli["errOrdinaryHeldAction"]="Run42";System::cli["errOrdinaryLookObserve"]="Run42";System::cli["errOrdinaryGateObserve"]="Run42"; f.sample();f.mode.phase=ERR_Phase::RADIO_SEARCH;f.sample(451,1200);assert(samples==1&&cancels==1);}
|
||||
{Fixture f;System::cli["errOrdinaryHeldAction"]="Run42";System::cli["errOrdinaryLookObserve"]="Run42";System::cli["errOrdinaryGateObserve"]="Run42"; f.sample();f.mode.phase=ERR_Phase::RADIO_SEARCH;f.controller.camera=&f.otherCamera;f.sample(2,1200);assert(samples==1&&cancels==1);}
|
||||
{Fixture f;f.sample();f.mode.phase=ERR_Phase::RADIO_SEARCH;f.sample(2,1200);assert(samples==1&&cancels==1);}
|
||||
{Fixture f;f.sample();assert(headers==1&&samples==1&&!cancels);assert(lastDirection[0]==1&&lastDirection[2]==0);assert(lastFacing[2]==1);assert(lastCamera[1]!=lastBody[1]);assert(lastTurn[0]==.25f&&lastTurn[1]==-.1f);f.sample(2,1200);assert(headers==1&&samples==2);}
|
||||
{Fixture f;f.actor.origin=Vector(100.04,1.999,99.97);f.actor.matrix[3]=Vector(100,2,100);f.actor.matrix[2]=Vector(0,0,-1);f.sample();assert(samples==1&&!cancels);assert(lastBody[0]==f.actor.origin[0]&&lastBody[1]==f.actor.origin[1]&&lastBody[2]==f.actor.origin[2]);assert(lastBody[0]!=f.actor.matrix[3][0]);assert(lastFacing[2]==-1);assert(lastCamera[1]==f.camera.matrix[3][1]&&lastDirection[0]==1);}
|
||||
for(int fault=0;fault<7;fault++){Fixture f;if(fault==0)System::cli.erase("errOrdinaryLookObserve");if(fault==1)System::cli["errOrdinaryLookObserve"]="foreign";if(fault==2)System::cli["errOrdinaryInputObserve"]="foreign";if(fault==3)System::console=true;if(fault==4)Replication::server=false;if(fault==5)RplSession::mode=RplMode::Listen;if(fault==6)System::cli["errOrdinaryScenario"]="other";f.sample();assert(!samples&&!headers&&!cancels&&!ERR_OrdinaryLookObserver::s_Attempted);}
|
||||
|
||||
@@ -79,4 +79,42 @@ class RouteEvidence(unittest.TestCase):
|
||||
self.reject(lambda d,l,p:p['motions'].append({'dx':129,'dy':0,'monotonic':10.2,'after_sample':21,'response_sample':23}))
|
||||
self.reject(lambda d,l,p:p['motions'].append({'dx':24,'dy':0,'monotonic':10.2,'after_sample':21,'response_sample':23}))
|
||||
|
||||
def test_coarse_profile_is_known_explicit_and_has_no_default_upgrade(self):
|
||||
import math
|
||||
def turn(d,l,p):
|
||||
p['profile']='coarse'
|
||||
angle=math.radians(155)
|
||||
d['snapshots'][21]['look']['direction']=[math.sin(angle),0,math.cos(angle)]
|
||||
p['motions']=[{'dx':300,'dy':0,'monotonic':10.1,'after_sample':21,'response_sample':23}]
|
||||
self.assertTrue(self.run_case(turn)['verified'])
|
||||
def fine(d,l,p):turn(d,l,p);p.pop('profile')
|
||||
self.assertFalse(self.run_case(fine)['verified'])
|
||||
for profile in ('unknown',True,None):self.reject(lambda d,l,p:p.update(profile=profile))
|
||||
def overshoot(d,l,p):
|
||||
turn(d,l,p);p['motions'][0]['response_sample']=24
|
||||
angle=math.radians(191)
|
||||
d['snapshots'][22]['look']['direction']=[math.sin(angle),0,math.cos(angle)]
|
||||
self.reject(overshoot)
|
||||
def excessive(d,l,p):turn(d,l,p);p['motions'][0]['dx']=385
|
||||
self.reject(excessive)
|
||||
|
||||
def test_actual_coarse_policy_trace_passes_independent_raw_chain(self):
|
||||
# Simulated dynamics exercise actual policy and every raw parser; no
|
||||
# native runtime/input claim and no mocked evidence verdicts.
|
||||
from test_prison_alignment_evidence import build, raw, ApproachScene
|
||||
original = ApproachScene.run
|
||||
with patch.object(ApproachScene, 'run', lambda scene: original(scene, profile='coarse')):
|
||||
frames, look, route, _ = build()
|
||||
self.assertEqual(route['profile'], 'coarse')
|
||||
self.assertTrue(any(abs(m['dx']) > 128 for m in route['motions']))
|
||||
result = v.validate_approach_evidence(raw(frames), 'test', look, route)
|
||||
self.assertTrue(result['verified'], result)
|
||||
route['profile'] = 'standard'
|
||||
self.assertFalse(v.validate_approach_evidence(raw(frames), 'test', look, route)['verified'])
|
||||
|
||||
def test_coarse_does_not_expand_clocks_or_permit_action_keys(self):
|
||||
for change in (lambda p:p.update(deadline_monotonic=100),lambda p:p['events'][1].update(monotonic=11),lambda p:p['events'][0].update(key='F')):
|
||||
def mutate(d,l,p):p['profile']='coarse';change(p)
|
||||
self.reject(mutate)
|
||||
|
||||
if __name__=='__main__':unittest.main()
|
||||
|
||||
@@ -21,7 +21,7 @@ class Scene:
|
||||
self.position=[98.5,0.,98.5];self.angle=0.;self.speed=0.;self.held=False
|
||||
self.key_events=[];self.turns=[];self.notifications=[];self.focus=True
|
||||
self.gain=.085;self.acceleration=8.;self.braking=8.;self.move_scale=1.
|
||||
self.guard_cost=.22;self.ignore_turn=False;self.wrong_turn=False
|
||||
self.coarse=False;self.guard_cost=.22;self.ignore_turn=False;self.wrong_turn=False
|
||||
self.turn_delay=0.;self.pending_turns=[]
|
||||
self.stale=False;self.no_movement=False;self.changed_geometry=False
|
||||
self.context_lost=False;self.fail_down=False;self.coast_events=[]
|
||||
@@ -64,7 +64,7 @@ class Scene:
|
||||
self.held=down
|
||||
if down and self.fail_down:raise OSError('uncertain native press')
|
||||
def move(self,dx,dy,guard):
|
||||
if dy != 0 or not 1<=abs(dx)<=128:raise AssertionError('motion cap')
|
||||
if dy != 0 or not 1<=abs(dx)<=(384 if self.coarse else 128):raise AssertionError('motion cap')
|
||||
guard.check();guard.check()
|
||||
self.turns.append((dx,dy,self.now))
|
||||
if not self.ignore_turn:
|
||||
@@ -78,14 +78,15 @@ class Scene:
|
||||
batch=[s for s in self.history if s['sample'] > self.last_read] or [self.sample]
|
||||
self.last_read=batch[-1]['sample']
|
||||
return copy.deepcopy(batch)
|
||||
def run(self,report=None,calibration=None):
|
||||
def run(self,report=None,calibration=None,profile="standard"):
|
||||
self.coarse=profile=="coarse"
|
||||
self.report={} if report is None else report
|
||||
angle=math.radians(24*.085)
|
||||
calibration=calibration or {'nonce':'test','completed':True,'pixels':24,
|
||||
'baseline_direction':[0.,0.,1.], 'response_direction':[math.sin(angle),0.,math.cos(angle)],
|
||||
'ready_real_ms':2000,'ready_monotonic':0.,'observer_start_real_ms':0}
|
||||
return policy.perform_approach(self,self,self,self.observe,self.geometry,calibration,self.report,
|
||||
clock=self.clock,sleep=self.sleep,notify=self.notifications.append,key_state_busy=Busy)
|
||||
clock=self.clock,sleep=self.sleep,notify=self.notifications.append,key_state_busy=Busy,profile=profile)
|
||||
|
||||
|
||||
class ApproachTests(unittest.TestCase):
|
||||
@@ -325,5 +326,59 @@ class ApproachTests(unittest.TestCase):
|
||||
self.assertEqual([event[1] for event in scene.key_events],[True,False])
|
||||
self.assertFalse(proof['completed']);self.assertFalse(scene.held)
|
||||
|
||||
def test_explicit_coarse_profile_reduces_heading_requests_with_original_clocks(self):
|
||||
fine=Scene();standard=fine.run()
|
||||
coarse=Scene();result=coarse.run(profile='coarse')
|
||||
self.assertEqual(standard['profile'],'standard');self.assertEqual(result['profile'],'coarse')
|
||||
self.assertLess(len(coarse.turns),len(fine.turns));self.assertTrue(any(abs(dx)>128 for dx,_,_ in coarse.turns))
|
||||
self.assertTrue(all(abs(dx)<=384 and dy==0 for dx,dy,_ in coarse.turns))
|
||||
self.assertLessEqual(sum(abs(dx) for dx,_,_ in coarse.turns),2048)
|
||||
self.assertLessEqual(len(coarse.turns),16);self.assertLessEqual(len(coarse.key_events)//2,16)
|
||||
self.assertEqual(result['deadline_monotonic'],35);self.assertLess(coarse.now,35)
|
||||
self.assertLessEqual(result['cumulative_horizontal_m'],6);self.assertFalse(coarse.coast_events)
|
||||
self.assertTrue(all(key=='W' for key,_,_ in coarse.key_events))
|
||||
|
||||
def test_coarse_profile_never_hides_intermediate_native_overshoot(self):
|
||||
scene=Scene()
|
||||
def turn(dx,dy,guard):
|
||||
guard.check();guard.check();scene.angle+=36;scene.sleep(.2);scene.angle-=11
|
||||
scene.move=turn
|
||||
with self.assertRaisesRegex(policy.Refused,'angle bound'):scene.run(profile='coarse')
|
||||
self.assertEqual(scene.key_events,[])
|
||||
|
||||
def test_coarse_requires_known_profile_and_respects_focus_and_deadline(self):
|
||||
for profile in ('other',True,None):
|
||||
scene=Scene()
|
||||
with self.assertRaisesRegex(policy.Refused,'Unknown approach profile'):scene.run(profile=profile)
|
||||
self.assertEqual(scene.key_events,[]);self.assertEqual(scene.turns,[])
|
||||
scene=Scene();scene.focus=False
|
||||
with self.assertRaisesRegex(policy.Refused,'focus lost'):scene.run(profile='coarse')
|
||||
self.assertEqual(scene.key_events,[])
|
||||
scene=Scene();scene.now=35
|
||||
with self.assertRaisesRegex(policy.Refused,'Insufficient'):scene.run(profile='coarse')
|
||||
self.assertEqual(scene.key_events,[]);self.assertEqual(scene.turns,[])
|
||||
|
||||
def test_coarse_keeps_actual_hold_and_stopping_deadzone(self):
|
||||
scene=Scene();original=scene.send
|
||||
def slow(key,down):
|
||||
original(key,down)
|
||||
if down:scene.guard_cost=.41
|
||||
scene.send=slow
|
||||
with self.assertRaisesRegex(policy.Refused,'400ms'):scene.run(profile='coarse')
|
||||
self.assertEqual([e[1] for e in scene.key_events],[True,False])
|
||||
scene=Scene();scene.position=[102.7,0.,97.3];scene.angle=180.;scene.guard_cost=.33
|
||||
scene.sample=scene.snapshot();scene.history=[copy.deepcopy(scene.sample)]
|
||||
with self.assertRaisesRegex(policy.Refused,'measured stopping reserve'):scene.run(profile='coarse')
|
||||
self.assertEqual([e[1] for e in scene.key_events],[True,False])
|
||||
|
||||
def test_coarse_has_exact_sixteen_pulse_cap_not_unbounded_retries(self):
|
||||
scene=Scene();scene.guard_cost=.19
|
||||
result=scene.run(profile='coarse')
|
||||
self.assertTrue(result['completed']);self.assertEqual(len(scene.key_events),32)
|
||||
self.assertLess(scene.now,35);self.assertFalse(scene.held)
|
||||
scene=Scene();scene.guard_cost=.18
|
||||
with self.assertRaisesRegex(policy.Refused,'pulse budget'):scene.run(profile='coarse')
|
||||
self.assertEqual(len(scene.key_events),32);self.assertFalse(scene.held)
|
||||
|
||||
|
||||
if __name__=='__main__':unittest.main()
|
||||
|
||||
@@ -295,4 +295,45 @@ class SelectionRunner(unittest.TestCase):
|
||||
session,context,report,observation=fixtures.ExerciseTests.make_proof(self,Path(folder));report.update(payload);Path(context['report']).write_text(json.dumps(report))
|
||||
outcome,proof=r.input_exercise_result('game-started',context,session,observation,{'verified':True});self.assertFalse(proof['verified'])
|
||||
|
||||
class CoarseApproachRunner(unittest.TestCase):
|
||||
def test_coarse_explicit_command_flag_and_hash_bound_context(self):
|
||||
with self.assertRaises(ValueError):r.validate_input_exercise(SimpleNamespace(exercise_prison_coarse_approach=True))
|
||||
valid=dict(exercise_prison_coarse_approach=True,exercise_prison_approach=True,exercise_relative_look=True,observe_prison_gate=True,exercise_player_input=True,observe_player_input=True,inspect_headless_display=True,project='chat',settle=50)
|
||||
r.validate_input_exercise(SimpleNamespace(**valid))
|
||||
with tempfile.TemporaryDirectory() as folder:
|
||||
root=Path(folder);(root/'tools').mkdir();profile=root/'profile';profile.mkdir()
|
||||
for name in ('headless_input_proof.py','headless_display_probe.py','prison_approach_proof.py','ordinary_gate_evidence.py','ordinary_look_evidence.py','prison_approach_evidence.py'):(root/'tools'/name).write_text('# fake')
|
||||
native=['gamescope','--backend','headless','--','/proton','run','/game','-errOrdinaryInputObserve',NONCE,'-errOrdinaryLookObserve',NONCE,'-errOrdinaryGateObserve',NONCE]
|
||||
wrapped,display=r.display_probe_command(native,root,Path('/compat'),profile,Path('/game'),NONCE,':0');args=(wrapped,root,Path('/compat'),profile,Path('/game'),NONCE,':0',display)
|
||||
ordinary,normal=r.input_exercise_command(*args,look=True,approach=True)
|
||||
coarse,context=r.input_exercise_command(*args,look=True,approach=True,coarse_approach=True)
|
||||
self.assertNotIn('--enable-private-coarse-approach-proof',ordinary);self.assertFalse(normal.get('coarse_approach_requested',False))
|
||||
self.assertTrue(context['coarse_approach_requested']);self.assertEqual(context['approach_module_sha256'],normal['approach_module_sha256'])
|
||||
coarse.remove('--enable-private-coarse-approach-proof');self.assertEqual(coarse,ordinary)
|
||||
for kwargs in ({'look':True,'coarse_approach':True},{'look':True,'approach':True,'coarse_approach':1}):
|
||||
with self.assertRaises(ValueError):r.input_exercise_command(*args,**kwargs)
|
||||
|
||||
def test_final_result_refuses_unrequested_coarse_or_profile_substitution(self):
|
||||
for requested,reported,profile in ((False,True,'coarse'),(False,False,'coarse'),(True,False,'coarse'),(True,True,'standard'),(False,1,'standard'),(True,True,'unknown')):
|
||||
with tempfile.TemporaryDirectory() as folder:
|
||||
session,context,report,observation=fixtures.ExerciseTests.make_proof(self,Path(folder))
|
||||
context.update(look_requested=True,approach_requested=True,coarse_approach_requested=requested,approach_module_sha256=r.approach_module_hashes(r.ROOT))
|
||||
report.update(look_requested=True,approach_requested=True,coarse_approach_requested=reported,approach_module_sha256=context['approach_module_sha256'],look_proof={})
|
||||
report['events']=report['events'][:2];report['observer']['events']=['READY'];report['approach_proof']={'profile':profile,'events':copy.deepcopy(report['events'])}
|
||||
Path(context['report']).write_text(json.dumps(report))
|
||||
result,proof=r.input_exercise_result('game-started',context,session,observation,{'verified':True})
|
||||
self.assertFalse(proof['verified']);self.assertEqual(result,'input-exercise-incomplete')
|
||||
|
||||
def test_matching_coarse_proof_still_requires_independent_raw_validation(self):
|
||||
for okay in (False,True):
|
||||
with tempfile.TemporaryDirectory() as folder:
|
||||
session,context,report,observation=fixtures.ExerciseTests.make_proof(self,Path(folder))
|
||||
context.update(look_requested=True,approach_requested=True,coarse_approach_requested=True,approach_module_sha256=r.approach_module_hashes(r.ROOT))
|
||||
report.update(look_requested=True,approach_requested=True,coarse_approach_requested=True,approach_module_sha256=context['approach_module_sha256'],look_proof={})
|
||||
report['events']=[{'key':'W','down':i%2==0,'monotonic':1+i*.1} for i in range(32)];report['observer']['events']=['READY'];report['approach_proof']={'profile':'coarse','events':copy.deepcopy(report['events'])}
|
||||
(session/'console.log').write_text('raw native');Path(context['report']).write_text(json.dumps(report))
|
||||
module=ModuleType('prison_approach_evidence');module.validate_approach_evidence=lambda *a:{'verified':okay}
|
||||
with patch.dict(sys.modules,{'prison_approach_evidence':module}):result,proof=r.input_exercise_result('game-started',context,session,observation,{'verified':True})
|
||||
self.assertEqual(proof['verified'],okay)
|
||||
|
||||
if __name__=='__main__':unittest.main()
|
||||
|
||||
+1
-1
@@ -59,7 +59,7 @@ def check():
|
||||
assert set(mapped)==set(inventory['script_paths']), 'Original inventory has untracked or unknown entries'
|
||||
print(f'PASS: {len(mapped)} original script entries tracked across {len(feature_ids)} unfinished responsibilities')
|
||||
print(f'PASS: {len(ids)} isolated addons, acyclic dependencies, {len(resources)} unique resources, exact vanilla references')
|
||||
for name in ['test_command_maintenance.py', 'test_aircraft_service.py', 'test_aircraft_service_cancel_runner.py', 'test_prison_action_selection_proof.py', 'test_prison_action_selection_evidence.py', 'test_ordinary_gate_choices.py', 'test_aircraft_control_bridge.py', 'test_prison_alignment_proof.py', 'test_prison_alignment_evidence.py', 'test_aircraft_route_demand.py', 'test_prison_approach_proof.py', 'test_prison_approach_evidence.py', 'test_ordinary_gate_evidence.py', 'test_ordinary_gate_observer.py', 'test_ordinary_look_observer.py', 'test_ordinary_look_evidence.py', 'test_relative_look_runner.py', 'test_radio_waiting_text.py', 'test_inventory_control_runner.py', 'test_inventory_layout.py', 'test_headless_input_proof.py', 'test_headless_input_exercise_runner.py', 'test_private_prefix_cleanup.py', 'test_runner_private_cleanup.py', 'test_ordinary_input_runner.py', 'test_ordinary_input_observer.py', 'test_aircraft_route_envelope.py', 'test_aircraft_route_policy.py', 'test_aircraft_route_probe.py', 'test_rough_intel_feedback.py', 'test_headless_display_probe.py', 'test_headless_display_runner.py', 'test_preparation_status.py', 'test_hint_delivery.py', 'test_native_end_lifecycle.py', 'test_native_end_runner.py', 'test_escape_result_wording.py', 'test_native_stats.py', 'test_aircraft_translation.py', 'test_spawn_retry_budget.py', 'test_action_feedback.py', 'test_native_aircraft_control.py', 'test_aircraft_flight_policy.py', 'test_aircraft_flight_envelope.py', 'test_ordinary_screenshot.py', 'test_participant_selection.py', 'test_native_shared_map_ownership.py', 'test_shared_map_ownership.py', 'test_intel_registration.py', 'test_mortar_activity_completion.py', 'test_packed_chat_game.py', 'test_native_mortar_refresh.py', 'test_archive_packed.py', 'test_mortar_refresh.py', 'test_packed_core_game.py', 'test_pak_inventory.py', 'test_native_mortar_salvo.py', 'test_spectator_guidance.py', 'test_native_package.py', 'test_item_station_teardown.py', 'test_source_bundle.py', 'test_native_flight_footprint.py', 'test_native_flight_input_diagnostics.py', 'test_mortar_logistics.py', 'test_mortar_courier_storage.py','test_powered_flight_pad.py','test_prison_escape_policy.py','test_powered_flight_policy.py','test_flight_action_runner.py','test_native_local_admission_probe.py','test_mortar_report_ledger.py','test_dedicated_native.py','test_native_mortar_transfer.py','test_mortar_aim_renewal.py','test_dedicated_preflight.py','test_mortar_transactions.py','test_native_mortar_probe.py','test_diagnostic_no_splash.py','test_casualty_incapacitation.py','test_casualty_remove_probe.py','test_extraction_placement_policy.py','test_guard_cancellation_policy.py','test_casualty_ground_policy.py','test_casualty_reservation_death.py','test_casualty_loading_policy.py','test_initial_guard_policy.py','test_headless_game_runner.py','test_vanilla_game_control.py','test_archive_game_control.py','test_site_discovery_policy.py','test_faction_catalog_scope.py','test_mission_rules.py','test_admin_setting_policy.py', 'test_player_admission_policy.py','test_progression_identity.py','test_discovery_map_position.py','test_local_admission.py','test_prison_placement_policy.py', 'test_recovery_policy.py','test_time_policy.py','test_environment_policy.py','test_environment_restart_runner.py', 'test_inventory_enumeration_policy.py','test_radio_defence_policy.py','test_radio_feedback_policy.py','test_performance_comparison.py','test_release_check.py','test_settings_migration.py','hq_network_regression.py','helicopter_availability_regression.py','mortar_salvo_regression.py']:
|
||||
for name in ['test_aircraft_field_probe.py', 'test_aircraft_field_runner.py', 'test_aircraft_field_rules.py', 'test_aircraft_field_envelope.py', 'test_aircraft_field_flight.py', 'test_command_maintenance.py', 'test_aircraft_service.py', 'test_aircraft_service_cancel_runner.py', 'test_prison_action_selection_proof.py', 'test_prison_action_selection_evidence.py', 'test_ordinary_gate_choices.py', 'test_aircraft_control_bridge.py', 'test_prison_alignment_proof.py', 'test_prison_alignment_evidence.py', 'test_aircraft_route_demand.py', 'test_prison_approach_proof.py', 'test_prison_approach_evidence.py', 'test_ordinary_gate_evidence.py', 'test_ordinary_gate_observer.py', 'test_ordinary_look_observer.py', 'test_ordinary_look_evidence.py', 'test_relative_look_runner.py', 'test_radio_waiting_text.py', 'test_inventory_control_runner.py', 'test_inventory_layout.py', 'test_headless_input_proof.py', 'test_headless_input_exercise_runner.py', 'test_private_prefix_cleanup.py', 'test_runner_private_cleanup.py', 'test_ordinary_input_runner.py', 'test_ordinary_input_observer.py', 'test_aircraft_route_envelope.py', 'test_aircraft_route_policy.py', 'test_aircraft_route_probe.py', 'test_rough_intel_feedback.py', 'test_headless_display_probe.py', 'test_headless_display_runner.py', 'test_preparation_status.py', 'test_hint_delivery.py', 'test_native_end_lifecycle.py', 'test_native_end_runner.py', 'test_escape_result_wording.py', 'test_native_stats.py', 'test_aircraft_translation.py', 'test_spawn_retry_budget.py', 'test_action_feedback.py', 'test_native_aircraft_control.py', 'test_aircraft_flight_policy.py', 'test_aircraft_flight_envelope.py', 'test_ordinary_screenshot.py', 'test_participant_selection.py', 'test_native_shared_map_ownership.py', 'test_shared_map_ownership.py', 'test_intel_registration.py', 'test_mortar_activity_completion.py', 'test_packed_chat_game.py', 'test_native_mortar_refresh.py', 'test_archive_packed.py', 'test_mortar_refresh.py', 'test_packed_core_game.py', 'test_pak_inventory.py', 'test_native_mortar_salvo.py', 'test_spectator_guidance.py', 'test_native_package.py', 'test_item_station_teardown.py', 'test_source_bundle.py', 'test_native_flight_footprint.py', 'test_native_flight_input_diagnostics.py', 'test_mortar_logistics.py', 'test_mortar_courier_storage.py','test_powered_flight_pad.py','test_prison_escape_policy.py','test_powered_flight_policy.py','test_flight_action_runner.py','test_native_local_admission_probe.py','test_mortar_report_ledger.py','test_dedicated_native.py','test_native_mortar_transfer.py','test_mortar_aim_renewal.py','test_dedicated_preflight.py','test_mortar_transactions.py','test_native_mortar_probe.py','test_diagnostic_no_splash.py','test_casualty_incapacitation.py','test_casualty_remove_probe.py','test_extraction_placement_policy.py','test_guard_cancellation_policy.py','test_casualty_ground_policy.py','test_casualty_reservation_death.py','test_casualty_loading_policy.py','test_initial_guard_policy.py','test_headless_game_runner.py','test_vanilla_game_control.py','test_archive_game_control.py','test_site_discovery_policy.py','test_faction_catalog_scope.py','test_mission_rules.py','test_admin_setting_policy.py', 'test_player_admission_policy.py','test_progression_identity.py','test_discovery_map_position.py','test_local_admission.py','test_prison_placement_policy.py', 'test_recovery_policy.py','test_time_policy.py','test_environment_policy.py','test_environment_restart_runner.py', 'test_inventory_enumeration_policy.py','test_radio_defence_policy.py','test_radio_feedback_policy.py','test_performance_comparison.py','test_release_check.py','test_settings_migration.py','hq_network_regression.py','helicopter_availability_regression.py','mortar_salvo_regression.py']:
|
||||
subprocess.run([sys.executable,str(ROOT/'tests'/name)],check=True)
|
||||
print('All repository checks passed. Native compilation and multiplayer tests are separate requirements.')
|
||||
if __name__=='__main__':check()
|
||||
|
||||
+18
-3
@@ -641,6 +641,8 @@ def validate_input_exercise(a):
|
||||
refuse('Prison action selection requires explicit alignment and native choices')
|
||||
if getattr(a, 'observe_prison_choices', False) and getattr(a, 'exercise_player_input', False) and not getattr(a, 'exercise_prison_approach', False):
|
||||
refuse('Input exercise with gate choices requires explicit approach')
|
||||
if type(getattr(a, 'exercise_prison_coarse_approach', False)) is not bool or (getattr(a, 'exercise_prison_coarse_approach', False) and not getattr(a, 'exercise_prison_approach', False)):
|
||||
refuse('Coarse approach requires explicit prison approach')
|
||||
if getattr(a, 'exercise_prison_alignment', False) and not getattr(a, 'exercise_prison_approach', False):
|
||||
refuse('Prison lock alignment requires the explicit prison approach experiment')
|
||||
if getattr(a, 'approach_wide_display', False) and not getattr(a, 'exercise_prison_approach', False):
|
||||
@@ -880,7 +882,7 @@ def selection_module_hashes(root):
|
||||
return hashes
|
||||
|
||||
|
||||
def input_exercise_command(command, root, compat, profile, executable, run_id, host_display, display_context, look=False, approach=False, alignment=False, selection=False):
|
||||
def input_exercise_command(command, root, compat, profile, executable, run_id, host_display, display_context, look=False, approach=False, alignment=False, selection=False, coarse_approach=False):
|
||||
"""Put the input supervisor around the display inspector, inside Gamescope."""
|
||||
separator = command.index('--')
|
||||
if command[:separator].count('--backend') != 1 or command[command.index('--backend')+1] != 'headless':
|
||||
@@ -891,6 +893,8 @@ def input_exercise_command(command, root, compat, profile, executable, run_id, h
|
||||
if (not display_context or len(child) < 3 or child[:2] != [sys.executable, str(ownership)]
|
||||
or not re.fullmatch(r'[A-Za-z0-9]{1,32}', run_id)):
|
||||
refuse('Input exercise requires the existing scoped display wrapper and observer nonce')
|
||||
if type(coarse_approach) is not bool or (coarse_approach and not approach):
|
||||
refuse('Coarse approach requires explicit approach')
|
||||
if type(selection) is not bool or (selection and not alignment):
|
||||
refuse('Action selection requires explicit alignment')
|
||||
if type(alignment) is not bool or (alignment and not approach):
|
||||
@@ -935,6 +939,9 @@ def input_exercise_command(command, root, compat, profile, executable, run_id, h
|
||||
context['approach_requested'] = True
|
||||
context['approach_module_sha256'] = approach_module_hashes(root)
|
||||
wrapper.insert(-1, '--enable-private-approach-proof')
|
||||
if coarse_approach:
|
||||
context['coarse_approach_requested'] = True
|
||||
wrapper.insert(-1, '--enable-private-coarse-approach-proof')
|
||||
if alignment:
|
||||
context['alignment_requested'] = True
|
||||
context['alignment_module_sha256'] = alignment_module_hashes(root)
|
||||
@@ -976,6 +983,8 @@ def input_exercise_poll_failure(context):
|
||||
return None
|
||||
if report.get('approach_requested', False) != context.get('approach_requested', False):
|
||||
return None
|
||||
if type(report.get('coarse_approach_requested', False)) is not bool or report.get('coarse_approach_requested', False) != context.get('coarse_approach_requested', False):
|
||||
return False
|
||||
if report.get('look_requested', False) != context.get('look_requested', False):
|
||||
return False
|
||||
return bool(report.get('error') or report.get('supervision_failed') is True or (
|
||||
@@ -1044,6 +1053,11 @@ def input_exercise_result(result, context, session, observation, display_result)
|
||||
refuse('Approach module sources changed or differ from launch hashes')
|
||||
if not approach_requested and report.get('approach_proof') is not None:
|
||||
refuse('Unexpected approach evidence in fixed input run')
|
||||
coarse_approach_requested = context.get('coarse_approach_requested', False)
|
||||
if type(coarse_approach_requested) is not bool or type(report.get('coarse_approach_requested', False)) is not bool or report.get('coarse_approach_requested', False) != coarse_approach_requested or (coarse_approach_requested and not approach_requested):
|
||||
refuse('Coarse approach request does not match explicit launch context')
|
||||
if approach_requested and report.get('approach_proof', {}).get('profile', 'standard') != ('coarse' if coarse_approach_requested else 'standard'):
|
||||
refuse('Approach profile does not match explicit launch context')
|
||||
look_requested = context.get('look_requested', False)
|
||||
if type(report.get('look_requested', False)) is not bool or report.get('look_requested', False) != look_requested:
|
||||
refuse('Relative look request does not match launch context')
|
||||
@@ -1061,7 +1075,7 @@ def input_exercise_result(result, context, session, observation, display_result)
|
||||
events = report.get('events', [])
|
||||
expected = [('W', True), ('W', False), ('Tab', True), ('Tab', False), ('Tab', True), ('Tab', False)]
|
||||
if approach_requested:
|
||||
if not isinstance(events, list) or not 2 <= len(events) <= 24 or len(events)%2:
|
||||
if not isinstance(events, list) or not 2 <= len(events) <= (32 if coarse_approach_requested else 24) or len(events)%2:
|
||||
refuse('Prison approach requires bounded W pairs')
|
||||
expected = [('W', i%2 == 0) for i in range(len(events))]
|
||||
if (not isinstance(events, list) or len(events) != len(expected)
|
||||
@@ -1198,7 +1212,7 @@ def run_locked(a, steam, compat, profile, packed=None):
|
||||
command, display_context = display_probe_command(command, ROOT, compat, profile, executable, run_id, os.environ.get('DISPLAY', ''))
|
||||
exercise_context = None
|
||||
if getattr(a, 'exercise_player_input', False):
|
||||
command, exercise_context = input_exercise_command(command, ROOT, compat, profile, executable, run_id, os.environ.get('DISPLAY', ''), display_context, getattr(a, 'exercise_relative_look', False), getattr(a, 'exercise_prison_approach', False), getattr(a, 'exercise_prison_alignment', False), getattr(a, 'exercise_prison_selection', False))
|
||||
command, exercise_context = input_exercise_command(command, ROOT, compat, profile, executable, run_id, os.environ.get('DISPLAY', ''), display_context, getattr(a, 'exercise_relative_look', False), getattr(a, 'exercise_prison_approach', False), getattr(a, 'exercise_prison_alignment', False), getattr(a, 'exercise_prison_selection', False), getattr(a, 'exercise_prison_coarse_approach', False))
|
||||
silent_sink = 'erri_game_'+run_id
|
||||
application_id = 'org.escapistsrereintroduced.game.'+run_id
|
||||
env = os.environ.copy()
|
||||
@@ -1365,6 +1379,7 @@ def main():
|
||||
parser.add_argument('--approach-wide-display', action='store_true', help='Use a disposable 2560x720 headless viewport for the explicit approach experiment; no physical display changes')
|
||||
parser.add_argument('--exercise-prison-selection', action='store_true', help='Explicit facing and single wheel selection trial; requires alignment and native choice diagnostics; no F or gate operation')
|
||||
parser.add_argument('--exercise-prison-alignment', action='store_true', help='Explicit stationary yaw-only alignment to native prison lock after verified approach; no F or gate operation')
|
||||
parser.add_argument('--exercise-prison-coarse-approach', action='store_true', help='Explicit coarse stationary-heading approach profile; requires approach and retains original clocks; no F')
|
||||
parser.add_argument('--exercise-prison-approach', action='store_true', help='Explicit bounded relative-mouse/W approach inside prison; requires relative look and gate observer; never operates gate')
|
||||
parser.add_argument('--observe-prison-choices', action='store_true', help='Read-only native selected/ordered gate action diagnostics; requires --observe-prison-gate')
|
||||
parser.add_argument('--observe-prison-gate', action='store_true', help='Read-only native registered prison lock/context/progress telemetry; requires --observe-player-input')
|
||||
|
||||
@@ -50,6 +50,8 @@ def gate_options(native, args):
|
||||
if any(value not in {'-errOrdinaryGateObserve', '-errOrdinaryGateChoices'} for value in tokens):
|
||||
raise Refused('Unknown native gate observer option')
|
||||
approach = getattr(args, 'enable_private_approach_proof', False)
|
||||
if getattr(args, 'enable_private_coarse_approach_proof', False) and not approach:
|
||||
raise Refused('Coarse approach requires explicit approach proof')
|
||||
if getattr(args, 'enable_private_selection_proof', False) and '-errOrdinaryGateChoices' not in tokens:
|
||||
raise Refused('Selection requires matching native gate choices')
|
||||
if approach and '-errOrdinaryGateObserve' not in tokens:
|
||||
@@ -134,7 +136,10 @@ def yaw_delta(first, second):
|
||||
|
||||
|
||||
class RelativeMouse:
|
||||
def __init__(self, query, keyboard, owner, enable_approach=False, enable_alignment=False):
|
||||
def __init__(self, query, keyboard, owner, enable_approach=False, enable_alignment=False, enable_coarse_approach=False):
|
||||
if type(enable_coarse_approach) is not bool or (enable_coarse_approach and not enable_approach):
|
||||
raise Refused("Coarse approach requires explicit approach capability")
|
||||
self.enable_coarse_approach = enable_coarse_approach
|
||||
self.query, self.keyboard, self.owner = query, keyboard, owner
|
||||
self.enable_approach = enable_approach
|
||||
self.enable_alignment = enable_alignment
|
||||
@@ -173,7 +178,7 @@ class RelativeMouse:
|
||||
self._move(dx, dy, guard)
|
||||
|
||||
def approach_move(self, dx, dy, guard, *, deadline, clock=time.monotonic):
|
||||
if (self.enable_approach is not True or type(dx) is not int or not 1 <= abs(dx) <= 128
|
||||
if (self.enable_approach is not True or type(dx) is not int or not 1 <= abs(dx) <= (384 if self.enable_coarse_approach else 128)
|
||||
or type(dy) is not int or dy != 0):
|
||||
raise Refused('Unsupported or unenabled approach relative step')
|
||||
def within_lease():
|
||||
@@ -590,7 +595,9 @@ def confirm_release(guard, keyboard, report, key, clock=time.monotonic, sleep=ti
|
||||
observation['end'] = clock()
|
||||
|
||||
|
||||
def sequence(guard, keyboard, observer, report, clock=time.monotonic, sleep=time.sleep, mouse=None, approach=False, alignment=False, selection=False):
|
||||
def sequence(guard, keyboard, observer, report, clock=time.monotonic, sleep=time.sleep, mouse=None, approach=False, alignment=False, selection=False, coarse_approach=False):
|
||||
if type(coarse_approach) is not bool or (coarse_approach and not approach) or report.get("coarse_approach_requested", False) is not coarse_approach:
|
||||
raise Refused("Coarse approach requires matching explicit capability")
|
||||
deadline = clock() + 70
|
||||
held = None
|
||||
approach_completed = False
|
||||
@@ -764,7 +771,7 @@ def run_approach(guard, keyboard, observer, mouse, report, clock, sleep):
|
||||
deadline = observer.ready_at + 35
|
||||
perform_approach(guard, ApproachKeyboard(keyboard, report, clock, deadline), ApproachMouse(mouse, report, clock, deadline),
|
||||
observer.approach_snapshots, geometry, calibration, report,
|
||||
clock=clock, sleep=sleep, notify=route_notify, key_state_busy=KeyStateBusy)
|
||||
clock=clock, sleep=sleep, notify=route_notify, key_state_busy=KeyStateBusy, profile="coarse" if report.get("coarse_approach_requested", False) else "standard")
|
||||
if not report.get('approach_proof', {}).get('completed'):
|
||||
raise Refused('Approach module did not complete')
|
||||
|
||||
@@ -986,6 +993,7 @@ def arguments(argv=None):
|
||||
p.add_argument('--enable-private-selection-proof', action='store_true', help='After facing, try one button5 wheel selection; never perform the action')
|
||||
p.add_argument('--enable-private-look-proof', action='store_true')
|
||||
p.add_argument('--enable-private-alignment-proof', action='store_true', help='After successful approach, attempt stationary native lock selection using horizontal relative mouse only')
|
||||
p.add_argument('--enable-private-coarse-approach-proof', action='store_true', help='Explicit larger stationary-yaw profile; requires approach, original clocks unchanged')
|
||||
p.add_argument('--enable-private-approach-proof', action='store_true', help='After look calibration, replace W/Tab cycle with bounded interior approach only')
|
||||
for name in ('prefix', 'game-executable', 'profile', 'report'):
|
||||
p.add_argument('--' + name, type=Path, required=True)
|
||||
@@ -994,6 +1002,8 @@ def arguments(argv=None):
|
||||
p.add_argument('--nonce', required=True)
|
||||
p.add_argument('command', nargs=argparse.REMAINDER)
|
||||
args = p.parse_args(argv)
|
||||
if args.enable_private_coarse_approach_proof and not args.enable_private_approach_proof:
|
||||
p.error('Coarse approach proof requires explicit approach proof')
|
||||
if args.enable_private_selection_proof and not (args.enable_private_alignment_proof and args.enable_private_approach_proof and args.enable_private_look_proof):
|
||||
p.error('Selection proof requires explicit alignment, approach and look proof')
|
||||
if args.enable_private_alignment_proof and not (args.enable_private_approach_proof and args.enable_private_look_proof):
|
||||
@@ -1102,6 +1112,7 @@ def main(argv=None):
|
||||
bound = display.binding(args.host_display, args.prefix)
|
||||
report = {'schema': 1, 'kind': 'headless-private-keyboard-experiment', 'input_sent': False,
|
||||
'look_requested': args.enable_private_look_proof,
|
||||
'coarse_approach_requested': getattr(args, 'enable_private_coarse_approach_proof', False),
|
||||
'approach_requested': getattr(args, 'enable_private_approach_proof', False),
|
||||
'alignment_requested': getattr(args, 'enable_private_alignment_proof', False),
|
||||
'selection_requested': getattr(args, 'enable_private_selection_proof', False),
|
||||
@@ -1187,8 +1198,8 @@ def main(argv=None):
|
||||
guard.check()
|
||||
keyboard = Keyboard(query)
|
||||
keyboard.require_idle()
|
||||
mouse = RelativeMouse(query, keyboard, owner, enable_approach=getattr(args, "enable_private_approach_proof", False), enable_alignment=getattr(args, "enable_private_alignment_proof", False)) if args.enable_private_look_proof else None
|
||||
sequence(guard, keyboard, observer, report, mouse=mouse, approach=getattr(args, "enable_private_approach_proof", False), alignment=getattr(args, "enable_private_alignment_proof", False), selection=getattr(args, "enable_private_selection_proof", False))
|
||||
mouse = RelativeMouse(query, keyboard, owner, enable_approach=getattr(args, "enable_private_approach_proof", False), enable_alignment=getattr(args, "enable_private_alignment_proof", False), enable_coarse_approach=getattr(args, "enable_private_coarse_approach_proof", False)) if args.enable_private_look_proof else None
|
||||
sequence(guard, keyboard, observer, report, mouse=mouse, approach=getattr(args, "enable_private_approach_proof", False), alignment=getattr(args, "enable_private_alignment_proof", False), selection=getattr(args, "enable_private_selection_proof", False), coarse_approach=getattr(args, "enable_private_coarse_approach_proof", False))
|
||||
except (OSError, ValueError, UnicodeError, subprocess.SubprocessError) as error:
|
||||
report['error'] = str(error)
|
||||
finally:
|
||||
|
||||
@@ -12,7 +12,8 @@ p = argparse.ArgumentParser(description=__doc__)
|
||||
p.add_argument('--steam', type=Path, default=Path.home()/'.local/share/Steam')
|
||||
p.add_argument('--compat', type=Path, required=True, help='Disposable cloned Proton compatdata directory outside Steam')
|
||||
p.add_argument('--profile', type=Path, required=True, help='Separate disposable successor Workbench profile')
|
||||
p.add_argument('--smoke', choices=['aircraft-route', 'native-end-active', 'native-end-preparing', 'aircraft-control', 'aircraft-cancel', 'aircraft-translate', 'map-ownership', 'mortar-refresh', 'mortar-salvo', 'mortar-courier', 'station-teardown', 'prison-breach', 'powered-flight', 'powered-translate', 'local-admission', 'mortar-expiry', 'mortar-transfer', 'mortar-fire', 'patrol-hq', 'victory', 'lost-helicopter', 'player-death', 'radio-network', 'hq-response', 'mortar-inventory', 'startup-failure', 'site-survey', 'cache-loss', 'extraction-capacity', 'early-helicopter-loss', 'extraction-startup-failure', 'extraction-boundary-failure', 'transport-loss', 'transport-survey', 'lifecycle', 'objective-ui', 'recovery', 'prisoner-kit', 'medical', 'casualty-load', 'casualty-direct', 'casualty-bench', 'casualty-remove', 'environment', 'environment-restart', 'patrols', 'radio-document-loss', 'radio-document-loss-partial', 'guard-cancel', 'casualty-service'], default='victory')
|
||||
p.add_argument('--smoke', choices=['aircraft-field', 'aircraft-route', 'native-end-active', 'native-end-preparing', 'aircraft-control', 'aircraft-cancel', 'aircraft-translate', 'map-ownership', 'mortar-refresh', 'mortar-salvo', 'mortar-courier', 'station-teardown', 'prison-breach', 'powered-flight', 'powered-translate', 'local-admission', 'mortar-expiry', 'mortar-transfer', 'mortar-fire', 'patrol-hq', 'victory', 'lost-helicopter', 'player-death', 'radio-network', 'hq-response', 'mortar-inventory', 'startup-failure', 'site-survey', 'cache-loss', 'extraction-capacity', 'early-helicopter-loss', 'extraction-startup-failure', 'extraction-boundary-failure', 'transport-loss', 'transport-survey', 'lifecycle', 'objective-ui', 'recovery', 'prisoner-kit', 'medical', 'casualty-load', 'casualty-direct', 'casualty-bench', 'casualty-remove', 'environment', 'environment-restart', 'patrols', 'radio-document-loss', 'radio-document-loss-partial', 'guard-cancel', 'casualty-service'], default='victory')
|
||||
p.add_argument('--field-service-cancel', action='store_true', help='Explicit aircraft-field variant: Stop the original retained service during measured cruise; requires physical cancellation landing')
|
||||
p.add_argument('--route-service-cancel', action='store_true', help='Explicit aircraft-route variant: stop the retained service after actual airborne translation and require controlled cancellation landing')
|
||||
p.add_argument('--station-teardown-diagnostics', action='store_true', help='Opt-in bounded native deletion diagnostics; preserves all validation errors')
|
||||
p.add_argument('--flight-autohover', action='store_true', help='Opt-in owned native helicopter autohover experiment; requires Core powered-flight and actor-local action inputs')
|
||||
@@ -25,12 +26,13 @@ a = p.parse_args()
|
||||
steam, compat, profile = a.steam.resolve(), a.compat.resolve(), a.profile.resolve()
|
||||
if not 1 <= a.rounds <= 10 or not 60 <= a.timeout <= 1800:
|
||||
p.error('Use 1..10 rounds and a 60..1800 second timeout')
|
||||
if a.field_service_cancel and a.smoke != 'aircraft-field': p.error('--field-service-cancel requires --smoke aircraft-field')
|
||||
if a.route_service_cancel and a.smoke != 'aircraft-route': p.error('--route-service-cancel requires --smoke aircraft-route')
|
||||
if a.smoke == 'mortar-courier' and (a.project != 'chat' or a.rounds != 1 or a.timeout < 500):
|
||||
p.error('mortar-courier requires --project chat --rounds 1 --timeout at least 500')
|
||||
if a.smoke in {'mortar-refresh', 'mortar-salvo', 'mortar-expiry', 'mortar-transfer', 'mortar-fire'} and (a.project != 'chat' or a.rounds != 1 or a.timeout < 400):
|
||||
p.error('mortar-refresh/mortar-salvo/mortar-expiry/mortar-transfer/mortar-fire requires --project chat --rounds 1 --timeout at least 400')
|
||||
if a.smoke in {'aircraft-route', 'aircraft-control', 'aircraft-cancel', 'aircraft-translate'} and (a.project != 'chat' or a.rounds != 1 or a.timeout < 420): p.error('aircraft-route/aircraft-control/aircraft-cancel/aircraft-translate requires Chat, one round, and at least 420 seconds')
|
||||
if a.smoke in {'aircraft-field', 'aircraft-route', 'aircraft-control', 'aircraft-cancel', 'aircraft-translate'} and (a.project != 'chat' or a.rounds != 1 or a.timeout < 420): p.error('aircraft-field/aircraft-route/aircraft-control/aircraft-cancel/aircraft-translate requires Chat, one round, and at least 420 seconds')
|
||||
if a.smoke == 'map-ownership' and (a.project != 'chat' or a.rounds != 1 or a.timeout < 180): p.error('map-ownership requires Chat, one round, and at least 180 seconds')
|
||||
if a.smoke == 'powered-translate' and (a.project != 'core' or not a.flight_action_inputs or not a.flight_autohover): p.error('powered-translate requires Core with flight-action-inputs and flight-autohover')
|
||||
if a.flight_autohover and (a.project != 'core' or a.smoke not in {'powered-flight', 'powered-translate'} or not a.flight_action_inputs): p.error('flight-autohover requires Core powered-flight with flight-action-inputs')
|
||||
@@ -78,6 +80,7 @@ for proc in Path('/proc').iterdir():
|
||||
p.error('Another Workbench already uses this test profile')
|
||||
except (FileNotFoundError, PermissionError, ProcessLookupError): pass
|
||||
command = ['gamescope', '--backend', 'headless', '-W', '1280', '-H', '720', '-w', '1280', '-h', '720', '-r', '30', '--', str(proton), 'run', str(wb/'ArmaReforgerWorkbenchSteamDiag.exe'), '-gproj', 'Z:'+str(ROOT/'addons'/a.project/'addon.gproj'), '-addonsDir', 'Z:'+str(ROOT/'addons'), '-profile', profile_arg, '-logconsole', '-wbModule=WorldEditor', '-load', 'Worlds/ERR_Everon.ent', '-plugin=ERR_ValidateWorldPlugin', '-errPlay', '1', '-errSmoke', '1', '-errSmokeOutcome', a.smoke, '-noThrow', '-disableCrashReporter']
|
||||
if a.field_service_cancel: command += ['-errSmokeFieldServiceCancel', '1']
|
||||
if a.route_service_cancel: command += ['-errSmokeRouteServiceCancel', '1']
|
||||
if a.station_teardown_diagnostics: command += ['-errStationTeardownDiag', '1']
|
||||
if a.flight_input_diagnostics: command += ['-errFlightInputDiag', '1']
|
||||
|
||||
@@ -40,10 +40,14 @@ def validate_approach_evidence(content, nonce, look_proof, proof):
|
||||
try:
|
||||
need(type(proof) is dict and proof.get('requested') is True and proof.get('completed') is True and proof.get('nonce')==nonce, 'approach did not complete under this nonce')
|
||||
need(not proof.get('error') and proof.get('paired_release_errors')==[] and proof.get('unconfirmed_held_key') is None, 'approach input did not end cleanly')
|
||||
profile=proof.get('profile','standard')
|
||||
need(type(profile) is str and profile in ('standard','coarse'), 'unknown approach profile')
|
||||
max_pixels,max_angle,max_pulses=(384,35,16) if profile=='coarse' else (128,15,12)
|
||||
result['profile']=profile
|
||||
start=number(proof['started_monotonic']); finish=number(proof['finished_monotonic']); deadline=number(proof['deadline_monotonic'])
|
||||
need(0 <= start < finish <= deadline and deadline-start <= 35, 'approach helper deadline invalid')
|
||||
events=proof['events']; stops=proof['stops']; motions=proof['motions']; references=proof['samples']
|
||||
need(type(events) is list and 2 <= len(events) <= 24 and len(events)%2==0, 'expected bounded W key pairs')
|
||||
need(type(events) is list and 2 <= len(events) <= 2*max_pulses and len(events)%2==0, 'expected bounded W key pairs')
|
||||
need(type(stops) is list and len(stops)*2==len(events), 'each W pair needs a native full-stop interval')
|
||||
need(type(motions) is list and len(motions)<=16 and type(references) is list and 2 <= len(references) <= 450, 'route reference bounds invalid')
|
||||
ids=[r['sample'] for r in references]
|
||||
@@ -110,16 +114,16 @@ def validate_approach_evidence(content, nonce, look_proof, proof):
|
||||
need(.01<=abs(gain)<=.5, 'native calibration gain outside approach range')
|
||||
for motion in motions:
|
||||
before,after=motion['after_sample'],motion['response_sample']; dx=motion['dx'];at=number(motion['monotonic'])
|
||||
need(type(dx) is int and 1<=abs(dx)<=128 and type(motion['dy']) is int and motion['dy']==0,'relative step exceeds route bounds')
|
||||
need(type(dx) is int and 1<=abs(dx)<=max_pixels and type(motion['dy']) is int and motion['dy']==0,'relative step exceeds route bounds')
|
||||
need(type(before) is int and type(after) is int and previous_motion<=before<after<=last and start<=at<=finish,'relative motion references/order invalid')
|
||||
need(previous_motion_time<=at and before in receipts and after in receipts and receipts[before]<=at<=receipts[after] and at-receipts[before]<=.5, 'relative motion timestamps contradict native receipts')
|
||||
previous_motion_time=at
|
||||
a,b=samples[before],samples[after];change=angle(yaw(b['look']['direction']),yaw(a['look']['direction']))
|
||||
need(.05<=abs(change)<=15 and change*dx*gain>0,'native turn did not acknowledge proposal')
|
||||
need(.05<=abs(change)<=max_angle and change*dx*gain>0,'native turn did not acknowledge proposal')
|
||||
for i in range(before,after+1):
|
||||
need(neutral(samples[i]) and horizontal(samples[i]['input']['origin'],a['input']['origin'])<=.05,'body moved during heading correction')
|
||||
turn=angle(yaw(samples[i]['look']['direction']),yaw(a['look']['direction']))
|
||||
need(abs(turn)<=15 and (abs(turn)<.05 or turn*dx*gain>0), 'intermediate native turn exceeded bounds or reversed')
|
||||
need(abs(turn)<=max_angle and (abs(turn)<.05 or turn*dx*gain>0), 'intermediate native turn exceeded bounds or reversed')
|
||||
stable_end(after);pixels+=abs(dx);previous_motion=after
|
||||
need(all(not (events[i]['monotonic'] <= m['monotonic'] <= events[i+1]['monotonic']) for m in motions for i in range(0,len(events),2)), 'mouse motion overlaps W hold')
|
||||
need(pixels<=2048,'relative pixel sum exceeds route bound')
|
||||
|
||||
@@ -16,7 +16,8 @@ Adapter contract (all records must be parsed from the same pinned console/nonce)
|
||||
* guard.check() is the existing full private ownership/focus guard. keyboard has
|
||||
require_idle()/send('W', bool). mouse.move(dx,0,guard) must use the same guarded
|
||||
connection and current/projected clipped pointer checks, explicitly permitting
|
||||
this variant's <=128px cap. Existing two-motion helper remains unchanged.
|
||||
the explicitly selected standard128px or coarse384px cap. Existing two-motion
|
||||
helper remains unchanged; profile choice never changes the observation clocks.
|
||||
* notify receives the existing press-pending/release-confirmed events, plus
|
||||
approach-pending (absolute monotonic deadline)/approach-finished. The wiring
|
||||
MUST hard-supervise that deadline and the unchanged 1.5-second key lease.
|
||||
@@ -91,8 +92,10 @@ def inside(position, center):
|
||||
return abs(position[0]-center[0]) <= 5.25 and abs(position[2]-center[2]) <= 5.25
|
||||
|
||||
|
||||
def perform_approach(guard, keyboard, mouse, observe, geometry, calibration, report, *, clock, sleep, notify, key_state_busy):
|
||||
def perform_approach(guard, keyboard, mouse, observe, geometry, calibration, report, *, clock, sleep, notify, key_state_busy, profile="standard"):
|
||||
"""Run one bounded route through explicit adapters; retain partial failure evidence."""
|
||||
require(profile in ('standard', 'coarse') and type(profile) is str, 'Unknown approach profile')
|
||||
max_pixels, max_angle, desired_angle, max_pulses = (384, 35, 25, 16) if profile == 'coarse' else (128, 15, 10, 12)
|
||||
require('approach_proof' not in report, 'Approach attempt already exists')
|
||||
pinned = copy.deepcopy(geometry)
|
||||
target, center = target_for(pinned)
|
||||
@@ -105,7 +108,7 @@ def perform_approach(guard, keyboard, mouse, observe, geometry, calibration, rep
|
||||
require(0 <= ready_at <= clock(), 'Invalid original READY monotonic time')
|
||||
deadline = ready_at+35
|
||||
require(clock() < deadline, 'Insufficient original approach time')
|
||||
state = {'requested': True, 'completed': False, 'nonce': pinned['nonce'], 'geometry': pinned,
|
||||
state = {'profile': profile, 'requested': True, 'completed': False, 'nonce': pinned['nonce'], 'geometry': pinned,
|
||||
'target': list(target), 'deadline_monotonic': deadline, 'started_monotonic': clock(),
|
||||
'finished_monotonic': None, 'motions': [], 'events': [], 'stops': [],
|
||||
'samples': [], 'cumulative_horizontal_m': 0., 'unconfirmed_held_key': None,
|
||||
@@ -132,7 +135,7 @@ def perform_approach(guard, keyboard, mouse, observe, geometry, calibration, rep
|
||||
if active_turn is not None:
|
||||
turn_yaw, turn_origin, turn_sign = active_turn
|
||||
change = delta(yaw(s['direction']), turn_yaw)
|
||||
require(abs(change) <= 15, 'Relative turn exceeded native angle bound')
|
||||
require(abs(change) <= max_angle, 'Relative turn exceeded native angle bound')
|
||||
require(horizontal(s['origin'], turn_origin) <= .05, 'Body translated during stationary heading')
|
||||
if abs(change) >= .05:
|
||||
require(change*turn_sign > 0, 'Native heading turned opposite to proposal')
|
||||
@@ -173,7 +176,7 @@ def perform_approach(guard, keyboard, mouse, observe, geometry, calibration, rep
|
||||
moved = moved_from is None or horizontal(s['origin'], moved_from) >= .05
|
||||
if angle is not None:
|
||||
change = delta(yaw(s['direction']), angle)
|
||||
require(abs(change) <= 15, 'Relative turn exceeded native angle bound')
|
||||
require(abs(change) <= max_angle, 'Relative turn exceeded native angle bound')
|
||||
if abs(change) >= .05:
|
||||
require(change*turn_sign > 0, 'Native heading turned opposite to proposal')
|
||||
moved = moved and abs(change) >= .05
|
||||
@@ -183,7 +186,7 @@ def perform_approach(guard, keyboard, mouse, observe, geometry, calibration, rep
|
||||
elif s['real_ms']-first['real_ms'] >= 100:
|
||||
if abs(delta(yaw(s['direction']), yaw(first['direction']))) <= .2 and horizontal(s['origin'], first['origin']) <= .02:
|
||||
if angle is not None:
|
||||
require(abs(delta(yaw(s['direction']), angle)) <= 15, 'Relative turn exceeded native angle bound')
|
||||
require(abs(delta(yaw(s['direction']), angle)) <= max_angle, 'Relative turn exceeded native angle bound')
|
||||
require(clock() <= end, 'Settling exceeded original stage deadline')
|
||||
return s
|
||||
first = s
|
||||
@@ -202,8 +205,8 @@ def perform_approach(guard, keyboard, mouse, observe, geometry, calibration, rep
|
||||
if abs(error) <= 3:
|
||||
return s
|
||||
require(clock() < end and turn_count < 16, 'Heading request budget exceeded')
|
||||
desired = max(-10., min(10., .75*error))
|
||||
dx = int(round(desired/gain)); dx = max(-128, min(128, dx))
|
||||
desired = max(-desired_angle, min(desired_angle, .75*error))
|
||||
dx = int(round(desired/gain)); dx = max(-max_pixels, min(max_pixels, dx))
|
||||
if dx == 0: dx = 1 if desired/gain > 0 else -1
|
||||
require(pixels+abs(dx) <= 2048, 'Relative pixel budget exceeded')
|
||||
before = read(); require(neutral(before), 'Body moved before turn')
|
||||
@@ -278,7 +281,7 @@ def perform_approach(guard, keyboard, mouse, observe, geometry, calibration, rep
|
||||
require(.75 < initial_distance <= 6, 'Initial approach distance outside route scope')
|
||||
while horizontal(current['origin'], target) > .75:
|
||||
current = heading(current)
|
||||
require(pulse_count < 12, 'Forward pulse budget exceeded')
|
||||
require(pulse_count < max_pulses, 'Forward pulse budget exceeded')
|
||||
remaining = horizontal(current['origin'], target)
|
||||
reserve = (largest_stop if largest_stop is not None else 1.25)+.25
|
||||
require(remaining > reserve, 'Insufficient distance for measured stopping reserve')
|
||||
|
||||
Reference in New Issue
Block a user