Skip to content

Commit 5c0c528

Browse files
Finish up readme
1 parent b5c9da9 commit 5c0c528

File tree

4 files changed

+52
-19
lines changed

4 files changed

+52
-19
lines changed

Logo/Icon_512x512.png

55.1 KB
Loading

Logo.png renamed to Logo/Logo.png

File renamed without changes.

Logo.svg renamed to Logo/Logo.svg

File renamed without changes.

README.md

Lines changed: 52 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,64 @@
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

Comments
 (0)