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:
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user