Skip to content

Latest commit

 

History

122 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Rando Logic Script

The goal for RLS is to be a declarative, domain-specific language for defining randomizer logic - regions, locations, exits, events, and their access conditions. It transpiles to C++ (for Shipwright) and Python (for Archipelago-SoH, possibly rulebuilder json), so both projects share a single source of truth.

Usage

RandoLogicScript [options] <files/folders...>

Options

Option Description
-t, --transpiler <name> Transpiler to use, must be followed by -o. May be repeated.
-o, --output <dir> Output directory for the preceding transpiler.
-h, --help Show help message.

Each -t must be paired with an -o:

RandoLogicScript -t soh -o out/soh/ src/

Multiple transpilers can be specified, each with their own output directory:

RandoLogicScript -t soh -o out/soh/ -t ap -o out/ap/ src/ extra.rls

Input paths can be individual .rls files or directories (which are recursively scanned for .rls files).

Available Transpilers

Name Target
soh C++ for Shipwright
ap Python for Archipelago

Docs

About

A declarative DSL for defining randomizer logic - regions, locations, exits, events, and their access conditions.

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages