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 languages 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.
- TypeScript-based languages: TSSL, TBAF, TD.
- Other formats: TRA, MSG, 2DA; Fallout worldmap.txt, scripts.lst; weidu.log.
- Binary formats: Fallout PRO, MAP; Infinity ITM, SPL, EFF, CRE.
- Animations: Fallout FRM; Infinity BAM.
- Image gallery: browse the images of an open game or workspace folder.
- GitHub actions: format, transpile, compile, convert binaries to JSON and back.
- Installation
- Hotkeys
- Screenshots: completion, hover, error reporting, dialog editor, animation viewer.
- 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 | ✓ | ✓ | ✓ | ✓ |
| Quick fixes | ✓ | ✓ | ✓ | ✓ |
| JSDoc | ✓ | ✓ | ✓ | |
| Folding | ✓ | ✓ | ✓ | ✓ |
| Dialog editor | ✓ | ✓ | ||
| Compiler | ssl |
Seamless support for .int and .bcs included.
These are TypeScript-like language subsets for writing mods. TSSL compiles straight to Fallout bytecode; TBAF and TD generate WeiDU source, which WeiDU then installs.
They bring the TypeScript type system, many TypeScript features, and better tooling to modding.
| Language | Extension | Output | Inlay Hints | Dialog Editor |
|---|---|---|---|---|
| TSSL | .tssl | .int | .msg | ✓ |
| TBAF | .tbaf | .baf | .tra | |
| TD | .td | .d | .tra | ✓ |
TSSL (.tssl) compiles .int. Optionally can transpile to .ssl as well. 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 | Formatting |
|---|---|---|---|---|---|---|
| Fallout worldmap.txt | ✓ | ✓ | ✓ | |||
| Fallout MSG | ✓ | ✓ | ✓ | |||
| Fallout scripts.lst | ✓ | ✓ | ||||
| WeiDU TRA | ✓ | ✓ | ✓ | |||
| WeiDU.log | ✓ | tp2 | ||||
| Infinity 2DA | ✓ | ✓ |
Fallout PRO and MAP files, and Infinity Engine ITM, SPL, EFF, and CRE files, have a built-in binary editor with JSON dump/load support. Infinity Engine .dlg files are read and written by the same library, but open in the dialog editor rather than the binary one.
GitHub Actions keep generated artifacts in mod repositories up to date: they refresh binary-format JSON snapshots, format Fallout/WeiDU sources, and regenerate transpiler output, committing the results back or simply verifying they match. A fourth compiles TSSL to Fallout INT bytecode as a CI check.
BGforge MLS runs in desktop VS Code and in code-server. It is not supported on vscode.dev or github.dev: the bundled SSL compiler and the workspace scanner both need a real filesystem.
- 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.sslor.tsslfile, transpile a.tbafor.td, or parse a WeiDU file, reporting errors if any.CTRL+SHIFT+V: open the Dialog Editor (SSL, TSSL, D, TD files).- Standard VS Code hotkeys:
CTRL+SHIFT+O: document symbolsCTRL+T: workspace symbols
Visual dialog editor for SSL, TSSL, D, and TD files. Open with CTRL+SHIFT+V or the command palette. Shows states, transitions, and resolved translation strings.
Seamless support for .dlg included.
Supported animation formats are BAM and FRM. PNG import/export is available, as well as cross-format save (conversion).
Game and workspace image gallery. IE games only. Launch with commands:
BGforge: Game Image Gallerybrowses the images of the game atbgforge.weidu.gamePath.BGforge: Workspace Image Gallerybrowses the open folder.






