Thoughts on consolidating the SP trade pool

That's awesome, Lemma. As a 1.14d player, I've been reliant on running 1.07-1.10s for multi-character use. If we can do that in 1.14, this is one less reason to stick with 1.13 versions. Thank you for this.

About version switching: I feel I must say that even if you can't use BVS as a 1.14+ player, you can always keep separate installations of different Diablo II versions in their own distinct directories on the C: drive. You just simply have to name the folder of the version you want to play to "Diablo II" and have the others with some modification in their name--such as the version of the game. This is what I did to run 1.07 and 1.10s beta. It's not the most ideal technique for saving hard drive space, but that's really not that much of a problem these days, considering the cheapness of today's storage drives and D2's relatively small footprint.

I really like 1.14d. It definitely runs, looks and behaves better than 1.07 and 1.10s have for me (presumably 1.13d too, which I failed to get running when I returned mid-2016). Unlike in those older versions I don't have to use a Glide wrapper--and Shadowplay actually works.
 
Hmm, separate installs is something I haven't considered. Might try it, just to see if 1.14 runs better. Bit of a hassle maybe, but could work while we're waiting for better solution. I wont of course upgrade any of my active chars yet, but if there's a big difference on how the game runs, I might be inclined to.
 
Some people also talked about multi or higher res being broken too, I never used that so not sure what that is. But some people can't handle going back to normal mode.
 
I'm using 1.14d as my primary version and I can confirm that self-MP is still possible, and I believe that all mods permitted in the MP/trade pool should work with 1.14d, so I'm not sure what reason there is to use 1.13, unless you're using mods other than FAM in which case you'd have to separate those characters/stashes from the pool in any case. I'm personally using RWM and a glide wrapper with 1.14d and both work perfectly.

The only difference with self-MP is that since there's no longer a d2gfx.dll file as Blizzard consolidated it into Game.exe, you need a patched Game.exe file instead. I don't recall where I downloaded the one I'm using, and I'm not sure if it's available on any site that's permissible to link to, but I took a look at it since I'm not in the habit of trusting unknown executables and it looks like the exact same fix as the patched dll, just applied to the portion of the 1.14d Game.exe containing the relevant code that used to be part of d2gfx.dll. It's literally one byte different from the original - at offset 0xF562A, 0xEB is changed to 0x74. Anyone with a hex editor can make their own patched Game.exe by changing that one byte.

Unless I'm missing something, it seems like the only thing that doesn't work is version switching software, which is a convenience but isn't actually necessary to run 1.14 alongside other versions. If the lack of support from version switchers is what's keeping people on 1.13, I'd be willing to help develop a solution if it meant consolidating the pool. I know the author of Bliss says he has no plans to support 1.14, because he doesn't think there's any reason to upgrade, but it's open source and I don't think it would be too difficult of a feature for someone else to add. I don't think it should take much more than just adding some code to check if it's switching to/from 1.14, and if so, delete/restore the relevant dlls.

I know a lot of people using 1.13 don't see any reason to switch if it works for them, and if characters and items could move freely between 1.13 and 1.14 then I'd agree. But the way I see it is if we're all going to use the same version, the only other way to consolidate the pool, it's more feasible for it to be 1.14 than 1.13. I see a lot of people saying they're identical so there's no reason to upgrade, but that logic goes both ways. And in fact, while the gameplay might be the same, the compatibility fixes in 1.14 were necessary to keep a 16 year old game working well on modern systems, and there are people for whom 1.14 just runs better. Plus it's the default that you get if you download the installer from Blizzard instead of using a CD, and if you don't think that matters, just look at all the posts from people who have 1.14 and are having trouble downgrading.

@Thyiad Would modifying your own game.exe be acceptable? I know sharing a modified game.exe might be slightly tricky.

I created a modified d2gfx.dll for older versions (specifically 1.00) a while back as one did not exist. I remember this was ok at the time, so I'd presume that it would be ok to modify game.exe for 1.14.
 
Some people also talked about multi or higher res being broken too, I never used that so not sure what that is. But some people can't handle going back to normal mode.

This isn't FAM due to the effects on gameplay (the game isn't designed for you to be able to see so far and it makes the game a lot easier when you can see mobs before they notice you), so anyone using these mods would not be able to trade/MP anyway. The only mods relevant to consolidating the pool are the ones that are allowed to be used in the pool.

@Thyiad Would modifying your own game.exe be acceptable? I know sharing a modified game.exe might be slightly tricky.

I created a modified d2gfx.dll for older versions (specifically 1.00) a while back as one did not exist. I remember this was ok at the time, so I'd presume that it would be ok to modify game.exe for 1.14.

One option would be to create a separate program to automatically modify the Game.exe to make the process as easy as possible without actually distributing the modified Game.exe directly. That way people could download something that contained no Blizzard code, and wouldn't have to mess around with a hex editor. Distributing patches is a time-tested method to get around restrictions on sharing modified versions of software, and this would basically just be a (very small) patch, plus a simple program to apply it.
 
Jcakes, I'll respond to this whole thread fully tomorrow afternoon. :)
 
Just to provide an update on the version switching situation, I've made two minor modifications to the BVS code that I think should be sufficient to make it work with 1.14. I'm in the process of setting up a Windows VM that I can use to test it out (since I'm running Linux and normally use a version switching system based on btrfs snapshots), and if it works, I'll make my modified version available on Github so other people can test it, and if there are still no issues, submit a pull request asking that my changes be merged into the master version. Even if fearedbliss isn't interested in adding 1.14 support himself, he ought to be willing to merge my changes, once tested and verified to work, since they don't make the code much more complex or difficult to maintain.

To summarize my changes, basically all I did was:
1. Added some code to the FileSwitcher class to check if the version string contains "1.14" (simplest way to handle it for testing purposes, but would need to be modified if Blizzard ever releases a 1.15 - so at some point I might write a function to check if the version is greater than or equal to 1.14 after removing any letters from the end), and if so, treat the list of DLLs that were merged into Game.exe the same way it treats the patch mpq files with 1.00 and 1.07 - in other words, delete them if switching to that version.
2. Modified the RegistryUtility class so that it sets the "NewSavePath" registry key used by 1.14 as well as the "Save Path" registry key used by older versions when switching.

Also, to clarify, my changes are just to the BVS code (BlissVersionSwitcher.jar, specifically the classes listed above), so to have multi-instance support you'd still need the modified Game.exe file. I don't see any reason why distributing a modified Game.exe file should be any different than distributing a modified d2gfx.dll file, considering the exact same change is being made to the exact same code in both cases, but I'll wait to hear from Thyiad to figure out what the best way to go about that part would be. I would be happy to write a simple program that modifies Game.exe and make it freely available under an open source license, but it might be easier to just work with fearedbliss to get the modified Game.exe included in the "Bliss Complete Collection" 7z file, the way the d2gfx.dll is included for other versions.
 
My modified version appears to work perfectly and I've created a fork on github. You can find it by opening the BVS github page and viewing forks (mine is the only one), or I'll post a direct link if Thyiad confirms it's ok. It would be great if others could test this out and let me know if there are any issues. As a disclaimer, please consider this beta software, as while it works for me, I'm the only one who has tested it as of now. I recommend that before trying this, you should create a backup of your Diablo II folder that you can restore if anything breaks. If you're already running BVS, you just need to replace the BlissVersionSwitcher.jar file with my version, and follow the instructions in the readme for installing a new patch. You'll need to manually type in the version number you're adding in BVS since I didn't add anything to the menu.

If I can get a few testers to confirm that my modifications work for them as well, I'll go ahead and submit a pull request asking fearedbliss to merge the 1.14 support.
 
Hey Lemma,

I've read the thread and there have been some good discussions here. I appreciate your effort for the 1.14 changes.
I have pretty philosophical disagreements with the way Blizzard has taking Diablo II and I actively discourage the use of anything over 1.13d, so due to that, I won't be accepting or making any changes to my code. However, my code is open source as you already know. So definitely feel free to continue your fork as long as you follow the project license (GPLv3), and I would also tell any 1.14 single player users that need BVS, to definitely follow Lemma's lead on this. I would be more than happy if Lemma continued to carry the torch.

- Jonathan
 
Hey Lemma,

I've read the thread and there have been some good discussions here. I appreciate your effort for the 1.14 changes.
I have pretty philosophical disagreements with the way Blizzard has taking Diablo II and I actively discourage the use of anything over 1.13d, so due to that, I won't be accepting or making any changes to my code. However, my code is open source as you already know. So definitely feel free to continue your fork as long as you follow the project license (GPLv3), and I would also tell any 1.14 single player users that need BVS, to definitely follow Lemma's lead on this. I would be more than happy if Lemma continued to carry the torch.

- Jonathan

Thanks for your work on BVS and for releasing it under an open source license. My modified version is under the same license in accordance with the GPLv3, and all source code is on Github along with the modified jar file. So far I have not changed any of the text files but since you are not going to merge my code, I'll go ahead and modify the readme, changes.txt, etc. to make it clear that this is a fork and not your original work, and that any problems should be reported to me and not you.

To clarify, when you say you won't be making any changes to your code, does that mean no changes at all, or just no 1.14 support? If it's the former, I'll go ahead and increment the version number, but if not, I'll come up with something different to avoid confusion, maybe add a letter to the end. I wasn't going to change the name but I will if you would like me to.
 
I have to say that I'm not thrilled that this turned into a mod-discussion. Nor am I happy that instructions on how to find modifications are being posted. Whether it's a direct link or an instruction, it's the same boat ... a mod which hasn't been checked here. As per my PM, I'd rather Fearedbliss was involved with any changes to his code, open source or not. Even as a check that the code doesn't cause issues with what he's done and does what it says on the tin. I'm the first to admit that I do not know enough about coding to be 100% sure that anything posted is ok and I'd rather not be responsible for a forum restart. :p

With all respect to Lemma, you joined on Monday. I appreciate that that we need new people to take on the mantle of keeping our accepted alterations running, but can we at least take a breath and not rush headlong into changes?

On the original point and post, the issue about updating seems to be "why bother unless I'm forced to by online play". Well, merging 1.13 and 1.14 won't solve that. And what's the cunning suggestion for previous versions with very few differences? Are we then suggesting a "no items backwards except x to y and m to n" etc? How many traders are willing to be sure that they tag their trades properly and make sure that no one "oopses"? What's the suggestion for when someone does make a mistake and have 1.14 items suddenly arriving in 1.11?

It's a similar discussion to "why do we split vanilla and FAM"; I know most vanilla players don't trade to avoid "oops" but would you be happy to merge versions?

By all means let those qualified and trusted members work together to keep 1.14 as flexible as previous versions regarding mods we do accept (modified .dll, GoMule, Fear'd switcher - even Charsi, anyone remember that?) but I personally am not convinced that everyone is then going to go "woot, let's all hit 1.14". Nor am I convinced that the gain is worth the pain of merging versions. Being a cynic, I'm also very sceptical about Blizzard ever updating anything else. Ok, I've been suprised since 1.12 that they updated anything but we are talking a VERY old game. Maybe a small tweak before a D4 or similar to pique the interest of us old farts who play offline games which are older than most players of the new version, but still ...

I'm still in two minds. Merging may help the trade pool, but will it end up with someone messing up and basically having to say "forwards/backwards from 1.11 to 1.14 because someone messed up"? I'm not a trader but if I was, I think my desire for a wider trade pool would be outweighed by the fear of someone doing something they shouldn't. YMMV.

I'll re-open this thread now, and I would appreciate it if it would be possible to stick to the original question.

And yes, I think I did a wall-o-text and basically said "I dunno".
 
I have to say that I'm not thrilled that this turned into a mod-discussion. Nor am I happy that instructions on how to find modifications are being posted. Whether it's a direct link or an instruction, it's the same boat ... a mod which hasn't been checked here. As per my PM, I'd rather Fearedbliss was involved with any changes to his code, open source or not. Even as a check that the code doesn't cause issues with what he's done and does what it says on the tin. I'm the first to admit that I do not know enough about coding to be 100% sure that anything posted is ok and I'd rather not be responsible for a forum restart. :p

With all respect to Lemma, you joined on Monday. I appreciate that that we need new people to take on the mantle of keeping our accepted alterations running, but can we at least take a breath and not rush headlong into changes?

I'm sorry if my posts were taken the wrong way; I didn't mean to come in as a newbie and tell you how to run the forum. In fact, my reason in bringing up the issue of mods and version switching was that I didn't want to question your rationale for not allowing 1.13 and 1.14 to trade with each other, since I have no idea how much of a problem "oopses" would be if that were to happen.

So instead I was trying to explore how the problem might be solved without having to resort to changing the rules. As someone who last played the game back in 1.10 when everyone was playing the latest version, I was a bit surprised to come back and find the community so divided, and sought to find out why this was an issue in the first place. And it seemed to me like multi-instance support and version switching were two things that were brought up a lot, and that those were problems that could easily be solved.

I'll leave the discussion of whether the pools should be merged to allow trading between 1.13 and 1.14 to others since I don't feel qualified as a newbie to comment on that one way or the other, and I'll take further discussion of BVS and multi-instance to PMs.
 
Yea I know what you mean Thyiad and Lemma. I noticed the same division in the community. But as you both can see, the issue isn't a technical one, it's a philosophical one. Some people prefer to be merged, and some prefer things to be kept separate. I'm not sure if one is better than the other given that in one extreme you have something like Diablo 3 where once you update, you can never experience the old version again (but the player base is "united"), and the other side you have what we have where if you want to play 1.00 or 1.09, you can easily do that and experience the game with all of its bugs (some bugs are very fun to play with) and features from that time period (but the player base is divided). So yea, philosophical concerns transcends technical ones.
 
Yea I know what you mean Thyiad and Lemma. I noticed the same division in the community. But as you both can see, the issue isn't a technical one, it's a philosophical one. Some people prefer to be merged, and some prefer things to be kept separate. I'm not sure if one is better than the other given that in one extreme you have something like Diablo 3 where once you update, you can never experience the old version again (but the player base is "united"), and the other side you have what we have where if you want to play 1.00 or 1.09, you can easily do that and experience the game with all of its bugs (some bugs are very fun to play with) and features from that time period (but the player base is divided). So yea, philosophical concerns transcends technical ones.

I'm afraid I can't understand your sentiment there. 1.14 isn't intrinsically different from other versions in that regard, as it doesn't somehow keep the player from installing and playing older versions of Diablo II on their machine. I've done it myself. It required a little bit of extra effort on my part to do it, but that's literally just because there is no official 1.14-supporting version of BVS--which is one of the main reasons people don't go from 1.13 to 1.14.
 
Last edited:
Alrighty time to join this discussion,

First before we start the point of merged and separate lets define "unfair advantage".

Advantage: "any state, circumstance, opportunity, or means specially favorable to success, interest, or any desired end: "
Unfair: "not fair; not conforming to approved standards, as of justice, honesty, or ethics: "

Now let us look at the patchnotes from 1.13D to 1.14A:
"
  • No need to run in XP mode anymore, Windows 7, 8.1, and 10 compatibility complete
  • Mac installer and compatibility for 10.10 and 10.11 has arrived
  • First client run will migrate saved characters to avoid issues from Windows system admin changes
http://diablo.wikia.com/wiki/Patch_1.14a_(Diablo_II)

What do these changes mean to our gameplay: Ehh nothing... Well atleast more systems can install d2 and don't have to insert compatebility options. Itemwise experiencewise nothing has changed. This occurs from 1.13A till 1.14D. As seen in the definition of unfair its aigainst "approved standards".

Now what advantage do we get from downgrading items and characters from 1.14 to 1.13c.... Ehhh maybe our system can't run 1.13c but can run 1.14d... What a huge advantage! As all veterans should know the 1.14 installation also came with problems as being less managable to setup self multiplayer games. This is for me a huge reason to stay at 1.13c atleast to single player! Maybe some purists don't agree with that... But hey I am a purist myself (I ranted enough about eni cta etc and how it influenced the gameplay in an unfair (as in etics and personal approved standards!) way).

So now to my actual opinion here, well we are all bound to "approved standards". Our system of laws is based on the same principe. Maybe our approved standards need to change on that point in order to merge, but its not obligated in any way. I can't drive through red "because my personal approved standards". The fact merging 1.13 and 1.14 isn't possible doesn't make any scence what so ever but it are our "approved standards". We can't change the law because several individues love to change it We can make suggestions however if we are able to. For example, how would such a change look like in my personal opinion. Such suggestion would be "merge both patches with all subversions to one tradepool as gamewise nothing has changed".

TL,DR: read my whole wall of text!
 
Last edited:
I'm afraid I can't understand your sentiment there. 1.14 isn't intrinsically different from other versions in that regard, as it doesn't somehow keep the player from installing and playing older versions of Diablo II on their machine. I've done it myself. It required a little bit of extra effort on my part to do it, but that's literally just because there is no official 1.14-supporting version of BVS--which is one of the main reasons people don't go from 1.13 to 1.14.

Technically it is an easy problem to solve, I could easily add support for 1.14 to BVS and also provide support for a new 1.14 D2gfx.dll (Or basically finding the location for it in the newly merged Game.exe + dlls) in a few hours. The point isn't a technical one. It's a philosophical one as I said before. Ever since Blizzard North dismantled, Blizzard South (Irvine, current Blizzard) has had an assault against the d2 modding/development community. This is not a new thing, it is more than 13 years old. I'm part of the D2 modding community and I don't appreciate Blizzard doing that to their D2 modding fanbase. The 1.14 changes aren't just about stopping hackers (Which whatever they say, isn't really going stop anything, but rather just make things a little more annoying for people - but not much.. It's not that difficult to find all the stuff again, it's just all in a monolithic .exe rather than separate library files), they are essentially killing the modding community. That's why a lot of mods just start a mod at a specific version and just say that "This mod requires X version" to play. So this is where I'm coming from and it's why I don't support anything Blizzard does anymore. It's their game, they can do whatever they want, but as a modder myself, I also have the decision of whether or not I want to follow their trends, or do something else. In my case, I believe 1.13d is the best version a person can use for a lot of reasons.
 
We saw a lot of similar thoughts when 1.10 first came out. There were a bunch who were heavily invested in 1.09 and didn't want to budge. In that instance 1.10 had lost of shiny new toys and new challenges. Essentially the community got a bit split.

This is a bit different where there aren't gameplay reasons to really go to 1.14 over previously. People have said that general activity has increased compared to a lull recently. How active ARE the MP and trade environments these days anyway? Apart from Trade and MP (which are big things) this is a bit academic.
 
As an aside ... not that there are other forums lol ... but how are the different patches viewed there.

Also, anyone want to do a quick and dirty patch x = patch y or brief changelong. (Or I'll look it up eventually.) :p

IIRC 1.11 and 1.12 were similar but the minutia escapes me.

As for the BVS .. I have some PMs to deal with on that, I know, I know.
 
PurePremium
Estimated market value
Low
High