Diablo® III

C++ API [In Progress]

90 Blood Elf Hunter
I started working on a C++ library for the API this past weekend. Since I'm now on Thanksgiving break, I've been continuing. So far it is very primitive (only basic access), however the complied JSON is exposed in an easy-to-use manner.

The project is located at https://bitbucket.org/emallson/d3tools

As of right now, there are three components:

    libd3 - The library containing the data classes (eventually, the Networker class will move into this; boost::asio is !@#$%y about running from a .dll/.so)
    d3tools - Short example program. The boost::regex objects from this will be moved into libd3. Networker exists in this project for the moment.
    d3test - Test suite for libd3. Partial at the moment

I am using boost::property_tree to read the JSON into objects and boost::asio to download the data from Battle.net.

My current plan is to continue fleshing out libd3 and then to set up a small website to facilitate the collection of data for statistical analysis (such as the min/max rolls of affixes vs ilvl, the chance of a certain type of item rolling a certain affix, etc).

Other pertinent information:
- I am using VS2012. Test suite will almost certainly not work with previous versions/other compilers. The libd3 project should be able to compile into a .so for linux with some simple #define changes.
- I am using boost version 1.52. Previous versions of boost should work, but I can't vouch for them.

If anyone wants to help, feel free to submit a pull request or request access on bitbucket.
Reply Quote
I've been looking for some information on REST services and JSON access via C++ but found very little. Are you aware of Casablanca, Microsoft's C++ REST SDK? I've been trying to glean some understanding of that API to help in my C++ learning. Not sure if it would be of any use in your current development.

Edited by Seefer#2814 on 4/2/2014 7:42 AM PDT
Reply Quote

Please report any Code of Conduct violations, including:

Threats of violence. We take these seriously and will alert the proper authorities.

Posts containing personal information about other players. This includes physical addresses, e-mail addresses, phone numbers, and inappropriate photos and/or videos.

Harassing or discriminatory language. This will not be tolerated.

Forums Code of Conduct

Report Post # written by

Explain (256 characters max)
Submit Cancel