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 >
2
8
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.
7
12
13
+ ## Using SwiftSplit
8
14
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
10
19
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.
14
27
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%:
15
52
``` json
16
53
{
17
54
"useFileTime" : false ,
18
55
"reset" : " reset chapter" ,
19
56
"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" ,
26
62
" complete chapter 2"
27
63
]
28
64
}
@@ -36,11 +72,8 @@ The currently defined events are (`<...>` indicates a fill-in parameter):
36
72
looking at the ` Level: Name: ` when connected to Celeste, or by enabling debug and hovering over the screen in the map
37
73
editor.
38
74
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:
41
76
- Inserting an exclamation point (` ! ` ) at the beginning of an event will cause that event to not trigger a split. This
42
77
can be useful when your route passes between two screens multiple times but you only want one split.
43
78
- Anything after a ` ## ` (* exactly* one space and two pound signs) will be trimmed off. This can be useful for
44
79
explaining events.
45
-
46
-
0 commit comments