20.67k Views
12 Votes

D3Bit User Guide

General Guide

By creepgin on September 28, 2012

Introduction

D3Bit is an utility software for Diablo III. Its major use includes in-game item tooltip scanning/parsing. It uses OCR technology (Tesseract, to be specific) for parsing item affixes. It also has a handful of neat features that will help Diablo III players in their adventures.

Disclaimer

D3Bit does not alter or interact with the game client or DirectX. There's no injection or memory reading. All the "magic" is done through screen printing and image processing. The project is open source. You may access it at GitHub

Requirements

  • The game needs to be run in windowed or fullscreen windowed mode. 
  • Currently D3Bit only runs on Windows. 
  • You may need to have the latest version of .Net Framework (4.5) and Internet Explorer (9 or 10). 
Because of the public sentiment of IE (or any mention of it), I feel compelled to say that IE is simply used by the .Net's WebBrowser control which is used by D3Bit's item card. As a user, you don't notice any difference between using a .Net WebBrowser control and using a embedded Webkit (Chrome/Safari) or Gecko (Firefox). The latter will actually bloat the app size by at least 50mb.

Download and Resources

The latest D3Bit client (1.1.6g) can be found here

For a list of short hand affix/stat names used by D3Bit, click here

Features and Usage


For a demo video, please click here.

D3Bit has very minimal UI and it's functionality is very self-explanatory. You can just keep it running in the background when you are playing. When you need to scan a tooltip, just hover over that item and press F12 (re-bindable). Parsed out stats will be shown in an item card where you have extra controls for editing, uploading and comparing the item.



Currently, D3Bit has 2 major features: Tooltip uploading and item comparison/analysis using d3up.

The Upload function can be found after clicking on the upload button on the bottom of the item card. It lets you upload the tooltip to either D3Bit.com or Imgur.com. 

For the comparison to work, you'll be supplying D3Bit your D3UP username. After that, you can click the "R" button to load your existing builds into the select box. Once you pick out a build (to compare against), you'll be all set. The Comparison function can be found after clicking on the Analyze button on the bottom of the item card. It'll bring you to a D3UP item comparison page directly in the item card.



From there you'll get to see, among other things, the differences in stats compared to the build you've chosen from the client's main GUI. Your recently compared items will be kept in a section to the right of your "My Items" page on d3up.com. From there, you can copy each compared item to your My Items list if you wish to use them in your custom builds, etc.

Note: To manually add/edit scannable affixes, please edit data/affixes.eng.json. See the Localization section for more detail on this.

Troubleshooting and How to Get Better Accuracy

Because people have many different resolutions and monitor setups, the accuracy of the scan may be very good for some but shaky for others.

D3Bit has been tested on a good range of standard monitor resolutions and I've spent a lot of time on fixing issues across different setups. So hopefully more and more issues will be addressed.

If you are having trouble scanning or with running d3bit, try the following:

  • Run as administrator
  • Have the latest version of .Net Framework (4.5) and Internet Explorer (9 or 10)
  • D3Bit may crash on start If your system has a corrupted Arial font. You can fix it by simply replacing your old font with a good one.
  • if you are running D3Bit for the first time, sometimes simply closing it and starting it again will fix your problem
  • Manually adjust the D3 resolution like described below

To increase OCR accuracy, there is one thing you can do:

  • You can run D3 in windowed mode and try to adjust the window size manually & randomly until you get a size that gives you the best accuracy.

This is something that's inherent in Tesseract (the underlying OCR engine); it's very unpredictable in terms of resolution preference. Running D3 in windowed mode may be inconvenient for some people. So if you think your fullscreen resolution is not getting the best accuracy, leave a feedback here or message creepgin on reddit.

Localization and Console Function

Note: Features covered in this section is currently available in a test build: https://github.com/downloads/CreepGin/D3Bit/D3Bit_Client_1.1.7.zip

D3Bit is able to support localized non-English D3 Clients. But these requires some setup, detailed below. As an example we'll pick Russian.
  1. Download rus.traineddata.gz from http://code.google.com/p/tesseract-ocr/downloads/list You can pick any language on that page. As long as it's there, it's usable by Tesseract.
  2. Extract rus.traineddata into tesseract\tessdata. Take a note of the language code, in this case, "rus".
  3. Edit d3letters and d3meta files under the tesseract folder. These define the possible characters Tesseract will scan for. you can leave them blank. But defining them explicitly will increase accuracy.
  4. Go to the data folder and create a new file called affixes.rus.json. You need to then translate the affixes into Russian. Use affixes.eng.json as an example. This is a time consuming process. If you'd like to share your translation, please contact me.
  5. Open up D3BitGUI.exe and type in "rus" in the Scan Language field.
That's all for the setup. Please be aware that most of the non-English languages are not tested by me. So the accuracy will be solely dependent on Tesseract.

As of 1.1.7, D3Bit also provides a simple command line function. Usage below:

D3BitConsole.exe <input> <output> <language_code> 

Example: D3BitConsole.exe screenshot.jpg output.json eng
comments powered by Disqus