Files
jakub 6a667d8deb Capture current mission, AI, map and administration development
Include the current addon, terrain integrations, tools, regression tests and recorded development evidence.
2026-10-13 22:52:53 +02:00

3.7 KiB

Infantry resupply across the finite convoy fleet

HQ previously connected its infantry-supply coordinator only to ConvoyTask(), the first convoy. Later convoys could carry valid finite ammunition but could never serve a patrol through that coordinator, and losing the first truck removed this support even while other original trucks survived.

ERR_InfantrySupplyPool now binds one coordinator to each existing convoy slot, capped at twenty. A coordinator pins the exact task and service index before startup; removed, reordered or replaced tasks cannot become replacement stock. Failed binding stops that slot. The pool never creates a convoy or reissues cargo. The first-truck native probe keeps its canonical slot-zero accessor.

Each coordinator retains its own finite magazine identities, spent items, current native transfer and ambiguous-operation quarantine. All coordinators share consumed radio-message IDs and per-recipient retry times. A failed downlink therefore cannot cause a different truck to retry the same report or bypass the three-minute cooldown. Each convoy slot owns a disjoint 128-trip reservation-token range. Magazine identities, original crew/member ownership, radio delivery, physical access and the existing per-trip deadline still gate execution.

HQ rotates through ready donors and admits at most one new trip every five seconds. Donor and recipient selection still requires delivered status; a donor with a fresh reported contact is skipped. Existing trips tick independently on their existing one-second gate. Journal entries include convoy slot, and administration shows aggregate original trucks, active trips, captured stock and deliveries. Ending the mission stops every coordinator.

Verification

The complete repository check passes 234 regression programs. Actual-method tests cover immutable binding, replacement/reordering rejection, all twenty token ranges and the final allowed trip, shared report/cooldown history, sparse discovery, permanent shutdown, donor rotation and one new dispatch per planning cadence. Existing stock, transfer, radio and quarantine regressions also pass.

The first native attempt failed compilation on the new accessor's inline conditional return. That failed source and log are retained. The accessor now uses an explicit local result and final return.

The corrected native run compiles the combined source and completes the 52-assertion scripted escape route with no script/runtime failures. Its HQ journal records slots 0, 1 and 2 capturing 56 original magazine identities each, at approximately 42, 48 and 54 seconds, followed by all three stopping at mission victory. No transfer trip was requested in this fixture, so this is initialization/integration evidence, not multi-truck or autonomous walking delivery proof. The thirteen installed-resource errors retain the strict failed verdict. The runner confirms hidden/muted operation, unchanged source/seven external inputs and successful private cleanup.

Native source manifest: b4eea5bde2871ec4fd858d6b5dac9e722b13694507f6922eed3a884d757b1327.

The earlier development package remains an unchanged snapshot and does not contain this later feature. Human play, remote multiplayer, multi-truck rendezvous/transfer, broad logistics parity and equivalent-workload FPS acceptance remain open. Experimental helicopter flight and prison input automation were not resumed; original missions and installed assets remain untouched.