EQ2Interface

EQ2Interface (https://www.eq2interface.com/forums/index.php)
-   EQ2MAP New maps (https://www.eq2interface.com/forums/forumdisplay.php?f=40)
-   -   [MAP] Befallen: Cavern of the Afflicted - Upper Dungeon (needs zone rect) (https://www.eq2interface.com/forums/showthread.php?t=12095)

drider1969 12-16-2008 04:16 PM

[MAP] Befallen: Cavern of the Afflicted - Upper Dungeon (needs zone rect)
 
8 Attachment(s)
This is my first attempt here to make a map for a dungeon that I do not yet see has having a map. Wanted to get some feedback on if it is complaint with the requirements and works as requited before spending the rest of the time required to build the lower dungeon out.

Also what are the best tips for doing multi-level dungeons with various heights inside like this one? I can run around and get all the /locs but did not know how to integrate that with the required files. I want to make sure I get all the needed data.

Thanks!

lordebon 12-17-2008 11:24 AM

Looks pretty good. You probably don't need to have written on the map that its 'upper' or 'lower' or anything like that, or that the hole in the first one leads down (that would be something for a POI).

As for splitting them... basically you have to find a height (z cooridate, the middle /loc number) when it would be safe to switch from one map to the next. It should be basically slightly below the lowest point of one level but above the highest point of the next level (i.e. find those two and split the difference).

gm9 12-17-2008 12:57 PM

Pretty much what lordebon said, it is probably easiest to understand by looking at existing multilevel zones (defined in your customUI\eq2maps\core_mapstyles.xml). The relevant parameters here are in particular heightmin and heightmax, in most cases that is enough.

And as lordebon said please do not print the map's name on it. One of the reasons is that SOE often reuses zone layouts and therefore a generic image can simply be reused for a new zone with the same layout.

Also may I suggest that you vertically center the map images? I think that will look nicer.

To use the maps we will also need the zonerects, but these can only be calculated once you have the final image.

drider1969 12-21-2008 10:36 AM

Updated modified image files, dds files, and a zip with the log files and spreadsheets per the faq. Let me know what else is needed to get this map added. Thanks!

lordebon 12-21-2008 12:12 PM

Looks pretty good now. What you still need is the zonerects and heightmin/max values -- I'm guessing they might be in the zip file? Looks like you forgot to upload it.

drider1969 12-21-2008 10:27 PM

Drat. Well thats what I get for trying to post while holding a sick baby.

drider1969 12-24-2008 12:23 PM

Everything should be on the first post now including the .zip file with all the spreadsheets needed for the zone rectangles.

drider1969 12-26-2008 10:28 PM

When testing the maps I am hitting an odd problem, well odd for me anyway. I have the maps dropping in at the right heights but the lower two maps have be running from the top of the image to the bottom versus staying on track with the maps I made. I tried tweaking the zone rectangle numbers but that just chopped the image to a small corner than the map. Do I just need to cut it out to be so that just the map fits the rectangle and then set the points on the DDS to match the new image? I noted that the setups show 0,0,436,506 but I was not sure if that was a hard EQ2MAPS setting or just a template number for standardization. I want to learn to do these right since I have enjoyed using the application for a number of years now and want to contribute to the community.

Thanks!

gm9 12-27-2008 06:09 AM

The 0,0,436,506 is a hard setting, your map image needs to be 436 x 506 pixels.

For zonerect calculation you need to get both the /loc and the pixel location for two points on diagonally opposing corners of the map. Since you already have all the /locs, all you need to do is find the corresponding pixel location on your images to calculate the zonerect. That is quickly done using whatever image editing program you used to create the maps.

Calain80 12-27-2008 01:00 PM

This maps should also fit for the Tomb of the Mad Crusader, as it has exactly the same layout.

drider1969 12-27-2008 02:18 PM

Quote:

Originally Posted by gm9 (Post 79329)
The 0,0,436,506 is a hard setting, your map image needs to be 436 x 506 pixels.

For zonerect calculation you need to get both the /loc and the pixel location for two points on diagonally opposing corners of the map. Since you already have all the /locs, all you need to do is find the corresponding pixel location on your images to calculate the zonerect. That is quickly done using whatever image editing program you used to create the maps.

My brain must be frozen today or something because it makes sense but I am still confused. An example would be the second map, as the first works just fine. The spreadsheet gives me a zone rect of -167.29, -121.97, -22.72, and 2/46. The corresponding lines in the _User_MapStyles.xml has

<ImageStyle Name="exp05_dun_befallen_cavern_1" displayname="Befallen Cavern of the Afflicted Middle" menugroup="Befallen" zonerect="-167.29, -121.97, -22.72, 2.46" heightmin="-56" heightmax="-20">
<ImageFrame Source="images/maps/map_exp05_dun_befallen_cavern_1.dds" SourceRect="0,0,436,506" />
</ImageStyle>

The diagonal for the image is 0,131 <-> 436,400. How would I make the transferance between the two zone rects? I have not seen any documentation about making these changes.

Here is the full code used to test the 3 levels of the maps as well. I suspect I have some error here that is causing me all this grief.

<ImageStyle Name="exp05_dun_befallen_cavern_0" displayname="Befallen Cavern of the Afflicted Entrance" menugroup="Befallen" zonerect="-79.66, -76.07, 12.09, 7.22" heightmin="7">
<ImageFrame Source="images/maps/map_exp05_dun_befallen_cavern_0.dds" SourceRect="0,0,436,506" />
</ImageStyle>
<ImageStyle Name="exp05_dun_befallen_cavern_1" displayname="Befallen Cavern of the Afflicted Middle" menugroup="Befallen" zonerect="-167.29, -121.97, -22.72, 2.46" heightmin="-56" heightmax="-20">
<ImageFrame Source="images/maps/map_exp05_dun_befallen_cavern_1.dds" SourceRect="0,0,436,506" />
</ImageStyle>
<ImageStyle Name="exp05_dun_befallen_cavern_2" displayname="Befallen Cavern of the Afflicted Bottom" menugroup="Befallen" zonerect="-153.57, -184.39, -19.97, -106.05" heightmax="-55">
<ImageFrame Source="images/maps/map_exp05_dun_befallen_cavern_2.dds" SourceRect="0,0,436,506" />
</ImageStyle>



Thanks for all of your help.

gm9 12-27-2008 02:50 PM

Quote:

Originally Posted by drider1969 (Post 79340)
The diagonal for the image is 0,131 <-> 436,400.

No that's not what I meant, that appears to be the corners of the layer you used.

You need the /loc of some recognizable location in the zone, i.e. some corner in a wall or something like that. That's what you already have from you logs as you used it to draw the walls. And then you just need to get the pixel location of that same corner on the actual image you made. Plug those into taco-man's Zone Rect calculator and it will give you the correct zone rect.

EDIT: Also there's something wrong with your heightmin/heightmax values also. Think of your three maps as three horizontal slices out of the box that is the zone, e.g.:
(top map)
----------------- 10
(middle map)
----------------- 0
(bottom map)
In the example
  • (top map) would have heightmin=10,
  • (middle map) would have heightmin=0 and heightmax=10, and
  • (bottom map) would have heightmax=0.
That is to say there should only be two distinct values to cover the entire zone. With your values there is some "vacuum" left which isn't covered by any of your slices, and also there is some overlap.

lordebon 12-28-2008 11:40 PM

Basically you are finding 2 points both in-game locs and in terms of pixels on the map. With those common points (chosen far apart as possible for maximum accuracy) the zone rect calculator will extrapolate out to find the /loc locations of the upper left most pixel and the lower rightmost pixel (i.e. the zone rect).

Essentially it's a scaling function. You create a scale for both the x and y.

(pixel_x1 - pixel_x2)/(loc_x1 - loc_x2) = X_scale in # of pixels per in game meter, for example. Y can be calculated the same way

Then, knowing the map is cornered by pixel(0,0) to pixel(436,506) it basically uses the known points and the calculated scale to find loc[pixel(0,0)] and loc[pixel(436,506)], i.e. the in-game /locs for those two pixels. That is your zonerect.

And yeah, GM9 covered the heights pretty well. The dividing lines should be the same... that is, for a structure like this:

Level A
Level B
Level C

heightmin of level A should be = heightmax of level B. And heightmin of level B should be = heightmax of level C. That way the transitions are precise and predictable and the game always knows which map to display.

gm9 01-23-2009 04:23 PM

Would be nice if someone could fill in the missing information here because it's nearly finished.


All times are GMT -5. The time now is 05:24 AM.

vBulletin® - Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
© MMOUI