Skip to content

raineycat/vsml

Repository files navigation

VSML - A mod loader for vivid/stasis

Individual component documentation

Sister projects

Features

  • Loads mods written in C#
  • Enables the GameMaker debug overlay
  • Comes with custom chart support
  • Comes with a GML script injector for debugging
  • Caches installed mods and data for faster loading

Goals

  • Add utilities to make hooking code and adding assets easier
  • Maintain accurate documentation on things like file formats and charting

Installation

Download the latest release as a zip file, and extract it into the game folder, such that version.dll is in the same place as vividstasis.exe.

Alternatively, use the installer (also in the latest release).

Note

If you're running the game through Proton on Linux, you need to do a couple extra steps.

First, install the correct redists in your Wine prefix:

protontricks 2093940 --force vcrun2022
protontricks 2093940 dotnetdesktop9

Go into the game in your Steam library, open the properties dialog, and set the launch options to:

WINEDLLOVERRIDES="version=n,b" %command%

Building

To build VSML from source, you need:

If you're building on Linux, you also need:

  • cargo-xwin
  • The x86_64-pc-windows-msvc Rust target

Important

Make sure you cloned this repo recursively, otherwise dependencies will be missing.

If you didn't do this, then you can run:

just fetch-submodules

or

git submodule update --init --recursive

VSML uses the Just command runner to make building easier. The most useful recipies are:

  • just make-zip - Builds a ZIP file ready to be installed
  • just make-dist - Builds everything and puts it into the correct folder structure for installation
  • just build-installer - Builds the installer (as this is not included in the make-* recipies)
  • just clean-all - Removes all generated build artifacts

The recipes will automatically handle cross compiling from Linux to Windows if needed.

To make a release build, use just --set build_cfg Release [recipe].