epicinium_lib 0.35.1

Rust bindings for libepicinium, the game logic library of the strategy game Epicinium.
Documentation
# Rust library bindings for Epicinium

Rust bindings for libepicinium, a library containing the core functionality of the strategy game [Epicinium](https://epicinium.nl).
This library implements Epicinium's game logic to load maps and calculate subsequent game states.

The rest of Epicinium will be open-sourced in the near future.
It will also be coming soon to [Steam](https://epicinium.nl/steam).

Epicinium is being developed by [A Bunch of Hacks](https://abunchofhacks.coop),
a worker cooperative for video game and software development from the Netherlands.
Contact us at [info@epicinium.nl](mailto:info@epicinium.nl).

## Contents

*  `src/` defines idiomatic Rust bindings for the C foreign function interface of libepicinium
*  `epicinium/src/build/libepicinium.cpp` is the C++ implementation of libepicinium
*  `epicinium/src/logic` contains C++ source files for Epicinium's game logic
*  `epicinium/src/ai` contains C++ source files for Epicinium's artificial intelligence
*  `epicinium/src/common` contains C++ source files for various utilities used in Epicinium
*  `epicinium/libs/jsoncpp` contains C++ source files for [JsonCpp]https://github.com/open-source-parsers/jsoncpp, a dependency of Epicinium
*  `epicinium/libs/plog` contains C++ source files for [Plog]https://github.com/SergiusTheBest/plog, a dependency of Epicinium
*  `epicinium/Makefile` is a copy of the full Makefile used to compile Epicinium
*  `epicinium/.config.make` defines additional flags passed to the Makefile
*  the `build.rs` build script calls the Makefile to compile a static library of libepicinium from its C++ source, which is then linked by Cargo with the Rust bindings

## External dependencies

*  [GNU Make]https://www.gnu.org/software/make/
*  [GnuWin32]http://gnuwin32.sourceforge.net/ (on Windows)

## License

This library was created by [A Bunch of Hacks](https://abunchofhacks.coop).
It is made available to you under the AGPL-3.0 License,
as specified in `LICENSE.txt`.

This library is free software; you can redistribute it and/or modify it under the terms of the GNU Affero General Public License (AGPL) as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.

This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.

## Related repositories

*  [Epicinium documentation]https://github.com/abunchofhacks/epicinium-documentation, which includes a wiki and a tutorial for Epicinium
*  [Epicinium-NeuralNewt]https://github.com/abunchofhacks/Epicinium-NeuralNewt, a libtorch framework for training (partially) convolutional neural networks to play Epicinium via NeuralNewt, a parameterized decision tree AI, with evolutionary training techniques
*  [Epicinium-NeuralNewt-automatonlib]https://github.com/abunchofhacks/Epicinium-NeuralNewt-automatonlib, a precompiled C++ library with Epicinium logic for Epicinium-NeuralNewt