1- # Using
1+ <h1 align =" center " >
2+ <br >
3+ <img src="https://raw.github.com/thecodewarrior/SwiftSplit/master/Logo/Icon_512x512.png" title="SwiftSplit Icon"
4+ width="256" height="256" alt="SwiftSplit Icon">
5+ <br >
6+ SwiftSplit
7+ </h1 >
28
3- - Open SwiftSplit
4- - Enter your admin password (SwiftSplit needs the admin password to read Celeste's game memory
5- - Go to [ LiveSplit One] ( https://one.livesplit.org/ )
6- - Open Celeste * after* SwiftSplit
9+ SwiftSplit is a macOS autosplitter for Celeste, though given the time and motivation I hope to extend it to more than
10+ just Celeste. It works by acting as a split server for [ LiveSplit One] ( https://one.livesplit.org/ ) , reading Celeste's
11+ memory and translating that into split commands that LiveSplit understands.
712
13+ ## Using SwiftSplit
814
9- # Splits JSON
15+ Launching and using SwiftSplit is fairly simple, with only three broad steps.
16+ - Launching SwiftSplit and connecting it to Celeste
17+ - Connecting LiveSplit One to the SwiftSplit server
18+ - Loading your splits and route
1019
11- Splits are configured using a JSON file and use "events" generated by SwiftSplit. They consist of a reset event and a
12- list of route events. Unlike the route, which listens for events in a specific order, the reset event can trigger at
13- any point during the route. Here's an example for Old Site:
20+ ### Connecting to Celeste
21+ 1 . Open SwiftSplit
22+ 2 . Open Celeste * after* SwiftSplit
23+ - If you are using Everest, you're free to restart into ` orig/Celeste.exe ` as normal
24+ 3 . SwiftSplit should automatically detect Celeste launching and report the "Connection status" as "Connecting…". During
25+ this time * do not load any maps.* Stay on the main menu until the connection has been made. This may take up to 30
26+ seconds after Celeste fully loads in extreme cases.
1427
28+ ### Connecting to [ LiveSplit One] ( https://one.livesplit.org/ )
29+ 4 . Copy the LiveSplit server URL displayed in SwiftSplit
30+ 5 . Click "Connect to Server" in LiveSplit One and paste that URL
31+ - Note: navigating away from the timer screen may make the server button say it isn't connected any more. This is a
32+ bug. You can check that it's still connected with the "LiveSplit clients" field in SwiftSplit, which should read
33+ "1". If that field reads "0", you need to connect. If it reads "2" or higher then you've connected multiple times
34+ and will need to save your splits and reload LiveSplit One, otherwise each split will count multiple times.
35+
36+ ### Loading the Run
37+ 6 . Load up your splits in LiveSplit One
38+ 7 . Load the corresponding route JSON in SwiftSplit by either clicking "Load Route" or dragging the ` .json ` file onto the
39+ "Route" box in SwiftSplit.
40+
41+ ## Pre-made splits
42+ Pre-made splits and route JSON files for Any% can be found [ here] ( https://github.com/thecodewarrior/SwiftSplit/tree/master/example ) .
43+ The listed ` .lss ` files can be imported directly into LiveSplit One and the corresponding ` .json ` files can be loaded
44+ into SwiftSplit.
45+
46+ # Route JSON
47+ Routes are configured using a JSON file and use "events" generated by SwiftSplit. They consist of a reset event and a
48+ list of route events. SwiftSplit expects route events in a specific order and triggers splits on those events. The reset
49+ event can trigger at any point during the route and will reset the run.
50+
51+ Here's an example for Old Site Any%:
1552``` json
1653{
1754 "useFileTime" : false ,
1855 "reset" : " reset chapter" ,
1956 "route" : [
20- " start chapter 2" ,
21- " d8 > d3" ,
22- " 3x > 3" ,
23- " 8 > 9" ,
24- " 10 > 2" ,
25- " 12 > 13" ,
57+ " start chapter 2 ## Start" ,
58+ " d8 > d3 ## - Mirror" ,
59+ " 3x > 3 ## Intervention" ,
60+ " 10 > 2 ## - Escape" ,
61+ " 13 > end_0 ## Awake" ,
2662 " complete chapter 2"
2763 ]
2864}
@@ -36,11 +72,8 @@ The currently defined events are (`<...>` indicates a fill-in parameter):
3672 looking at the ` Level: Name: ` when connected to Celeste, or by enabling debug and hovering over the screen in the map
3773 editor.
3874
39- Note that the * exact* text is important. Spaces and capitalization have to match.
40-
75+ Note that the * exact* text is important. Spaces and capitalization have to match, with a couple additions:
4176- Inserting an exclamation point (` ! ` ) at the beginning of an event will cause that event to not trigger a split. This
4277 can be useful when your route passes between two screens multiple times but you only want one split.
4378- Anything after a ` ## ` (* exactly* one space and two pound signs) will be trimmed off. This can be useful for
4479 explaining events.
45-
46-
0 commit comments