Coolant-loop cross-check vs the 1995 manual: structure strongly faithful
Dumped each mech's subsystem->coolant-loop (BT_SPEC_LOG in mech4: walks the roster once, resolves each subsystem's linked-condenser number via BTCoolingLoopFrame) and diffed all 6 manual mechs' COOLANT LOOPS tables. RESULT -- the structure survives the 4.0->4.10 gap remarkably well: - BACKBONE identical on ALL 6: Generator A/B/C/D on loops 1/2/3/5, Sensors(our Avionics) on loop 2, Myomers on loop 5, LRMs on 1&3, autocannon on 4, big energy weapon on 6 -- exact match - weapon LOADOUT identical on 5 of 6 (Thor/Vulture/MadCat/Owens/ Blackhawk); Loki is the one full rework (4.0 PPCx2/AFC100/SRM6 -> 4.10 AFC50x2/ER Medium x2/SRM4) - the consistent 4.0->4.10 change is a small-laser REDISTRIBUTION: the 2 ER Small Lasers moved off the sensor/heavy loops onto the energy loops 4&6 (Thor/MadCat/Vulture); Owens near-perfect (loops 1&3 exact) - Loop 0 = correctly UNCOOLED infrastructure (condensers, reservoir, gyro, torso, HUD, ammo bins, ...) -- not a coolant loop CONCLUSION: the coolant-loop reconstruction is faithful; every diff is 4.0->4.10 balance tuning, not a bug. BT_SPEC_LOG retained. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Fable 5
parent
f4cf1e631a
commit
ff5260ce98
@@ -2514,6 +2514,28 @@ void
|
||||
AuthenticGroundAndCollide(dt, preMovePos);
|
||||
}
|
||||
|
||||
// SPEC AUDIT (BT_SPEC_LOG): once, after all subsystems are built + linked,
|
||||
// dump each subsystem -> coolant loop (BTCoolingLoopFrame resolves the
|
||||
// linked condenser's number, the manual's "Loop N"). Diffs the per-mech
|
||||
// COOLANT LOOPS table vs the 1995 manual (structural, less tuning-prone).
|
||||
if (isPlayerMech && getenv("BT_SPEC_LOG"))
|
||||
{
|
||||
static int s_specDumped = 0;
|
||||
if (!s_specDumped && dt > 0.0001f)
|
||||
{
|
||||
s_specDumped = 1;
|
||||
extern int BTCoolingLoopFrame(void *subsystem);
|
||||
for (int i = 0; i < GetSubsystemCount(); ++i)
|
||||
{
|
||||
Subsystem *s = GetSubsystem(i);
|
||||
if (s == 0) continue;
|
||||
DEBUG_STREAM << "[spec] loop " << BTCoolingLoopFrame(s)
|
||||
<< " <- " << (s->GetName() ? s->GetName() : "?")
|
||||
<< "\n" << std::flush;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (isPlayerMech && dt > 0.0001f && dt < 0.5f) // ignore zero / huge (stall) slices
|
||||
{
|
||||
// --- VIRTUAL CONTROLS (dev keyboard -> the pod's analog inputs) --------
|
||||
|
||||
Reference in New Issue
Block a user