Skip to content

Commit

Permalink
code added to save replayscript after full analysis of race in fast-f…
Browse files Browse the repository at this point in the history
…orward mode (16x)
  • Loading branch information
MerlinCooper committed May 21, 2020
1 parent 3e9c679 commit 900fae1
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 11 deletions.
16 changes: 5 additions & 11 deletions Phases/AnalyseRace.cs
Original file line number Diff line number Diff line change
Expand Up @@ -98,7 +98,6 @@ void AnalyseRaceSituations(IEnumerable<DataSample> samples)
var overlayData = new OverlayData();
var removalEdits = new RemovalEdits(overlayData.RaceEvents);
var commentaryMessages = new CommentaryMessages(overlayData);
//var videoCapture = new VideoCapture(); //do not capture a video during analysis
var recordPitStop = new RecordPitStop(commentaryMessages);
var fastestLaps = new RecordFastestLaps(overlayData);
var replayControl = new ReplayControl(samples.First().SessionData, incidents, removalEdits, TrackCameras);
Expand Down Expand Up @@ -126,14 +125,9 @@ void AnalyseRaceSituations(IEnumerable<DataSample> samples)
.WithPitStopCounts()
.TakeUntil(3.Seconds()).Of(d => d.Telemetry.LeaderHasFinished && d.Telemetry.RaceCars.All(c => c.HasSeenCheckeredFlag || c.HasRetired || c.TrackSurface != TrackLocation.OnTrack))
.TakeUntil(3.Seconds()).AfterReplayPaused();
samples = samples.AtSpeed(16);
Settings.AppliedTimingFactor = 1.0 / 16.0;

if (shortTestOnly)
{
samples = samples.AtSpeed(Settings.Default.TimingFactorForShortTest);
Settings.AppliedTimingFactor = 1.0 / Settings.Default.TimingFactorForShortTest;
}

//videoCapture.Activate(workingFolder); //do not capture a video during analysis
var startTime = DateTime.Now;

overlayData.CapturedVersion = Assembly.GetExecutingAssembly().GetName().Version.ToString();
Expand All @@ -152,11 +146,11 @@ void AnalyseRaceSituations(IEnumerable<DataSample> samples)
captureCamDriverEvery4Seconds.Process(data, relativeTime);
}

//var files = videoCapture.Deactivate(); //do not capture a video during analysis

removalEdits.Stop();

//var overlayFile = SaveOverlayData(overlayData, files);
//save OverlayData into target folder for video ("working folder")

var overlayFile = SaveReplaySript(overlayData);

iRacing.Replay.SetSpeed(0);
}
Expand Down
12 changes: 12 additions & 0 deletions Phases/CaptureRace.cs
Original file line number Diff line number Diff line change
Expand Up @@ -191,5 +191,17 @@ string SaveOverlayData(OverlayData overlayData, List<CapturedVideoFile> files)

return overlayFile;
}

string SaveReplaySript (OverlayData overlayData)
{
string fullNameReplayScript = workingFolder + DateTime.Now.ToString("yyyy-MM-dd-HH-mm-ss") + ".replayscript";

Trace.WriteLine("Saving ReplayScript (analysis phase) to {0}" + fullNameReplayScript);

overlayData.SaveTo(fullNameReplayScript);

return fullNameReplayScript;
}

}
}

0 comments on commit 900fae1

Please sign in to comment.