Skip to content
| Marketplace
Sign in
Visual Studio Code>Programming Languages>BGforge MLSNew to Visual Studio Code? Get it now.
BGforge MLS

BGforge MLS

BGforge

|
2,453 installs
| (0) | Free
BGforge multilanguage server
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

BGforge multi-language server

Patreon Telegram Discord IRC

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.
  • GitHub actions: format, transpile, compile, convert binaries to JSON and back.
  • Installation
  • Hotkeys
  • Screenshots: completion, hover, error reporting, dialog editor, animation viewer.
  • Forum

Languages

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 editor ✓ ✓
Compiler ssl

Compiled Fallout .int scripts open as editable SSL - highlighting, outline and search - and save back over the .int in place. Local and argument names are not stored in a compiled script, so those are generated; a script that cannot be structured back opens as a read-only instruction listing.

Compiled Infinity Engine .bcs scripts open the same way, as editable BAF, and save back over the .bcs in place. Every name in one is a number the install's own tables give a meaning to, so this needs a game open; without one the tab says so and stays read-only.

TypeScript-based languages

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.

Other formats

Format / Extensions Highlighting Completion Hover GoTo References Formatting
Fallout worldmap.txt ✓ ✓ ✓
Fallout MSG ✓ ✓ ✓
Fallout scripts.lst ✓ ✓
WeiDU TRA ✓ ✓ ✓
WeiDU.log ✓ tp2
Infinity 2DA ✓ ✓

Binary formats

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.

GitHub Actions

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.

Installation

  1. Install BGforge MLS from the VS Code Marketplace. Alternatively, download the package from GitHub Releases and install it manually.
  2. Check general settings.
  3. Check file associations.
  4. Check hotkeys.
  5. Enable custom theme and icon theme.
  6. (Infinity Engine) Install IElib.

Hotkeys

  • CTRL+R: compile a Fallout .ssl or .tssl file, transpile a .tbaf or .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 symbols
    • CTRL+T: workspace symbols

Screenshots

Infinity Engine highlighting and completion

infinity highlighting and completion example

Fallout highlighting and hovers

fallout highlighting and hover example

Dialog editor

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.

Compiled Infinity Engine .dlg files open in the same editor: the states, transitions, triggers and actions the file stores. Spoken text lives in the game's dialog.tlk, so it resolves once a game is open - the editor offers a button to open one when there is none. What a line says can be changed and saved, by pointing it at a different entry in the game's text. The trigger on a state and the condition and action on a reply are script text the file stores, and are edited in place. Replies can be added, removed and retargeted - including at a state in another dialog the tree holds - and states appended; a state's number is its position in the file and other dialogs address it by that number, so states are never renumbered - one is taken out of play by detaching it, which points the replies that led there at the end of the conversation and leaves the record where it is. The dialogs this conversation hands off to, and the ones that hand off to it, are drawn in the same graph as read-only context.

dialog editor example

Error reporting

error reporting example

Binary editor

binary editor example

Animation viewer

Supported animation formats are BAM and FRM. PNG import/export is available, as well as cross-format save (conversion).

animation viewer example

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
  • Your Privacy Choices
  • Consumer Health Privacy
© 2026 Microsoft