GithubHelp home page GithubHelp logo

pairofdocs / gomule-d2r Goto Github PK

View Code? Open in Web Editor NEW
57.0 4.0 16.0 29.12 MB

GoMule enabled for D2R

License: GNU Affero General Public License v3.0

HTML 10.68% Shell 0.27% TeX 4.98% Java 83.75% CSS 0.32%
diablo2 diablo-ii diabloii d2r

gomule-d2r's Introduction

Gomule-d2r Build Status

GoMule enabled for D2R which is a fork from the original app https://sourceforge.net/projects/gomule/

Original GoMule App

All credits go to Gohanman, Randall, Silospen, collaborators, ...

Original usage docs: https://managedway.dl.sourceforge.net/project/gomule/gomule/R0.31/GoMuleDocs.pdf

  • Warning: Putting more than one Hellfire Torch into a character's personal stash causes the torches to disappear. D2R doesn't allow you to carry more than one torch in your combined inventory/personal stash. Issue by jongad
  • Warning: Close D2R when using GoMule. D2R keeps character data open since it displays character gear in the menus and this prevents GoMule from saving files and moving items properly.
  • Note: A work-in-progress Atma .d2x stash to D2R .d2i stash converter is available here https://pairofdocs.github.io/atma-stash-d2r/ and discussions are here

Install

  1. Install Java Runtime Environment JRE (Windows x64 exe) following the instructions here or here for setting environment variables
  2. Download the latest release zip and unzip it to a convenient location
  3. Double click the app at gomule-d2r-version/gomule/GoMule.jar

Pics

  • Main Char
    Main

  • Gems moved to the gems mule, runes to the runes mule and uniques to the uniques mule
    Gems, runes, uniques

  • Moving multiple items
    Multi items

  • Searching for items using the All stash filter
    Item Search

Test Save Files

Flavie Grail Report

Fixed/Changed

  • Moving items between chars (pic)
  • Annihilus and Torch charms inventory graphics fixed
  • Reading + writing a shared stash .d2i file (pic)
  • Changed from original gomule: stash is moved to the left hand side and char + inventory to the right hand side, consistent with how it appears in-game
  • Changed from original gomule: an item icon now appears for a selected row in the stash view (pic)
  • Merc item reading and moving
  • Add grail stats to D2R's main menu panel json so stats appear in-game (details here)
  • Reading a character corpse when the savefile has one
  • Displaying tooltips for corpse items
  • Add keyboard shortcuts for save-all (ctrl+s) and open-character-file (ctrl+o)
  • Drop Calculator bug fixes (Colab with etale#9303 on discord) for super uniques (details on diabloii.net)
  • Fixed rune drop chances. Thanks to 7551mn on reddit for pointing this out
  • Add a darktheme option to the GUI. To enable, set line1 in gomule/arguments.txt to -darktheme
  • Add a "Delete All" button to the Clipboard controls

Backup Save Files

WARNING: Back up important save files when using GoMule!

GoMule automatically creates backup directories in GoMule.backup/ each week by default. This can be changed to each day, month or never. Click on Preferences when the app is open to change this setting.

Building and Developing

  • To build the GoMule app install JDK (either Java SE 11 (LTS) or Java SE 16) from here.
  • Install ant from here following the instructions. Go through the Setup section and set up ANT_HOME, JAVA_HOME and add ANT_HOME/bin to your path
  • In a terminal go to the directory gomule-d2r/gomule/ and run ant Jar-BuildAllOptimezed. This builds GoMule.jar
  • Debugging with breakpoints using an IDE also lets you test the app (but doesn't create the java archive GoMule.jar)

Credits

Copyrights

Diablo II and Diablo II: Resurrected are copyrighted by Blizzard Entertainment, Inc. All rights reserved. Diablo II, Diablo II: Resurrected and Blizzard Entertainment are trademarks or registered trademarks of Blizzard Entertainment, Inc. in the U.S. and/or other countries.
All trademarks referenced here are the properties of their respective owners.

Note: For the sake of convenience some text files and dc6 image files that gomule requires are provided in the resources directory. These files are part of the Diablo II game series and are copyrighted by Blizzard Entertainment. They are provided only to save you the trouble of extracting them from the Diablo II game files. If you did not purchase a copy of Diablo II and Diablo II: Resurrected be advised that you may not have perimission to use these files.

This project and its maintainers are not associated with or endorsed by Blizzard Entertainment, Inc.

gomule-d2r's People

Contributors

pairofdocs 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

Watchers

 avatar  avatar  avatar  avatar

gomule-d2r's Issues

In-Game Grail Tracker - Where to point menuPanelHDPath?

Hi! First of all, thank you to all the mods working on this project, it's awesome. Can't wait to start my grail after hours of BNet farming.

Question is - Where do I point the gomule-d2r\gomule\layoutsConfig.json to? I tried searching in the D2R files, but can't find a path similar to what's included in the example. Any help here would be great.

GoMule Version: https://github.com/pairofdocs/gomule-d2r/releases/tag/v0.12
D2R Version: 1.1.67554
D2R Game file Path: "D:\Program Files\Diablo II Resurrected"

D2R Folder Structure:

Diablo II Resurrected
- Data

  • config
    - data
    - ...IDX and other bin files...
  • indices
  • Mods
    .build
    .patch.result
    BlizzardError
    blz-log
    D2R.exe
    ... etc ...

I've tried the following:

{ // place the correct path to your MainMenuPanelHD here "menuPanelHDPath": "D:\\Program Files\\Diablo II Resurrected\\D2R\\Data\\global\\ui\\Layouts\\MainMenuPanelHD.json" }

{ // place the correct path to your MainMenuPanelHD here "menuPanelHDPath": "D:\Program Files\Diablo II Resurrected\D2R\Data\global\ui\Layouts\MainMenuPanelHD.json" }

{ // place the correct path to your MainMenuPanelHD here "menuPanelHDPath": "D:\\Program Files\\Diablo II Resurrected\\Data\\global\\ui\\Layouts\\MainMenuPanelHD.json" }

Thanks in advanced!

Translation options

Hi there,
Thanks for the great work! Really appreciate it :)
Would it be possible to implement the German translations?

D2R character file won't load properly after moving from D2

I transferred several character into D2R from D2 and proceeded to then open them up with GoMule. All but one character works. When I open him up I get a window with an empty inventory/stash and the window's title is "Disconnected".

image

I am using version 0.21 of GoMule.

I've attached the d2s file of the character for diagnosis. To let github upload it I changed the file format; simply rename it back to "Gulmyr.d2s" to use it. Let me know if any other information is needed.

Gulmyr.csv

Thank you.

D2X File not supported

D2X stash files from the original GoMule cannot be opened in D2R GoMule
Stash format seems to have changed (now .d2i ?). This means moving items from into D2R can only be done by loading up mule characters

Edit: Is this because the items have changed in D2R?

(re-wrote to better describe the issue)

D2BitReader.write() Is Totally Buggy.

(I'm cross-posting this issue from sourceforge since the sourceforge issue tracker looks kind of dead and I'm not sure anyone's reading it.)

D2BitReader.write() is totally buggy.

To demonstrate, try overwriting an item's fingerprint with 0x00000000 or 0xDEADBEEF or whatever, and then reading back what was written. What you read back will be wildly wrong.

Frankly, I'm surprised that we're not seeing a ton of data corruption when this is used by things like D2Item.set_row().

Here is a correct, though inefficient, implementation of write() if you'd like to borrow it.

Torch disappearing

Hi,

I made the mistake of putting more than one Torch into one of my character's personal stash using GoMule. When I logged on my character in D2R, I realized my Torches disappeared. probably because D2 doesn't allow you to carry more than one Torch in your combined inventory/personal stash.

Perhaps you could add some kind of error message or warning in GoMule to prevent this.

Thanks!

Can't get it to work

I think I've followed all of the java instructions. I get 4 pages of errors. This is the first:

null
at randall.d2files.D2FileReader.getCounterBoolean(Unknown Source)
at randall.d2files.D2FileReader.getCounterInt(Unknown Source)
at randall.d2files.D2TblFile.(Unknown Source)
at randall.d2files.D2TblFile.readAllFiles(Unknown Source)
at gomule.gui.D2FileManager.(Unknown Source)
at gomule.gui.D2FileManager.(Unknown Source)
at gomule.GoMule$1.run(Unknown Source)
at java.awt.event.InvocationEvent.dispatch(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$500(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)

Thanks for your help. I just installed this after your update of 2 hours ago.

Updates for patch 2.4?

Will this project be updated for the new patch? GoMule stopped working after its release, but traffic on their site is so low I'm not sure of its status.

d2r holds saves when open

Hi.

It appears you need to quit d2r completely to mule - you can't just leave the game. If you have the game open, this can lead to items disappearing (if you move from stash to char) or duping (char to stash).

In the long run it would be nice to add some checks to see if the file has actually been written to, but short term, maybe check if d2r is open and give a warning or something?

Making gomule compatible with mods?

Are there any plans to make this compatible with mods, or provide the ability for modders to make it compatible? Because gomule for D2 legacy freaks out if you mod in things like a custom item. It cannot handle it at all. A way to add in the custom item to gomule's database so that it can load it instead of freaking out with tons of errors with be great.

Release zip not available or installation instructions wrong

README.md says:

Download the latest release zip and unzip it to a convenient location

However, the release zip is not there, you have to go to https://gomule.sourceforge.io/ and hope they have the latest version for download. You can also find it by clicking on Tags, but that is not in the Readme.

So, either put the release zip on the release page or change the README.

I can do that if you tell me how it is intended to work.

Shared Stash

Hi,

Glad to see that you are working with the shared stash. However it seems to me that you are building a common ATMA-style stash from it, or have I missed something?

Shared stash is however a 3x 10x10 "personal" stash where items have their x and y coordinates. I'd do it with a normal stash and some UI to toggle between personal and shared1-3.

I'm sorry if I have misunderstood all and you are on the right way.

Yours,

m4ke

Edit: And all 3 shared stashes can also have gold.

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.