YoloMouse

YoloMouse

Not enough ratings
Diablo 2 Resurrected (D2R) - Yolomouse Guide
By Soilworker
How to make YoloMouse work a little better with Diablo 2 Resurrected.
   
Award
Favorite
Favorited
Unfavorite
How YoloMouse Works
YoloMouse detects different cursors and will replace them with the cursor of your choosing. It does so by calculating hashes of the cursors shown and if a match is found it replaces the cursor with the desired YoloMouse cursor.

Tricky D2R Cursor Sprites
D2R uses sprites to display the cursor in game. As you probably noticed, the cursor in D2R will change from a pointing finger to an open hand and back. The problem is that each of those individual sprite stages are a separate cursor in YoloMouse's eyes and each need a specific configuration.
Approach #1: Big Hammer
To get all of D2R's cursors set to your YoloMouse configuration you can simply press "Ctrl + Alt + Shift + C" to pop up the Yoio mouse configuration menu and click "Bind all".



Problems with this approach
The big problem is this approach replaces ALL cursors in D2R with your YoloMouse cursor. This includes the "Identify Scroll" cursor which I find kind of annoying. See Approach #2 for how to get around this.

Approach #2: Targeted Hammer (Preferred Approach)
To get YoloMouse to only replace the basic in-game cursor we have to configure YoloMouse to handle all the stages of the cursor sprite which is not easy. Thankfully I have done that already.

Prerequisite: Configure YoloMouse at least once
This creates the JSON settings file for us to modify later in the correct naming format for YoloMouse
  1. Launch D2R
  2. Launch YoloMouse
  3. In a game in D2R, press Ctrl + Alt + Shift + C
  4. Click "Bind All"
  5. Close the window


Edit the YoloMouse Config File


  1. Exit YoloMouse and D2R
  2. In Windows Explorer, navigate to
    %userprofile%\AppData\Local\YoloMouse\apps
  3. Open the D2R config file in a text editor (Visual Studio Code is great). It will be named something like
    HarddiskVolume__Program_Files__x____Diablo_II_Resurrected_D2R_exe.json
  4. Replace the entire section with the config file below:
    { bindings: [ { hash: 8EE70D2A8CFBC4AB type: basic bundle: Arrow cursor: 03 size: 64 } { hash: 78ED3A313E588759 type: basic bundle: Arrow cursor: 03 size: 64 } { hash: CE605C909286E464 type: basic bundle: Arrow cursor: 03 size: 64 } { hash: FFDCF2B81AF5AD35 type: basic bundle: Arrow cursor: 03 size: 64 } { hash: 72DF45C55864C306 type: basic bundle: Arrow cursor: 03 size: 64 } { hash: 232950CA56B6C70A type: basic bundle: Arrow cursor: 03 size: 64 } { hash: 438FC755C2D3A928 type: basic bundle: Arrow cursor: 03 size: 64 } { hash: 4A8DD7AA52663BA1 type: basic bundle: Arrow cursor: 03 size: 64 } { hash: 8D05A4081FDC0063 type: basic bundle: Arrow cursor: 03 size: 64 } { hash: AAD7684311AC659A type: basic bundle: Arrow cursor: 03 size: 64 } { hash: A3593C06725C280 type: basic bundle: Arrow cursor: 03 size: 64 } { hash: 9C364298023D2EDE type: basic bundle: Arrow cursor: 03 size: 64 } { hash: D934EBCA2A54FE04 type: basic bundle: Arrow cursor: 03 size: 64 } { hash: 81C2C7447C9F658 type: basic bundle: Arrow cursor: 03 size: 64 } { hash: 7CA91FB0F6A16AB2 type: basic bundle: Arrow cursor: 03 size: 64 } { hash: 59B694EB2794A9A4 type: basic bundle: Arrow cursor: 03 size: 64 } { hash: 6AEF2FD1FBDDC19F type: basic bundle: Arrow cursor: 03 size: 64 } { hash: C8E60564EBFB4DA5 type: basic bundle: Arrow cursor: 03 size: 64 } { hash: EFC8298CA77ECF56 type: basic bundle: Arrow cursor: 03 size: 64 } { hash: A010FBC4BA76E1DE type: basic bundle: Arrow cursor: 03 size: 64 } { hash: 7F46780CB2CC2076 type: basic bundle: Arrow cursor: 03 size: 64 } { hash: AA6B11F4A30E881F type: basic bundle: Arrow cursor: 03 size: 64 } { hash: 222D582006F505DA type: basic bundle: Arrow cursor: 03 size: 64 } { hash: 8DC26BD888891780 type: basic bundle: Arrow cursor: 03 size: 64 } { hash: C73CCF0A734E3417 type: basic bundle: Arrow cursor: 03 size: 64 } { hash: 921306D16B884D51 type: basic bundle: Arrow cursor: 03 size: 64 } { hash: E6678BFCCB6B9EFD type: basic bundle: Arrow cursor: 03 size: 64 } { hash: 648EC6B1226150A4 type: basic bundle: Arrow cursor: 03 size: 64 } { hash: 4C8D286AF9A1405D type: basic bundle: Arrow cursor: 03 size: 64 } { hash: 2A7EEA8283781E56 type: basic bundle: Arrow cursor: 03 size: 64 } { hash: B83FBF94D0E45B26 type: basic bundle: Arrow cursor: 03 size: 64 } { hash: 9D218DB8CB193D6E type: basic bundle: Arrow cursor: 03 size: 64 } { hash: C5F89861BC51A2AE type: basic bundle: Arrow cursor: 03 size: 64 } { hash: EBF178EC2DD29DBD type: basic bundle: Arrow cursor: 03 size: 64 } { hash: 8B3B343C6DE57394 type: basic bundle: Arrow cursor: 03 size: 64 } { hash: 335708DD1C44BD95 type: basic bundle: Arrow cursor: 03 size: 64 } { hash: E5DD59D237DA37FE type: basic bundle: Arrow cursor: 03 size: 64 } { hash: 8E01C54BC6AC8510 type: basic bundle: Arrow cursor: 03 size: 64 } { hash: 9ED5A4FCA347B7AA type: basic bundle: Arrow cursor: 03 size: 64 } { hash: B0260A5735878EE6 type: basic bundle: Arrow cursor: 03 size: 64 } { hash: 522643CDD242D3C8 type: basic bundle: Arrow cursor: 03 size: 64 } ] }
  5. Save the file.
  6. Launch D2R
  7. Launch YoloMouse
Picking Different Mouse Cursors
If you don't like the cursor that my config file has (medium sized green arrow) you can simply do the following:

Determine the IDs and size of the cursor you want
  1. Launch YoloMouse
  2. In D2R press Ctrl + Alt + Shift + C
  3. Select the cursor options you want
  4. Click Bind All
  5. Exit YoloMouse

This creates a default binding in your settings JSON file. We will use this section to copy-paste the cursor configuration and overwrite the cursors my config provided. The only thing that matters for matching is the hash.


Replace the cursor settings provided with the new settings from the default section
  1. In Windows Explorer, navigate to
    %userprofile%\AppData\Local\YoloMouse\apps
  2. Open the D2R config file in a text editor (Visual Studio Code is great). It will be named something like
    HarddiskVolume__Program_Files__x____Diablo_II_Resurrected_D2R_exe.json
  3. Select the section in the defaultBinding section from type: to just before the closing curly brace
  4. Replace all the type to size sections in the bindings section with the selection from above (the defaultBinding section).
  5. (Optional but easiest). Use the regex
    type.+\n.*\n.*\n.*\n
    to find and replace (press Ctrl + H in Visual Studio Code. Be sure to click the .* option in the find and replace menu.
  6. Copy paste the defaultBinding selection in the Replace section
  7. Click "Replace All" or hit Ctrl + Alt + Enter
  8. IMPORTANT!: Delete the defaultBinding JSON section. For example, this whole section:
    defaultBinding: { type: overlay bundle: Pyro cursor: base size: 80 colors: [ FF00FFCC ] }
  9. Relaunch YoloMouse
4 Comments
Zealot 17 Mar @ 5:58am 
Any way to make it work with Project Diablo 2 or Original Diablo 2?
Unable to bind cursors there.
Dragonrise Games  [developer] 18 Dec, 2022 @ 5:34pm 
FYI i went with a simplified version of JSON... but now that i think about it its a bit annoy cuz all the editors show errors everywhere. maybe ill just do legit JSON? :)

also some of the cursor names have changed recently which affects this guide. sorry about that. that should be the last of the cursor naming refactoring :D
RagedViking 28 Apr, 2022 @ 3:45pm 
nice guide, woot woot.