BGforge MLS is a collection of tools for working with classic RPG modding languages and file formats. It supports Star-Trek Scripting Language (.ssl) used in Fallout 1 and 2, several WeiDU and Infinity Engine formats (.d, .baf, .tp2, .tra, .2da), Sword Coast Stratagems Scripting Language (.ssl, .slb), and the TypeScript-based transpilers TSSL, TBAF, and TD.
Originally a VS Code extension, it now also works with various other editors. Setup guides are available for Sublime, Neovim, Emacs, JetBrains, Helix, Zed, Kate, Notepad++, and Geany. Standalone LSP server is published in NPM.
- Languages: Fallout SSL; WeiDU BAF, D, TP2.
- Transpilers: TSSL, TBAF, TD.
- Other formats: TRA, MSG, 2DA, Fallout PRO, worldmap.txt and scripts.lst.
- Installation
- Hotkeys
- Screenshots: completion, hover, error reporting, dialog tree preview.
- Forum
| Feature | Fallout SSL | WeiDU BAF | WeiDU SSL | WeiDU D | WeiDU TP2 |
|---|---|---|---|---|---|
| Extensions | .ssl, .h |
.baf |
.slb, .ssl |
.d |
.tp2, .tpa, .tph, .tpp |
| Completion | ✓ | ✓ | ✓ | ✓ | ✓ |
| Hover | ✓ | ✓ | ✓ | ✓ | ✓ |
| Signature help | ✓ | ||||
| Go to definition | ✓ | ✓ | ✓ | ||
| Find references | ✓ | ✓ | ✓ | ||
| Formatting | ✓ | ✓ | ✓ | ✓ | ✓ |
| Document symbols | ✓ | ✓ | ✓ | ||
| Workspace symbols | ✓ | ✓ | |||
| Semantic tokens | ✓ | ✓ | |||
| Rename | ✓ | ✓ | Same file | ||
| Inlay hints | .msg |
.tra |
.tra |
.tra |
.tra |
| Diagnostics | ✓ | ✓ | ✓ | ✓ | ✓ |
| JSDoc | ✓ | ✓ | ✓ | ||
| Folding | ✓ | ✓ | ✓ | ✓ | ✓ |
| Dialog preview | ✓ | ✓ |
These are TypeScript-like language subsets that compile to the scripting formats above.
They bring the TypeScript type system, many TypeScript features, and better tooling to modding.
| Transpiler | Extension | Target | Inlay Hints | Dialog Preview |
|---|---|---|---|---|
| TSSL | .tssl | .ssl | .msg | ✓ |
| TBAF | .tbaf | .baf | .tra | |
| TD | .td | .d | .tra | ✓ |
TSSL (.tssl) compiles to Fallout SSL. Companion project: FOlib.
TBAF (.tbaf) compiles to WeiDU BAF. Important additions include functions, loops, variables, arrays, enums. Companion project: IETS.
TD (.td) compiles to WeiDU D. Same features as TBAF, but has different structure. Also uses IETS.
| Format | Extensions | Support |
|---|---|---|
| Fallout worldmap | worldmap.txt | Completion, hover, syntax highlighting |
| Fallout MSG | .msg | Syntax highlighting |
| Fallout scripts.lst | scripts.lst | Syntax highlighting |
| Fallout PRO | .pro | Binary viewer |
| WeiDU TRA | .tra | Syntax highlighting |
| Infinity 2DA | .2da | Syntax highlighting |
- Install BGforge MLS from the VS Code Marketplace. Alternatively, download the package from GitHub Releases and install it manually.
- Check general settings.
- Check file associations.
- Check hotkeys.
- Enable custom theme and icon theme.
- (Infinity Engine) Install IElib.
CTRL+R: compile a Fallout.sslfile or parse a WeiDU file, reporting errors if any.CTRL+SHIFT+V: open dialog tree preview (SSL, TSSL, D, TD files).- Standard VS Code hotkeys:
CTRL+SHIFT+O: document symbolsCTRL+T: workspace symbols
Visual dialog tree for SSL, TSSL, D, and TD files. Open with CTRL+SHIFT+V or the command palette. Shows states, transitions, and resolved translation strings.



