Bliss Version Switcher

Alright guys so I've released 1.0.3. These are the changes:

1.0.3
--------------
- The application now supports using a 'data' folder. Meaning that the application will detect/copy/restore/delete your 'data' folders.
- Added some checks so that the modify/delete buttons don't complain about "No row selected" in the background of application. This was benign but caused a slight delay.
- Add/Modify/About buttons will now disable themselves when you are currently adding/modifying/viewing about, something. This prevents opening an infinite amount of add windows
while never exciting the previous add window.
- Switched version input text fields to combo boxes. These combo boxes contain all the versions for classic and expansion. Selecting/Unselecting the expansion check box will
dynamically update the list of available versions.

The last change about the text field/combo boxes was due to the fact that I will be providing an "Addon" download that is optional that will contain all of the versions. All you would need to do is download the pack and drop it into your Diablo II folder. Once you do that, you can add any version you want from the drop down list in the application.

The reason for it being an "Addon" is because I don't believe everyone wants to download an additional file and waste more space. Some people might prefer to do it manually. However, if you don't mind having these extra versions on your machine, then feel free to download the Addon. I will be uploading the addon with all the d2 versions tomorrow.

The list of available versions are as follows (This list will also be all the of the patches I currently have downloaded on my machine and will be creating a bundle out of tomorrow):

public static String[] classicVersions = {
"1.00", "1.01", "1.02", "1.03", "1.04b", "1.04c", "1.05", "1.05b", "1.06", "1.06b",
"1.08", "1.09", "1.09b", "1.09d", "1.10", "1.11", "1.11b", "1.12a", "1.13c", "1.13d"
};

public static String[] expansionVersions = {
"1.07", "1.08", "1.09", "1.09b", "1.09d", "1.10b", "1.10s", "1.10f", "1.11", "1.11b", "1.12a", "1.13c", "1.13d"
};

Let me know if anything else is missing.
 
Alright guys, I've released 1.0.4 and the application is officially feature complete. I don't know what else to add or what else is necessary. I believe from now on it will just be testing and fixing any bugs that come up. If you use the application for its intended purpose and follow the instructions, no one should have any problems.

1.0.4
--------------
- Added a new 'Copy' button so that you can quickly insert new entries without having to type your Path or Flags again.
- Added 'Shift Up' and 'Shift Down' buttons so that you can quickly organize your list
- The application now remembers your previous version when you try to modify an entry and you toggle the 'Expansion' check box multiple times.
- When you 'Add', 'Delete', or 'Copy' an entry, the table will automatically select a remaining row. This also allows you to quickly copy and delete a lot of entries.
- Added 'Release Date' to the About screen.

I'm probably dumb but what is the point of this program if it doesn't come with all versions and you still have to get/compile them yourself? Is it literally to save yourself one or icons on your desktop?

I don't know if you've used the version switching scripts the SPF currently uses, but it doesn't include all the versions. The main point of the previous version switching scripts was to maximize disk space by reusing the same MPQs. Normally you would install D2 into multiple directories and that would mean that you would be installing the same MPQs over and over again. If you wanted to play 4 versions of D2 you would have to spend around 8 GB of disk space.

My switcher not only does that but also simplifies the overall management of the versions by making it really simple. However, you are right. There is nothing stopping me from packaging up all the versions and making it even easier for people.. and now that's what I did.

For the people that want to have all the versions ready to go, I've bundled 3 different packages:

- Classic_Bundle_1.00_1.13d - Only includes Classic versions (If you just want to play Classic and don't want to play or have Expansion)

- Expansion_Bundle_1.07_1.13d - Only includes Expansion versions (If you just want to play Expansion and don't want to play any classic stuff before 1.07)

- Classic_Expansion_Bundle_1.00_1.13d - Contains all the versions.

The reason I divided it into three bundles is so that people can have the maximum choices for saving disk space.

The disk spaces for the bundles are:

Classic Bundle - 116 MB Compressed, 193 MB Uncompressed
Expansion Bundle - 67.5 MB Compressed, 155 MB Uncompressed
Classic/Expansion Bundle - 184 MB Compressed, 348 MB Uncompressed

-----------

More specific information on sizes:

Sizes of each directory starting from a fresh installation of Diablo II 1.00 and patching upClassic:

1.00 = 5.91 MB
1.01 = 7.40 MB
1.02 = 7.42 MB
1.03 = 7.62 MB
1.04b = 6.46 MB
1.04c = 6.45 MB
1.05 = 6.45 MB
1.05b = 6.45 MB
1.06 = 6.49 MB
1.06b = 6.49 MB
1.08 = 10.2 MB
1.09 = 10.3 MB
1.09b = 10.2 MB
1.09d = 10.3 MB
1.10 = 14.3 MB
1.11 = 15.2 MB
1.11b = 15.2 MB
1.12a = 13.2 MB
1.13c = 13.3 MB
1.13d = 13.4 MB

------------------

Classic Total: 193 MB (202,584,998)

Expansion:

1.07 = 5.60 MB
1.08 = 6.99 MB
1.09 = 7.12 MB
1.09b = 7.10 MB
1.09d = 7.12 MB
1.10b = 9.33 MB
1.10s = 10.8 MB
1.10f = 12.6 MB
1.11 = 15.2 MB
1.11b = 17.0 MB
1.12a = 16.8 MB
1.13c = 18.5 MB
1.13d = 20.3 MB

---------------------
Expansion Total: 155 MB (162,722,916)

Bundle: 348 MB

You can download the bundles at my website, but once everyone tests these out and makes sure everything is working, I recommend that someone hosts the files elsewhere.

http://jonathanvasquez.com/files/d2/

Hashes:

MD5:
5c208727e79a9c4346c415fd9afba1f7 Classic_Bundle_1.00_1.13d.zip
df7c8837b6b8a9fd5057db0a9ea73358 Classic_Expansion_Bundle_1.00_1.13d.zip
68d021e54d15e7750c7e490a53d04117 Expansion_Bundle_1.07_1.13d.zip

SHA1:
e139fcc2b5bba167e8343b42d87a4c10f8c96c01 Classic_Bundle_1.00_1.13d.zip
8ff9d5b9ef08cded531117dda0edb2d20d6a30ee Classic_Expansion_Bundle_1.00_1.13d.zip
22d641e96c839f763f327999163ff56bda43e228 Expansion_Bundle_1.07_1.13d.zip

These bundles only include the most essential/critical files for the versions. It doesn't include MPQs, or cd-key information. Meaning that you still need to buy the game and you still need to install it and own the discs.

Other notes:
------------

- Bug: If you try to patch from patch 1.09 to 1.09b, you will get an error saying it can't do something with a file.
- Workaround: Downgrade to 1.07 then Upgrade to 1.09b

- Observation: 1.10s is the only patch that actually displays the patch's letter at the bottom left corner of screen
 
Last edited:
Nice one. I'll add it to the Stickies over the course of the next week. :)
 
So I haven't read the whole thread, but I've been wanting to play 1.06 classic for quite awhile. Will this version switcher let me do that without classic discs? I only have the lod disc :/
 
The version switcher has all the versions ready to go, but you still need to provide your Play Disc and Expansion Disc.

EDIT:

1.0.5 has been released!

1.0.5
--------------
- Fixed a bug where the data folder wasn't being deleted from the backups when you deleted them from the D2's root directory
(and thus were restored during the next version switch back).
- The drop down list that displays the available D2 versions is now editable. Which means that if Blizzard releases a new version that is
not on the list, you will still be able to backup and manage that version within the switcher.
 
Last edited:
Looks very interesting. A couple of quick questions though, how does RWM work with this? And what is the best base game to start with? Fresh install of D2C & D2X?
 
I've created a bundle called "Singling" that has RWM and the Modified d2gfx.dll already packaged.

https://github.com/fearedbliss/singling

If you don't want to use Singling (Even though Singling is RWM + d2gfx.dll in a bundle), you can just drop the 'data' folder into your directory and run it as normal.

For your second question, it doesn't matter. I've already included all the versions for you so you just have to install D2, and then drop the Classic_Expansion bundle which is just a zip file with all the versions. You don't have to patch anything.

I would recommend to install the Expansion so that you will have the d2exp.mpq, d2xvideo/d2xmusic.mpq files as well. If you were to install classic, then you wouldnt be able to play any of the expansion stuff. So I think the best thing you could do is just install Expansion. Even if you install expansion, you could still play classic 1.00. So don't worry about that :).
 
I've got D2X 1.10 already loaded on this computer, but I'm currently disc-less, so I can just use your version switcher without any further changes? Great. I'll take a look at singling too.
 
Yea you can use my switcher with no further changes :). Make sure to backup your chars first until you get everything set up. You'll still need an Expansion CD to play though.
 
Great. If my daugher has lost my disc, she's gonna have to buy me a new one!
 
I'll try this after the PvP week when I'll format my computer. From what I've read from the patch notes I can only say "great work!".

Two quick questions, are you thinking of including also rwm 1.13d version in the lazy man's package? And glide3d works with this? (I'd say yes, but just to confirm)

And an unrelated question, if Thyiad OKs it, and you're whiling to do it, would you be able to make a rune color mod for each expansion patch? (not having it in 1.07 makes me lose additional time since I have to be very careful checking drops)
 
You can tell if you are doing a great job with a software package you are developing - the users all cry, "More, more, More!".

Good work, Mr Bliss. Sorely tempted now to go time-travelling myself!
 
@Nulio

I use glide and it works fine. I haven't tested glide for versions below 1.07 but it should still work since glide doesn't depend on patch version.

I actually already made red rune mod a long time ago for 1.07 - 1.09d. I like the orange color more since its easier on the eyes.. But color rune mod I think is better overall because well one.. The colors are beautiful, but two you quickly know the rarity of the item haha.I wouldn't have a problem doing it and it wouldn't take that long.

I see what you mean by including Singling in the lazy man version. I think it's better not to do this because if there happens to be a bug or if need to update singling, I would have to keep pushing out new bundles as well. Also not everyone wants to use FAM.

I actually sent a message to Thyiad about me increasing the stash and cube sizes in pre-1.10. Reason being that I think GoMule is awesome and ATMA sucks.. Basically if my stash was bigger, I wouldn't really mind muling with chars again.

Loz, Hahaha thanks
 
I think increasing stash will be easily denied. Even color rune mod for older versions will be tough imo, since it has potential to making trading and MPing more complicated, although I think most people wouldn't mind being FAM in 1.07+ if it's just for the color rune mod, that existed in 1.12 and is still used by some in 1.13.

ATMA is still better than muling using characters imo :p
 
Haha yea I see what you mean. ATMA is definitely more annoying to use than GoMule for me but I suppose it's still better than muling chars at the end of the day.

What I will do is (Since I want to keep things consistent) make my 1.07-1.08 RRM stuff into Orange colors (Like my current 1.09b/d and 1.13d) and I will also make Orange colors for 1.10-1.11. I'll also make d2gfx modified dll for all those versions as well. I won't be doing anything for anything pre-1.07 until further notice from Thyiad.
 
Alright guys, I've added multiple d2 support and orange colored runes to all the other expansion versions. Singling now consists of:

1.07, 1.08, 1.09d, 1.10f, 1.11b, 1.12a, 1.13d.

All have orange colored runs and multiple d2 support, and 1.10f+ has RWM support. For 1.10, the Runes.txt didn't have the entries for Spirit and a lot of other runewords, but since 1.10 had those runes I took the 1.11 Runes.txt, and deleted the 1.11 specific runewords like (Rain, Treachery, Enlightenment, Peace, Myth, Bone, and Principle).

Since this isn't a Singling thread, you can find the post here:
http://www.purediablo.com/forums/sh...gling-as-FAM&p=8564229&viewfull=1#post8564229
 
I've not been able to get things going. Firstly, the version wont add without a flag (I play full screen and with sound) and secondly when I do put in flags and hit launch, nothing happens.

Further info: I got a WinRAR "unknown method" error so none of the files from the zip file were transferred out.

Looking like this: ....\Downloads\Classic_Expansion_Bundle_1.00_1.13d.zip: Unknown method in Classic\1.00

some 880 times
 
Last edited:
Thanks for this. I have gotten it to work perfectly like the video. I did have a question about running multiple instances though and don't get much of how this works so sorry if this is noobish. I want to run multiple instances of 1.07. I followed the video exactly (plus added 1.10) and am currently patched through to 1.13d. Do I just add the modified DLL to my current directory and delete the one that is currently in there, and then have to replace it every time I want to switch between 1.07 and 1.13? Also I have not been able to find a 1.07 modified DLL, the sticky links to 1.09b as the oldest, sorry I just don't get how this works.

Thanks for any help!
 
PurePremium
Estimated market value
Low
High