Git Product home page Git Product logo

swiftsplit's Introduction


SwiftSplit Icon
SwiftSplit

SwiftSplit is a macOS autosplitter for Celeste, though given the time and motivation I hope to extend it to more than just Celeste. It works by acting as a split server for LiveSplit One, reading Celeste's memory and translating that into split commands that LiveSplit understands.

Using SwiftSplit

Launching and using SwiftSplit is fairly simple, with only three broad steps.

  • Launching SwiftSplit and connecting it to Celeste
  • Connecting LiveSplit One to the SwiftSplit server
  • Loading your splits and route

Connecting to Celeste

  1. Open SwiftSplit
  2. Open Celeste after SwiftSplit
    • If you are using Everest, you're free to restart into orig/Celeste.exe as normal
    • The first time SwiftSplit connects it will ask you to enter your administrator password. This is normal, and is required for SwiftSplit to read information from Celeste.
  3. SwiftSplit should automatically detect Celeste launching and report the "Connection status" as "Connecting…". During this time do not load any maps. Stay on the main menu until the connection has been made. This may take up to 30 seconds after Celeste fully loads in extreme cases.

Connecting to LiveSplit One

  1. Copy the LiveSplit server URL displayed in SwiftSplit
  2. Click "Connect to Server" in LiveSplit One and paste that URL
    • Note: navigating away from the timer screen may make the server button say it isn't connected any more. This is a bug. You can check if it's still connected in SwiftSplit.

Loading the Run

  1. Load up your splits in LiveSplit One
  2. Load the corresponding route JSON in SwiftSplit by either clicking "Load Route" or dragging the .json file onto the "Route" box in SwiftSplit.

Browser Compatibility

Safari - Not compatible

Safari doesn't like the way SwiftSplit communicates with LiveSplit One, so LiveSplit stalls when trying to connect.

Firefox - Mostly compatible

Unless you can keep LiveSplit open and visible, Firefox will slow down the LiveSplit One tab, causing it to record incorrect times. If you keep the LiveSplit window open on a second display this isn't an issue.

Chrome - Compatible

Chrome doesn't seem to have the same optimization as Firefox, which in this case is a good thing. If you're using Firefox and your splits are coming out wrong, try with Chrome and see if that fixes it.

Pre-made splits

You can get pre-made splits from the examples directory. Included are:

  • Full-game
    • Any%
  • IL (chapters 1–9)
    • Any%
    • B-side
    • C-side

Authoring your own routes

See Authoring Routes

swiftsplit's People

Contributors

thecodewarrior avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

swiftsplit's Issues

Ending chapters inconsistency.

When ending a chapter, it seems to randomly either output "reset chapter leave chapter" or "completed chapter". If it outputs reset chapter leave chapter the splits stop working immediately. Do you know why this is or how to fix it? on mac btw.

Speedy cutscene skip

(still an issue on 1.2) if you skip the cutscene at the end too fast it thinks you left the game and are resetting the run.

Make Apple Silicon build

The current released version is an Intel application. Is there a possiblity of compiling this app as a Universal 2 binary?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.