IElib is a companion library for BGforge MLS, a VScode extension providing support for WeiDU syntaxes, as well as Infinity Engine script and dialog file formats.

Essentially, it defines various constants: opcode numbers, icon numbers, etc, so that they could be used instead of magic numbers, improving overall code readability and simplifying development. (Similarly to what WeiDU does.) Most of the these are pulled from IESDP.

It also provides some custom functions and macros that could be useful. The documentation on those is to the left.

IElib’s primary purpose is to be used with MLS, but if you prefer, you can use it standalone as well.


  1. Init submodule
    cd mymod
    git submodule add -b master lib/bgforge
    git commit -m "added BGforge IElib"

    (Note: once you’ve added a submodule to your repo, new clones will require an additional step: git submodule update --init --recursive.)

  2. Enable
      INCLUDE ~%BGFORGE_LIB_DIR%/main.tpa~

    Browse the code to see the available constants, use BGforge MLS to get tips (completion and stuff).

  3. Update
    git submodule update --remote
    git add lib/bgforge
    git commit -m "updated BGforge IElib"

Questions and issues

  • Report bugs, suggest features, send pull requests to Github.
  • Ask questions and discuss on the forum.