pniedzielski / srt-autosplitter-linux

A loadless autosplitter for speedrunning the Spyro Reignited Trilogy on Linux

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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.

About

A loadless autosplitter for speedrunning the Spyro Reignited Trilogy on Linux


Languages

Language:C++ 98.8%Language:CMake 1.2%