Guide to Hardcoded Map DS1

Post here for all aspects of map making and level design. Click here to visit the Keep's official map site, Diabolic Cartography.

Moderator: Paul Siramy

Post Reply
User avatar
Cypress
Moderator
Champion of the Light
Posts: 493
Joined: Fri Dec 01, 2017 2:08 am

Guide to Hardcoded Map DS1

Post by Cypress » Sun Dec 01, 2024 9:25 pm

This guide lists the hardcoded ds1 of maps and vague rules/findings related to level generation. You can use this information to change up levels a little bit. Will probably be expanded to other hardcoded parts of mapping if I can figure them out. The purpose of this guide is to make it easier to get into map editing, and to make the scope of softcoded mapping clear. If you know any weird hardcoded rules, please let me know and I'll be sure to add it in!

Colors have different meanings:
PURPLE means a unique hardcoded ds1that spawns in only one level
GREEN means a hardcoded ds1 that spawns only once in a level, but appears in multiple levels
YELLOW means a hardcoded ds1 that spawns 2+ times in a level and appears in multiple levels

NOTES:
SubWaypoints are always listed as purple, because even if the Stony Field and Dark Woods use the same waypoint by default (both use second entry of LvlSub Type 4), you can change the SubType to give each a unique and different waypoint.
All directions are given relative to the player character facing that direction from walkable space.
From the perspective of a freshly spawned player in the Pandemonium Fortress:
NORTH is facing towards the waypoint
EAST is facing towards Jamella, Halbu and The Outer Steppes
SOUTH is towards those black marble tiles with nothing on them
WEST is towards the stash, Deckard Cain and Tyrael

CREDITS:
Paul Siramy for tons of map editing guides, ds1edit
kingpin for interesting findings on outdoors (https://d2mods.info/forum/viewtopic.php?t=14484, https://d2mods.info/forum/viewtopic.php?f=81&t=14833)
Harvest for making Debauchery which helps with map testing

----------

[ACT 1]

[Wild Border]
•These are the stone wall borders of LevelType=2 (Blood Moor, Cold Plains, Burial Grounds, Stony Field, Dark Woods, Black Marsh, Tamoe Highlands)
LvlPrest: ID=4 (Act 1 - Wild Border 1), 8x8
•File1: 1st SOUTH wall in sequence
•File2: 2nd SOUTH wall in sequence
•File3: 3rd SOUTH wall in sequence
•File4: SOUTH exit (all except Burial Grounds)
•File5: SOUTH exit (Burial Grounds)
LvlPrest: ID=5 (Act 1 - Wild Border 2), 8x8
•File1: 1st WEST wall in sequence
•File2: 2nd WEST wall in sequence
•File3: 3rd WEST wall in sequence
•File4: WEST exit (all except Burial Grounds)
•File5: WEST exit (Burial Grounds)
LvlPrest: ID=6 (Act 1 - Wild Border 3), 8x8
•File1: 1st NORTH wall in sequence
•File2: 2nd NORTH wall in sequence
•File3: 3rd NORTH wall in sequence
•File4: NORTH exit (all except Burial Grounds)
•File5: NORTH exit (Burial Grounds)
LvlPrest: ID=7 (Act 1 - Wild Border 4), 8x8
•File1: 1st EAST wall in sequence
•File2: 2nd EAST wall in sequence
•File3: 3rd EAST wall in sequence
•File4: EAST exit (all except Burial Grounds)
•File5: EAST exit (Burial Grounds)
LvlPrest: ID=8 (Act 1 - Wild Border 5), 8x8 (Act1/Outdoors/Bord5.ds1)
•File1: Concave SW corner
LvlPrest: ID=9 (Act 1 - Wild Border 6), 8x8 (Act1/Outdoors/Bord6.ds1)
•File1: Concave NW corner
LvlPrest: ID=10 (Act 1 - Wild Border 7), 8x8 (Act1/Outdoors/Bord7.ds1)
•File1: Concave NE corner
LvlPrest: ID=11 (Act 1 - Wild Border 8), 8x8 (Act1/Outdoors/Bord8.ds1)
•File1: Concave SE corner
LvlPrest: ID=12 (Act 1 - Wild Border 9), 8x8 (Act1/Outdoors/Bord9.ds1)
•File1: Convex SW corner
LvlPrest: ID=13 (Act 1 - Wild Border 10), 8x8 (Act1/Outdoors/Bord10.ds1)
•File1: Convex NW corner
LvlPrest: ID=14 (Act 1 - Wild Border 11), 8x8 (Act1/Outdoors/Bord11.ds1)
•File1: Convex NE corner
LvlPrest: ID=15 (Act 1 - Wild Border 12), 8x8 (Act1/Outdoors/Bord12.ds1
•File1: Convex SE corner

[Wild Cliff Border]
•These are the cliff borders that sometimes appear in some LevelType=2 (Stony Field, Dark Woods, Black Marsh)
LvlPrest: ID=16 (Act 1 - Wild Cliff Border 2), 8x8 (Act1/Outdoors/StnClf2.ds1)
•File 1: WEST cliff
LvlPrest: ID=17 (Act 1 - Wild Cliff Border 3), 8x8 (Act1/Outdoors/StnClf3.ds1)
•File 1: NORTH cliff
LvlPrest: ID=18 (Act 1 - Wild Cliff Border 5), 8x8 (Act1/Outdoors/StnClf5.ds1)
•File 1: Concave SW cliff-wall corner
LvlPrest: ID=19 (Act 1 - Wild Cliff Border 6A), 8x8 (Act1/Outdoors/StnClf6a.ds1)
•File 1:Concave NW cliff-cliff corner
LvlPrest: ID=20 (Act 1 - Wild Cliff Border 6B), 8x8 (Act1/Outdoors/StnClf6b.ds1)
•File 1: Concave NW cliff-wall corner
LvlPrest: ID=21 (Act 1 - Wild Cliff Border 6C), 8x8 (Act1/Outdoors/StnClf6c.ds1)
•File 1: Concave NW cliff-wall corner
LvlPrest: ID=22 (Act 1 - Wild Cliff Border 7), 8x8 (Act1/Outdoors/StnClf7.ds1)
•File 1: Concave NE cliff-wall corner
LvlPrest: ID=23 (Act 1 - Wild Cliff Border 10), 8x8 (Act1/Outdoors/StnClf10.ds1)
•File 1: Convex NW cliff-cliff corner

[River]
•This river sometimes spawns in the Black Marsh and the Blood Moor (the one that doesn't border town and which can be crossed with a bridge)
•This river can also spawn in the Blood Moor as a border river, which doesn't have a bridge, and the river is a bit different in that the far side of the river uses File1 so that you can't walk on it
LvlPrest: ID=26 (Act 1 - River Upper), 8x8
•EAST half of river
•File1: Unwalkable EAST half of Blood Moor border river (Act1/Outdoors/URiverC.ds1)
•File2: NE wall-river corner (Act1/Outdoors/URiverN.ds1)
•File3: SE wall-river corner (Act1/Outdoors/URiverS.ds1)
•File4: EAST river border (Act1/Outdoors/URiver.ds1)
LvlPrest: ID=27 (Act 1 - River Lower), 8x8
•WEST half of river
•File1: Unwalkable WEST half of Blood Moor border river (Act1/Outdoors/LRiverC.ds1)
•File2: NW wall-river corner (Act1/Outdoors/LRiverN.ds1)
•File3: SW wall-river corner (Act1/Outdoors/LRiverS.ds1)
•File4: WEST river border (Act1/Outdoors/LRiver.ds1)
LvlPrest: ID=28 (Act 1 - Bridge), 8x8
•File2: East Bridge, connects to West Bridge (Act1/Outdoors/BridgeU.ds1)
•File3: West Bridge, connects to East Bridge (Act1/Outdoors/BridgeL.ds1)
•File4: Great Marsh Bridge West - Tamoe Highlands Entrance East (Act1/Outdoors/BridgeS.ds1)

[Blood Moor]
Size X/Size Y: Hardcoded, value is ignored.
LvlPrest: ID=52 (Act 1 - DOE Entrance), 8x8
LvlPrest: ID=29 (Act 1 - Stone Fill 1), 8x8
LvlPrest: ID=30 (Act 1 - Stone Fill 2), 8x8
LvlPrest: ID=46 (Act 1 - Pond), 8x8
LvlPrest: ID=47 (Act 1 - Cottages 1), 8x8

[Cold Plains]
Size X/Size Y: 80x80 to 144x144, divisible by 8
SubWaypoint: Uses FIRST entry of LvlSub Type, 7x7 (Act1/Outdoors/Waypoint.ds1)
•Spawns near entrance to Blood Moor
LvlPrest: ID=29 (Act 1 - Stone Fill 1), 8x8
LvlPrest: ID=30 (Act 1 - Stone Fill 2), 8x8
LvlPrest: ID=44 (Act 1 - Fallen Camp Bishibosh), 8x8 (Act1/Outdoors/FallCmpBish.ds1)
LvlPrest: ID=48 (Act 1 - Cottages 2), 8x8
LvlPrest: ID=49 (Act 1 - Cottages 3), 8x8 (Act1/Outdoors/Cott7.ds1)
LvlPrest: ID=51 (Act 1 - Cave Entrance), 8x8

[Burial Grounds]
Size X/Size Y: 40x48 to ~800x800 (might be able to push it a bit further; 1008x1008 hasn't crashed on me but probably will depending on entrance location; 1016x1016 is definitely not safe), divisible by 8
LvlPrest: ID=108 (Act 1 - Graveyard), 24x32 (Act1/Graveyard/gravey.ds1)
•Always spawns in the top-most/northwest corner.

[Stony Field]
Size X/Size Y: 80x80 to 144x144, divisible by 8
SubWaypoint: Uses SECOND entry of LvlSub Type, 2x2 (Act1/Outdoors/WaySmall.ds1)
LvlPrest: ID=31 (Act 1 - Corral Fill), 8x8
LvlPrest: ID=42 (Act 1 - Fallen Camp 1), 8x8
LvlPrest: ID=45 (Act 1 - Camp), 8x8
LvlPrest: ID=47 (Act 1 - Cottages 1), 8x8
LvlPrest: ID=49 (Act 1 - Cottages 3), 8x8 (Act1/Outdoors/Cott7.ds1)
LvlPrest: ID=51 (Act 1 - Cave Entrance), 8x8
LvlPrest: ID=160 (Act 1 - Cairn Stones), 8x8 (Act1/Outdoors/cairn2.ds1)
LvlPrest: ID=162 (Act 1 - Tower Tome), 8x8 (Act1/Outdoors/tome.ds1)
LvlPrest: ID=24 (Act 1 - Wild Cliff Cave Right), 8x8 (Act1/Caves/clfcave2.ds1)
OR
LvlPrest: ID=25 (Act 1 - Wild Cliff Cave Left), 8x8 (Act1/Caves/clfcave.ds1)

[Dark Woods]
Size X/Size Y: 80x80 to 144x144, divisible by 8
SubWaypoint: Uses SECOND entry of LvlSub Type, 2x2 (Act1/Outdoors/WaySmall.ds1)
LvlPrest: ID=29 (Act 1 - Stone Fill 1), 8x8
LvlPrest: ID=30 (Act 1 - Stone Fill 2), 8x8
LvlPrest: ID=40 (Act 1 - Tree Fill), 16x16
LvlPrest: ID=41 (Act 1 - Ruin), 16x16 (Act1/Outdoors/Ruin2.ds1)
LvlPrest: ID=43 (Act 1 - Fallen Camp 2), 8x8
LvlPrest: ID=48 (Act 1 - Cottages 2), 8x8
LvlPrest: ID=49 (Act 1 - Cottages 3), 8x8 (Act1/Outdoors/Cott7.ds1)
LvlPrest: ID=51 (Act 1 - Cave Entrance), 8x8
LvlPrest: ID=161 (Act 1 - Inifus), 8x8 (Act1/Outdoors/funktree.ds1)
LvlPrest: ID=24 (Act 1 - Wild Cliff Cave Right), 8x8 (Act1/Caves/clfcave2.ds1)
OR
LvlPrest: ID=25 (Act 1 - Wild Cliff Cave Left), 8x8 (Act1/Caves/clfcave.ds1)

[Black Marsh]
Size X/Size Y: 80x80 to 144x144, divisible by 8
SubWaypoint: Uses SECOND entry of LvlSub Type, 2x2 (Act1/Outdoors/WaySmall.ds1)
LvlPrest: ID=29 (Act 1 - Stone Fill 1), 8x8
LvlPrest: ID=30 (Act 1 - Stone Fill 2), 8x8
LvlPrest: ID=38 (Act 1 - Swamp Fill 1), 8x8
LvlPrest: ID=39 (Act 1 - Swamp Fill 2), 16x16 (Act1/Outdoors/Swamp5.ds1)
LvlPrest: ID=42 (Act 1 - Fallen Camp 1), 8x8
LvlPrest: ID=47 (Act 1 - Cottages 1), 8x8
LvlPrest: ID=49 (Act 1 - Cottages 3), 8x8 (Act1/Outdoors/Cott7.ds1)
LvlPrest: ID=51 (Act 1 - Cave Entrance), 8x8
LvlPrest: ID=163 (Act 1 - Tower 1), 8x8 (Act1/Outdoors/Tower1.ds1)
LvlPrest: ID=24 (Act 1 - Wild Cliff Cave Right), 8x8 (Act1/Caves/clfcave2.ds1)
OR
LvlPrest: ID=25 (Act 1 - Wild Cliff Cave Left), 8x8 (Act1/Caves/clfcave.ds1)

[Tamoe Highlands]
Size X/Size Y: 80x80 to 144x144, divisible by 8
LvlPrest: ID=31 (Act 1 - Corral Fill), 8x8
LvlPrest: ID=43 (Act 1 - Fallen Camp 2), 8x8
LvlPrest: ID=48 (Act 1 - Cottages 2), 8x8
LvlPrest: ID=49 (Act 1 - Cottages 3), 8x8 (Act1/Outdoors/Cott7.ds1)
LvlPrest: ID=51 (Act 1 - Cave Entrance), 8x8

------

[ACT 2]

[Rocky Waste]
Size X/Size Y: 64x64 to 144x144, divisible by 8 (56x56 didn't crash for me, but it may block exits; 44x44 is definitely not safe)
LvlPrest: ID=388 (Act 2 - Desert Tomb 1), 8x8
LvlPrest: ID=395 (Act 2 - Desert Oasis 1), 8x8
LvlPrest: ID=398 (Act 2 - Desert Fill Mesa 1), 8x8 (Act2/Outdoors/mesarm.ds1)
LvlPrest: ID=399 (Act 2 - Desert Fill Head 1), 8x8 (Act2/Outdoors/Head1.ds1)
LvlPrest: ID=402 (Act 2 - Desert Fill Bone 1), 8x8 (Act2/Outdoors/Bone1.ds1)
LvlPrest: ID=402 (Act 2 - Desert Fill Bone 2), 8x8 (Act2/Outdoors/Bone2.ds1)
LvlPrest: ID=403 (Act 2 - Desert Fill Wagon 1), 8x8 (Act2/Outdoors/Wagon2.ds1)
LvlPrest: ID=411 (Act 2 - Desert Ruins 08X08), 8x8

[Dry Hills]
Size X/Size Y: 64x64 to 144x144, divisible by 8
SubWaypoint: Uses FIRST entry of LvlSub Type, 6x6 (Act2/Outdoors/Waypoint.ds1)
LvlPrest: ID=388 (Act 2 - Desert Tomb 1), 8x8
LvlPrest: ID=395 (Act 2 - Desert Oasis 1), 8x8
LvlPrest: ID=398 (Act 2 - Desert Fill Mesa 1), 8x8 (Act2/Outdoors/mesarm.ds1)
LvlPrest: ID=400 (Act 2 - Desert Fill Head 2), 8x8 (Act2/Outdoors/Head2.ds1)
LvlPrest: ID=403 (Act 2 - Desert Fill Wagon 1), 8x8 (Act2/Outdoors/Wagon2.ds1)
LvlPrest: ID=404 (Act 2 - Desert Fill Berms 1), 8x8
LvlPrest: ID=405 (Act 2 - Desert Fill Berms 2), 8x8
LvlPrest: ID=406 (Act 2 - Desert Fill Berms 3), 8x8
LvlPrest: ID=407 (Act 2 - Desert Fill Berms 4), 8x8
•Berm 1,2,3,4 can spawn a lot, seems that a single Berm row can be rolled more than twice even
LvlPrest: ID=411 (Act 2 - Desert Ruins 08X08), 8x8
{head can spawn in cliff border, not sure if that's dry hills only or if they all do that}

[Far Oasis]
Size X/Size Y: 64x64 to 144x144, divisible by 8
SubWaypoint: Uses FIRST entry of LvlSub Type, 6x6 (Act2/Outdoors/Waypoint.ds1)
LvlPrest: ID=390 (Act 2 - Desert Lair 1), 8x8 (Act2/Maggot/Hole1.ds1)
LvlPrest: ID=395 (Act 2 - Desert Oasis 1), 8x8
•Oasis 1 can spawn a lot, seems to spawn 7 times in every Far Oasis
LvlPrest: ID=396 (Act 2 - Desert Oasis 2), 16x16
LvlPrest: ID=397 (Act 2 - Desert Oasis 3), 16x16
LvlPrest: ID=398 (Act 2 - Desert Fill Mesa 1), 8x8 (Act2/Outdoors/mesarm.ds1)
LvlPrest: ID=399 (Act 2 - Desert Fill Head 1), 8x8 (Act2/Outdoors/Head1.ds1)
LvlPrest: ID=403 (Act 2 - Desert Fill Wagon 1), 8x8 (Act2/Outdoors/Wagon2.ds1)
LvlPrest: ID=411 (Act 2 - Desert Ruins 08X08), 8x8

[Lost City]
Size X/Size Y: 64x64 to 144x144, divisible by 8
SubWaypoint: Uses FIRST entry of LvlSub Type, 6x6 (Act2/Outdoors/Waypoint.ds1)
LvlPrest: ID=395 (Act 2 - Desert Oasis 1), 8x8
LvlPrest: ID=404 (Act 2 - Desert Fill Berms 1), 8x8
LvlPrest: ID=405 (Act 2 - Desert Fill Berms 2), 8x8
LvlPrest: ID=408 (Act 2 - Desert Ruins 16X16), 16x16 (Act2/Outdoors/Ruin1.ds1)
LvlPrest: ID=409 (Act 2 - Desert Ruins 16X08), 16x8 (Act2/Outdoors/Ruin3.ds1)
LvlPrest: ID=410 (Act 2 - Desert Ruins 08X16), 8x16 (Act2/Outdoors/Ruin2.ds1)
LvlPrest: ID=411 (Act 2 - Desert Ruins 08X08), 8x8
•Desert Ruins can spawn a lot, seems to spawn 7-8 times
LvlPrest: ID=398 (Act 2 - Desert Fill Mesa 1), 8x8 (Act2/Outdoors/mesarm.ds1)
LvlPrest: ID=400 (Act 2 - Desert Fill Head 2), 8x8 (Act2/Outdoors/Head2.ds1)
LvlPrest: ID=412 (Act 2 - Desert Ruins Sewer), 8x8 (Act2/Outdoors/RuinSewr.ds1)
LvlPrest: ID=413 (Act 2 - Desert Ruins Elder), 16x16 (Act2/Outdoors/RuinDarkElder.ds1)

[Valley of Snakes]
Size X/Size Y: 32x32 to 144x144, divisible by 8
LvlPrest: ID=389 (Act 2 - Desert Tomb 2), 16x16

[Canyon of the Magi]
Size X/Size Y: 80x80 to 144x144, divisible by 8
LvlPrest: ID=394, 8x8 (Act2/Outdoors/KingWarp.ds1)
•SubWaypoint is ignored, hardcoded to use a LvlPrest ID
LvlPrest: ID=392 (Act 2 - Desert Valley Ruin 1), 8x8
LvlPrest: ID=393 (Act 2 - Desert Valley Ruin 2), 8x8
•Can spawn a bunch of Ruin 1 and Ruin 2
LvlPrest: ID=402 (Act 2 - Desert Fill Bone 1), 8x8 (Act2/Outdoors/Bone1.ds1)
LvlPrest: ID=402 (Act 2 - Desert Fill Bone 2), 8x8 (Act2/Outdoors/Bone2.ds1)
LvlPrest: ID=403 (Act 2 - Desert Fill Wagon 1), 8x8 (Act2/Outdoors/Wagon2.ds1)
LvlPrest: ID=406 (Act 2 - Desert Fill Berms 3), 8x8
LvlPrest: ID=407 (Act 2 - Desert Fill Berms 4), 8x8

{todo: towns wrt transitions/river/borders/etc, act 2 outdoor, act 3 outdoor, act 4 outdoor, act 5 outdoor, those little strips of barren land that surround hardcoded ds1 and LvlSub territory. do mazes have hardcoded ds1? could at least describe the rules of their organization. not sure how outdoor levels are organized either, they seem to follow certain directions to other connecting levels based on what side you enter from}

Post Reply

Return to “Map Editing”