Skip to content

BGforgeNet/BGforge-MLS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1,693 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

BGforge multi-language server

VS Code Marketplace 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 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

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

Transpilers

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.

Other formats

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

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 file 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 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 tree preview

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.

dialog tree preview example

Error reporting

error reporting example