Skip to content

Nim parser for Morrowind .esp and .esm files

Notifications You must be signed in to change notification settings

Toma400/Espirit

Repository files navigation

espirit

Espirit

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.

Installing and use

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.

License

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.

FAQ

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.

About

Nim parser for Morrowind .esp and .esm files

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages