In this directory is utilities, gif images of the maps, and other notes.
------------------------------------------------------------------------------
Developer guidelines:
Read the mapguide for guidelines on making a good map.
Use the comment field that the maps have - put in who the author is,
what level the map is, and any other special notes.
------------------------------------------------------------------------------
Naming Scheme:
Note that these rules are ordered in importance, eg, if a rule conflicts,
the lower number rule takes precedence.
1) If the map is currently off the main world (eg, pupland), it should have
its own top level ldirectory which all the maps in that area are located.
2) Each city should have it own top level directory (eg, scorn,
navar_city, santo_dominion). All buildings in the city and located
nearby or related to it are in the respective city directory.
For maps that are placed directly on the world map and are not in the city,
the follow guidelines should be used:
3) If the map is part of a larger quest, a /quest/name_of_quest directory
should be made, and all the maps for the quest placed in there. If
some portions of the quest has maps in cities or other places, a README
should be included explaining this. Note in general, having README's
for all quests explaining the flow probably isn't a bad idea in the
case someone else needs to work on it.
4) If a map is independent (eg, the map is one you just go there, kill and
get exp), it should be in the /dungeons directory (Ill named I know).
If the dungeon is comprised of several map (eg, multilevel dungeon), a
sub directory should be made to hold all of these maps.
5) Maps should fall into one of the category above - if it does not, and
you are not sure, send a message to crossfire-devel@lists.real-time.com.
Maps should not be sorted by author, as this does not make maintaining
them easy.
------------------------------------------------------------------------------
GIF files:
el_map.gif is an elevation map - it is color coded based on elevations.
terrain_map.gif is color coded based on the type of terrain - I tried to match
the coloration on what the image looks like in the png set.
ann_map.gif is a annotated version of the map, showing the roads and
locations of the main cities.
world.gif: This is a map of how the world looks. This was done by
converting all of the world maps into images, scaling those down, and
then merging them into one large image. If you look carefully, you can
make out the towns, roads, etc.
------------------------------------------------------------------------------
Important landmarks
The list of translation values below have been used in the update_maps
script. The values are recoreded here in that they might be useful for
updating other maps that are contributed later.
The format is:
OLD_MAP_NAME, OLD_MAP_STARTX, OLD_MAP_STARTY, OLD_MAP_ENDX, OLD_MAP_ENDY ->
NEW_MAP_NAME, NEW_MAP_OFFX, NEW_MAP_OFFY
Translation values used:
/city/city, 10, 0 (100,100) -> /world/world_105_115, -10, 18
/brittany/Brest/Brest 0,0 (100,100) -> /world/world_107_123, +17, +16
/santo_dominion/town 3,12 (100,100) -> /world/world_102_108, 0, -9
/navar_city/city1 15, 13 (100,100) -> /world/world_122_117, -15, -13
/navar_city/city1 15, 0 (100,12) -> /world/world_122_116, -15, 37
/navar_city/city1 0, 0 (14,12) -> /world/world_121_116, 35, 37
/navar_city/city1 0,13 (14,100) -> /world/world_121_116, 35, -13
/Lake_County/kundi_area 0,0 -> /world/world_109_126 (+13, +17)
/dragonisland/stonevile 0,0 (13,0) /world/world_102_127 (+36, +1)
/dragonisland/stonevile 14,0 (100,100) /world/world_103_127 (-14, +1)
/dtabb/darcap 0,0 (100,100) /world/world_116_102 (+18, +26)
dragonisland note: Some of the buildings in stoneville were moved
slightly to better fit them onto the layout of the island.
kar (euthville): /world/world_105_113
Kar doesn't have simple values, as the town was shrunk a bit and
re-arrange some.
This information can be used to see where some of the
notable maps are.
------------------------------------------------------------------------------
land.c:
This is the program that generated the new world map.
The file land.c just gets compiled - if your system has a math
library (-lm) you probably need to link that in.
Given the same seed and other parameters, it will generate the same
results if on the same platform. Eg, two different intel systems running
redhat 7.2 should generate the same results, but a redhat compared to
solaris system, or linux intel vs linux power pc may very well generate
different results.
The generated map was run with the follow parameters on my system:
-x 1500 -y 1500 -s 1007623715 -p 300 -n 170 -w 40000 -l 200000
------------------------------------------------------------------------------
Note about unique maps:
The update_exits.pl script can be used to update the exit of per player
unique maps. IT can also be used with the unique-items map, but
the check in the script for a valid map file would need to be removed.
The update_apart.pl script should properly deal with per player apartments
and unique maps - just run it with the appropriate target (eg,
'update_apart.pl players ' and 'update_apart.pl unique-items'. The script
works, but it is certainly possible I'm missing some paths that should
be substitued in there.
Per player unique maps:
_city_* -> _scorn_...
Guild maps:
guilds@black_shield -> brest@black_shield
guilds@damned_heretics -> wolfsburg@guilds@damned_heretics
guilds@dreaming_sage -> navar_city@guilds@dreaming_sage
guilds@drunken_barbarian-> santo_dominion@guilds@drunken_barbarian
guilds@guildhousesinc -> scorn@guilds@guildhousesinc
guilds@laughing_skull -> pup_land@guilds@laughing_skull
guilds@mailed_fist -> scorn@guilds@mailed_fist
guilds@poisoned_dagger -> darcap@darcap@guilds@poisoned_dagger
guilds@purple_butterfly -> pup_land@guilds@purple_butterfly
guilds@smoking_cauldron -> darcap@darcap@guilds@smoking_cauldron
------------------------------------------------------------------------------
rewrite_exits.pl:
This is a perl script that basically goes through and updates the slaying
fields for maps, which makes renaming maps easy.
However, for this to work, map names must be unique. Often the case, but
not always. If it gets a duplicate, it doesn't do anything.
Run it from the top level map directory - it then does it works updating
all the maps.
------------------------------------------------------------------------------
rewrite_styles.pl:
Similar to rewrite_exits, but instead for styles. Designed to fix up the
uppercase style names that the mlab maps used, and also put them in
a subdirectory so that the styles won't show up for maps that use random
styles.