Merge BT411 audio-fidelity + combat work (4e72f0c..abed41e) into BT412

Brings the post-fork BT411 line forward via a local-path merge (never
touches the BT411 gitea remote): the full audio-fidelity system (engine
AUD*/L4AUD* + audiopresets.cpp + ~600 content wavs + AUDIO_FIDELITY.md),
missiles/rear-fire/HUD/gyro/gait tasks (#66-68), FOGDAY.EGG, and
refreshed context docs -- 91 commits, ~688 files clean.

Only 5 files overlapped the steamification; resolved keeping BOTH:
- L4NET.CPP: took BT411's task-#50 fix (don't close the game listener on
  console loss) over the seam's adaptation of the old buggy close; sends
  stay on NetTransport_Get().
- L4NETTRANSPORT.cpp: folded BT411's TCP_NODELAY latency fix into
  WinsockNetTransport::Connect (the seam already had retry + nonblocking).
- mechmppr.cpp: combined the device_owns_input gating with BT411's
  task-#68 look-behind, gating the lookBehind write too.
- .gitignore / CMakeLists.txt / mech4.cpp: trivial / auto-merged
  (deviceOwnsInput gating preserved).

Verified: clean build (default + implicitly the Steam TU untouched);
solo front-end mode; loopback MP through the seam (mesh completes, both
tick, replication works, no NODELAY warnings).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
Cyd
2026-07-16 19:34:54 -05:00
co-authored by Claude Fable 5
696 changed files with 6416 additions and 422 deletions
+12
View File
@@ -164,6 +164,18 @@ namespace
closesocket(sock);
return InvalidConnection;
}
// TCP_NODELAY (BT411 task #50, folded into the seam): disable
// Nagle so the small per-frame update records ship immediately
// instead of being coalesced. Nagle + delayed-ACK batch the
// tiny position packets into ~40-200ms bursts, so a peer moving
// at a steady speed is RECEIVED in lurches (dead-reckoned ground
// speed swinging 3x per 0.25s window). The pod net carries
// steady real-time state where latency, not throughput, matters.
BOOL no_delay = TRUE;
if (setsockopt(sock, IPPROTO_TCP, TCP_NODELAY,
(char *) &no_delay, sizeof(no_delay)))
DEBUG_STREAM << "WARN: could not set TCP_NODELAY on active socket; setsockopt() failed with "
<< WSAGetLastError() << "\n" << std::flush;
return (Connection) sock;
}