Skip to content

Instantly share code, notes, and snippets.

View keyboardcrash1's full-sized avatar
๐ŸŽ€

keyboardcrash1

๐ŸŽ€
  • Republic of Belarus
  • 19:00 (UTC +03:00)
View GitHub Profile
@Eein
Eein / autosplitter-linux.md
Last active June 9, 2022 10:22
Octopath Traveler Autosplitter Linux

Autosplitter on Linux

This is assuming you are using an arch derivitive

Steam

  • install steamtinkerlaunch (yay -S steamtinkerlaunch)
  • run steamtinkerlaunch compat add
  • restart steam (killall steam if needed)
  • right click game, go to Properties... > Compatibility
  • click checkbox to force the use of a steam play compat tool, and select "Steam Tinker Launch"
  • install Visual Studio; important: select .NET Framework 4.6.1 to be installed additionally to everything else!
  • create a new project and select "Class Library (.NET Framework)", make sure to select .NET Framework 4.6.1 as the version
  • from your Solution Explorer (on the right by default), right-click "References", select "Add Reference...", click "Browse..." at the bottom and navigate to your LiveSplit folder, where you need to add LiveSplit.Core.dll and UpdateManager.dll
  • add a new class to your project which implements the IComponent interface or extends one of its implementing classes
  • add a new class to your project that implements IComponentFactory
  • implement the Create() method of this interface, such that it returns and instance of the component class you created
  • add a ComponentFactory attribute to the AssemblyInfo.cs file and give it the type of your factory class:
[assembly: ComponentFactory(typeof(MyComponentFactory))]
@just-ero
just-ero / AutoSplitterData.cs
Last active March 10, 2023 10:11
An example class for developers to put into their games to make life of ASL creators easier.
// This is a minimum example for adding autosplitter support to a game written in C# - including all Unity games.
// This class should be excluded from any potential obfuscation.
public static class AutoSplitterData
{
// This could for example match any in-game timer.
public static double inGameTime = 0d;
// Set to true if the game is currently loading; otherwise, false.
// Do not add both inGameTime and isLoading. One suffices.
@just-ero
just-ero / asl-resource-dalet.md
Last active April 5, 2024 23:53
Provides some general information about how to go about making a LiveSplit auto splitter.

Resources to learn making very simple Auto Splitters

Preamble: this should not be attempted with online games or games which have an anti cheat in place, it could result in permanent bans.

Learn how to use Cheat Engine

The Cheat Engine section in the #tutorials channel in the Speedrun Tool Development Discord server has a few tutorials and guides. It is recommended to also do the Cheat Engine tutorial when the software is first launched. The Cheat Engine wiki and forums also have more resources. Cheat Engine is usually used to find health or money addresses to edit their values. Those addresses will be the information your auto splitter will depend on for everything it does. Should the goal be to split upon level changes, searching for an index (often int (4 Bytes)) or a name (string) can yield good results. For lo

@TheSoundDefense
TheSoundDefense / README.md
Last active March 16, 2025 17:49
Tutorial - how to create a LiveSplit component

Creating a LiveSplit component

Since LiveSplit's official documentation is a work in progress, and I couldn't find another guide for this anywhere else, I decided I would write my own. This will hopefully act as a good reference for getting started and making simple components, de-mystifying the process.

Things you will learn:

  • How to set up your Visual Studio project
  • How to set up the code structure of your component
  • How to create a simple InfoTextComponent (which displays a label on the left, and some text on the right)
// ==UserScript==
// @name vasilysu_calc_cheat
// @namespace http://gist.github.com/
// @homepage http://dikey0ficial.rf.gd/vasilysu_calc_cheat.html
// @version 1.1
// @description Simple cheat script to skip unsolvable games on http://vasily.su/calculator-game/
// @author d!key
// @match http://vasily.su/calculator-game/level_random1.html
// @match http://vasily.su/calculator-game/level_random2.html
// @match http://vasily.su/calculator-game/level_random3.html
@zromick
zromick / MSD Server List.md
Created March 21, 2021 13:05
Mobile Speedrunning Discord Game Specific Server List
@jessechounard
jessechounard / GameName.asl
Last active June 14, 2023 08:37
SpeedrunHelper
// This file is for the speedrun community to use as a base for
// their LiveSplit autosplitter. You can set it up to read the
// memory you've layed out, and they can take it from there.
state("GameName") {
}
startup {
vars.scanTarget = new SigScanTarget(0,
"de c0 ad de de c0 37 13" // tag (0x1337c0dedeadc0de)
@sergev
sergev / debian-mipsel-on-qemu.md
Last active September 12, 2025 09:24
Installing Debian MIPS32 on QEMU

Let's install Debian 9.0 "Stretch" on QEMU MIPS32 under Ubuntu.

Step 1: Install QEMU

sudo apt install qemu-system-mips

Step 2: Download Linux kernel and installation image

wget http://ftp.debian.org/debian/dists/stretch/main/installer-mipsel/current/images/malta/netboot/vmlinux-4.9.0-11-4kc-malta