*** NOTE: If you are experiencing problems with the original OffsetFixMulti, please download the OffsetFixMult v2. Again, let me know if you find any bugs. ***
These are a few remakes of some of Cryect's tools that I made using his source code. I haven't updated any algorithms -- I just added some additional support, mentioned below:
1. You can now double-click the .exe and "drag & drop" any number of files into the application. You don't have to put spaces between them; it will work with all of the files.
2. You can select multiple files and "drag & drop" them over the executable. This will function just like the normal program, but works for all files instead of just one.
3. OffsetFixMulti.exe has another feature. Because Cryect supported passing of a second argument for the Z-offset, the very last argument passed into OffsetFixMulti is checked to see if it is a Z-offset or file, and the program works accordingly.
I also changed the libraries to the C++ standard libraries instead of the C libraries, and I did some pragma optimizations to reduce file size below the original amount. In some cases, the files are as much as 75% reduced in file size. I think I also fixed a typo somewhere, but I digress.
Below are the files included:
FileInfoMulti.cpp
FileInfoMulti.exe
OffsetFixMulti.cpp
OffsetFixMulti.exe
PatchHolesMulti.cpp
PatchHolesMulti.exe
RemoveTheWallsMulti.cpp
RemoveTheWallsMulti.exe
Again, these files function exactly like Cryect's original tools, but they have multi support. You can still, of course, pass in a single file. In some rare cases (probably dependent on the file path length of your files?), you might need to reduce the number of files you pass in (like trying to pass in all of Azeroth's ADT files at once).
These are Cryect's original comments about the above file's single file versions:
FileInfo <adt File> - Outputs all the ADT info about textures used, MD2's used, where the MD2's are, WMO's used, WMO Info offsetfix <MapName> <ZOffset Optional Default=0> - Corrects ADT tiles after moving them around, also can adjust the Z Height so you don't fall to your death etc when you zone into an instance PatchHoles <adt file> - Removes all the holes from a tile RemoveTheWalls <ADT File> - Disables all invisible wall chunks in the ADT file.
If you would like me to make any of his other programs work with multiple files, just leave a comment stating which ones.
NOTE: These programs were originally designed for vanilla WoW. It is unlikely that they will work for everything in WotLK, and I know from experience that at least some of these break when passing to them Cataclysm files. The reason for this is a change in file structure, like header info, between expansions.
EDIT: Looks like I forgot to include the updated FileInfoMulti.cpp file. I'll send it over soon. Please let me know if you encounter any errors that were not in the original tools by Cryect.
EDIT 2: Just noticed a small error in FileInfoMulti. I'll be updating it tonight. --UPDATED--
EDIT 3: I seem to have killed the land in OffsetFixMulti, so I'm going to look through the source again and see if Cryect originally did something weird that I need to account for (as in using globals when he shouldn't have). Okay, quick update on the progress. Yes, it does in fact look like the issue lies in the use of global variables when globals shouldn't have been used. The land disappearance happens within the MCNK function (obviously), so right now I'm looking around for any possible bug that might result from the use of globals.
EDIT 4: Okay, I corrected the issue in OffsetFixMulti. I will be testing it a bit more before uploading it. In the meantime, do NOT use OffsetFixMulti. If anyone is interested, the problem was in FixMCNKs. During the for loop the fwrite was off, and so all of the ground became seriously messed up.
EDIT 5: I am now uploading a slightly modified version of OffsetFixMulti, which should fix the ground issue. What was happening turned out to be just a really bad use of fseek by Cryect. It was reading in the Y value and writing it to the Z value instead of reading in the Z value first (in the MCNK chunks). If you are having any issues with ground disappearance, I strongly urge you to try the separately uploaded OffsetFixMulti.
--- Credit to Cryect for the original programs ---