diff --git a/MUNGA/SPOOLER.cpp b/MUNGA/SPOOLER.cpp index 12143e8..0d90faf 100644 --- a/MUNGA/SPOOLER.cpp +++ b/MUNGA/SPOOLER.cpp @@ -302,8 +302,25 @@ void { Check(this); + // + // Never armed means not one packet arrived all race. + // + // Recording captures the packets this station RECEIVES, and a race + // with no other machines in it sends and receives nothing at all - + // L4NetworkManager::ExclusiveBroadcast walks the remote hosts, and a + // solo race has none. So there is nothing to keep, and the reason is + // worth saying rather than leaving an empty folder to be puzzled over. + // + // The same gap is why a RACER's recording is not the whole race: its + // own pod is simulated locally and never arrives as a packet. A Live + // Cam races nothing, so every pod reaches it over the wire, which + // makes it the only station that hears the lot. + // if (!armed || spool == NULL) { + DEBUG_STREAM << "Record: nothing to write - no packets were received" + << " this race. Recording keeps what arrives over the network," + << " so a single-player race has nothing to keep.\n" << std::flush; return; } if (packetsRecorded == 0) diff --git a/RP_L4/RPL4FE.cpp b/RP_L4/RPL4FE.cpp index fcefbf6..1cccdb1 100644 --- a/RP_L4/RPL4FE.cpp +++ b/RP_L4/RPL4FE.cpp @@ -701,11 +701,21 @@ namespace groups[n++] = GroupRole; } // - // Directly under the role, and offered for every kind of race. - // A recording is just this station's received packets, so a - // single-player run records as readily as a lobby one - and - // unlike the role, a camera with nothing to watch is not a - // hazard here, so there is nothing to gate it on. + // Directly under the role, because it is the same question asked + // twice - what am I here to do. + // + // Offered on every race even though only a networked one has + // anything to record: a recording is this station's RECEIVED + // packets, and a solo race neither sends nor receives any. Hiding + // the row on solo would make the setting appear and disappear + // depending on what else was picked, which reads as a bug; the + // log says plainly why a solo race wrote nothing. + // + // Worth knowing when reading a spool back: a racer's recording + // leaves out its OWN pod, which is simulated locally and never + // arrives over the wire. A Live Cam races nothing, so every pod + // reaches it as packets - it is the only station that hears the + // whole race. // groups[n++] = GroupRecord; groups[n++] = GroupVehicle;