Module livesplit_core::run [] [src]

The run module provides everything necessary for working with Runs, like parsing and saving or editing them.

Examples

use livesplit_core::run::{Run, Segment};

let mut run = Run::new();

run.set_game_name("Super Mario Odyssey");
run.set_category_name("Darker Side");

run.push_segment(Segment::new("Cap Kingdom"));
run.push_segment(Segment::new("Cascade Kingdom"));

Reexports

pub use self::editor::Editor;

Modules

editor

The editor module provides an editor for Run objects. The editor ensures that all the different invariants of the Run objects are upheld no matter what kind of operations are being applied to the Run. It provides the current state of the editor as state objects that can be visualized by any kind of User Interface.

parser

The parser module provides all the different parsers available for parsing splits files into Runs. If the file type of the splits file is not known, the composite parser can be used, which tries to figure out which splits file format is used and parses it with the parser for that format.

saver

The saver module provides all the different ways to save Runs as splits files.

Structs

Attempt

An Attempt describes information about an attempt to run a specific category by a specific runner in the past. Every time a new attempt is started and then reset, an Attempt describing general information about it is created.

ComparisonsIter

Iterator that iterates over all the comparisons. This includes both the custom comparisons defined by the user and the Comparison Generators.

Run

A Run stores the split times for a specific game and category of a runner.

RunMetadata

The Run Metadata stores additional information about a run, like the platform and region of the game. All of this information is optional.

Segment

A Segment describes a point in a speedrun that is suitable for storing a split time. This stores the name of that segment, an icon, the split times of different comparisons, and a history of segment times.

SegmentHistory

Stores the segment times achieved for a certain segment. Each segment is tagged with an index. Only segment times with an index larger than 0 are considered times actually achieved by the runner, while the others are artifacts of route changes and similar algorithmic changes.