diff --git a/game/reconstructed/btplayer.cpp b/game/reconstructed/btplayer.cpp index 4d3a4c5..9824ab0 100644 --- a/game/reconstructed/btplayer.cpp +++ b/game/reconstructed/btplayer.cpp @@ -930,7 +930,21 @@ void playerMission->GetGameModel(), ResourceDescription::ModelListResourceType ); - Check(mech_res); + // + // HARDENING (found during the #35 hunt): an unknown vehicle= name in + // the egg (a typo, or a corrupted relay rewrite) returned NULL here + // and SEGFAULTED on Lock() in release (Check compiles out). A bad + // tag in a served egg would crash EVERY pod -- fail loud instead. + // + if (mech_res == 0) + { + DEBUG_STREAM << "[spawn] FATAL: unknown vehicle '" + << (playerMission->GetGameModel() + ? playerMission->GetGameModel() : "") + << "' in the egg (no such ModelList resource)\n" << std::flush; + Fail("unknown vehicle= name in the egg -- check the mission file\n"); + return; + } mech_res->Lock(); Mech::MakeMessage