Code Monkey home page Code Monkey logo

esp.json's Introduction

esp.json

JSON definitions for parsing Bethesda Plugin Files.

schema

The definition schema is described in schema.json with a JSON Schema.

You can use WebStorm or another tool which supports draft-07 JSON schema to validate definition file schema. The schema was verified using WebStorm, so it is the recommended option. The individual definition files use the definitionEntrySchema.json JSON schema file.

usage

Releases package definition files in a ZIP archive named definitions.zip. It is recommended to parse the definitions from this archive directly to avoid distributing uncompressed JSON text files.

You can download built definition files from the data folder, the compiled definitions are the <game>.json files. The subfolders with individual definition entries are present for human viewing, and should not be consumed by applications.

plans

  • Unimplemented argument handlers can be found in src/Converter/args.js. I would like certain less-used options to be toggleable by generation flags.
  • Update to latest xEdit version. I don't know how many breaking changes they've made to their definition files in the last 2 years, hopefully not much.
  • Add a function to "freeze" generator files. At some point this project just needs to break off from the xEdit codebase entirely. Now that we have the starting point future 'conversions' are much less necessary.
  • Add some kind of metadata to distinguish between definitions that use UInt32 Form IDs and definitions that use String Form IDs (Morrowind).
  • Convert Morrowind definitions
  • Convert FO76 definitions

building

# Clone the repo and its submodules, e.g.
git clone --recursive https://github.com/matortheeternal/esp.json

Building definitions embeds them with a build ID which is generated using the BUILD_AUTHOR environment variable (or USER if it is not present) and a hexadecimal unix second timestamp.

# On windows you can set your build author environment variable with:
setx BUILD_AUTHOR {author}

Commands

# To convert and build all definitions run:
npm run convertAll && npm run buildAll

# To convert the xEdit definitions for a specific game run: 
npm run convert -- {game} {source?}

# To build definition data files for a specific game run:
npm run build -- {game}

Game argument options: SSE, TES5, TES4, FO4, FNV, FO3

Source argument: provide TES5 for SSE, otherwise omit.

esp.json's People

Contributors

adam-gleave avatar iggi42 avatar matortheeternal avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.