Can I Go From 1.14 Back to 1.13

Results of Analysis

TLDR; When Blizzard re-did their MPQs, they not only added a few extra files (Which are not that important from what I can see and I don't even think they are really being used), but they also added a file called "(attributes)" to several MPQs. It is possible that the 1.12+ code is reading these "(attributes)" file to interpret the MPQ a certain way. The old MPQs didn't have this file, so I'm guessing is this file doesn't exist, the Diablo II code will interpret the MPQ file as a legacy file and act as before.

1.07 (Original ISOs only contained attributes in the following MPQs)
d2exp.mpq
d2xmusic.mpq
d2xtalk.mpq
d2xvideo.mpq

1.14 (BNET installer contains attributes not only in the original MPQs, but also in the following):
d2char.mpq
d2data.mpq
d2sfx.mpq

Solution: Delete the "(attributes)" file from the new MPQs that contain them.

I've written a script that automatically deletes this "attribute" from the affected MPQs.

Video Instruction on how to fix the MPQs

Text Instructions

1. Install Diablo II from Blizzard's Installer [1.12+]
2. Download WinMPQ w/ Fix file and extract the contents of the WinMPQ folder directly into the Diablo II root folder. You can delete these files after we are done.
3. Double click the "Fix_MPQs.bat" file.

That's it. Your MPQs are ready to be used with older versions. If the above didn't work, make sure that:

- You don't have D2 (or any D2 errors) currently opened.
- You ran the bat file in Administrator mode if your D2 is installed in a directory that requires administrator permissions.
- You can try adding the "mpql.txt" filelist to WinMPQ by opening WinMPQ.exe, going to Options -> File Lists-> Add List File, Selecing the "mpql.txt" file and pressing ok.

Singling 1.9.0 and beyond contain the fix.

Long Version

So I tested both the application I use when I make new "Patch_D2.mpq" files (WinMPQ) and also @GalaXyHaXz suggestion for MPQ Editor. Since the suggestion was basically about re-saving the file so that the header/hashes/compatibility of the MPQ files get regenerated with an old compatible format (Assuming no other files changed in the MPQ), this would be a feasible solution. I tried to do this in WinMPQ but it didn't work. WinMPQ doesn't have any compatibility options, so for this reason I thought "If it doesn't have any compatibility options, then that must mean that it only has 1 file format option, and that one already works since it's the old one". But doing a simple test of "adding/removing" a file and causing a file re-write didn't fix the problem (I tested this by repeatedly running D2VidTst.exe and seeing if the d2data.mpq corruption message appeared. If the message no longer appears, than that means that the game can understand the format). The next thing I did was to try the MPQ editor Galaxy recommend. When I check the compatibility section, the file was set to "World of Warcraft", I'm not sure if there is auto-detection happening but I wouldn't be surprised since WoW set the standards for the rest of the newer Blizzard games and technologies. Either way, I set it back to "Diablo II - Lord of Destruction" compatibility. Closing the MPQ after this point didn't allow it work (Since I guess nothing was written). Opening the MPQ file again in MPQ Editor and then clicking "D2VidTst.exe" while the file was opened allowed the file to be understood, if I closed the MPQ, then the D2VidTst wouldn't understand it again. It's interesting how it only understands it temporarily. Either way, that isn't a solution but it's enlightening.

After that I decided to try again to "add/remove" a file that's already in the MPQ in order to cause this file format regeneration, but this didn't work. I believe the format of the files only get changed for files that you are adding, not for the entire existing MPQ structure and files. Which is sad since I want to have people quickly fix their MPQ files rather than spend time doing more complicated things. The last thing that I did before I decided to try a completely different approach was to simply extract all of the files from the d2data.mpq into a file, and then remake a brand new MPQ using the "Diablo II - Lord of Destruction" compatibility. After I did this it seems that the new d2data.mpq was able to be read. I didn't test it extensively or anything, just a simple D2VidTst since I didn't want to use this solution due to there being 11 MPQs and this requiring dumping of every single file in the MPQ x 11 (Basically you are dumping 1.87 GB of compressed data and remaking it). It's too cumbersome if it could be avoided.

So after this I decided to open up the old d2data.mpq and the new d2data.mpq side by side and compare the results.

The interesting thing is that the data between the old and the new one are almost identical, with the exception that the new d2data.mpq has a bunch of dlls re-added to several of the MPQs (dlls that you already have and that are not needed to be there, things like D2Client.dll, etc). The critical file that I noticed that was added was the "(attributes)" file. Since I believe this file contains properties that determine how the game interprets the contents that it's about to read, and given that most of the old MPQ didn't contain this file, I decided to say "What happens if I delete this file? Will it work then?", and luckily, that was exactly what happened. Deleting the "(attributes)" file allowed the MPQ to work in D2VidTst. The next thing I did was open all of the MPQs that Blizzard -newly- added this file to, and deleted it. Then I opened 1.14, 1.13, and 1.09. They all worked and I was able to open a Single Player game, look at skills, and other stuff. More testing will need to be done by the community but this allows the game to work and nothing crashed on me. So for people with the new MPQs, just delete this attributes file from any MPQ that contains it.

@GalaXyHaXz might be able to find the code section in the old versions of D2 that check for these attributes or not and include them in Singling so people wouldn't have to edit their new MPQs in any way (He can also explain how this attributes file is used or not in older/newer versions), however Singling only supports a subset of D2 versions that are popular in the SPF. So I'll still let people know about this method so that if people don't want to use Singling, they can still use Mini-ISOs + DAEMON Tools for machines that don't have the physical CD, combined that with this MPQ change, and you can also play every version of D2, Vanilla.

Can I Go From 1.14 Back to 1.13

Source: https://www.diabloii.net/forums/threads/tech-support-installing-from-bnet-1-14d-installer-doesnt-allow-switching-back-to-1-13d.960439/

0 Response to "Can I Go From 1.14 Back to 1.13"

Publicar un comentario

Iklan Atas Artikel

Iklan Tengah Artikel 1

Iklan Tengah Artikel 2

Iklan Bawah Artikel