{ "complete": true, "approved_source_api_review": true, "source": "/tmp/erri-random-radius-source-0504/addons/core/Scripts/Game/ERR/40_Chat/ERR_NativeRandomRadiusTrace.c", "sha256": "7e946406067092e30b6b75cc6ef0c56db7f866249e02bd13648156933ee578d9", "wrappers": 5, "installed_sdk_bindings": [ { "pak": "/home/jakub/.local/share/Steam/steamapps/common/Arma Reforger/addons/data/data.pak", "path": "AI/BehaviorTrees/Chimera/Soldier/CombatMoveRequest_Move.bt", "sha256": "23af0dbdf6b5aec5f13117777bd2211a41d2684a975b16141a809cd2f0f04a69", "scratch": "/tmp/erri-zero-radius-review-0504/native/AI/BehaviorTrees/Chimera/Soldier/CombatMoveRequest_Move.bt" }, { "pak": "/home/jakub/.local/share/Steam/steamapps/common/Arma Reforger/addons/data/data.pak", "path": "AI/BehaviorTrees/Chimera/Soldier/LookAtRandomized.bt", "sha256": "8626168e0d8ff2d268ed7591bf2a7a184bbf7aee390e2ce98ddb642463556abd", "scratch": "/tmp/erri-zero-radius-review-0504/native/AI/BehaviorTrees/Chimera/Soldier/LookAtRandomized.bt" }, { "pak": "/home/jakub/.local/share/Steam/steamapps/common/Arma Reforger/addons/data/data007.pak", "path": "scripts/Game/AI/Movement/SCR_AICalculateNextCombatMovePos.c", "sha256": "636fbef514e676d8bf45be87646bfb1ef38ddbf0e30c5fea0377bc696d5c5476", "local_same": true }, { "pak": "/home/jakub/.local/share/Steam/steamapps/common/Arma Reforger/addons/data/data007.pak", "path": "scripts/Game/AI/Movement/SCR_AICombatMoveRequest.c", "sha256": "5b515efdf00ec350bc6ca84fd1a206a2575a56b423481b81b99097b8fe585121", "local_same": true }, { "pak": "/home/jakub/.local/share/Steam/steamapps/common/Arma Reforger/addons/data/data007.pak", "path": "scripts/Game/AI/Movement/SCR_AICombatMoveUtils.c", "sha256": "9a03c635de86675e3cc4b834496a9351c37c9bafe497c63c51c1c78999afb700", "local_same": true }, { "pak": "/home/jakub/.local/share/Steam/steamapps/common/Arma Reforger/addons/data/data007.pak", "path": "scripts/Game/AI/ScriptedNodes/Utils/SCR_AIGetRandomLookPosition.c", "sha256": "cd2e0a6871ba32541b28aae2f17b5d1139e2c29b0ea25ccadd022838a1c490f5", "local_same": true }, { "pak": "/home/jakub/.local/share/Steam/steamapps/common/Arma Reforger/addons/data/data007.pak", "path": "scripts/Game/AI/ScriptedNodes/Utils/SCR_AIGetRandomPointWithExclude.c", "sha256": "978eda9adc1721978ab9d952cd24f458ae213661216d9b541c3439d5322c65d0", "local_same": true }, { "pak": "/home/jakub/.local/share/Steam/steamapps/common/Arma Reforger/addons/data/data007.pak", "path": "scripts/Game/Camera/Shake/SCR_RecoilCameraShakeParams.c", "sha256": "81c78fd6de3e3d1f4031b589918b002fd0d4ef1673a6287ad7249b2c236aef8c", "local_same": true }, { "pak": "/home/jakub/.local/share/Steam/steamapps/common/Arma Reforger/addons/data/data007.pak", "path": "scripts/Game/generated/AI/Node.c", "sha256": "d5d3eea4e72d8a8978257009f8b3408628c26c0dd7c406a1fe86fafdaaedc789", "local_same": true } ], "checks": [ "All five override signatures, argument names, protected access and default arguments match SDK; optional Node helper uses public GetCallstackStr(out string).", "Point calls superclass once first and returns exact ENodeResult; log only afterSUCCESS and actualupdated radius fields are bothzero.", "Look reads owner/entity/InPos only when enabled and below cap; native superclass remains once with original owner/dt. Extra observation reads do not set ports or consume RNG.", "Combat calls protected superclass once with original distance/centerPos; does not replace destination or random draw.", "WithExclude reproduces direct branch predicate (equal origins OR excludeRadius<1e-8) and logs only bothradii0 there. Iterative branch logs only radius0 and iterationCount>0; zero iterations produces no diagnostic random-call claim. Exact original out randomPos and allsix arguments pass through once, returnbool unchanged.", "Recoil observes min/max lengths only behind gate; superclass once preserves native random-sign draw and sphere draw, original uniform/default and vector return.", "One shared16-sample cap; counter increments and Node stack/Debug stack retrieval occur only within accepted Log. CLI flag read cached once; disabled wrappers perform no added node/actor/port/vector observations.", "WORKBENCH only; no spawn/force/order/AI-policy/runtime corrective behavior." ], "limits": [ "Native compilation and runtime attribution still pending; no compiler/native actions by reviewer.", "Point postSUCCESS logging cannot establish absence of a failing/aborting native call.", "Several native/script callsites remain unwrapped; no completeness claim.", "Formatted zero could also be a small rounded nonzero value; wrappers intentionally match exactzero inputs requested for this diagnostic." ], "uncovered_calls": [ "SCR_AIEnemyMarkingSystem: dynamic base+distance inaccuracy", "SCR_ArtilleryWaypointGroupCommand: curve-derived offset radii", "SCR_ResourcePlayerControllerInventoryComponent.FindSuitablePosition: maxHorizontalOffset", "SCR_AirstrikePrototype: configured airstrike radius", "SCR_Math2D wrapper itself and native engine callers", "SCR_AIFindFirePositionBehavior uses positive constants13/20 and0/4; CleanSweep/LastStand use0/2", "SCR_EffectModulePositionData_Radius has max<=min correction before call" ], "blockers": [] }