Spyro SRT Autosplitter for Linux
This repository contains a loadless autosplitter for speedrunning the Spyro Reignited Trilogy on Linux with LiveSplit One.
For speedrunning SRT on Windows, Dinopony has created a LiveSplit ASL file, which is run by LiveSplit’s built-in autosplitter component. There are two issues on Linux, though. First, LiveSplit One, the cross-platform version of LiveSplit, does not support ASL files, and instead provides a WebSocket interface for controlling the timer. Second, even if you run LiveSplit through Wine, the autosplitter unfortunately does not work if you’re running SRT on Linux through Steam’s Proton.
However, Proton/Wine maintains the memory layout of Windows programs it runs , meaning most of the work in the ASL file can be ported over to Linux. The autosplitter in this directory is meant to be as faithful a port of the ASL autosplitter as possible to a C++ program, enough that its code and the code of the ASL file could be compared side-by-side to verify the correctness of our port.
This is still alpha software! Don’t try to submit to the leaderboard with this!
Build Instructions
To build this program, make sure you have a C++17 compatible
compiler and cmake
.
mkdir build && cd build/
cmake -G "Unix Makefiles" ..
make
This will result in an executable called srt-autosplitter-linux
being created.
Running Instructions
LiveSplit One supports a WebSocket interface for controlling its timer. This autosplitter outputs the timer commands to stdout, so we use websocketd to send our timer commands to LiveSplit One.
After SRT is running and at the menu screen, run:
websocketd --port 9000 ./srt-autosplitter-linux
Now, with LiveSplit One open, click “Connect to Server”, and enter
the address ws://localhost:9000/
. The autosplitter should be in
control of your game timer now.