gomule-d2r
gomule-d2r copied to clipboard
Hi from GoMule!
Hey, just wanted to say hi and let you know that I've been working on D2R support over at Sourceforge https://sourceforge.net/p/gomule/git/ci/d2rSupport/tree/
Hey @silospen,
Ohh! nice! I will look at your repo.
Most of the classes and functions that you have I've kept. There is this additional class that I added for a shared stash here https://github.com/pairofdocs/gomule-d2r/pull/14 (WIP on the shared stash)
I downloaded the official gomule version from silopen to see what the differences are but it seems you guys use different file types for the atma stashes, cant load them.
Yea there might be some difference there (but maybe just file extension, not structure of the stash itself)
@AcetateBarrel if you change the stash filename to .d2x
will it work in gomule-official ?
The .d2i
stashes created in this gomule-d2r are Atma structure
but the file name extension for Atma stashes is actually .d2x
for LoD
I updated the D2X format to be inline with the D2R savefiles, so there's:
- A version bump to keep it in sync with d2s files (97 vs 96)
- JM flags between items have been removed (so no JMs at all)
I was planning to put together a PR on here https://github.com/pairofdocs/atma-stash-d2r for another converter from your d2i/d2x to my d2x later this week.
I updated the D2X format to be inline with the D2R savefiles, so there's:
- A version bump to keep it in sync with d2s files (97 vs 96)
- JM flags between items have been removed (so no JMs at all)
I was planning to put together a PR on here https://github.com/pairofdocs/atma-stash-d2r for another converter from your d2i/d2x to my d2x later this week.
Cheers for the update! The d2x stashes I made with R0.3 currently throw an error in R4.4.8, do I have to update them manually?
@silospen ohh I see 👍
I have .d2i as JM, numItems, Itemlist(no JM separators)
(I chose that since the D2R shared stashes .d2i
from the Alpha were just this simple item list)
and .d2x format has D2X, numItems, version, checksum, JM, Itemlist (with JM separators for LoD and no sep. for D2R)
so my .d2i file can't be used like I thought, I'm missing the D2X characters, the version (97 like you said for D2R) and the checksum
We could do something like this conversion system which has the 'starting point' of .d2x version 96
(.d2x version 96 ) < -- > (.d2i gomule-d2r) is already set up
so all that's missing is (.d2x version 96 LoD) -- > (.d2x version 97 LoD)
and we can skip the (.d2i gomule-d2r) -- > (.d2x version 97 LoD) converter
since the 'undo D2R' step is covered by (.d2i) --> (.d2x version 96)
and .d2x format has
D2X, numItems, version, checksum, JM, Itemlist (with JM separators for LoD and no sep. for D2R)
It looks like the d2x version 97 from @silospen has the following header now:
D2X, numItems, version, checksum, Itemlist (with no JM separation)
(so no initial JM as well)
I tried to modify the atma-converter today, for the d2x 96->97 conversion, just reading the item data byte-wise and skipping any JM's... I'm still debugging.
Perhaps GoMule could convert the 96 stashes automatically?
and .d2x format has
D2X, numItems, version, checksum, JM, Itemlist (with JM separators for LoD and no sep. for D2R)
It looks like the d2x version 97 from @silospen has the following header now:
D2X, numItems, version, checksum, Itemlist (with no JM separation)
(so no initial JM as well)I tried to modify the atma-converter today, for the d2x 96->97 conversion, just reading the item data byte-wise and skipping any JM's... I'm still debugging.
Perhaps GoMule could convert the 96 stashes automatically?
I'll take a look this week too.
My idea was to use the atma-converter javascript code https://github.com/pairofdocs/atma-stash-d2r/blob/master/index.html#L280-L285
and just change what's written to the header ( D2X, numItems, version, checksum, Itemlist (with no JM separation) (so no initial JM as well)
like you wrote above)
And i'll have a separate .html page for this atma 96 --> atma 97 converter so the 1st index.html page doesn't become spaghetti messy
Edit: https://github.com/pairofdocs/atma-stash-d2r/blob/master/index.html#L307-L313
the header for the destination bytes (dst
) should be something like
numItems = src.read16();
// write D2X, itemcount, version 97, 00 00 00 00 for checksum
dst.write8(0x44);
dst.write16(0x5832);
dst.write16(numItems);
dst.write16(97);
dst.write32(0x00000000); // fill in checksum after dst is populated
then parseItemList()
is called
An update on the Atma .d2x v96 to v97 (D2R) converter
I added a separate page for the .d2x <---> .d2x converter here https://pairofdocs.github.io/atma-stash-d2r/convert96to97.html
Testing with a stash (.d2x LoD --> .d2x D2R) worked https://imgur.com/a/as0Qbay
Just tried the converter for d2i>d2x and got this as error
Error
Stash Version Incorrect!
at gomule.d2x.D2Stash.readAtmaItems(D2Stash.java:153)
at gomule.d2x.D2Stash.
does anyone know what causing the error for me? Thanks
Share your stash, we can take a look
Which converter page did you use?
I think you need to use https://pairofdocs.github.io/atma-stash-d2r/convert96to97.html to convert to the latest version and then hit 'Download Atma version 97 LoD .d2x stash'. Let me know how that goes?
Just tested a few and they seem to be all good now. I did D2i>D2x then 96>97. I'll update them all tomorrow and let you know if I have any problems. Thanks for the help