Metadata-Version: 2.4
Name: sw_mc_lib
Version: 0.4.5
Summary: Library for interaction with Stormworks Microcontrollers
Author: Fabian Wunsch
License-Expression: MIT
Project-URL: homepage, https://github.com/stormworks-utils/sw_mc_lib
Project-URL: repository, https://github.com/stormworks-utils/sw_mc_lib
Keywords: stormworks,lib,microcontroller
Classifier: Programming Language :: Python :: 3
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Information Technology
Classifier: Natural Language :: English
Classifier: Operating System :: OS Independent
Classifier: Topic :: Games/Entertainment :: Simulation
Classifier: Topic :: Software Development :: Libraries
Classifier: Typing :: Typed
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Provides-Extra: dev
Requires-Dist: black; extra == "dev"
Requires-Dist: isort; extra == "dev"
Requires-Dist: pip-tools; extra == "dev"
Requires-Dist: mypy; extra == "dev"
Requires-Dist: flake8; extra == "dev"
Requires-Dist: coverage; extra == "dev"
Requires-Dist: pylint; extra == "dev"
Dynamic: license-file

# sw_mc_lib
Stormworks Microcontroller library

This is a library aimed at simplifying parsing, manipulating and formatting
Stormworks Microcontrollers (Microprocessors). It includes a custom XML parser,
that allows for the games quirks, and is tailored to the needs.
It may be used without the Microcontroller parser, if you want to parse i.e.  Vehicles.

## Goals

 - Make Microprocessor parsing great again
 - Accurate emulation of the games behaviour
 - In case of a conflict, use the design from the GUI rather than the XML
   - For composite read/write, this means that properties like `start_channel` are one based like in the gui rather than zero based.
   - Several names have been changed towards the GUI language.
 - Try to parse reasonably ill-formed Microcontrollers and use defaults where necessary
 - Don't use RegEx (it has other uses, but not this one)

In case you see any violation of those rules, feel free to open an issue.
