Git Product home page Git Product logo

diablo4companion's Introduction

Diablo IV Companion - The Inventory Manager

GitHub stable release version GitHub stable release data GitHub stable release downloads GitHub stable release downloads (total) GitHub License

Discord Wiki

Donate Ko-Fi Donate PayPal

A companion app for Diablo IV to help you find your perfect gear affixes.

If you like my work you can sponsor me on Ko-fi.

ko-fi

Looking for help?

Discord

Table of Contents

Features

  • Specify your prefered affixes for each gear slot and monitor them ingame.
    • Supports affixes, aspects, and sigils.
    • Filter by item power.
  • Import builds from Maxroll.
  • Import builds from D4Builds.gg
  • Multi-language support. See wiki if you want to translate the app.

Installation

  • Download the latest version from Releases
  • Extract files and run D4Companion.exe
  • Go to settings and select the System preset matching your resolution.
    • Make sure to click the update / download button first to get the latest version.
    • Use the recommended app settings listed for each resolution.
  • Go to affixes and create a new Gear Affix Preset.
    • Or import a build from Maxroll or D4Builds (wiki).
  • Select your prefered affixes for each item slot.
  • Double click affixes to add/remove them from the list.
  • Read Usage for more details on using the app.
  • For tips and troubleshooting there is also a wiki.

Configurations

Currently the following system presets are included:

Preset Language Config Status Comment
1050p_SMF_en SDR (HDR off) with font set to medium for the English language Static Badge Missing S4 icons
1080p_SMF_en SDR (HDR off) with font set to medium for the English language Static Badge
1080p_SMF_es-US SDR (HDR off) with font set to medium for the Spanish (LA) language Static Badge
1080p_SMF_fr SDR (HDR off) with font set to medium for the French language Static Badge
1080p_SSF_de SDR (HDR off) with font set to small for the German language Static Badge
1080p_SSF_en SDR (HDR off) with font set to small for the English language Static Badge
1080p_SSF_es-US SDR (HDR off) with font set to small for the Spanish (LA) language Static Badge
1440p_HSF_en HDR with font set to small for the English language Static Badge
1440p_SMF_en SDR (HDR off) with font set to medium for the English language Static Badge
1440p_SMF_zh-CN SDR (HDR off) with font set to medium for the Chinese (Simplified) language Static Badge
1440p_SSF_en SDR (HDR off) with font set to small for the English language Static Badge
1600p_SMF_en SDR (HDR off) with font set to medium for the English language Static Badge New greater affix
1600p_SMF_zh-CN SDR (HDR off) with font set to medium for the Chinese (Simplified) language Static Badge
2160p_HSF_en HDR with font set to small for the English language. Static Badge New greater affix
2160p_SSF_en SDR (HDR off) with font set to small for the English language. Static Badge Missing S4 icons

Each preset works for both normal and widescreen resolutions. e.g. for 2560x1440 and 3440x1440 use the 1440p preset.

Feel free to share you system presets with me so I can add them to the app.

See the following wiki page to create your own.

Usage

Usage-1

  1. Navigation menu. In the following order, Affixes, Logging, Debug, and Settings.
  2. Change language for affixes.
  3. Create, select, or delete affix presets. The import/export buttons can be used to share your builds, or to import builds from Maxroll and D4Builds. See wiki for more details.
  4. Toggle the overlay on/off. Note: This is also possible using the ingame button in the top left corner.
  5. Overview of selected affixes for each gear slot. Click to change color, or double click affix name to remove it.
  6. Filter affixes.
  7. Switch between affixes, aspects, and sigils.
  8. Adds the affix to your preset so you can monitor it ingame.

Usage-2

  1. Set the app as the top-most window.
  2. Set the width of the tooltip. Default for 1440p is 500. Recommended settings for other resolutions are listed when you download a system preset.
  3. Threshold sliders for filtering out background noise. Defaults for SDR is (60/255). Recommended settings for HDR are listed when you download a system preset.
  4. Area offsets for affixes/aspects descriptions. Recommended settings for each resolution are listed when you download a system preset.
  5. Similarity thresholds for matching images. A lower value means a closer match is required. Default of 0.05 is recommended.
  6. Previous debug image.
  7. Next debug image.

Usage-3

  1. Select the preset matching your resolution. See wiki to create your own.
  2. Reload the preset. Useful after adding new images without restarting the app.
  3. The download manager can be used to download community created system presets. If your language or resolution is missing please send them to me and I'll add them to the list. Follow the recommended app settings in the description.
  4. Hover your mouse over one of the info icons to get more detailed information about a setting.

Troubleshooting

See F.A.Q.

Licensing

MIT

Thirdparty packages

Community

The Hidden Gaming Lair

Mentions

Disclaimer

This app does not interact with Diablo IV, everything is done using image recognition and OCR. However use at your own risk.

diablo4companion's People

Contributors

amorimdiogo avatar ash-cozey avatar bigbes avatar bzadi01 avatar commander-hk47 avatar josdemmers avatar joshmiquel avatar karalabecode avatar manlaan avatar nebelorz avatar shihan42 avatar soulsuck24 avatar thromera avatar weixiabing avatar yuaw avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

diablo4companion's Issues

Controller Support

Currently the scan seems to only happen when mouse is moved, it would be good to have this also happen when using a controller.

Configurable Affixes?

Is there a file where one can configure which affixes can be selected? - Would be cool to do so, because some of the affixes seem to be missing.

Suggestions

Is it possible to help you with coding?

When hovering over the next item the dots from the previous item are still there until the new dots for the currently hovered item appear.

Also is it possible to make the recognition a lot faster? I thought about creating multiple threads for scanning the items - and also keeping the affixes from the images in memory so they don't have to be loaded every time. Or why is it actually taking so long until the dots appear? Is the image recognition so slow?

Multiple Gear Affix Presets at the same time

Hi,

would it be possible to have multiple gear affix presets being active at the same time?
Currently I am playing a Stormclaw Druid build. And ofc I want to identify gear upgrades for that build easily.
But at the same time, I want to start collecting gear for another build, which needs different affixes.
So when only having one gear affix active, I could miss an item of the other preset.

A way to accomplish this could be, that each preset has a number attached. And this number is displayed at the green bubbles. So I easily could spot if that item is helpful for build 1 or build 2.

Cheers

languages

Can other languages โ€‹โ€‹be recognized?

Doesn't seem to work anymore

I had been using 1.14 without any problems, then upgraded to 1.15 and then 1.16 without playing Diablo. Started up Diablo again and DIablo Compnaion doesn't seem to work any more.

It doesn't put the green or red dots on my tooltips any more.

It runs, but can't seem to find the tooltips on the screen. It also sometimes doesn't seem to be able to capture the screen, or at least it doesn't update the capture shown in the window looking at the debug screen.

For example, it will show my character with my inventory open, but when I mouse over an item and the tooltip pops up, Diablo Companion still shows just my character's inventory, with no tooltip open. This is viewing Diablo Companion's debug menu.

FInally, when it does seem to attempt to look for a tooltip, it displays a rectangle on the debug menu that consists of the right third or half of my character pane, when the tooltip is to the left of my character.

I'm running 3440 X 1440, medium font, non-Hdr, on Windows 10, using images I've snipped myself, that used to work with older versions of the program.

This latest version also couldn't find my screen images directory until I stuck a "p" in my existing directory name. I only added it because I noticed that the predefined resolutions had a "p" in them. Nothing on the roll your own resolution wiki mentions that, nor any other required changes to the stuff in the Images directory.

Thanks in advance!

appears to be only scanning half the inventory?

The scanning appears to be only happening to part of the display or something else is wrong? i have the resolution set to 1080 with text at medium, i tried in windowed and windowed fullscreen, it will show the overlay for all the items equipped in the slots-helm,armor,gloves,pants,boots,weapon.

then the inventory slots only the first row slots get scanned (minus last 2 all the way to right). if i put an item in the first upper left slot it shows the overlay, then i move that item to the next slot over, it shows the overlay still. but move it to the last slot and the overlay no longer will show.
same happens if i move the item to the middle row or bottom in the inventory.

any idea what could be happening?

EDIT: oh i also tried messing with resolution scaling and messing with windows scalling even though windows scalling should have no affect on games.

Some affixes are incorrectly detected / displayed.

@josdemmers First of all nice idea and pretty good job so far! I have found some minor issues and wanted to let you know.

  1. When ever you activate stats like damage because you want to track +Damage % you will also get positiv results for stats like "damage with xy". Sure Diablo4Companion only scans for the word "damage" when having the damage option activated but it should scan the other damage stats first which should not be displayed to correctly display those affixes that the user has activated. d4c_damage
  2. The same problem occurs with some "damage reduction" modifiers and also the "movement speed" affixes on boots (where "movement speed for" gets true while only "movement speed" is checked. d4c_movementspeed

works wrong

Tools makes some wrong
image
image
image
Affixes are all matched but tool show red dots
Idn why,how to fix it

Damage reduction affix issue

@josdemmers Selecting the damage reduction affix shows as green on distant and close enemies affix as well, solved it by changing the damage reduction image to this with blank space below, any other better/easier ways to fix this? 1440p preset
Damage Reduction 2

Having trouble getting variable affixes to work correctly

One of the preferred affixes for a couple of my items is:

Lucky Hit: Up to a 5% Chance to
Restore +XX% Primary Resource
[YY.Y - ZZ.Z]%

XX, YY and ZZ are variable.

It shows up as 3 lines on my screen resolution/font size.

Using a rectangular clip of from one of my items, of the complete 3 line text, D4 Companion has no trouble recognizing it as a "green dot" affix on that item. On another item with the same affix, but different values for XX, YY and ZZ, however it shows up as a "red dot" affix.

I've tried just using the first two lines, but that still doesn't work, implying that it's the XX% that's causing the image comparison to fail.

I've tried just using "Primary Resource", but that causes both items to display the red dot.

I've also tried adjusting the Affix Similarity Threshold up and down, with the highest and lowest value still failing.

The two items are a focus and a pair of gloves, if that makes a difference.

My screen resolution is 3440X1440, Medium Font, non-HDR.

Is it possible to use a non-rectangular clipping region, to omit the XX part from the clip?

Is there another way to make this work the way I want it to, without creating a clip with every conceivable percentage for XX and making each clip active for the items with this desired affix?

The "Heal" version of this affix is identical in format, with "Heal" replacing "Restore" as the first word on the second line, meaning I can't just clip the first line and use it.

Thanks for a neat time-saving helper!

A few suggestions

Hello,

I am trying your tool as we speak, and I think it can be very helpful !
While using it, I had a few ideas on how it could be improved:

  • Allow to prioritize the affixes (dragging & dropping them as a list) and display the priority in the overlay

image
image

  • provide us with a link where we can send our own screenshots so you can add them to the next release
  • replace the "_" with spaces when you research : I am guessing the search is based on the screenshot name. If I have "all_stats.png", it would be nice to be able to search "all stats"
  • I'm unsure why there is two image folders but if possible, merge the normal and light image folders
  • Maybe a disclaimer should be added to the README if there is any risk using the tool ? I know Blizz isn't too nice with 3rd party softwares

Thanks again for this tool !

Question about Blizzard Warning

Hello
I just saw this report. Do you think this also applies to your software? Because that would mean you could get banned by using D4 Companion right now, right?
blizzard

Questions and suggestions for improvement

Hello,

I actively use your program and am deeply impressed. However, there are one or the other error and I hope that there will be a solution for it in the future.

  1. You can't add specific affixes to the bow symbol because the program doesn't recognize it.
    bow bug

  2. I then changed the totem category to Crossbow so that I could use specific affixes for it.
    totem to crossbow

  3. I hope there will be a solution for this and I wanted to ask if it is possible to let the program say that it is only allowed to identify unique images. As in the example, I only put Damage Reduction in, but everything that has Damage Reduction in its name is then also recognized by the program, which you don't always want... There should be a clear image recognition so that there is a difference between "Damage Reduction" and "Damage Reduction from Distant enemies" I've thought so much about how I can trick the program, but it doesn't work.
    damage reduction

I would be very happy about an answer, thank you very much.

Overlay high CPU usage

first i would thank you for this campanion app for Diablo 4 , its amazing especially the newer version its working as intended.

But i did notice some high CPU usage when Overlay is enable which makes its impossible to play while the overylay is on.

Taskmgr_IwDrAZW0Tl

dont show selected affix and show non-selected

hi! i got resolution 3440:1440, sdr, medium fonts. base on 1440p_SMF_en
I dont selected any resistance in any item, and i selected intelligence for weapon, next see scrinshots...

image
in boots i see poison res but not see mana cost(i selected mana cost)
image
and i dont see ball lightning and total armour(non selected only fire res):
image

P.S. please add auto-update for image folder when set screenshots for affix/aspect, i need restart app for set it...

toggle for overwritting mappings.json

Is there a possibility to add a toggle to not have mappings.json overwritten when updating the images. Mostly to stop situations such as #56 where affixes get completely swapped by mistake and that sort of thing.

Some affixes missing

Hi, I don't know if they just haven't been implemented yet, but I noticed some affixes are missing and not available as choices to search on tooltips. For example, on my twisting blades Rogue, there's no option to search for "Ranks of shadow imbuement", "Energy cost reduction", or "Ranks of the Weapon Mastery passive"

Some user experience

Firstly, I am not an English-speaking user, and my window ratio is relatively unusual (3456x1200), so my issue may not be common for everyone.

When I am using it, only equipped items can be recognized, which is very strange. I don't know where the problem is coming from.

Regarding the recognition of affixes and dot-affixes_X, I have tried cropping the image myself to achieve better recognition results. For users who cannot use the presets, it is not a good experience to replace them one by one. Perhaps you could add a tab in the DEBUG interface for re-capturing existing affixes? For example: 1. Select the affix. 2. Click the replace button, and the program starts monitoring clipboard events. 3. The user manually takes a screenshot. 4. The program pops up a preview and a prompt asking whether to replace it.

These are my user experiences, and I hope they are useful to you. Thank you for sharing your ideas.

How to report missing affixes?

Hey, nice work but I noticed that class specific affixes are missing.

This is a list of affixes missing for bone spear necro build:

+X to Bone Spear
Maximum Essence
5. Lucky Hit: Up to 5% Chance to Restore Primary Resource
6. Lucky Hit: Up to % Chance to Slow
Essence Cost Reduction
+xx Ranks to Corpse Tendrils
+xx Ranks to Evulsion
Critical Strike Damage with Bone Skills

One general one:

% Total Armor

How do we report affixes so you can implement them?

Request: Good Affix Roll Marker

An additional highlight marker if an Affix roll is good.
For exaple, the +# mana Affix can roll from 3 โ€“ 9 . If the Affix roll is >7 then add another identifier.
So with the existing Diablo4Companion format you could add another dot marker if the roll is good.
Just an idea.

Thanks

Overlay not appearing

I unpacked the latest release, configured it with a profile (item rarity doesn't stick when i select rare), downloaded the 1080p profile and set it. Then in-game i hovered over the button for the overlay. Then i hovered over any item just to see that no overlay is visible. Then i checked the debug tab to see but there wasn't anything either. Tried some different values at the slider to no avail.
Do i have to create a own config or should it work out of the box?

App crash v2.3.0.0

The app is crashing on startup.

Faulting application name: D4Companion.exe, version: 2.3.0.0, time stamp: 0x64b06a5d
Faulting module name: KERNELBASE.dll, version: 10.0.22621.2715, time stamp: 0x10f6a783
Exception code: 0xe0434352
Fault offset: 0x000000000006565c
Faulting process id: 0x0x3790
Faulting application start time: 0x0x1DA1ED8BA33DCE9
Faulting application path: C:\Users\XXX\Desktop\Diablo4Companion_v2.3.0.0\D4Companion.exe
Faulting module path: C:\WINDOWS\System32\KERNELBASE.dll
Report Id: c6d5123e-b330-411c-a83d-753205599668
Faulting package full name:
Faulting package-relative application ID:

missing affices

trying to put together a barb build here and it seems there is a lot of missing affixes like life on kill ranks of death blow stuff like that is there a way we can add to the list of affixes?

Font Scale

Hi,
thank you very much for this useful tool. Really helps and minimizes the time needed to spend in town identifying the 99% of cracp loot.

One question though:

I normally play with the font scale ingame set to small. I noticed that D4C is not working with the 1440p preset, as it requires font scale set to medium.

Would it mean, that I would need to recreate every .png file for affixes, aspects etc so it would work with small font scale?

Wouldn't it be possible for you to handle this internally? You provide an option where the user sets its font scale. There is no need to create new .png files. The ones provided have 100%, which means medium. If the user set another font scale you take the images and scale them down or up, depending if small or large font scale is set ingame.

Cheers,
smoo

TV support

Hello, i'm playing Diablo 4 on a 42' full HD TV.
I followed the instructions, selecting full HD smf en preset, then importing a Gear preset from max roll (infinimist import Is not working, so i used corpse explosion instead), enabled overlay and controller support but the green/Red dots are not appearing next to affixes.
May the different DPI of a TV be the problem?

Some affixes missing from database.

Example :
Helms : Life on Kill
Gloves : +ranks to rapid fire / crit strike with imbued skills / crit % vs injured
Boots : Energy Cost Reduction

I will try to add them via the wiki guide

Font scale issues

When font size is set to large the words "Legendary X" such as "Legendary Amulet" or "Legendary Gloves" are split across 2 lines making it impossible to create a new resolution preset.

image

Overlay not popping up

What exactly am I missing here?

image
image

I had it work once the other day, but now it doesn't. Shows up in the debugger but nothing in the actual overlay.
My resolution is 1080p but it still worked with the 1440-lite mode before.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.