Comments (10)
Hi. Thanks for working on this project. Here's an example stash.
from gomule-d2r.
Item encoding has changed in D2R, you're right.
a .d2x file has to be converted to D2R for gomule-d2r to read it. There is a tool to convert D2 LoD save files to D2R save files which does the item conversion.
https://github.com/d07RiV/d07riv.github.io/blob/master/d2r.html#L262 from the converter page https://d07riv.github.io/d2r.html
That function can be used to convert a .d2x to a .d2i file
Do you have a sample .d2x file? I can take a look over the weekend
(you can zip the file and drag-and-drop it as an attachment to a comment here)
from gomule-d2r.
@Pwntheon do you have an example stash with some items?
default.d2x has the header, item count (0), file version and a checksum but no items
from gomule-d2r.
In progress converter here: https://pairofdocs.github.io/atma-stash-d2r/
I'm still testing. I was able to open an example stash with 1 item (.d2x converted to .d2i) and open it in gomule
from gomule-d2r.
@pairofdocs Is there any chance that you implement backwards convertion (from .d2i to d2x)? And is there any converter from d2r to d2 save file (want to play tcp/ip in old version)?
Here is stash for debug (converter did not work for this one)
from gomule-d2r.
@semenzaharov I'll look into that conversion after debugging the .d2x -> .d2i one
Thanks for the file 👍
I was reading the binary data from it and saw 6673 items in the header, but when going through the item list I only saw 6672 items and the code failed on the last one. Do you know how many total items there are in that stash file? Does Atma or Gomule-LoD show that?
This will convert D2R to LoD https://d07riv.github.io/d2r.html
from gomule-d2r.
@semenzaharov I couldnt find the issue with the stash MainStash.d2x, there is some item that's not being converted right by Riv's converter or something else
I was able to get a part of the stash to convert correctly and show up in Gomule-d2r
I took the first 1982 items from the stash to test. Here is the .d2x and the .d2i stashes zipped
MainStash-1982.zip
from gomule-d2r.
@pairofdocs it shows 6673 in old gomule. It seems that 2 A Jade Figurine cause the problem (you don't have them in your MainStash-1982.zip) - I tried to split main stash into smaller ones and only they won't convert.
But, after removing them from MainStash and conversion, GoMuleR just freezes on opening stash (with 6671 items).
from gomule-d2r.
How big were the splits that you tried?
Smaller stashes seem to have more success for converting (maybe there is a out-of-memory issue with converting in the browser. And a separate issue with some item/items as well).
There was a post here that had a 5k stash but after moving out all the runes, charms, gems, runewords, and crafted items - leaving it at 2k items roughly was able to convert.
I selected a random middle section of the main stash and had ~1.8k items convert correctly. random_sel_1k.zip
It's hard to track down exactly what the problem is. I'm just using Riv's conversion functions and am not familiar with them. We would need Riv the original author of the converter script to debug this more carefully. https://github.com/d07RiV/d07riv.github.io
from gomule-d2r.
@pairofdocs Is there any chance that you implement backwards convertion (from .d2i to d2x)? And is there any converter from d2r to d2 save file (want to play tcp/ip in old version)?
I added code to be able to also convert from .d2i to .d2x https://pairofdocs.github.io/atma-stash-d2r/
Testing with MainStash-1982.d2x -> MainStash-1982.d2i -> MainStash-1982.d2x (converting twice) I see that there are a few items that weren't converted back 100%.
There is only one byte that differs consistently for a few items in the stash. This could be the issue that the converter code is having
orig d2x : 4A 4D 10 00 80 00 02 C4 0C 20 97 E6 06 82 CC 9D 46 06 0E 25 00 78 04 14 B9 FF
conv d2x : 4A 4D 10 00 80 00 65 C4 0C 20 97 E6 06 82 CC 9D 46 06 0E 25 00 78 04 14 B9 FF
____________________________ ^
related to https://github.com/d07RiV/d07riv.github.io/blob/master/d2r.html#L279-L283 I believe. Could be related to "item version" data for the item
That example item above was a blue ring and d2r-gomule can read the .d2i file, then gomule-lod can read the twice converted .d2x file.
MainStash-oneitem-testitemversion.zip
but in the original .d2x MainStash.d2x the version of the item is Uknown
(and in the twice converted d2x it's v1.10+)
Riv's converter probably fails for these items (or something else is causing issues, since d2x -> d2i worked for all those items in Mainstash-1982)
from gomule-d2r.
Related Issues (20)
- Shared Stash HOT 9
- Character says disconnected HOT 7
- Hi from GoMule! HOT 16
- expanded stash/inventory/cube size HOT 5
- Release zip not available or installation instructions wrong HOT 3
- Torch disappearing HOT 1
- request for dark theme HOT 1
- D2BitReader.write() Is Totally Buggy. HOT 2
- Expanded storage mod support for D2R
- In-Game Grail Tracker - Where to point menuPanelHDPath? HOT 3
- Updates for patch 2.4? HOT 1
- Not working as of 2.4 HOT 9
- Is there any plan for reading plugy shared stash file?
- Translation options
- Making gomule compatible with mods? HOT 1
- d2r holds saves when open HOT 7
- Any plan to support game's new shared stash? HOT 5
- Can't get it to work HOT 5
- D2R character file won't load properly after moving from D2 HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from gomule-d2r.