-
Notifications
You must be signed in to change notification settings - Fork 40
Dungeon Minimap Files
There are many things in this port that are cryptic when it comes to editing them, and the minimap files are no different.
These files can be found in the ..\Data\Dungeon folder.
Let's break down the very first dungeon: "one_0.txt".
6
16
7
7
4,4,4,4,4,4,9,
4,5,7,6,4,4,20,
13,4,18,11,8,13,20,
20,5,18,10,10,10,16,
14,4,15,11,16,4,4,
4,5,12,19,4,4,4,
2,2,2,1,2,2,2,
0,0,0,0,0,0,0,
0,0,0,0,0,0,3.d1_n1_killed,
1.d1_feather,0,0,1.d1_nightmarekey,0,1.d1_beak,0,
0,0,1.d1_r20,1.d1k3,0,0,0,
0,0,0,1.d1k2,1.d1_map,0,0,
0,0,0,0,0,0,0,
0,0,0,0,0,0,0,
1
d1_wall,2,3,17
We can almost kind of see what is going on, and all of these numbers mean something. But what? If it isn't obvious at first glance, we're looking at a bunch of values, most of them somehow corresponds to each tile on the minimap. Here is what it all means from top to bottom...
- Line 1: The "width offset" of the minimap.
- Line 2: The "height offset" of the minimap.
- Line 3: The X number of tiles of the minimap.
- Line 4: The Y number of tiles of the minimap.
I'm still not 100% sure what the offsets do, as the minimap always appears centered. The X and Y is pretty self explanatory, it's how many tiles make up the grid. The "Y" value should always be +1 greater than the actual tiles, as a row is used to draw the entrance arrow.
- The next set of lines corresponds to the tilemap graphics. Or rather, the tile used for each room.
- I have included what each number translates to here:
Note that for "empty" tiles used on the same line as the arrow (1), it's possible to use either (0) or (2). Both of these values will not draw anything, as zero doesn't even point to anything and 2 is an empty space. Not sure why it's this way, just know that it is.
The next set of lines corresponds to the icons.
- 0: No icons for this tile.
- 1: Shows a chest icon.
- 2: Shows a empty chest icon (unused).
- 3: The nightmare icon.
An icon requires a value above, and it requires the "key" for the item or "enemy" it represents. For example:
1.d1_map: This says "draw a chest for key "d1_map" which is the entry for the level 1 map. Once the map is collected, d1_map gets set to "1" in the save file, and the chest will no longer appear on the minimap.
Where to find this value can be somewhat challenging as it may not be on the map file itself. To find the map "key" we may have to follow it back to "script.zScript" where it is spawned. First we find the chest room in Dungeon 1 map:
Notice that the "dialogName" is "d1c2". This will call the line in the script with the matching name. It requires somewhat of an understanding of how the "dialog" system works in this game, which is more than just showing text on the screen. That will probably require its own wiki entry eventually.
The other value used is "3", which is the nightmare icon. Let's look at that example:
3.d1_n1_killed: This says "draw the nightmare icon for key "d1_n1_killed" until the nightmare is defeated." The key is entered on the boss unit itself via the map editor. When the nightmare is killed, "d1_n1_killed" is set to "1" in the save file, and the icon disappears off the minimap.
The final set of values are "tile overrides". This can change a tile on the fly after some condition. Level 1 has a single override.
d1_wall,2,3,17: This is the key for the bombable wall to the seashell. Once it's destroyed, the key "d1_wall" is set to "1" in the save file. The next two values (2,3) are the tile offsets. Unlike the tilemap images, these offsets are zero based. So it's more accurate to say (3,4) instead of (2,3).
Anyway, this is basically saying "after the wall is destroyed, replace the tile at 3 tiles right and 4 tiles down with tilemap 17. Refer to the image above to see 17, which is the four way room. This instance replaces 18 which is a 3 way room with no left entry.
And that's it. These text files are how minimaps are constructed. It took me quite awhile to figure this all out, so I figured if anyone after me wants to ever mess with this stuff, it would help to have a reference of how it all works.
- π‘ Home
- π€ Building & Contributing
- π Additional Info
- π Main Update Loop
- π§ Direction
- π₯οΈ Dialog Path Loader
- πΊοΈ Dungeon Minimap Files
- πΌοΈ Sprite Atlas Files
- π₯ Camera Field Objects
- π·οΈ Placeholder Tags
- πΌ Music Indexes
- π£ Launcher Mod Maker
- π§© Texture Replacement
- πΌοΈ Custom Menu Border
- π΅ Music Replacement
- πΆ Sound Effect Replacement
- πΊοΈ MapOverlay Custom Info
- π Dialog Replacement
- π LAHDMods