oberien / refunct-tas

Tool for Tool assisted Speedruns for the game Refunct
31 stars 8 forks source link
game game-refunct refunct refunct-tas

Refunct TaS Tool

This project is a tool enabling Tool assisted Speedruns in the game Refunct.

Building

Refunct-tas is supported on Linux and Windows.

Linux

Make sure to have rust installed either with rustup containing the latest nightly compiler. Execute make. This will create the directory build/linux/ containing refunct-tas, librtil.so and some rebo script files.

Windows

Make sure to have Rust installed with rustup and installed the latest nightly-i686-pc-windows-msvc. Execute the file make.bat either with a double-click, or preferably in cmd. It will create a directory build\practice-windows\ containing refunct-tas.exe, rtil.dll, Cargo.toml and some rebo script files.

Running

Refunct must already be running before executing these steps.

Linux

On Linux LD_PRELOAD is used to inject the refunct tas runtime library (rtil) into the process. This can be done in Steam in Library → Right click on Refunct → Properties → Set Launch Options... . There, specify LD_PRELOAD=/absolute/path/to/build/linux/librtil.so %command%.

To run the default practice functionality, execute refunct-tas, which will run main.re by default.
To run your own rebo script file, execute refunct-tas <file>.

Windows

To run the default practice functionality, double-click on refunct-tas.exe, which will run main.re by default. To run your own rebo script file, open cmd (e.g. with Win+R → cmd → Enter) and cd into the directory containing the TAS tool files (e.g. with cd C:\Users\User\refunct-tas\). There, execute refunct-tas.exe <file> to run that rebo script file.

Writing Script Files

Script files are written in the rebo programming language. The tool exposes an API which can be used by scripts to change different things within Refunct. The exposed API can be seen in rebo_init.rs. You can find all code of the practice functionality in the tool directory.

Troubleshooting

If your issue is not mentioned in this section, or you couldn't resolve it, please contact me and provide the file %temp%/refunct-tas.log as well as all output of the tool on the command line. Either open an issue here or tag me (oberien) on the Refunct Speedrunners Discord Guild.