First, you have to know that win_ds1editor is a DS1 editor, not an AREA editor. Some areas like Tristram are composed of only 1 ds1, so it's easy in this case, but some other areas are composed of multiple ds1, like Outdoors (Stony field) and Mazes (Jail).
Here are the important .txt you have to open in Excel or any other similar spreadshet :
- 1 = Maze
- 2 = Preset
- 3 = Outdoor
For reference, here are the Mazes of Act 1 :
- Den of Evil
- Cave Level 1
- Underground Passage Level 1
- Hole Level 1
- Pit Level 1
- Tower Cellar Level 1
- Tower Cellar Level 2
- Tower Cellar Level 3
- Tower Cellar Level 4
- Jail Level 1
- Jail Level 2
- Jail Level 3
- Catacombs Level 1
- Catacombs Level 2
- Catacombs Level 3
- Rogue Encampment
- Cave Level 2
- Underground Passage Level 2
- Hole Level 2
- Pit Level 2
- Forgotten Tower
- Tower Cellar Level 5
- Monastery Gate
- Outer Cloister
- Inner Cloister
- Catacombs Level 4
- Blood Moor
- Cold Plains
- Stony Field
- Dark Wood
- Black Marsh
- Tamoe Highland
- Burial Grounds
- Moo Moo Farm
So, let's start with basic editing. I have already cover it in the topic Ds1edit docs + usefull links, in the sections Adding a ds1 to edit and Finding easily what are the ID and DEF of a DS1 . Here's a copy/paste of these parts :
I'll just add 3 things that were not mentionned.Adding a ds1 to edit
My ds1edit.exe works the same way as my ds1scene.exe, that means you have to give parameters to the prog. Copy a .bat and rename it. Let's say you want to edit the town in act 2.
Finding easily what are the ID and DEF of a DS1
- Extract the ds1 in the directory of ds1edit. You better have to check first in patch_d2.mpq in case there's an update of this map, else in d2exp.mpq, else d2data.mpq. In our case, it's in d2data.mpq, but there are several ds1. Let's take \Data\Global\Tiles\Act2\Town\lutN.ds1
- copy a .bat and rename it, for instance "act2_town_N.bat"
- open the "LvlTypes.txt" of the game in Excel (or D2Excel), and look for the appropriate ID. In our case the choice is easy, it's "Act 2 - Town" and therefore the Id is 12 (this is NOT the row, but the Id you take).
- Open the "LvlPrest.txt" of the game and choose the good DEF. In our case, it's again easy : it's the row having "Act 2 - Town", and therefore the Def is 301.
- Edit the "act2_town_N.bat". Change the command line to have something like
win_ds1edit lutN.ds1 12 301 > act2_town_N.txt
- launch the .bat. If your parameters are ok, you'll see the town correctly. If problems appear, that's because one, or both number parameters are false, retry with another values.
I'm using DRTester, made by Sloan Roy. Get it here (from the "file center / mod making tools / animation editing" section), or from SVR website (click on "Dr. Tester" and pick 1 of the zip). Whatever the version, you should be able to use it for finding ID and DEF as follow :
- launch DRTest.exe
- in the File menu, choose the mpq you want to browse, for instance D2Data
- use the file selector dialog box to quickly jump to your ds1 file by typing its full path,
for instance data\global\tiles\ACT1\Graveyard\gravey.ds1
- Usually, the DEF is found automaticaly, check the upper / right window (the LvlPrest.txt file datas).
Here, the line 108 : Act 1 - Graveyard is already selected, that's the DEF value you'll give to the ds1 editor
If DrTester don't find the DEF value, that's because you're editing a special DS1. Open LvlSub.txt in Excel, and check if your DS1 is not there. If it is, then check its Dt1Mask value, and in LvlPrest.txt search for a line that have this EXACT same Dt1Mask, and use that DEF value (it's a trick). If the DS1 is not in LvlSub either, then good luck... as it's now the common Trials and Error method in DrTester, and you're not even sure that you'll find a good value. Btw, for common map editing, you don't have to edit DS1 that are not in LvlPrest.txt, so DrTester will be usefull for you.
- click 2 times on the '-' button, to have a Zoom of 0.25, just to have a larger view of the map
- now in the bottom / right window, try several Level Type lines, until the map looks good for you.
Here, it's the line 2 : Act 1 - Wilderness, that'll be your ID value.
- You can drag and move the map by clicking on the image with the left button, keep the button hold, and then move the mouse. It's the "Ctrl + Home" keys to recenter the map automaticaly if you're lost (can happen by moving far from the center and then zooming in)
- ---> You have found the ID and DEF values to use with the editor (here 2 and 108).
First, DarthDevilous as made a very usefull front-end program for my ds1 editor. Check the sticky topic GUI Loader for Paul's ds1edit. With this tool you don't have to deals with .bat, .ini, LvlTypes ID nor LvlPrest DEF.
Second, I have added some months ago a new feature to my ds1 editor, it also can try to find itself the correct LvlPrest DEF, basing its search on the ds1 filename you're editing. So instead of searching Lut Gholein in LvlPrest.txt, you can use the -1 value as follow :
win_ds1edit lutN.ds1 12 -1 > act2_town_N.txt
Since there's one and only one "lutN.ds1" in LvlPrest.txt, the editor will find it, and then will automatically use the correct LvlPrest DEF, avoiding you to search yourself.
Third, some ds1 comes in more than 1 version. Lut Gholein for instance use 2 ds1. In LvlPrest.txt, check the columns File1 to File6. You'll find all the possible ds1 for an area. Here they're "Act2/Town/LutW.ds1" and "Act2/Town/LutN.ds1". You can either make 2 .bat, or better create a .ini to loads them simultaneously in the ds1 editor :
Code: Select all
12 -1 LutW.ds1 12 -1 LutN.ds1
win_ds1edit act2_town.ini > act2_town.txt
This should be enough for editing Preset areas.
Mazes are a bit complex. Read the topic Understand the Mazes and DS1 mechanism.
Red Havoc has made a post about Outdoor generation, check it there.
Other usefull links
Many informative topics have already been made. Here's a list of interesting ones (they're mainly sticky topics in this forum, or links found within them) :
- Guide to Mapping (by Xenast)
- Diablo II MAP Editor - Documentation
- Ds1 Editor - Tutorial 1 (advanced map editing)
- Adding ANY Monsters and ANY Objects to a DS1
- Tutorial/Resource Listing
- Ds1edit docs + usefull links
- Understand the Mazes and DS1 mechanism
- Creating new Warp Tiles in DT1
- A way to randomize preset levels
- Tutorial: Move NPC out of town
- [Any] I found out a way to link outdoor areas together
- Making optional maps
- Automaps explained - Building custom automaps for your level
- [Tutorial] Creating new static automaps - Harogarth automap
- worldspace in levels.txt : increasing areas ?
- Making A New Preset Level
- Map Editing Errors - A starting place
- Complete Lvlprest.txt Fileguide
- A Simple Mans Guide to Adding a New Preset Level
Edit 06 february 2005 : added link to "Making A New Preset Level"
Edit 21 march 2005 : added link to "Guide to Mapping"
Edit 12 october 2005 : added link to "[Tutorial] Creating new static automaps - Harogarth automap"
Edit 18 october 2005 : added link to "Map Editing Errors - A starting place"
Edit 28 october 2005 : added link to "Complete Lvlprest.txt Fileguide"
Edit 31 march 2011 : updated links
Edit 01 october 2011 : added link to "A Simple Mans Guide to Adding a New Preset Level"