Espirit is simple parser of Morrowind .esp & .esm files, written entirely in Nim language.
Currently, it is in very early development stage, thus it is not stable enough
for projects where that matters.
Make sure to check it out in few months however, as I will strive to make it
fairly complete by that time.
You can install Espirit by using standard Nimble installation:
nimble install https://github.com/Toma400/Espirit
In code, simply import the library and use newMWPlugin proc:
import espirit
let esp = newMWPlugin("your_mod_file.esp")
You can find reference to the object in espirit.nim file.
Right now, Espirit allows you to parse .esm and .esp files which have
only fields supported by the library - with other files being parsed
in random extent.
The feature plan is to allow Espirit to parse every file into custom
MWPlugin struct and potentially also export it to JSON format at will.
Espirit is allowed for personal and non-commercial use as dependency
for other projects.
You can use it as library and fork to create PRs, but I do not permit
using its code for other reasons. Training for large language models
is specifically prohibited.
Q: Will other games (Oblivion, Skyrim, Fallout) be covered?
A: Not by me. If you want to make PR with their respective parsers, feel
free to contribute.
Q: Will saving to .esp, merging and other actions be available?
A: It’s not planned at the moment. If either the plugin use by me becomes
important part of my future development, or if the plugin gets enough
attention, I can think about it.
Mind you that plugin merging and editing is covered by Construction Set
and software like TESAME.