BINLINE BContentStreamWrapper::~BContentStreamWrapper() { PStream s = stdStream; ifstream* fstrm = static_cast<ifstream*>(s.get()); if (fstrm) { fstrm->close(); } }
HSaveError RestoreGameState(PStream in, SavegameVersion svg_version) { PreservedParams pp; RestoredData r_data; DoBeforeRestore(pp); HSaveError err; if (svg_version >= kSvgVersion_Components) err = SavegameComponents::ReadAll(in, svg_version, pp, r_data); else err = restore_game_data(in.get(), svg_version, pp, r_data); if (!err) return err; return DoAfterRestore(pp, r_data); }