Beginning with version 5.0, mapping player structures is now supported by
UOAM. Version 5.1 extends that support by providing support for
automatically displaying nearby houses and logging them to a file.
Unfortunately, there are technical reasons that prevent UOAM from
supporting houses in quite as seamless a manner as I would like. The
purpose of this document is to describe what my goals were with respect to
player housing and how those goals have been achieved. Here you will also
find step-by-step instructions for placing a house in UOAM.
The Goals
In an ideal world, I would love for UOAM to be able to display every
single house located on your shard. Unfortunately, that is just not
possible. The house locations are stored on OSI's servers and they are
only sent to the client on an as-needed basis. That is why when you bring
up UO's radar map houses seem to pop in to view as you approach them.
Even showing just the houses in your general vicinity is difficult. To
do this without help from UOAssist, I would have to re-write UOAM to
intercept those messages from the server and decipher them. This is a
huge task (just ask Tug, author of UO Assist) and it would require that I
update my program every time OSI changed their data stream format (which
is frequent). Even with help from UOAssist, the most I can learn from
this is which houses are near to your character.
So clearly some sort of compromise was called for.
This is where Tug stepped in. Shortly after I released version 5.0, Tug
and I put our heads together in order to come up with a way for UOAM to
automatically display houses. By working together, over the course of a
few intense days, we were able to enhance both UOA and UOAM to enable UOAM
to duplicate the functionality of UO's in-game radar map.
Once that was achieved, it was a relatively logical step to take it one
further and come up with a mechanism that would allow you to automatically
save those houses to a .MAP file.
Back in version 5.0, my original goal was to give players an easy way to
mark houses on their map themselves. I wanted marked houses to look as
similar as possible to houses displayed in UO's radar map. And I wanted
the implementation to be extensible enough to adapt to new house designs.
(Interestingly enough, I began thinking about this idea BEFORE the new
house styles for UO Reneisance were announced.)
Most importantly, I wanted a way for player communities to map out their
neighborhoods and have the resulting maps be both attractive and useful. I
found it very unsatisfying to load a .MAP file for a community like the City of Destiny (LS) and
find myself staring at an empty field full of pins.
Now, thanks to help from Tug, we can go even farther.
How it Works
If you aren't running UOAssist then you really should. You can get it
from Tug's site at http://www.tugsoft.com. Those of you
who are too cheap to pay for it will be happy to know that Tug and I made
sure that this functionality would work even if UOAssist isn't registered.
However, I really must add that UOAssist is worth every single penny of
its small registration fee.
My solution to the housing problem is to allow categories to be assigned
icons which can tilt and scale with the map. Houses can be stored in
UOAM's .MAP files by creating a label and assigning it to the proper
category. Create a category named "small house", assign a label to it and
it will appear on your map as a small house.
Furthermore, by allowing cursors to be used interchangeably with icons (a simple
matter in Windows), you can take advantage of the cursor's hot-spot to aid you
in positioning the house's icon. My convention has been to locate the cursor's
hot spot on the front steps directly in front of the door (the right door if
there are two). That way, by standing on the house steps in the game, you can
place the house right where you want it.
UOAM has built-in icons for all of the standard house types currently for sale
in Britannia.
Step by Step Instructions for Placing a House
These instructions are mainly for those who aren't running UOAssist. If
you're running UOAssist, it's easier to just turn house logging on. See
the documentation for the UOAssist pane for
details.
To do it by hand:
1. Create the Categories
To map houses in UOAM you first need to have categories for each of the
house types that you want to map.
Go to the "Filters Pane" in the UOAM control panel (Ctrl-F will take you right to it).
Use the "Add" button to add categories for each of the basic house types:
tent,
small house,
large house,
patio house,
two story house,
tower,
keep
and
castle.
Icons for the new houses introduced with UOR are also provided:
marble shop,
stone shop,
small tower,
log cabin,
marble patio,
and villa
as well as Minax's fortress.
If you use the standard names listed above, UOAM will automatically assign them
the proper icons. If you chose to go with different names, then you will need
to use the "Choose Icon" button to browse to the proper icon and check the
"Icon Tilts" checkbox yourself.
(Note that the auotmatic logging feature always uses the standard house
category names.)
2. Stand in Front of the Door
Once you've got the categories entered in, then all you have to do is find a
house to map.
Walk up to the house and stand directly in front of the door (the right
door if there are two). Note that with some of the new house types you
have to climb a ladder to reach the door.
3. Create a Label
Click on the UOAM map (to change the focus) and type Ctrl-N to create a
new label right where you are standing.
You can give the label a name or you can leave it blank if you like. The
important thing is that you want to make sure that it is assigned to the
category that matches the type of house.
That's it. Now you will have a house on your map in EXACTLY the right spot.
UOAM treats it just like any other label and so the house will be saved in your
map files along with all your other labels.
Note: If you play on more than one shard, you will probably want to
create a map file for each of them so that you can use the files to select
which houses should be displayed otherwise you may end up with houses on
your map that don't exist on the shard you're currently playing on.
Custom Houses
In March of 2003, custom houses were added to UO. These houses differ from
the houses described above in that their design is almost completely open-ended.
Their footprint can vary from 7x7 all the way up to 18x18. In addition,
they can have almost any appearance.
UOAM supports custom housing in much the same way it supports traditional
housing. Custom houses are assigned a category, just like traditional
houses so most everything listed above also applies to custom houses, however
there are a few subtle differences:
- Because custom houses can have almost any appearance, UOAM only keeps
track of the footprint of the house.
- Custom houses do not actually have an icon, instead they are drawn as a
simple rectangular outline.
- Because custom houses can have the front door located nearly anywhere
(or nowhere at all), they are always positioned about the center of the
plot. (The stuff above about standing in front of the front door to
place a house on UOAM's map doesn't apply to custom houses.)
- Custom house categories are named like this: housewxd
where w is the width of the house
and d is the depth. So a
house plot that is 11 units wide and 14 units deep is assigned a UOAM
category that looks like this: house11x14
Supporting New House Designs
If OSI ever comes out with a new house type, you may want to create a new icon
to match the new house.
See the section on Adding Icons to UOAM for
details on how to add an icon. The only thing to watch out for when
creating a house icon is that you will want to actually create a cursor
(not an icon) so that you can position its hot-spot exactly on the front
step.
Should OSI ever add new house types to the game, I will be more than happy
to provide a set of icons to go with them.
|