Macintosh Diablo II mods
That page will describe the state-of-the-art of modding Diablo II on Macintosh
computers. Only the basics of modding and playing mods will be found there. For
more information, go to the Phrozenkeep
site. Author email: Souricette
Last updated: November, 22th, 2005
1 - Introduction
1.1 - Diablo II patch version
Even if some basics can be applicated to any Diablo II version, that document
will concentrate on the 3 last version: 1.09d, and 1.10/1.11. 1.10 and 1.11 are
handled exactly the same way - so referring to 1.11 is the same than referring
to 1.10.
When appropriate, these 3 versions will be handled in separate paragraphs - if
it's not the case, it means that all versions are concerned by the
explanations.
1.2 - MacOS version
Another distinction has to be made for the MacOS X Diablo II version, and the
Classic (pre-MacOS X) version. Please refer to
battle.net to download the appropriate patchs.
The MacOS X application is named "Diablo II (Carbon)", while the Classic
application is named "Diablo II". Every time a distinction is to be made
between the 2 versions, it will be indicated as follow:
<... replace the "Diablo II Patch" /
"Diablo II Patch (Carbon)" file...>
The line in Crimson will be the MacOS X specific
case, and the one in RoyalBlue is the one for
Classic MacOS users: of course, you should read the one related to your case...
1.3 - Locating the Diablo II Files
An important point is to locate where the files we will be speaking later are
located on your hard disk.
All the Diablo II files are located in a folder, named "Diablo II Files". You
will find the application in that folder, as well as all the files used by the
application (including the important "Diablo II Patch"
/ "Diablo II Patch (Carbon)" file we will speak
more later). Don't be fooled by the "Diablo II Folder" folder, located in your
Applications folder (or wherever you installed Diablo II to): that folder is
NOT the one we will be speaking of, even if you can find an alias to the
application there: we will be speaking of the "Diablo II Files" folder located
in that folder all the time!
2 - Playing Diablo II mods
The good news is that it is possible to play Diablo II mods on your Macintosh!
The bad news is that all the mods are not Macintosh-compatible, more about that
later.
When you download a Diablo II mod, it can be in one of three forms: an MPQ
archive file, a list of files in a given hierarchy (-direct), intended to be
played as-is, and a list of files in a given hierarchy, intended to be compiled
before played (-direct -txt). To make the difference between the 2 last cases,
enter the hierarchy, and look in the "global:excel" folder: if there are only
files with the ".txt" extension and no files with the ".bin" extension, it is
intended to be compiled (it's a -direct -txt mod). If there are some files with
the ".bin" extension, EVEN if there are files with the ".txt" extension, the
files are already compiled: it's a -direct mod.
IMPORTANT: in the chapters describing how to
play "-direct" and "-direct -txt" mods, you are asked to patch Diablo II
application. YOU SHOULD NOT APPLY BOTH PATCHS ON THE SAME APPLICATION. If you
do so, your application will crash as soon as you start to create-play a
character...
2.1 - Playing an MPQ archive file mod
For us Macintosh users, this is the easiest way. The mod consists in a single
file, named "patch_d2.mpq". That file is the key of the mod.
The key is that this file is to be renamed "Diablo II Patch"
/ "Diablo II Patch (Carbon)" and should replace
the one present in your "Diablo II Files" folder.
-
You should BACKUP the original
"Diablo II Patch" / "Diablo II Patch (Carbon)"
file, since you don't want to loose the default patch file!
-
The same goes for the "Save" folder, located in your "Diablo II Files" folder.
The Saved Games files may not be compatible, so it's a good precaution to
backup them, even if you don't plan to play them using that mod: imagine you
inadvertantly load your beloved level99 character with a non-compatible mod,
you may say "bye-bye" to him... So, BACKUP
your "Save" folder too...
-
Rename the "patch_d2.mpq" file to "Diablo II Patch"
/ "Diablo II Patch (Carbon)".
-
Change its type-creator to "D2pq" / "Dbl2". You can do it using the little
Classic application "=>
MPQ". Drag the file on it, and its type/creator will be set to the
good one. Of course, you may use any other way to do that type/creator change
(ResEdit, for example) - but the goal is to make that file readable by your
Diablo II application.
-
So, now you have a file, named "Diablo II Patch" /
"Diablo II Patch (Carbon)", with the correct type/creator (its
icon should be a Diablo II file icon). You have backuped your "Save" folder, as
well as the old Patch file. The last step is to replace in the "Diablo II
Files" folder the original Patch file by that one, and to enjoy the mod!
-
To go back to the Original version of Diablo II, just put back the backuped
Patch file and "Save" folder in your "Diablo II Files" folder, and all is well!
2.2 - Playing a -direct mod
Playing such mod is not possible with the standard Diablo II application: it
will require patching it to enable that hidden feature. This can be done using
an external application you can download at
http://mpqtool.coucou.net/. I will not enter in the details of that
application, but just concentrate on the features interesting us.
Note for Classic MacOS users: that application was planned to be a MacOS X only
application. A Classic version is existing, but it is un supported: the texts
are not fitting the windows, etc... But it works as expected, don't be fooled
by the "strange" interface appearance...
-
The -direct mod is provided in the form of a list of files, following a given
hierarchy. There should be AT LEAST a "global" folder in that hierarchy, in
which you will find a "excel'" folder. To make it available for your Diablo II
application, you will have to RENAME to "data" (if it's not already the case)
the folder in which you find the "global" folder. So, you should have the
following folder hierarchy: "data:global:excel:"
-
Put that "data" folder in your "Diablo II Files" folder. So, that "data" folder
should be located in the same folder as the Diablo II application! That's very
important, if you mistyped or misplaced that folder, the mod will not be used,
but standard patch will be...
-
Now, you have to patch the application, to tell it to look
for its files in that "data" folder. I suggest you to duplicate the original
"Diablo II" / "Diablo II (Carbon)"application,
and rename the copy "Diablo II -direct". By having both a "Diablo II -direct"
application and a "Diablo II" / "Diablo
II (Carbon)"
one in the "Diablo II Files" folder, you can choose either to play the standard
Diablo II, or the -direct mod, only by launching the appropriate version of the
Diablo II application!
-
It's now time to do the patch itself. Launch the "Diablo II MPQ Tool"
application you downloaded, and execute in the "Diablo II" menu the "Enable
-direct Flag (1.09d)", "Enable -direct Flag (1.10)" or "Enable -direct Flag
(1.11)" menu item, depending of course of the intended version your mod is for.
This will display a window, on which you will find a "Patch Application..."
button (as well as some explanations). Click on that button, and select the
application you want to patch (if you followed my advice, it will be the
"Diablo II -direct" application). The Patcher is clever enough to detect if the
application is the MacOS X one or the Classic one, so be confident! Note that
you can "unpatch" the application using the same feature: if you selected an
already patched application version, it will be put back to its original state.
-
That's all! Now, when you start the "Diablo II -direct" application, the files
in the "data" folder will be scanned.
-
If you followed my advice, you don't need to "desinstall" it, since by
launching the original application version or the patched one, you will play
either the original Diablo II version or the mod...
2.3 - Playing a -direct -txt mod
This is really the worst situation for us Macintosh users. The best bet would be
to contact the mod provider, and ask him for an mpq archive of his mod, and
refer to 2.1.
If the mod creator refuses so (or is unreachable), and you REALLY want to play
his mod, you are up to a very long process...
-
The first thing will be to refer to the "2-2 - Playing a -direct mod" chapter,
and download the mentionned application. You have also to follow the 2 first
points mentionned there too (to have a "data" folder in your "Diablo II Files"
folder, with the mod files in it with the correct hierarchy)
-
We will have to "compile" the -txt files present in the mod hierarchy, to
generate ".bin" files which are used by the Diablo II application. That feature
is available in the Diablo II application, but is disabled: we will have to
enable it by patching the application. I suggest you to duplicate the original
"Diablo II" / "Diablo II (Carbon)"application,
and rename the copy "Diablo II -txt". By having both a "Diablo II -txt"
application and a "Diablo II" / "Diablo
II (Carbon)"
one in the "Diablo II Files" folder, you will not have to undo-redo the patch
each time you want to "compile" some ".txt" files, but by using the appropriate
version, you can do the "compilation" or the normal play.
-
It's now time to do the patch itself. Launch the "Diablo II MPQ Tool"
application you downloaded, and execute in the "Diablo II" menu the "Txt2Bin
Conversion (1.09d)", the "Txt2Bin Conversion (1.10)" or the "Txt2Bin Conversion
(1.11)" menu item, depending of course of the intended version your mod is for.
This will display a window, describing the process to create your own mods.
Since it's not what we are doing, we will skip some steps from what is
explained there.
-
Go directly to the "Step 2" by clicking the appropriate Tab. Click on the
"Patch - Unpatch Diablo II application..." button, and select the application
you want to patch (if you followed my advice, it will be the "Diablo II -txt"
application). The Patcher is clever enough to detect if the application is the
MacOS X one or the Classic one, so be confident!
-
Now, we are ready to "compile" the ".txt" files in ".bin" ones. This will be
done using the patched application. If you followed my suggestion, this will be
done by launching the "Diablo II -txt" application. You have to create a new
character to trigger the ".txt" compilation, so do that... Once your newly
character has been created and is in Rogue Encampment, you can quit the
application: the ".bin" files have been generated!
-
Unfortunately, the Macintosh version of Diablo II was never intended to
"compile" the ".txt" files: the ".bin" files generated are incorrect (for some
internal difference between the PC and the Macintosh processors). There is
another step required to convert these ".bin" files in correct ".bin" files.
Once again, this will be done with the "Diablo II MPQ Tool" application you
used to patch the Diablo II application with. You have to go to the "Step 3"
Tab of the window you used previously to patch your application. Press the
"Convert bin files..." button on that window, and select the "excel" folder,
located in your "Diablo II files:data:global:" folder. This will convert all
the ".bin" files to the correct Diablo II format!
-
Once you have valid ".bin" files, you can refer to the steps described in the
"2-2 - Playing a -direct mod" chapter. Start at the third step ("Now,
you have to patch..."), since the required files are already located in
their "data" folder.
2.4 - Non-Macintosh-compatible mods
Some mods are not Macintosh-compatible. The Windows modders have access to what
is called "DLL-editing": they can change some default Diablo II behaviours
without changing the main application. These changes are distributed with their
mod, but THEY ARE NOT MACINTOSH-COMPATIBLE.
For example, some mod creators can force the game to distribute 2 Skill points
per level. You CAN play such a mod, but it will soon become much more harder
than it was intended by the mod creator, since all the balance is based on the
fact that you will receive 2 skill points per level - but on Macintosh that
change is not taken into account.
If, in the Mod readme or on the Mod website, it is mentionned that some feature
has been achieved by using dll-editing, that feature will not be available on
Macintosh. You should be aware of that problem, before downloading that 100Mb
very promising mod on your 56K modem to realize after that it is unplayable for
you because of so-and-so reason...
3 - Creating Diablo II mods
Yes, it is possible to create Diablo II mods on Macintosh!!! But it's really not
as simple as it is on Windows...
That document is not intended to explain you the "how-to" of modding (PhrozenKeep
is the place for that), but will describe the tools you can use to do that.
Many tools are not available on Macintosh. Basically, only tools to
extract-insert files from-to MPQ archives are existing.
3.1 - MPQ archives
An MPQ archive is a compressed file containing different "files" in it. Imagine
it's a Stuffit archive in which you compressed files: the single "Archive.sit"
file you downloaded will required to be decompressed to have access to the
files in it.
The same occurs for Diablo II files: the "Diablo II Patch" file is an archive
containing different files in it, so if you want to change something in that
file, you will have to extract it from the archive, change it, and them put it
back to the archive. The compression format is named MPQ, that's why we are
speaking ot MPQ files. Another reason is that, on the Windows version, these
files all have the ".mpq" extension...
Let's say you want to change a skill. You know that you will have to change the
"data\global\excel\skills.txt" files. So, you will have to extract that file
from the MPQ archive it is in, modify it, and then put it back in the MPQ
archive: that's what is called extracting files and inserting files from - to
an MPQ archive.
3.2 - Tools to handle MPQ archives
There are 2 I know of (and I used):
-
MPQ2K Macintosh version:
this is a no-more-supported shell-like application, which lets you handle the
MPQ archive better than any other tool
-
Diablo II MPQ Tool:
this is a multi-purpose application related to Diablo modding: you will need it
anyways!
2 more I never used are located at
MacStorm (MPQDraft and DropMPQ). They may be useful for our purpose,
please let me know if it's the case and how we could use them...
Using "MPQ2K" or "Diablo II MPQ Tool" to handle the MPQ archive is up to you.
MPQ2K handles compression of files inserted in the archive, while MPQ Tool is
much more user-friendly to use, but does not compress the files. You could use
MPQ Tool while developing your mod, and the MPQ2K to build the final mod when
you want to distribute it. But you will need MPQ Tool anyways for the patching
capabilities and the .bin conversion! And note that MPQ2K is no more supported
by its author(s)...
3.3 - Creating a Diablo II mod
One more time, that document is not intended to explain you all the mod details,
but only how to do them on Macintosh. So it supposes that you know what to do
to create your own mod, but you just not know how to realize the different
steps.
IMPORTANT: you will be asked to patch the Diablo
II application during the next steps. There are 2 kind of patchs: YOU SHOULD
NOT APPLY BOTH PATCHS ON THE SAME APPLICATION! If you do so, you will crash
every time you start that application to play or create a new character.
Modding requires you to work on files (mainly ".txt" files). The first step will
be to get the original files!
One way could be by extracting them from the standard files. Courtesy to
Phrozenkeep, that job has already been done for 1.09d and 1.10 versions:
download the files for the 1.09d version or for the 1.10 version, depending on which version you want your
mod to work on.
You have to create a hierarchy of files in your "Diablo II Files" folder. You
should create a "data" folder, in which you will create a "global" folder, in
which you will create a "excel" folder. All the ".txt" files are to be placed
in thet "excel" folder. You probably noticed that that hierarchy is the same as
the one mentioned in the modding sites: when they are speaking of a
"data\global\excel\skills.txt" file, it means the file located in the
corresponding "data:global:excel:skills.txt" file hierarchy from the top of
your Diablo II folder.
Once you have changed the ".txt" files to alter what you want your mod to do,
you will have to generate the ".bin" files. Here, you will have to use the
"Diablo II MPQ Tool" application. By default, while the Windows users have a
built-in way to do it, the Macintosh version does not have it enabled. But, by
patching the application, we can enable that feature!
Follow the different steps to generate ".bin" files from the ".txt" files you
generated:
-
I suggest you to duplicate the original "Diablo II"
/ "Diablo II (Carbon)"application, and rename the
copy "Diablo II -txt". By having both a "Diablo II -txt" application and a
"Diablo II" / "Diablo II (Carbon)"
one in the "Diablo II Files" folder, you will not have to undo-redo the patch
each time you want to "compile" some ".txt" files, but by using the appropriate
version, you can do the "compilation" or the normal play.
-
It's now time to do the patch itself. Launch the "Diablo II MPQ Tool"
application you downloaded, and execute in the "Diablo II" menu the "Txt2Bin
Conversion (1.09d)", the "Txt2Bin Conversion (1.10)" or the "Txt2Bin Conversion
(1.11)" menu item, depending of course of the intended version your mod is for.
This will display a window, describing the process to create your own mods.
Since it's not what we are doing, we will skip some steps from what is
explained there.
-
Go directly to the "Step 2" by clicking the appropriate Tab. Click on the
"Patch - Unpatch Diablo II application..." button, and select the application
you want to patch (if you followed my advice, it will be the "Diablo II -txt"
application). The Patcher is clever enough to detect if the application is the
MacOS X one or the Classic one, so be confident!
-
You now have to put all the .txt files on your Patch file. Use "Diablo II MPQ
Tool" drag-and-drop feature to put all the .txt files in the Patch file ("Diablo
II Patch" or "Diablo II Patch (Carbon)"),
the application will take care of correct renaming of the files, as well of the
carriage return conversion required.
-
Now, we are ready to "compile" the ".txt" files in ".bin" ones. This will be
done using the patched application. If you followed my suggestion, this will be
done by launching the "Diablo II -txt" application. You have to create a new
character to trigger the ".txt" compilation, so do that... Once your newly
character has been created and is in Rogue Encampment, you can quit the
application: the ".bin" files have been generated!
-
Unfortunately, the Macintosh version of Diablo II was never intended to
"compile" the ".txt" files: the ".bin" files generated are incorrect (for some
internal difference between the PC and the Macintosh processors). There is
another step required to convert these ".bin" files in correct ".bin" files.
Once again, this will be done with the "Diablo II MPQ Tool" application you
used to patch the Diablo II application with. You have to go to the "Step 3"
Tab of the window you used previously to patch your application. Press the
"Convert bin files..." button on that window, and select the "excel" folder,
located in your "Diablo II files:data:global:" folder. This will convert all
the ".bin" files to the correct Diablo II format!
So we have generated correct ".bin" files. Now, we have to test our mod!
The steps are the following:
-
I suggest you to duplicate the original "Diablo II"
/ "Diablo II (Carbon)"application, and rename the
copy "Diablo II -direct". By having both a "Diablo II -direct" application and
a "Diablo II" / "Diablo II
(Carbon)"
one in the "Diablo II Files" folder, you can choose either to play the standard
Diablo II, or your modified ".bin" files, only by launching the appropriate
version of the Diablo II application!
-
Launch the "Diablo II MPQ Tool" application, and execute in the "Diablo II"
menu the "Enable -direct Flag (1.09d)", "Enable -direct Flag (1.10)" or "Enable
-direct Flag (1.11)" menu item, depending of course of the intended version
your mod is for. This will display a window, on which you will find a "Patch
Application..." button (as well as some explanations). Click on that button,
and select the application you want to patch (if you followed my advice, it
will be the "Diablo II -direct" application). The Patcher is clever enough to
detect if the application is the MacOS X one or the Classic one, so be
confident! Note that you can "unpatch" the application using the same feature:
if you selected an already patched application version, it will be put back to
its original state.
-
That's all! Now, when you start the "Diablo II -direct" application, the files
in the "data" folder will be scanned.
So, to test your mod, now you only have to launch the "Diablo II -direct" file,
and the ".bin" files present in your "data:global:excel:" folder will be taken
into account.
Less steps will be required for the next changes you will apply to your mod.
Let's say you changed another ".txt" file: you no more need to do the "Patch"
steps, since you already have a "Diablo II -txt" application available. The
steps to follow to "compile" and test your last modifications are these ones
(the same as before):
-
Insert the .txt files you replaced in your Patch file ("Diablo
II Patch" or "Diablo II Patch (Carbon)").
-
Launch the "Diablo II -txt" application. You have to create a new character to
trigger the ".txt" compilation, so do that... Once your newly character has
been created and is in Rogue Encampment, you can quit the application: the
".bin" files have been generated!
-
Using the "Diablo II MPQ Tool" application again, go to the "Step 3" Tab of the
window you used previously to patch your application for -txt. Press the
"Convert bin files..." button on that window, and select the "excel" folder,
located in your "Diablo II files:data:global:" folder. This will convert all
the ".bin" files to the correct Diablo II format!
-
Now, using the "Diablo II -direct" application, you can test your last
modifications.
Repeating these steps is all what is needed to test your mod. The final step
will be to generate a "patch_d2.mpq" file, which is the (Macintosh) preferred
way to distribute a mod.
That time, you will use the "MPQ2K" application. The goal is to generate that
"patch_d2.mpq" file by inserting your mod files in the original Patch file.
-
Duplicate your "Diablo II Patch" /
"Diablo II Patch (Carbon)"
file, and rename it to "patch_d2.mpq".
-
Launch "MPQ2K"
-
Open the archive, by entering "o" and by selecting the "patch_d2.mpq" file
-
Insert all your files in the archive, by RESPECTING THE FILE HIERARCHY. That's
the bad thing: you will have to rename all the files in your hierarchy by
renaming them with their expected name. Every file you want to add in your
achive will have to have its name changed to reflect the hierarchy from the
"data" folder: for example, the "skills.bin" file has to be renamed
"data\global\excel\skills.bin", so that MPQ2K inserts it with the correct
name... Yes, it's a bad news, but luckily it's the last step and should be done
only once, to release your mod...
-
Save, close the archive and exit "MPQ2K"
That's all, now you only have to distribute your mod, and advertise it!
Release Notes
October, 26th, 2005 - updated for 1.11, fixed some links
November, 1st, 2003 - updated for 1.10, fixed some links and updated for 1.0a9
MPQ Tool version
September, 27th, 2003 - First document release