protected override void LoadOrThrow() {
base.LoadOrThrow();
Size = new FileInfo(Location).Length;
if (Id == PreviousReplayName) {
IsNew = true;
}
if (!SettingsHolder.Drive.TryToLoadReplays) return;
try {
using (var reader = new ReplayReader(Location)) {
var version = reader.ReadInt32();
if (version >= 0xe) {
reader.ReadBytes(8);
WeatherId = reader.ReadString();
TrackId = reader.ReadString();
TrackConfiguration = reader.ReadString();
} else {
TrackId = reader.ReadString();
}
ErrorIf(TracksManager.Instance.GetWrapperById(TrackId) == null, AcErrorType.Replay_TrackIsMissing, TrackId);
CarId = reader.TryToReadNextString();
try {
DriverName = reader.ReadString();
reader.ReadInt64();
CarSkinId = reader.ReadString();
} catch (Exception) {
// ignored
}
}
ParsedSuccessfully = true;
} catch (Exception e) {
ParsedSuccessfully = false;
throw new AcErrorException(this, AcErrorType.Load_Base, e);
}
}