Jump to content

Photo

LttP-style Map Display

Global

  • This topic is locked This topic is locked
5 replies to this topic

#1 MoscowModder

MoscowModder

    Still fighting the inevitable

  • Members
  • Gender:Male
  • Location:Wisconsin (WHAT)

Posted 11 October 2012 - 11:13 AM

LttP-style Map Display

Description

This script allows you to make much more detailed, useful dungeon maps. When the Ex1 button is pressed, you will see a display showing a map of the dungeon (or only the rooms you've been in if you don't have the dungeon map), plus customizable icons for different room features once you have the compass.

Features:
- Shows only the rooms you've been in until you get the map
- Shows room features (up to 2 at a time) when you get the compass

- Shows doors between rooms
- Chest/boss/triforce icons go away when you collect them
- Supports multi-floor dungeons

- Automatically gets dungeon name

Screenshots and Demo
lttpmap.png

Code

Download

Setup

IMPORTANT: THIS SCRIPT IS ONLY GUARANTEED TO WORK 100% WITH INTERIOR MAPS. IF YOU USE NES DUNGEON OR OVERWORLD MAPS, DON'T COMPLAIN THAT THE SCRIPT DOESN'T WORK.

Preliminaries
1. Make an 11-tile-wide by 6-tile-high map background. Set MAP_TILE_BG to the number of the top-left tile (not combo, but tile) and MAP_TILE_CSET to its CSet.
2. Make icons for every room feature (or whatever you collect in dungeons), and set their respective tile numbers and CSets in the MAP_TILE_ and MAP_CSET sections. NOTE: these icons must use only the top 8x8 pixels of their respective tiles.
3. Find the colors for the borders of rooms, and unvisited/visited/current room background colors. Set the MAP_COLOR_ constants to their numbers, where each color's number is the CSet number times 16, plus the number of the color in the CSet (from 0 to 15).
4. Compile the script and assign it to the active global slot.

Map setup
1. Set up the map in the big dungMaps[] array (you can duplicate the layout of the map from the DMap editor). It is laid out like an 8x8 dungeon map (note that this script only works with maps no larger than 8x8 screens; no overworlds!). For each room, list all the features with their single-letter names separated by "|". See the code for a working example.
2. For each DMap that will use this feature, make a row in the mapIndex array. See the "mapIndex setup" section for details.
3. Multi-floor dungeons: you can link two or more maps together into a multi-floor dungeon by setting the up and down values in their respective mapIndex rows.

 

Note: If you are using ghost.zh, be sure to find and uncomment this line: //DrawGhostFFCs();


Usage
* Press the Ex1 button to open the map.
* By default, the map shows only rooms you've visited.
* When you obtain the dungeon's map (yes, it works with the built-in map item), all the unexplored rooms will appear on the map.
* When you obtain the compass, feature icons (unbeaten bosses, unopened chests, stairs/entrances) will appear in rooms that are on the map. They will not appear in unexplored rooms without the map.
* Press Up/Down to switch floors if you're in a multi-floor dungeon.
* Press Ex1 to close the map again.

Resources

Requires stdExtra.zh; all other headers are included with ZC.


Edited by MoscowModder, 25 January 2014 - 06:46 PM.
Updated script to 2.0


#2 MoscowModder

MoscowModder

    Still fighting the inevitable

  • Members
  • Gender:Male
  • Location:Wisconsin (WHAT)

Posted 25 January 2014 - 06:48 PM

MASSIVE UPDATE!

 

New features:

  • More straightforward to make multi-floor dungeons
  • Easier to put features in rooms
  • More icons to use
  • Tidier code in general
  • Automatic dungeon name fetching and printing (no more putting that in tiles)


#3 judasrising

judasrising

    I play guitar

  • Members
  • Gender:Male
  • Location:Sweden but born in Finland

Posted 27 January 2014 - 06:00 AM

 

LttP-style Map Display

Description

This script allows you to make much more detailed, useful dungeon maps. When the Ex1 button is pressed, you will see a display showing a map of the dungeon (or only the rooms you've been in if you don't have the dungeon map), plus customizable icons for different room features once you have the compass.

Features:
- Shows only the rooms you've been in until you get the map
- Shows room features (up to 2 at a time) when you get the compass

- Shows doors between rooms
- Chest/boss/triforce icons go away when you collect them
- Supports multi-floor dungeons

- Automatically gets dungeon name

Screenshots and Demo
lttpmap.png

Code

Download

Setup

IMPORTANT: THIS SCRIPT IS ONLY GUARANTEED TO WORK 100% WITH INTERIOR MAPS. IF YOU USE NES DUNGEON OR OVERWORLD MAPS, DON'T COMPLAIN THAT THE SCRIPT DOESN'T WORK.

Preliminaries
1. Make an 11-tile-wide by 6-tile-high map background. Set MAP_TILE_BG to the number of the top-left tile (not combo, but tile) and MAP_TILE_CSET to its CSet.
2. Make icons for every room feature (or whatever you collect in dungeons), and set their respective tile numbers and CSets in the MAP_TILE_ and MAP_CSET sections. NOTE: these icons must use only the top 8x8 pixels of their respective tiles.
3. Find the colors for the borders of rooms, and unvisited/visited/current room background colors. Set the MAP_COLOR_ constants to their numbers, where each color's number is the CSet number times 16, plus the number of the color in the CSet (from 0 to 15).
4. Compile the script and assign it to the active global slot.

Map setup
1. Set up the map in the big dungMaps[] array (you can duplicate the layout of the map from the DMap editor). It is laid out like an 8x8 dungeon map (note that this script only works with maps no larger than 8x8 screens; no overworlds!). For each room, list all the features with their single-letter names separated by "|". See the code for a working example.
2. For each DMap that will use this feature, make a row in the mapIndex array. See the "mapIndex setup" section for details.
3. Multi-floor dungeons: you can link two or more maps together into a multi-floor dungeon by setting the up and down values in their respective mapIndex rows.

 

Note: If you are using ghost.zh, be sure to find and uncomment this line: //DrawGhostFFCs();

Usage
* Press the Ex1 button to open the map.
* By default, the map shows only rooms you've visited.
* When you obtain the dungeon's map (yes, it works with the built-in map item), all the unexplored rooms will appear on the map.
* When you obtain the compass, feature icons (unbeaten bosses, unopened chests, stairs/entrances) will appear in rooms that are on the map. They will not appear in unexplored rooms without the map.
* Press Up/Down to switch floors if you're in a multi-floor dungeon.
* Press Ex1 to close the map again.

Resources

Requires stdExtra.zh; all other headers are included with ZC.

 

Hi MoscowModder

 

Is it possible that you could upload a demo of that script? , It is a really nice script.



#4 MoscowModder

MoscowModder

    Still fighting the inevitable

  • Members
  • Gender:Male
  • Location:Wisconsin (WHAT)

Posted 27 January 2014 - 10:47 AM

I was too lazy to make an actual dungeon for the script, but you can try it out in this quest file. Just place and/or give yourself the map and compass, and wander around the area.

 

If people really need one, I can try to whip up an 'actual' demo for it.

 

P.S. You don't need to quote my whole post to reply :P



#5 judasrising

judasrising

    I play guitar

  • Members
  • Gender:Male
  • Location:Sweden but born in Finland

Posted 28 January 2014 - 03:52 AM

Thanks for the questfile i now see the script in action ,looks good.Thank you MoscowModder

And if you want you could do a "actual demo" of it also.



#6 MoscowModder

MoscowModder

    Still fighting the inevitable

  • Members
  • Gender:Male
  • Location:Wisconsin (WHAT)

Posted 28 January 2014 - 08:51 AM

For starters, here's a demonstration on my Twitch channel (yes, I have one).

 

In Solaris, it's disabled before you get the map. In the 'public' version, you can view the rooms you've been in before getting it.

 

I'll get a 'real' demo eventually.





Also tagged with one or more of these keywords: Global

1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users