Bliss Version Switcher

TheNix,

Ah I see how that would happen. The reason it won't let you add it is that I've added checks to make sure that none of the fields are empty. I completely forgot that someone might not use any flags! Haha. I'll fix that now and release 1.0.6.

Download 7-Zip. I guess WinRAR doesn't support decompression of files that are using LZMA compression. 7-Zip is free and open source. If that doesn't work, I'll re-upload the bundles with standard compression. I really didn't know that using LZMA was going to cause issues.

@kstarm:

If you aren't using my bundle and you never launched 1.0.7, you can add the Modified d2gfx.dll to your d2s root directory. Once you run the program, the program will detect that you never backed up 1.07 and it will back up all your critical files (Including the modified one). If your using my bundle, then the program won't back up again, so what you need to do is go into your Expansion/1.07 folder and put the modified dll in there so that the next time you switch to 1.07, it will copy the modified dll as well.

I've made dlls for all expansion versions starting from 1.07 in my Singling mod: https://github.com/fearedbliss/singling

Singling is FAM.
 
That makes sense why it would not work for me, i did not use any flags either.
 
TheNix, Hoop76,

Alright guys, I've fixed it and uploaded the changes. Download the application again and let me know.

1.0.6
--------------
- Modify button will now automatically select the row that you were editing after you are done editing it.
- Fixed a bug where a user wasn't allowed to create an entry with no flags
- Fixed a bug where the application would still try to add/set the row when a person adds an entry without a version
- If the application detects that an Entries.txt file is corrupt, it will automatically delete the file and make a new one.
* Which means you no longer have to actually go into your computer and delete this rogue file.
- The application now deletes the 'SavePath.reg' file when it's done using it

EDIT:

I'm assuming that more people will have problems opening up my bundle files not because they are .zip, but because of the compression used (LZMA.. I guess WinRAR doesn't support that). So what I did was that I recompressed and reuploaded the files not in a normal zip, file, but rather in 7z using LZMA2 w/ Ultra Compression. Why do this you ask? Why pretty much require people to download 7-Zip to extract these files? Well let's find out :). I ran the following tests:

Classic Size (Uncompressed): 193 MB
----------------------------------------
Classic Bundle - Normal Zip (Deflate w/ Ultra Compression) = 125 MB
Classic Bundle - Normal Zip (LZMA w/ Ultra Compression) = 116 MB
Classic Bundle - 7zip (LZMA w/ Ultra Compression) = 28.2 MB
Classic Bundle - 7zip (LZMA2 w/ Ultra Compression) = 28.1 MB


Expansion Size (Uncompressed): 155 MB
----------------------------------------
Expansion Bundle - Normal Zip (Deflate w/ Ultra Compression) = 108 MB
Expansion Bundle - Normal Zip (LZMA w/ Ultra Compression) = 67.5 MB
Expansion Bundle - 7zip (LZMA w/ Ultra Compression) = 17.1 MB
Expansion Bundle - 7zip (LZMA2 w/ Ultra Compression) = 17.0 MB


Classic + Expansion Size (Uncompressed): 348 MB
----------------------------------------
Bundle - Normal Zip (Deflate w/ Ultra Compression) = 233 MB
Bundle - Normal Zip (LZMA w/ Ultra Compression) = 184 MB
Bundle - 7zip (LZMA w/ Ultra Compression) = 35.5 MB
Bundle - 7zip (LZMA2 w/ Ultra Compression) = 35.4 MB

As you can see, 7zip with LZMA2/Ultra Compression is a clear winner by a long shot. You will be saving bandwidth and also downloading the bundles way quicker. You can find the download links for these new bundles (and their hashes) in the OP.

I recommend downloading 7-Zip 9.20 which is the latest stable version and the one that I used.
 
Last edited:
Just so everyone is clear rune colours mod for versions which aren't currently supported isn't acceptable. It's something I'm willing to hear views on, but I'd rather not split the trade pool any further, so I'll be particularly keen to hear from currently-vanilla-only versions.
 
Hey Thyiad,

The bundles are all vanilla. There are no FAM stuff in then. I just installed Vanilla D2 and took the critical files out and put them in a zip. Singling is completely independent from BVS and these bundles.
 
Good. Just confusing me, then. :) Not hard, I know ... :p
 
TheNix,

@kstarm:

If you aren't using my bundle and you never launched 1.0.7, you can add the Modified d2gfx.dll to your d2s root directory. Once you run the program, the program will detect that you never backed up 1.07 and it will back up all your critical files (Including the modified one). If your using my bundle, then the program won't back up again, so what you need to do is go into your Expansion/1.07 folder and put the modified dll in there so that the next time you switch to 1.07, it will copy the modified dll as well.

I've made dlls for all expansion versions starting from 1.07 in my Singling mod: https://github.com/fearedbliss/singling

Singling is FAM.

Got it working perfectly thank you again for your contributions!!
 
Thanks mate, works like a charm after using 7-Zip. :thumbup:

Well, not quite. The characters are being saved in the save folder in the main directory tree not in the new patch specific trees.
 
Last edited:
That shouldn't be possible. The application automatically updates the registry each time you launch the application. Can you try launching 1.07, and then launching another version and seeing if you can still see the same characters?

Also if you have java in your PATH, you can try: java -jar BlissVersionSwitcher.jar and when you launch a program you should see something saying "The command has run successfully".
 
I created a character in 1.07 it was saved in the Diablo II\save folder and was available in both 1.10 and 1.13 loads. Just to be sure, the path that needs to be typed into the switched is the D:\Diablo II\Game.exe not D:\Diablo II\Expansion\1.10b\Game.exe, right??
 
If you just installed D2 for the first time, the D2 installer will automatically set the SavePath to Diablo II\save, when you use my installer and add 1.07 for the first time, the installer will reset the SavePath and make it Diablo II\Expansion\1.07\save.

You are correct about that. You will basically be setting the game to D:\Diablo II\Game.exe or Diablo II.exe for all the versions. This is because the loader will replace the Game.exe/Diablo II.exe with the correct version from the subfolder. So at the end of the day, it will launch whatever Game.exe/Diablo II.exe it finds (Basically w/e version you want to play and that it replaced it with).

If you open up 'regedit', and go to: HKEY_CURRENT_USER\Software\Blizzard Entertainment\Diablo II, you should see the current save path. If you launch a different version of D2 from the launcher, the launcher should launch that new version, and if you press F5 in the regedit window, you should see the save path update.

EDIT:

Definitely check out the video I made earlier today just to make sure: http://www.youtube.com/watch?v=rPFp8oU5kOw
 
The save path never changes from D:\Diablo II\Save\ no matter which version I boot up.
 
Hmm, might be a bug (but weird though). Do you have UAC enabled on Windows? This might stop the application from having the rights necessary to modify your registry. If you have java in your PATH, definitely try to run the application through there. I want to see if you see the "This command has run successfully". Also, in 1.0.5, did it update correctly? Or did you always have this problem?
 
I couldn't get 1.0.5 to work at all, so I've nothing to compare it to. I'm the only user on this machine, so I'm not sure about user accounts. Interesting thing, I've been alternating between my old 1.10 version and a fresh 1.07 version and something interesting happened to the path on regedit, it went from D:\Diablo II\Save to D:\Games\Diablo II\Expansion\1.10b\Save, but I don't have a games directory on that drive, the drive is called "Games" because that's where I put games.

Edit: That only happened once and now it's back to D:\Diablo II\Save again. I'll wait and see if others are having the same problem. I've still go another month or so playing D3 ahead of me.
 
Hmm, looking at my code, it looks like I've hardcoded the registry value for this in the registry creation (Probably left from when I was debugging the thing). I will update the application so that it generates the value based on the 'Path' you entered.

Current code:

bw.write("\"Save Path\"=\"D:\\\\Games\\\\Diablo II\\\\Expansion\\\\" + version + "\\\\save\\\\\"\r\n");

However.. I'm still concerned as to why it didn't update sooner. I have an idea on what might be the issue.

If you can, stay logged on for a few minutes and I will link a test version with my theory.
 
Alright, try this out: http://www.speedyshare.com/kgrB3/BlissVersionSwitcher-test.jar (Click the download link at the top of the page). This isn't an official release.. I just wrote new code that I'm testing to set the value correctly based on your path.

I'm pretty sure that was the issue.. the problem is that if D2 doesn't find a correct save value, it resets it back to D2/save (I'm 95% sure this is what is happening).
 
Ok, that seems to work. The 1.10 character ended up in the 1.10 save folder and the 1.13 character ended up in the 1.13 save folder.
 
Awesome. I'll release 1.0.7 in a few minutes then. I'm almost done cleaning it up ;)

EDIT:

Alright. I've released 1.0.7 with the SavePath bug fixed.

1.0.7
--------------
- Fixed a bug where the 'SavePath' wasn't being updated correctly due to some old debug code
 
Last edited:
Bingo!!!

I find out how to put RRM/RWM on later. Thanks for all your great work.
 
PurePremium
Estimated market value
Low
High