Hello, guys!
I'm working on an open-source diablo 2 implementation. And since preset levels are working fine, I'm going to develop procedural levels generator. However there is a huge gap in metainformation needed.
I've read several discussions related to the topic:
http://d2mods.info/forum/viewtopic.php?t=9098
http://www.medianxl.com/t498-levels-the-less-obvious-things
And still not getting the idea of:
1) lvlprest.txt. This file contains a LOT of ds1 files used in the generation process, but where are the links to it?
For example, I found that bord1o.ds1 is an open level border, which can be used as a passage between levels, etc. But I really don't like the idea to hardcode all this knowledge into the generator.
Also lvlprest.txt contains such unique locations like Cairn stones, Inifuss tree, but where is the link with particular levels to place those locations?
Same story with mazes. How does the game knows which lvlprest records to use in order to generate a particular level?
2) How game does detect/know ds1 files orientations? For example act 1 town has 4 variations, but I can't find any txt/ds1 files information about particular ds1 orientation. Also south and east variations have following transitions (TownETrans.ds1, TownSTrans.ds1), but I have no glue how to generate it. I hope and believe that it's not hard coded into the code.
3) How game does know that Burial Grounds level is connected to the Cold Planes? I'm trying to build an outdoor levels graph using levels.txt file. Everything seems very logical, except -1 offsets, which level is considered as a base starting point?
Levels.txt slice just for your convenience:
https://drive.google.com/file/d/0B56lP1jrdajxX1JnaVRyWWMtYTA/view
Any help and information is highly appreciated, thank you!
P.S. I'm not sure that it's an appropriate forum for such questions. Point me to the right direction if needed.