Skip to content

l0th3r/openitemdef

Repository files navigation

openitemdef

status License language Build Coverage Documentation

A C library for parsing, validating, and manipulating Steam Inventory Schema files.

openitemdef provides a clean C API with predictable memory behavior, strict schema validation, and error reporting designed for integration into game engines, build pipelines, CLI tools, and GUI editors.
The project includes a complete test suite using Unity and optional code-coverage instrumentation via GCC/Clang.

🚧 Status

Note: This project is under active development.
The current codebase is not stable and APIs may change. Documentation and public examples will follow in future versions.

Features

  • Full JSON schema parsing
    Powered by jansson, with strict type checks and detailed validation.

  • Robust internal model
    Supports all Steam Inventory constructs: item definitions, bundles, exchange lists, generators, playtime generators, tags, colors, and more.

  • Embedding-friendly
    Made in C to ease cross-language bindings. Designed for use in game engines and their extensions or standalone tools.

Build Requirements

  • C c99 compiler: GCC or Clang
  • CMake ≥ 3.16
  • Dependencies:
    • jansson (e.g., libjansson-dev)

Optional:

  • Unity for testing (bundled as submodule in third_party/unity)
  • lcov for coverage generation

🛠 Build

About

C library for editing and validating Steam Inventory Schema

Resources

License

Stars

Watchers

Forks

Releases

No releases published