Milva

Moderator
Milva submitted a new resource:

Region Editor by dougan-ironfist - Regions
This download is for dougan's google code page-contains more downloads :)

More information on how to use this
Set up new Regions
Information:
Region Editor for RunUO SVN 663
Version 1.7


While working on implementing custom maps, I found that region editors online were obsolete and non-functional. Since I have quite a bit of region work to do, I decided to design a new region editor for RunUO. This project was just completed today and even though I have tested every feature, there may be scenarios I just didn't plan for. If you run into any bugs, please let me know and I will correct them.

Setting up this application is rather easy. Just launch the program and specify the location of your mul files and the regions.xml file on your system.

The region map is initially displayed in a full sized grid. There is a slider to adjust the scaling of the map. Just keep in mind that as you decrease the scale of the map, the time to render each chunk takes a bit longer.

Areas can be selected on the map in two ways. For small areas, simply click and drag to highlight a section of the map on screen. For larger areas that cannot appear on screen all at once, you can simply left click on one corner of the area and then shift-click on the other corner and the whole area will highlight.

On the right, you have the Facet combobox and the list of defined regions for the selected facet. When you change facets, the map and region list is updated on the window. The bottom buttons allow you to add, modify and delete regions, sub-regions, region spawns and rectangular areas that make up the region.

At the top of the window is a Map Display button. This button will render the entire map of the selected facet into a new window. This process can be lengthy. However, the rendered image is saved to file for future use. The Map Display button will use the rendered image from that point on unless you specifically instruct the image to render again. You can double click anywhere on the large map and the small map on the main window will move to that location.

If you make a mistake with region editing, you can click the File menu and instruct the application to reload the regions from file.

Hopefully this application will help everyone that needs to work on their region files for custom worlds. Please let me know if you run into any problems with this application.

Changes in Version 1.1:
Fixed problems that required the application to be restarted after setting your mul file path and path to regions.xml.
The application will now track when changes are made and ask you if you want to save changes when you close the application.
The original regions.xml file will be backed up as regions.xml.bck_{timedatestamp) so you can restore any previous version of the file if needed.
Altered the application to require .NET Framework 2.0 to comply with other applications and utilities available. The application previously required .NET Framework 4.0.
Cleaned up some internal coding to make record tracking more efficient.

Changes in Version 1.2:
Minor cosmetic changes in how the large map view is displayed.
Changed the alpha highlight for region selection from orange to yellow.
Modified the region type field to only allow characters that would be valid to use as a class name. This allows you to specify region types that may be custom to your shard. The drop-down of the combobox still contains the predefined region types in the RunUO SVN.

Changes in Version 1.4:
Corrected errors that would cause the Region Editor to lose track of the number of regions on a facet when removing them.
Added the ability to allow users to go directly to a specified location on the map.
Added the ability to allow users to manually enter the coordinates and size of new areas if an area was not highlighted.
Added a button that allows the user to remove all regions from the current facet. This is ideal for shards that are compiling regions for an entirely custom map.

Changes in Version 1.5:
Fixed bug that would allow you to scroll the map beyond the visible area showing No Draw tiles.
Added a compatibility option in the Options menu that will allow compatibility with older clients that only use map0.mul with a size of 6144x4096.
Removed the 'Set Z Min' button and replaced it with a 'Modify Area' button. This button allows you to modify all the settings on the area including the Z Min.

Changes in Version 1.6:

Significantly improved the display and scrolling speed of the main map display.

Changes in Version 1.7:

Added additional levels of scale reduction.
Added the ability to double-click on the main display to center the display at the selected point.

Dougan Ironfist

http://www.runuo.com/community/threads/region-editor-for-runuo-svn-663.468210/

Read more about this resource...
 
Last edited:
You should re-post it here, some of us don't have access to RunUO ;)
LOL Jeff!!! Of all the people, I never thought Ryan would have let you get banned dude. It was sort of amusing seeing someone call him out in the forums though, so thanks for that :D

Anyway, Dougan's region editor is the same one I've used before in the past. I believe it's one of the better region editors that's available. It could use a few tweaks here and there, but it's so simple to create a region and carry it over to your shard.
 
Arrrrrr2 Posted this on Runuo-he gave me permission to post this here
I made an interesting change to display statics. Now, it is a lot easier to do precise region definition:
V2t31C1.jpg


If you want this too, locate MapDisplay.OnPaint, change this line:
Bitmap bmp = Cache.GetTile(matrix.GetLandTile(_Upper_Coordinate.X + x, _Upper_Coordinate.Y + y).ID, (int)MapScale);

to this:
Bitmap bmp = null;
HuedTile hd = new HuedTile(0, -1, -1);
HuedTile[] hdArray = matrix.GetStaticTiles(_Upper_Coordinate.X + x, _Upper_Coordinate.Y + y);
for (int index = 0; index < hdArray.Length; index++)
if (hd.Z < hdArray[index].Z)
hd = hdArray[index];

if (hdArray.Length > 0)
bmp = Cache.GetTile(hd.ID, (int)MapScale);
else
bmp = Cache.GetTile(matrix.GetLandTile(_Upper_Coordinate.X + x, _Upper_Coordinate.Y + y).ID, (int)MapScale);


 
Back