youdz / d2-stash-organizer

Diablo 2 Collection manager
MIT License
58 stars 21 forks source link

[Feature request] Support modded game data files #41

Open ChaosMarc opened 2 years ago

ChaosMarc commented 2 years ago

In my personal single player "mod" (only convenience features) I'm using the vanilla body parts that can be found in misc.txt as red portal shortcuts to some bosses. before the D2R support release (great work btw) they were parsed without any problems, but after they produce errors like this: Failed to parse Horn at row 7, column 10: Unknown mod 429

save game: horn.zip

youdz commented 2 years ago

Hmmm, when I open this file in game I can't see the horn in the inventory at all, even though the save file says that's where it is. That's going to be tough to test blind. Let me see if I can pinpoint the issue just from the raw data.

youdz commented 2 years ago

Ah, I found the "issue". Before D2R support, I was skipping magical properties for normal items because I thought the list was just not there. It happened to work because of the JM headers, which allowed me to jump to the next item. In your case, you actually had magic properties on these body parts which are normal items, so me skipping them was a "happy mistake", I would say.

But with D2R, I had to refactor to not rely on the JM headers anymore as they have been removed, which forces me to parse every property on the item. Your items seem to have a property that does not exist in the game files (I'm assuming you added lines in ItemStatCost, for things like red portal to bosses), so now they fail to parse.

Not sure there is much I can do about this, supporting hacked items created for the base game is something I've tried to do, but supporting modded data files is much harder without a fork.

youdz commented 2 years ago

I guess this could be transformed into "support game data mods". That's a bigger feature with low priority, but maybe possible. I'll have to be very careful about bundle size though, right now I am very careful about not importing the entire strings files into the web bundle, but if I take custom mod data I'll need to adapt.

ChaosMarc commented 2 years ago

Your items seem to have a property that does not exist in the game files (I'm assuming you added lines in ItemStatCost, for things like red portal to bosses), so now they fail to parse.

Actually I didn't 😇 I just reproduced it with a clean vanilla installation and modded exactly two things:

after cubing one of the starting scrolls on a fresh char into a horn an uploading the save to your tool, I get the same error as before.

I've attached the save (the char has the horn in it's inventory, not the stash) and the "mod" itself (just extract to your d2 directory and start with -direct -txt)

save: char.zip mod: mod.zip

If you decide to ignore this issue I have no problem with it, I just wanted to let you know that this is something that happens with the official game files if one could obtain the body parts. They must be special in some kind of way.

zanderb27 commented 2 years ago

Hey Youdz, I am the author of popular D2R mod, Vanilla Plus (nexus mods: https://www.nexusmods.com/diablo2resurrected/mods/17?tab=description&BH=0 ) I am looking to implement stackable runes and gems in D2R in the near future and it would be real nice if this collection manager could accept or simply ignore modded items. I hope you will consider adding support for this !

foxdie987 commented 2 years ago

Do you get "Could not find base zcv for unknown item" and "Could not find base zkf for unknown item" errors when using the mods stackable runes and gems. I'm using these mods and I think they're causing those errors while trying to upload modded save files, although I'm not quite sure.