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, MAP, worldmap.txt, scripts.lst; weidu.log.
- Installation
- Hotkeys
- Screenshots: completion, hover, error reporting, dialog tree preview.
- Forum
| Feature | Fallout SSL | WeiDU BAF/SSL | WeiDU D | WeiDU TP2 |
|---|---|---|---|---|
| Extensions | .ssl, .h |
.baf, .ssl, .slb |
.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 |
| 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 | Highlighting | Completion | Hover | GoTo | References |
|---|---|---|---|---|---|---|
| Fallout worldmap | worldmap.txt | ✓ | ✓ | ✓ | ||
| Fallout MSG | .msg | ✓ | ✓ | |||
| Fallout scripts.lst | scripts.lst | ✓ | ||||
| WeiDU TRA | .tra | ✓ | ✓ | |||
| WeiDU log | weidu.log | ✓ | tp2 | |||
| Infinity 2DA | .2da | ✓ |
Fallout PRO and MAP files have a built-in binary editor with JSON dump/load support.
- 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.



