Merge pull request #9 from alterNERDtive/feature/race6-chicken-run

This commit is contained in:
alterNERDtive 2022-07-23 15:47:10 +02:00 committed by GitHub
commit 8362a8f706
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 534 additions and 79 deletions

View file

@ -1,80 +1,90 @@
# 4.0 (2022-05-07)
## Added
* Support for race 4, On the Rocks
-----
# 3.1.1 (2022-04-19)
## Fixed
* Wiccan BeWare: should now consistently detect buy/sell events.
# 3.1 (2022-04-18)
## Added
* Wiccan BeWare: automatic reset option for accidental refuels / repairs.
-----
# 3.0 (2022-04-17)
## Added
* Support for race 3, Wiccan BeWare
-----
# 2.0 (2022-03-18)
## Changed
* Splits for Race 2 (The Aquarian Job) now include the SC drop timing at all stops.
## Fixed
* Auto splitters can now cope with the new file name format for journal files introduced for Odyssey patch 11. (#6)
-----
# 1.2 (2022-03-15)
## Added
* Support for race 2, The Aquarian Job
## Fixed
* No longer freezes for 15s on `init`. Instead watches the journal folder for new journal files and loads the latest one automatically. Should fix some edge cases too. (#5)
-----
# 1.1 (2022-02-18)
Many improvements and fixes.
Youll have to load the layout file into LiveSplit again (and add the
AutoSplitter). You can keep your personal splits.
## Added
* `Automatically stop the timer after death` option: stops the timer should you meet an untimely demise. Disabled by default. (#4)
## Changed
* `stops.txt` is now written to
`My Documents\LiveSplit\Magic 8-Ball\Back to Pareco` (#3)
## Fixed
* The layout now forces timing mode to game time. On real time the hack to stop the timer after the first dock past the time limit does not work. (#2)
* Now works with Odysseys `Docked`/`Undocked` events. (#1)
-----
# 1.0 (2022-02-17)
# devel
## Added
* Support for race 6, Chicken Run: Crash Harder.
-----
# 4.0 (2022-05-07)
## Added
* Support for race 4, On the Rocks
-----
# 3.1.1 (2022-04-19)
## Fixed
* Wiccan BeWare: should now consistently detect buy/sell events.
-----
# 3.1 (2022-04-18)
## Added
* Wiccan BeWare: automatic reset option for accidental refuels / repairs.
-----
# 3.0 (2022-04-17)
## Added
* Support for race 3, Wiccan BeWare
-----
# 2.0 (2022-03-18)
## Changed
* Splits for Race 2 (The Aquarian Job) now include the SC drop timing at all stops.
## Fixed
* Auto splitters can now cope with the new file name format for journal files introduced for Odyssey patch 11. (#6)
-----
# 1.2 (2022-03-15)
## Added
* Support for race 2, The Aquarian Job
## Fixed
* No longer freezes for 15s on `init`. Instead watches the journal folder for new journal files and loads the latest one automatically. Should fix some edge cases too. (#5)
-----
# 1.1 (2022-02-18)
Many improvements and fixes.
Youll have to load the layout file into LiveSplit again (and add the
AutoSplitter). You can keep your personal splits.
## Added
* `Automatically stop the timer after death` option: stops the timer should you meet an untimely demise. Disabled by default. (#4)
## Changed
* `stops.txt` is now written to
`My Documents\LiveSplit\Magic 8-Ball\Back to Pareco` (#3)
## Fixed
* The layout now forces timing mode to game time. On real time the hack to stop the timer after the first dock past the time limit does not work. (#2)
* Now works with Odysseys `Docked`/`Undocked` events. (#1)
-----
# 1.0 (2022-02-17)
LiveSplit files and AutoSplitter for the “Back to Pareco” race.

View file

@ -0,0 +1,151 @@
// Defines the process to monitor. We are not reading anything from the games memory, so its empty.
// We still need it though, LiveSplit will only run the auto splitter if the corresponding process is present.
// See https://github.com/LiveSplit/LiveSplit.AutoSplitters/blob/master/README.md#state-descriptors
state("EliteDangerous64") {}
// Executes when LiveSplit (re-)loads the auto splitter. Does general setup tasks.
// See https://github.com/LiveSplit/LiveSplit.AutoSplitters/blob/master/README.md#script-startup
startup {
// Relevant journal entries
vars.journalReader = null;
vars.journalEntries = new List<System.Text.RegularExpressions.Regex>(26);
vars.journalEntries.Add(
new System.Text.RegularExpressions.Regex(@"\{ ""timestamp"":""(?<timestamp>.*)"", ""event"":""Undocked"", ""StationName"":""Noriega Station"", ""StationType"":""Coriolis"", ""MarketID"":3228508416(, ""Taxi"":(true|false), ""Multicrew"":(true|false))? \}"));
vars.journalEntries.Add(
new System.Text.RegularExpressions.Regex(@"\{ ""timestamp"":""(?<timestamp>.*)"", ""event"":""FSDJump""(, ""Taxi"":(true|false), ""Multicrew"":(true|false))?, ""StarSystem"":""Bento"", ""SystemAddress"":633675420370, .*\}"));
vars.journalEntries.Add(
new System.Text.RegularExpressions.Regex(@"\{ ""timestamp"":""(?<timestamp>.*)"", ""event"":""SupercruiseExit""(, ""Taxi"":(true|false), ""Multicrew"":(true|false))?, ""StarSystem"":""Bento"", ""SystemAddress"":633675420370, ""Body"":""Snow Moon"", ""BodyID"":5, ""BodyType"":""Station"" \}"));
vars.journalEntries.Add(
new System.Text.RegularExpressions.Regex(@"\{ ""timestamp"":""(?<timestamp>.*)"", ""event"":""Docked"", ""StationName"":""Snow Moon"", ""StationType"":""Orbis""(, ""Taxi"":(true|false), ""Multicrew"":(true|false))?, ""StarSystem"":""Bento"", .*\}"));
vars.journalEntries.Add(
new System.Text.RegularExpressions.Regex(@"\{ ""timestamp"":""(?<timestamp>.*)"", ""event"":""MarketBuy"", ""MarketID"":128059402, ""Type"":""crystallinespheres""(, ""Type_Localised"":""Crystalline Spheres"")?, ""Count"":\d+, ""BuyPrice"":\d+, ""TotalCost"":\d+ \}"));
vars.journalEntries.Add(
new System.Text.RegularExpressions.Regex(@"\{ ""timestamp"":""(?<timestamp>.*)"", ""event"":""FSDJump""(, ""Taxi"":(true|false), ""Multicrew"":(true|false))?, ""StarSystem"":""Okinura"", ""SystemAddress"":7505556017866, .*\}"));
vars.journalEntries.Add(
new System.Text.RegularExpressions.Regex(@"\{ ""timestamp"":""(?<timestamp>.*)"", ""event"":""SupercruiseExit""(, ""Taxi"":(true|false), ""Multicrew"":(true|false))?, ""StarSystem"":""Okinura"", ""SystemAddress"":7505556017866, ""Body"":""Okinura 8 c"", ""BodyID"":26, ""BodyType"":""Planet"" \}"));
vars.journalEntries.Add(
new System.Text.RegularExpressions.Regex(@"\{ ""timestamp"":""(?<timestamp>.*)"", ""event"":""Docked"", ""StationName"":""Korniyenko Terminal"", ""StationType"":""CraterOutpost""(, ""Taxi"":(true|false), ""Multicrew"":(true|false))?, ""StarSystem"":""Okinura"", .*\}"));
vars.journalEntries.Add(
new System.Text.RegularExpressions.Regex(@"\{ ""timestamp"":""(?<timestamp>.*)"", ""event"":""FSDJump""(, ""Taxi"":(true|false), ""Multicrew"":(true|false))?, ""StarSystem"":""Blatrimpe"", ""SystemAddress"":7505623126738, .*\}"));
vars.journalEntries.Add(
new System.Text.RegularExpressions.Regex(@"\{ ""timestamp"":""(?<timestamp>.*)"", ""event"":""SupercruiseExit""(, ""Taxi"":(true|false), ""Multicrew"":(true|false))?, ""StarSystem"":""Blatrimpe"", ""SystemAddress"":7505623126738, ""Body"":""Blatrimpe 7"", ""BodyID"":13, ""BodyType"":""Planet"" \}"));
vars.journalEntries.Add(
new System.Text.RegularExpressions.Regex(@"\{ ""timestamp"":""(?<timestamp>.*)"", ""event"":""Docked"", ""StationName"":""Koch Beacon"", ""StationType"":""CraterPort""(, ""Taxi"":(true|false), ""Multicrew"":(true|false))?, ""StarSystem"":""Blatrimpe"", .*\}"));
vars.journalEntries.Add(
new System.Text.RegularExpressions.Regex(@"\{ ""timestamp"":""(?<timestamp>.*)"", ""event"":""FSDJump""(, ""Taxi"":(true|false), ""Multicrew"":(true|false))?, ""StarSystem"":""Shoujeman"", ""SystemAddress"":4820840745323, .*\}"));
vars.journalEntries.Add(
new System.Text.RegularExpressions.Regex(@"\{ ""timestamp"":""(?<timestamp>.*)"", ""event"":""SupercruiseExit""(, ""Taxi"":(true|false), ""Multicrew"":(true|false))?, ""StarSystem"":""Shoujeman"", ""SystemAddress"":4820840745323, ""Body"":""Shoujeman 5"", ""BodyID"":6, ""BodyType"":""Planet"" \}"));
vars.journalEntries.Add(
new System.Text.RegularExpressions.Regex(@"\{ ""timestamp"":""(?<timestamp>.*)"", ""event"":""Docked"", ""StationName"":""Baffin Plant"", ""StationType"":""CraterOutpost""(, ""Taxi"":(true|false), ""Multicrew"":(true|false))?, ""StarSystem"":""Shoujeman"", .*\}"));
vars.journalEntries.Add(
new System.Text.RegularExpressions.Regex(@"\{ ""timestamp"":""(?<timestamp>.*)"", ""event"":""FSDJump""(, ""Taxi"":(true|false), ""Multicrew"":(true|false))?, ""StarSystem"":""Wolf 562"", ""SystemAddress"":670954497457, .*\}"));
vars.journalEntries.Add(
new System.Text.RegularExpressions.Regex(@"\{ ""timestamp"":""(?<timestamp>.*)"", ""event"":""SupercruiseExit""(, ""Taxi"":(true|false), ""Multicrew"":(true|false))?, ""StarSystem"":""Wolf 562"", ""SystemAddress"":670954497457, ""Body"":""Laila's Memory"", ""BodyID"":3, ""BodyType"":""Planet"" \}"));
vars.journalEntries.Add(
new System.Text.RegularExpressions.Regex(@"\{ ""timestamp"":""(?<timestamp>.*)"", ""event"":""Docked"", ""StationName"":""King's Inheritance"", ""StationType"":""CraterPort""(, ""Taxi"":(true|false), ""Multicrew"":(true|false))?, ""StarSystem"":""Wolf 562"", .*\}"));
vars.journalEntries.Add(
new System.Text.RegularExpressions.Regex(@"\{ ""timestamp"":""(?<timestamp>.*)"", ""event"":""FSDJump""(, ""Taxi"":(true|false), ""Multicrew"":(true|false))?, ""StarSystem"":""5 G. Capricorni"", ""SystemAddress"":1733119972058, .*\}"));
vars.journalEntries.Add(
new System.Text.RegularExpressions.Regex(@"\{ ""timestamp"":""(?<timestamp>.*)"", ""event"":""SupercruiseExit""(, ""Taxi"":(true|false), ""Multicrew"":(true|false))?, ""StarSystem"":""5 G. Capricorni"", ""SystemAddress"":1733119972058, ""Body"":""5 G. Capricorni 3"", ""BodyID"":9, ""BodyType"":""Planet"" \}"));
vars.journalEntries.Add(
new System.Text.RegularExpressions.Regex(@"\{ ""timestamp"":""(?<timestamp>.*)"", ""event"":""Docked"", ""StationName"":""Moore Beacon"", ""StationType"":""CraterOutpost""(, ""Taxi"":(true|false), ""Multicrew"":(true|false))?, ""StarSystem"":""5 G. Capricorni"", .*\}"));
vars.journalEntries.Add(
new System.Text.RegularExpressions.Regex(@"\{ ""timestamp"":""(?<timestamp>.*)"", ""event"":""FSDJump""(, ""Taxi"":(true|false), ""Multicrew"":(true|false))?, ""StarSystem"":""Ross 905"", ""SystemAddress"":11666070840737, .*\}"));
vars.journalEntries.Add(
new System.Text.RegularExpressions.Regex(@"\{ ""timestamp"":""(?<timestamp>.*)"", ""event"":""SupercruiseExit""(, ""Taxi"":(true|false), ""Multicrew"":(true|false))?, ""StarSystem"":""Ross 905"", ""SystemAddress"":11666070840737, ""Body"":""Robert Kelley"", ""BodyID"":6, ""BodyType"":""Planet"" \}"));
vars.journalEntries.Add(
new System.Text.RegularExpressions.Regex(@"\{ ""timestamp"":""(?<timestamp>.*)"", ""event"":""Docked"", ""StationName"":""Weber Legacy"", ""StationType"":""CraterOutpost""(, ""Taxi"":(true|false), ""Multicrew"":(true|false))?, ""StarSystem"":""Ross 905"", .*\}"));
vars.journalEntries.Add(
new System.Text.RegularExpressions.Regex(@"\{ ""timestamp"":""(?<timestamp>.*)"", ""event"":""FSDJump""(, ""Taxi"":(true|false), ""Multicrew"":(true|false))?, ""StarSystem"":""LTT 2151"", ""SystemAddress"":2282942894802, .*\}"));
vars.journalEntries.Add(
new System.Text.RegularExpressions.Regex(@"\{ ""timestamp"":""(?<timestamp>.*)"", ""event"":""SupercruiseExit""(, ""Taxi"":(true|false), ""Multicrew"":(true|false))?, ""StarSystem"":""LTT 2151"", ""SystemAddress"":2282942894802, ""Body"":""Noriega Station"", ""BodyID"":17, ""BodyType"":""Station"" \}"));
vars.journalEntries.Add(
new System.Text.RegularExpressions.Regex(@"\{ ""timestamp"":""(?<timestamp>.*)"", ""event"":""Docked"", ""StationName"":""Noriega Station"", ""StationType"":""Coriolis""(, ""Taxi"":(true|false), ""Multicrew"":(true|false))?, ""StarSystem"":""LTT 2151"", .*\}"));
// Journal file handling
vars.journalPath = Path.Combine(
Environment.GetFolderPath(Environment.SpecialFolder.UserProfile),
"Saved Games",
"Frontier Developments",
"Elite Dangerous"
);
vars.currentJournal = "none";
vars.updateJournalReader = (Action)delegate() {
FileInfo journalFile = new DirectoryInfo(vars.journalPath).GetFiles("journal.*.log").OrderByDescending(file => file.LastWriteTime).First();
print("Current journal file: " + vars.currentJournal + ", latest journal file: " + journalFile.Name);
if (journalFile.Name != vars.currentJournal) {
vars.journalReader = new StreamReader(new FileStream(journalFile.FullName, FileMode.Open, FileAccess.Read, FileShare.ReadWrite));
vars.currentJournal = journalFile.Name;
}
};
vars.updateJournalReader();
vars.journalReader.ReadToEnd();
// Watch for new files
FileSystemWatcher journalWatcher = new FileSystemWatcher(vars.journalPath);
journalWatcher.Created += (object sender, FileSystemEventArgs eventArgs) => {
vars.updateJournalReader();
};
journalWatcher.EnableRaisingEvents = true;
// Initialize split counter
vars.currentSplit = 0;
}
// Executes when LiveSplit detects the game process (see “state” at the top of the file).
// In our case the journal and netlog files are unique to every execution of the game, so we need to prepare them here.
// We also need to check if file logging is enabled (the setting is not available in `startup`) and create/open our log file.
// See https://github.com/LiveSplit/LiveSplit.AutoSplitters/blob/master/README.md#script-initialization-game-start
init {
}
// Executes as long as the game process is running, by default 60 times per second.
// Unless explicitly returning `false`, `start`, `split` and `reset` are executed right after.
// See https://github.com/LiveSplit/LiveSplit.AutoSplitters/blob/master/README.md#generic-update
update {
current.journalString = vars.journalReader.ReadToEnd();
}
// Executes every `update`. Starts the timer if the first journal event is detected.
// See https://github.com/LiveSplit/LiveSplit.AutoSplitters/blob/master/README.md#automatic-timer-start-1
start {
bool start = false;
if (vars.journalEntries[0].Match(current.journalString).Success) {
start = true;
vars.currentSplit = 1;
}
return start;
}
// Executes every `update`. Triggers a split if the journal event triggering the next split is detected.
// See https://github.com/LiveSplit/LiveSplit.AutoSplitters/blob/master/README.md#automatic-splits-1
split {
bool split = false;
if (!String.IsNullOrEmpty(current.journalString)) {
if (vars.journalEntries[vars.currentSplit].Match(current.journalString).Success) {
split = true;
vars.currentSplit++;
}
}
return split;
}
// Executes when the game process is shut down.
// In our case were going to close the files we opened in `init`.
// See https://github.com/LiveSplit/LiveSplit.AutoSplitters/blob/master/README.md#game-exit
exit {
vars.journalReader.Close();
}
// Executes when LiveScript shuts the auto splitter down, e.g. on reloading it.
// When reloading the splitter with the game running, LiveSplit does **not** execute `exit`, but it does execute `shutdown`.
// see https://github.com/LiveSplit/LiveSplit.AutoSplitters/blob/master/README.md#script-shutdown
shutdown {
if (vars.journalReader != null) {
vars.journalReader.Close();
}
}

View file

@ -0,0 +1,190 @@
<?xml version="1.0" encoding="UTF-8"?>
<Layout version="1.6.1">
<Mode>Vertical</Mode>
<X>51</X>
<Y>53</Y>
<VerticalWidth>286</VerticalWidth>
<VerticalHeight>386</VerticalHeight>
<HorizontalWidth>-1</HorizontalWidth>
<HorizontalHeight>-1</HorizontalHeight>
<Settings>
<TextColor>FFFFFFFF</TextColor>
<BackgroundColor>FF0F0F0F</BackgroundColor>
<BackgroundColor2>00000000</BackgroundColor2>
<ThinSeparatorsColor>03FFFFFF</ThinSeparatorsColor>
<SeparatorsColor>24FFFFFF</SeparatorsColor>
<PersonalBestColor>FF16A6FF</PersonalBestColor>
<AheadGainingTimeColor>FF00CC36</AheadGainingTimeColor>
<AheadLosingTimeColor>FF52CC73</AheadLosingTimeColor>
<BehindGainingTimeColor>FFCC5C52</BehindGainingTimeColor>
<BehindLosingTimeColor>FFCC1200</BehindLosingTimeColor>
<BestSegmentColor>FFD8AF1F</BestSegmentColor>
<UseRainbowColor>False</UseRainbowColor>
<NotRunningColor>FFACACAC</NotRunningColor>
<PausedColor>FF7A7A7A</PausedColor>
<TextOutlineColor>00000000</TextOutlineColor>
<ShadowsColor>80000000</ShadowsColor>
<TimesFont><![CDATA[AAEAAAD/////AQAAAAAAAAAMAgAAAFFTeXN0ZW0uRHJhd2luZywgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWIwM2Y1ZjdmMTFkNTBhM2EFAQAAABNTeXN0ZW0uRHJhd2luZy5Gb250BAAAAAROYW1lBFNpemUFU3R5bGUEVW5pdAEABAQLGFN5c3RlbS5EcmF3aW5nLkZvbnRTdHlsZQIAAAAbU3lzdGVtLkRyYXdpbmcuR3JhcGhpY3NVbml0AgAAAAIAAAAGAwAAAAhPcmJpdHJvbgAAQEEF/P///xhTeXN0ZW0uRHJhd2luZy5Gb250U3R5bGUBAAAAB3ZhbHVlX18ACAIAAAABAAAABfv///8bU3lzdGVtLkRyYXdpbmcuR3JhcGhpY3NVbml0AQAAAAd2YWx1ZV9fAAgCAAAAAwAAAAs=]]></TimesFont>
<TimerFont><![CDATA[AAEAAAD/////AQAAAAAAAAAMAgAAAFFTeXN0ZW0uRHJhd2luZywgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWIwM2Y1ZjdmMTFkNTBhM2EFAQAAABNTeXN0ZW0uRHJhd2luZy5Gb250BAAAAAROYW1lBFNpemUFU3R5bGUEVW5pdAEABAQLGFN5c3RlbS5EcmF3aW5nLkZvbnRTdHlsZQIAAAAbU3lzdGVtLkRyYXdpbmcuR3JhcGhpY3NVbml0AgAAAAIAAAAGAwAAAA5DZW50dXJ5IEdvdGhpYwAAL0IF/P///xhTeXN0ZW0uRHJhd2luZy5Gb250U3R5bGUBAAAAB3ZhbHVlX18ACAIAAAABAAAABfv///8bU3lzdGVtLkRyYXdpbmcuR3JhcGhpY3NVbml0AQAAAAd2YWx1ZV9fAAgCAAAAAgAAAAs=]]></TimerFont>
<TextFont><![CDATA[AAEAAAD/////AQAAAAAAAAAMAgAAAFFTeXN0ZW0uRHJhd2luZywgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWIwM2Y1ZjdmMTFkNTBhM2EFAQAAABNTeXN0ZW0uRHJhd2luZy5Gb250BAAAAAROYW1lBFNpemUFU3R5bGUEVW5pdAEABAQLGFN5c3RlbS5EcmF3aW5nLkZvbnRTdHlsZQIAAAAbU3lzdGVtLkRyYXdpbmcuR3JhcGhpY3NVbml0AgAAAAIAAAAGAwAAAAhPcmJpdHJvbgAAQEEF/P///xhTeXN0ZW0uRHJhd2luZy5Gb250U3R5bGUBAAAAB3ZhbHVlX18ACAIAAAAAAAAABfv///8bU3lzdGVtLkRyYXdpbmcuR3JhcGhpY3NVbml0AQAAAAd2YWx1ZV9fAAgCAAAAAwAAAAs=]]></TextFont>
<AlwaysOnTop>True</AlwaysOnTop>
<ShowBestSegments>True</ShowBestSegments>
<AntiAliasing>True</AntiAliasing>
<DropShadows>True</DropShadows>
<BackgroundType>SolidColor</BackgroundType>
<BackgroundImage />
<ImageOpacity>1</ImageOpacity>
<ImageBlur>0</ImageBlur>
<Opacity>1</Opacity>
<MousePassThroughWhileRunning>False</MousePassThroughWhileRunning>
</Settings>
<Components>
<Component>
<Path>LiveSplit.Title.dll</Path>
<Settings>
<Version>1.7.3</Version>
<ShowGameName>True</ShowGameName>
<ShowCategoryName>True</ShowCategoryName>
<ShowAttemptCount>False</ShowAttemptCount>
<ShowFinishedRunsCount>False</ShowFinishedRunsCount>
<OverrideTitleFont>False</OverrideTitleFont>
<OverrideTitleColor>False</OverrideTitleColor>
<TitleFont><![CDATA[AAEAAAD/////AQAAAAAAAAAMAgAAAFFTeXN0ZW0uRHJhd2luZywgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWIwM2Y1ZjdmMTFkNTBhM2EFAQAAABNTeXN0ZW0uRHJhd2luZy5Gb250BAAAAAROYW1lBFNpemUFU3R5bGUEVW5pdAEABAQLGFN5c3RlbS5EcmF3aW5nLkZvbnRTdHlsZQIAAAAbU3lzdGVtLkRyYXdpbmcuR3JhcGhpY3NVbml0AgAAAAIAAAAGAwAAAAhTZWdvZSBVSQAAUEEF/P///xhTeXN0ZW0uRHJhd2luZy5Gb250U3R5bGUBAAAAB3ZhbHVlX18ACAIAAAAAAAAABfv///8bU3lzdGVtLkRyYXdpbmcuR3JhcGhpY3NVbml0AQAAAAd2YWx1ZV9fAAgCAAAAAgAAAAs=]]></TitleFont>
<SingleLine>False</SingleLine>
<TitleColor>FFFFFFFF</TitleColor>
<BackgroundColor>FF2A2A2A</BackgroundColor>
<BackgroundColor2>FF131313</BackgroundColor2>
<BackgroundGradient>Vertical</BackgroundGradient>
<DisplayGameIcon>True</DisplayGameIcon>
<ShowRegion>False</ShowRegion>
<ShowPlatform>False</ShowPlatform>
<ShowVariables>True</ShowVariables>
<TextAlignment>0</TextAlignment>
</Settings>
</Component>
<Component>
<Path>LiveSplit.Subsplits.dll</Path>
<Settings>
<Version>1.7</Version>
<CurrentSplitTopColor>FF3373F4</CurrentSplitTopColor>
<CurrentSplitBottomColor>FF153574</CurrentSplitBottomColor>
<VisualSplitCount>11</VisualSplitCount>
<SplitPreviewCount>1</SplitPreviewCount>
<MinimumMajorSplits>0</MinimumMajorSplits>
<DisplayIcons>True</DisplayIcons>
<ShowThinSeparators>False</ShowThinSeparators>
<AlwaysShowLastSplit>True</AlwaysShowLastSplit>
<SplitWidth>20</SplitWidth>
<SplitTimesAccuracy>Seconds</SplitTimesAccuracy>
<BeforeNamesColor>FFFFFFFF</BeforeNamesColor>
<CurrentNamesColor>FFFFFFFF</CurrentNamesColor>
<AfterNamesColor>FFFFFFFF</AfterNamesColor>
<OverrideTextColor>False</OverrideTextColor>
<BeforeTimesColor>FFFFFFFF</BeforeTimesColor>
<CurrentTimesColor>FFFFFFFF</CurrentTimesColor>
<AfterTimesColor>FFFFFFFF</AfterTimesColor>
<OverrideTimesColor>False</OverrideTimesColor>
<LockLastSplit>False</LockLastSplit>
<IconSize>24</IconSize>
<IconShadows>True</IconShadows>
<SplitHeight>6</SplitHeight>
<CurrentSplitGradient>Vertical</CurrentSplitGradient>
<BackgroundColor>00FFFFFF</BackgroundColor>
<BackgroundColor2>01FFFFFF</BackgroundColor2>
<BackgroundGradient>Alternating</BackgroundGradient>
<SeparatorLastSplit>True</SeparatorLastSplit>
<DeltasAccuracy>Tenths</DeltasAccuracy>
<DropDecimals>True</DropDecimals>
<OverrideDeltasColor>False</OverrideDeltasColor>
<DeltasColor>FFFFFFFF</DeltasColor>
<HeaderComparison>Current Comparison</HeaderComparison>
<HeaderTimingMethod>Current Timing Method</HeaderTimingMethod>
<Display2Rows>False</Display2Rows>
<IndentBlankIcons>True</IndentBlankIcons>
<IndentSubsplits>True</IndentSubsplits>
<HideSubsplits>False</HideSubsplits>
<ShowSubsplits>False</ShowSubsplits>
<CurrentSectionOnly>False</CurrentSectionOnly>
<OverrideSubsplitColor>False</OverrideSubsplitColor>
<SubsplitGradient>Plain</SubsplitGradient>
<ShowHeader>True</ShowHeader>
<IndentSectionSplit>True</IndentSectionSplit>
<ShowIconSectionSplit>True</ShowIconSectionSplit>
<ShowSectionIcon>True</ShowSectionIcon>
<HeaderGradient>Vertical</HeaderGradient>
<OverrideHeaderColor>False</OverrideHeaderColor>
<HeaderText>True</HeaderText>
<HeaderTimes>True</HeaderTimes>
<HeaderAccuracy>Tenths</HeaderAccuracy>
<SectionTimer>True</SectionTimer>
<SectionTimerGradient>True</SectionTimerGradient>
<SectionTimerAccuracy>Tenths</SectionTimerAccuracy>
<SubsplitTopColor>8D000000</SubsplitTopColor>
<SubsplitBottomColor>00FFFFFF</SubsplitBottomColor>
<HeaderTopColor>2BFFFFFF</HeaderTopColor>
<HeaderBottomColor>D8000000</HeaderBottomColor>
<HeaderTextColor>FFFFFFFF</HeaderTextColor>
<HeaderTimesColor>FFFFFFFF</HeaderTimesColor>
<SectionTimerColor>FF777777</SectionTimerColor>
<ShowColumnLabels>False</ShowColumnLabels>
<LabelsColor>FFFFFFFF</LabelsColor>
<Columns>
<Settings>
<Version>1.5</Version>
<Name>+/-</Name>
<Type>Delta</Type>
<Comparison>Personal Best</Comparison>
<TimingMethod>Real Time</TimingMethod>
</Settings>
<Settings>
<Version>1.5</Version>
<Name>Time</Name>
<Type>SplitTime</Type>
<Comparison>Personal Best</Comparison>
<TimingMethod>Real Time</TimingMethod>
</Settings>
</Columns>
</Settings>
</Component>
<Component>
<Path>LiveSplit.Timer.dll</Path>
<Settings>
<Version>1.5</Version>
<TimerHeight>69</TimerHeight>
<TimerWidth>225</TimerWidth>
<TimerFormat>1.23</TimerFormat>
<OverrideSplitColors>False</OverrideSplitColors>
<ShowGradient>True</ShowGradient>
<TimerColor>FFAAAAAA</TimerColor>
<BackgroundColor>00000000</BackgroundColor>
<BackgroundColor2>FF222222</BackgroundColor2>
<BackgroundGradient>Plain</BackgroundGradient>
<CenterTimer>False</CenterTimer>
<TimingMethod>Current Timing Method</TimingMethod>
<DecimalsSize>35</DecimalsSize>
</Settings>
</Component>
<Component>
<Path>LiveSplit.PreviousSegment.dll</Path>
<Settings>
<Version>1.6</Version>
<TextColor>FFFFFFFF</TextColor>
<OverrideTextColor>False</OverrideTextColor>
<BackgroundColor>FF1C1C1C</BackgroundColor>
<BackgroundColor2>FF0D0D0D</BackgroundColor2>
<BackgroundGradient>Vertical</BackgroundGradient>
<DeltaAccuracy>Seconds</DeltaAccuracy>
<DropDecimals>True</DropDecimals>
<Comparison>Personal Best</Comparison>
<Display2Rows>False</Display2Rows>
<ShowPossibleTimeSave>False</ShowPossibleTimeSave>
<TimeSaveAccuracy>Tenths</TimeSaveAccuracy>
</Settings>
</Component>
<Component>
<Path>LiveSplit.ScriptableAutoSplit.dll</Path>
<Settings>
</Settings>
</Component>
</Components>
</Layout>

View file

@ -0,0 +1,96 @@
<?xml version="1.0" encoding="UTF-8"?>
<Run version="1.7.0">
<GameIcon />
<GameName>Elite Dangerous</GameName>
<CategoryName>Chicken Run: Crash Harder</CategoryName>
<LayoutPath>
</LayoutPath>
<Metadata>
<Run id="" />
<Platform usesEmulator="False">
</Platform>
<Region>
</Region>
<Variables />
</Metadata>
<Offset>00:00:00</Offset>
<AttemptCount>0</AttemptCount>
<Segments>
<Segment>
<Name>-Jump to Bento</Name>
</Segment>
<Segment>
<Name>-Drop at Snow Moon</Name>
</Segment>
<Segment>
<Name>-Dock at Snow Moon</Name>
</Segment>
<Segment>
<Name>{Bento}Buy Crystalline Spheres</Name>
</Segment>
<Segment>
<Name>-Jump to Okinura</Name>
</Segment>
<Segment>
<Name>-Drop at Okinura 8 C</Name>
</Segment>
<Segment>
<Name>{Okinura}Dock at Korniyenko Terminal</Name>
</Segment>
<Segment>
<Name>-Jump to Blatrimpe</Name>
</Segment>
<Segment>
<Name>-Drop at Blatrimpe 7</Name>
</Segment>
<Segment>
<Name>{Blatrimpe}Dock at Koch Beacon</Name>
</Segment>
<Segment>
<Name>-Jump to Shoujeman</Name>
</Segment>
<Segment>
<Name>-Drop at Shoujeman 5</Name>
</Segment>
<Segment>
<Name>{Shoujeman}Dock at Baffin Plant</Name>
</Segment>
<Segment>
<Name>-Jump to Wolf 562</Name>
</Segment>
<Segment>
<Name>-Drop at Lailas Memory/Name>
</Segment>
<Segment>
<Name>{Wolf 562}Dock at Kings Inheritance</Name>
</Segment>
<Segment>
<Name>-Jump to 5 G. Capricorni</Name>
</Segment>
<Segment>
<Name>-Drop at 5 G. Capricorni 3</Name>
</Segment>
<Segment>
<Name>{5 G. Capricorni}Dock at Moore Beacon</Name>
</Segment>
<Segment>
<Name>-Jump to Ross 905</Name>
</Segment>
<Segment>
<Name>-Drop at Robert Kelley</Name>
</Segment>
<Segment>
<Name>{Ross 905}Dock at Weber Legacy</Name>
</Segment>
<Segment>
<Name>-Jump to LTT 2151</Name>
</Segment>
<Segment>
<Name>-Drop at Noriega Station</Name>
</Segment>
<Segment>
<Name>{LTT 2151}Dock at Noriega Station</Name>
</Segment>
</Segments>
<AutoSplitterSettings />
</Run>

View file

@ -22,6 +22,14 @@ You are organizing one of the Magic 8-Ball races and want yours to be added to t
## Races
### Race 6 Chicken Run: Crash Harder
https://forums.frontier.co.uk/threads/the-buckyball-racing-club-presents-chicken-run-crash-harder-magic-8-ball-championship-race-6.605441/
The AutSplitter will start the timer once you undock from Noriega Station. it will **not** account for ending the race prematurely and returning to LTT 2151 before visiting _all_ other stops.
There are no settings.
### Race 4 On the Rocks
https://forums.frontier.co.uk/threads/the-buckyball-racing-club-presents-on-the-rocks-7th-15th-may-3307-magic-8-ball-championship-race-4.602955/