Reproduce stale upstream configuration with real local Git repositories, including the already-matching pin fast path.
Co-authored-by: Codex <codex@openai.com>
Separate search and engagement roles, support launcher-only SAMs, animate individual tube lids and delay ground strike spending until ejection. Preserve battery configuration and launch poses in saves and replay.
Co-authored-by: Codex <codex@openai.com>
Preserve launcher grids and authored materials; fix the Buk radar intersection and regenerate geometry bounds. Register the separate RM48U game visual for the upcoming carrier path.
Co-Authored-By: Codex <noreply@openai.com>
Keep authored JSON separate from generated output. Export rotated model bounds for SDK-free navigation and check grazing voxel corners. Include unretouched in-game before/after captures and explicit art/performance limits; pilots are an intermediate pass, not completion of the full asset set.
Co-Authored-By: Codex <noreply@openai.com>
Keep runtime compilation in an opt-in CI tier; run asset consistency on regular builds. Sandbox checks do not substitute for GPU, capture or maximum-scenario budgets.
Co-Authored-By: Codex <noreply@openai.com>
Replace patch-stack reconstruction with safe pinned initialization and legacy checkout migration; use an engine-local packer and write artifact identities.
Co-Authored-By: Codex <noreply@openai.com>
#101: radars locate sites from launches, /airdef sites, /airdef strike; sites launch slower (15/25/50 ticks) so a strike can come in time. #48: M opens the map on the network's picture, with an editor. #47: guard, sector, reserve and salvo per system. #94: vehicles route round slopes and water and say when they cannot get through. #96: reverb, and a menu switch for the acoustics. #92: generated files are validated before the swap, repo map.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Smoke: one rule by engine, no heat on trails, no trail on P1-SUN. Searchlights: two lamps a target, off with an empty sky. Halos fade before their reach and their sum is limited. Launch sites load chunks through the server thread, go off-map as a last resort, and reach 4000 blocks. Air defence: ranges x1.5, shots grow with urgency, claims released, /airdef lastchance, long shots on a big radar's tracks. Build: rust-toolchain.toml, airdef.py check, generator manifest and --check.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Rockets roar and crackle instead of whistling; blasts are a crack, a falling
sub-bass boom and rolling echoes instead of noise; interceptors get their own
flight sound. Far blasts, launches and shots play muffled variants, late by
their distance at 343 m/s.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The mod (airdef-mod/), its generated models and sounds, the fork's patches
over upstream Horizon (horizon-patches/, HORIZON_COMMIT), a cross-platform
build/install/run script (tools/airdef.py), CI that builds and releases on
every push (.gitea/workflows/build.yml) and a setup guide (docs/INSTALL.md).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>