GoMule for D2 Resurrected

GoMule D2R fails to load the attached character who is holding an ear imported from LoD. D2R itself opens it fine.

What with D2R's lack of non-realm multiplayer support I'm not sure this is the biggest problem in the world but I've spend about an hour figuring out why GoMule didn't like my ThrowBarb and have to tell somebody!

Character Disconnected
at gomule.item.D2Item.<init>(D2Item.java:174)
at gomule.d2s.D2Character.readItems(D2Character.java:519)
at gomule.d2s.D2Character.readChar(D2Character.java:248)
at gomule.d2s.D2Character.<init>(D2Character.java:131)
at gomule.gui.D2FileManager.addItemList(D2FileManager.java:1580)
at gomule.gui.D2ViewChar.connect(D2ViewChar.java:446)
at gomule.gui.D2ViewChar.<init>(D2ViewChar.java:425)
at gomule.gui.D2FileManager.openChar(D2FileManager.java:1326)
at gomule.gui.D2FileManager.openChar(D2FileManager.java:1305)
at gomule.gui.D2FileManager$23.actionPerformed(D2FileManager.java:868)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
at java.awt.AWTEventMulticaster.mouseReleased(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(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.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue$4.run(Unknown Source)
at java.awt.EventQueue$4.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)
 

Attachments

  • IEarYou.zip
    3.5 KB · Views: 2
@BullHorn - The 'drop all' button on the right hand side should work for you? Just click the stash then click drop all, let me know how it goes.

Yeah, that's how I've been using it, but this requires many clicks to perform an action.
Current usage:
Click 10 items to pick them up into the clipboard
Travel to correct stash
Click stash
Travel to far away 'Drop all' button
Repeat for each stash type

Usage if Drop All button existed in each stash:
Click 10 items to pick them up
Travel to correct stash
Drop all
Repeat for each stash type

Not a big deal, I just found that inconvenient as I was managing about 9 different stash types.

Thanks for the awesome new version by the way!!
 
I just took note of this thread. FANTASTIC!

I've been an ATMA user before, so I guess I will finally switch to GoMule, something I've been intending to do for a long time. It's still beta, but in case I lose loot, I can replace my losses from old ATMA stashes of the original D2 (even though I chose to start out from scratch), right

I'm not really willing to read all of the thread, so:

Do we have a summary of known bugs?
What to do in order to backup and restore character files in case something goes terribly wrong?
 
New version: https://sourceforge.net/projects/gomule/files/gomule/R0.44/GoMuleR4.4.9_Resurrected_1.0.zip/download

Changelog:
10/07/21: Change application running checker to avoid grabbing focus
10/07/21: Stop lying about merc status
10/08/21: Remove custom colors from stash filters, tweak red color on file manager tree view
10/08/21: Add freeform text search field to stash
10/08/21: Enable the dropAll button


@jrt055 - thanks for the bug report! I checked the code and it turns out it's hardcoded to always say dead: false, even in the old version of GoMule. I changed this to 'unknown' - I don't know how blizz stores this info.

@Gnoblin - thank you! I added the freeform text search field, great suggestion. The pick all control is tougher, I see the value for it but it's hard to implement with the code how it is today. Maybe in the future?

@ffs - oh wow, those are awful. I ended up removing the colors altogether, I'm not sure why they're needed when the radio button already calls out the item is selected? Hopefully this is better?

@Nazdakka - awesome, thanks for the stash! This bug is now fixed.

@BullHorn - weirdly, the dropAll button was already in code, just not enabled to be displayed. I fixed that, not sure why I didn't do that in the past?

@krischan - thank you! No known bugs, the backup is automatically set up to produce .org files just like ATMA in a GoMule.backup folder alongside your character/stash file.
 
@krischan - thank you! No known bugs, the backup is automatically set up to produce .org files just like ATMA in a GoMule.backup folder alongside your character/stash file.
Excellent! So if there are no known bugs, it's not beta anymore, right?

OKOK, I don't mean to put pressure on you. Relax and take your time to finish your D2R SINGLE-PLAYER MULING APPLICATION!
 
  • Haha
Reactions: silospen
Excellent! So if there are no known bugs, it's not beta anymore, right?

OKOK, I don't mean to put pressure on you. Relax and take your time to finish your D2R SINGLE-PLAYER MULING APPLICATION!

Haha... hahahahaha... I haven't seen Krischy this excited in forever! Always so stoic, that one is. :D

@krischan GoMule is stable and works perfectly fine at this juncture. Don't be afraid to give it a try.

@silospen Yep, I could never go back to light mode ever again. Dark Mode forevs!
 
  • Haha
Reactions: silospen
Sweet, loving it! I've been using it for a few days without any major issues. LOVE the new Drop All buttons :D
 
  • Love
Reactions: silospen
I am having a problem with loading a character in the current version of gomule for d2r. This character always shows as "disconnected". I am able to load and play the character normally in d2r however. Further, upon loading this character, gomule locks up and can not be terminated except thru task manager or a hard reboot. I can still transfer items to this character by putting them from the gomule stash to the shared stash and vice versa. I cannot access anything in this characters file as after loading it in gomule, all the inventory and stash boxes are empty. I have been able to load another character and my shared stash and all seems well with those items in gomule and in game. I have not tried to load any other of my characters because i do not want to corrupt or otherwise damage those character files. Just an FYI.
 
  • Wow
Reactions: silospen
I am having a problem with loading a character in the current version of gomule for d2r. This character always shows as "disconnected". I am able to load and play the character normally in d2r however. Further, upon loading this character, gomule locks up and can not be terminated except thru task manager or a hard reboot. I can still transfer items to this character by putting them from the gomule stash to the shared stash and vice versa. I cannot access anything in this characters file as after loading it in gomule, all the inventory and stash boxes are empty. I have been able to load another character and my shared stash and all seems well with those items in gomule and in game. I have not tried to load any other of my characters because i do not want to corrupt or otherwise damage those character files. Just an FYI.
Could you email me the character at [email protected] please and I'll take a look? Thank you!
 
By any chance, would it be possible to:

When dropping an individual item into a stash, automatically go to that item in the stash? (As opposed to staying at the top of the alphabetic list.)

Whenever I'm stashing an item, I'm very interested to compare it to other versions of the item that I may have already stashed. So, I was dropping an item, then scrolling down until I came across that item to see if I had already stashed any others. With the great addition of the freeform text search, I'm now dropping an item, and then typing it's name ... which is really handy! But, it would be even handier, if when dropping an item, we just automatically went straight to that item (the way ATMA works in Tree view).

Thank you for your consideration ... and most especially everything you've already done! It's working great, and the addition of dark mode, drop all, and the freeform text search are wonderful!

Thanks again!
 
  • Like
Reactions: silospen
Is there a help center or guide for GoMule for those of us who've been out of the D2 world for a while? Last time I played, ATMA was still the dominant muling app and the diabloii.net forums were still alive and kicking.

Just looking for the basics. I played around with it for a bit, but I'm clearly rusty when it comes to single player muling.
 
Latest GoMule crashes on the attached stash. It actually seems to break entirely, I have to terminate it with the Task Manager.

I'm honestly not sure what's in it, I believe no ears this time.
Error

Error: null (null, null)
at gomule.item.D2Item.<init>(D2Item.java:174)
at gomule.d2x.D2Stash.readItems(D2Stash.java:183)
at gomule.d2x.D2Stash.readAtmaItems(D2Stash.java:151)
at gomule.d2x.D2Stash.<init>(D2Stash.java:78)
at gomule.gui.D2FileManager.addItemList(D2FileManager.java:1597)
at gomule.gui.D2ViewStash.connect(D2ViewStash.java:352)
at gomule.gui.D2ViewStash.<init>(D2ViewStash.java:286)
at gomule.gui.D2FileManager.openStash(D2FileManager.java:1508)
at gomule.gui.D2ViewProject$CharTreeNode.view(D2ViewProject.java:402)
at gomule.gui.D2ViewProject$3.mouseReleased(D2ViewProject.java:126)
at java.awt.AWTEventMulticaster.mouseReleased(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(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.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue$4.run(Unknown Source)
at java.awt.EventQueue$4.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)
 

Attachments

  • CrashStash.zip
    467 bytes · Views: 3
Last edited:
Latest GoMule crashes on the attached stash. It actually seems to break entirely, I have to terminate it with the Task Manager.

I'm honestly not sure what's in it, I believe no ears this time.

This what's in there. Poor Jeremy lol.

1633783124429.png
 
@Gnoblin - thank you! I added the freeform text search field, great suggestion. The pick all control is tougher, I see the value for it but it's hard to implement with the code how it is today. Maybe in the future?

cool - thank you - downloading now! Yes pick all is definitely just a luxury and if it's not straightforward then not really worth your time. The quick filter is a big QOL (for the way I use a single stash with thousands of items dumped in) so this is great to have

edit: ok the Contains search box is... amazing. instant updates / no delay / looks in both name and mods... so handy
 
Last edited:
  • Love
Reactions: silospen
The attached stash is a mix of SC and HC items. GoMule doesn't seem to show which items are which (how do I filter for this?). If I load it with my preferences set to 'SC only' the latest GoMule will refuse to load it (good!) but also crashes and has to be killed using Task Manager (bad!).

(Yes, I used to be a software tester. Why do you ask?)
 

Attachments

  • HCSCMixedStash.zip
    1.1 KB · Views: 1
New version: https://sourceforge.net/projects/go...44/GoMuleR4.4.10_Resurrected_1.0.zip/download

Changelog:
10/08/21: Select the last inserted item when dropping in stash
10/09/21: Fix bug preventing close on disconnected window
10/09/21: Fix ears again

@krischan - https://en.wikipedia.org/wiki/Perpetual_beta - it's what all the cool kids are doing ;)

@NorthDakota - forgot to call out that I fixed the focus bug in the last release, super annoying behavior, hopefully it's all good now

@Kneecap77 - I'll work with you over email

@bioctoplasterio - someone did a tutorial here

@Nazdakka - second time's the charm, hopefully the ears are fixed now? If anyone has a large number of ears that would be helpful to me, the file format is not easy to understand. Also, I have questions about why you're the only user with ears lying around ;)

RE: HC/SC - it's not a property of the item itself so they're indistinguishable once mixed. The latest version should fix the crash issue. It's also not a property of the ATMA stash file format, it's all done based on the stash filename prefix being either 'sc_' or 'hc_'.

Honored/terrified to have a professional testing this decade old software :p
 
PurePremium
Estimated market value
Low
High