Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/osmium-org/libdogma
An ad hoc fitting engine for the EVE Online multiplayer game.
https://github.com/osmium-org/libdogma
Last synced: 18 days ago
JSON representation
An ad hoc fitting engine for the EVE Online multiplayer game.
- Host: GitHub
- URL: https://github.com/osmium-org/libdogma
- Owner: osmium-org
- License: agpl-3.0
- Archived: true
- Created: 2012-12-20T12:27:21.000Z (almost 12 years ago)
- Default Branch: master
- Last Pushed: 2017-09-17T13:46:13.000Z (about 7 years ago)
- Last Synced: 2024-07-31T22:56:33.868Z (3 months ago)
- Language: C
- Size: 241 KB
- Stars: 30
- Watchers: 4
- Forks: 7
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG
- License: COPYING
Awesome Lists containing this project
README
libdogma
========libdogma is an *ad hoc* fitting engine for the EVE Online multiplayer
game.Reverse-engineered to be a **bottom-up** implementation of the real
dogma engine (*probably*), with slight alterations to make it suitable
for use in fitting simulation tools.See the [Github
releases](https://github.com/osmium-org/libdogma/releases) for
ready-to-build tarballs.Features
--------* Excellent accuracy (thanks to using the same expressions as the EVE
client)* Fast and low memory footprint (thanks to Judy arrays)
* Stable, heavily tested code base
* Customizable skill levels
* Customizable chance-based effects (booster side effects)
* Computes attributes of characters, skills, implants, ships, drones,
modules and charges* Supports projected effects (with fine-grained per module target
selection)* Supports fleet/gang bonuses
* Supports effect beacons (wormhole feature effects, etc.)
Missing features / Known issues
-------------------------------* Leadership skills are not checked when applying gang bonuses. You
could have a squad with 50 people in it, or a fleet with 15 wings of
42 squads each, bonuses will be applied anyway. (Same goes if you
have a character with no skills as fleet commander.) Whether this is
a bug or a feature, you decide.Credits
-------libdogma is released under the GNU Affero General Public License,
version 3 (or later). You can see the full license text in the
`COPYING` file.For the full list of libdogma contributors, see the `CREDITS` file.
libdogma uses Judy, a library released under the GNU Lesser General
Public License, version 2.1 (or later).Contact
-------*
Compiling libdogma
==================Dependencies
------------* A C11 compiler or, at least, a C99 compiler that supports anonymous
unions and `_Static_assert` (`clang >= 3.1` is good);* Judy arrays;
* A JSON cache dump of the game client (only if you are building from
git, you can get one with
[Phobos](https://github.com/DarkFenX/Phobos));* The GNU Autotools suite (only if you are building from git).
Compiling recipe
----------------If you are compiling from a tarball, you can directly jump to the
`./configure` step.0. Generate the static data from the JSON dump:
~~~
./tools/bootstrap_from_json
~~~1. If you are bulding from git, generate the `configure` script:
~~~
./bootstrap
~~~2. Generate the `Makefile` (you can omit the debug flags or the `CC=`
if you want to use `gcc`):~~~
CC=clang ./configure --enable-debug
~~~3. Compile the library:
~~~
make
~~~4. Optionally, run the test suite:
~~~
make check
~~~5. Optionally, install the package:
~~~
make install
~~~Examples
========See the source files in `test/` for examples.
Release checklist
=================* Update version in `configure.ac`
* Update exported symbols in `src/libdogma.sym`
* Update `version-info` in `Makefile.am`
([doc](http://www.gnu.org/software/libtool/manual/html_node/Updating-version-info.html))* `make distclean && ./bootstrap && ./configure && make check`
* Update CHANGELOG
* Commit, tag, push
* `make dist`