1 |
In this directory is utilities, gif images of the maps, and other notes. |
2 |
|
3 |
------------------------------------------------------------------------------ |
4 |
Developer guidelines: |
5 |
|
6 |
Read the mapguide for guidelines on making a good map. |
7 |
|
8 |
Use the comment field that the maps have - put in who the author is, |
9 |
what level the map is, and any other special notes. |
10 |
|
11 |
------------------------------------------------------------------------------ |
12 |
Naming Scheme: |
13 |
|
14 |
Note that these rules are ordered in importance, eg, if a rule conflicts, |
15 |
the lower number rule takes precedence. |
16 |
|
17 |
1) If the map is currently off the main world (eg, pupland), it should have |
18 |
its own top level ldirectory which all the maps in that area are located. |
19 |
|
20 |
2) Each city should have it own top level directory (eg, scorn, |
21 |
navar_city, santo_dominion). All buildings in the city and located |
22 |
nearby or related to it are in the respective city directory. |
23 |
|
24 |
For maps that are placed directly on the world map and are not in the city, |
25 |
the follow guidelines should be used: |
26 |
|
27 |
3) If the map is part of a larger quest, a /quest/name_of_quest directory |
28 |
should be made, and all the maps for the quest placed in there. If |
29 |
some portions of the quest has maps in cities or other places, a README |
30 |
should be included explaining this. Note in general, having README's |
31 |
for all quests explaining the flow probably isn't a bad idea in the |
32 |
case someone else needs to work on it. |
33 |
|
34 |
4) If a map is independent (eg, the map is one you just go there, kill and |
35 |
get exp), it should be in the /dungeons directory (Ill named I know). |
36 |
If the dungeon is comprised of several map (eg, multilevel dungeon), a |
37 |
sub directory should be made to hold all of these maps. |
38 |
|
39 |
5) Maps should fall into one of the category above - if it does not, and |
40 |
you are not sure, send a message to crossfire-devel@lists.real-time.com. |
41 |
Maps should not be sorted by author, as this does not make maintaining |
42 |
them easy. |
43 |
|
44 |
|
45 |
------------------------------------------------------------------------------ |
46 |
GIF files: |
47 |
|
48 |
el_map.gif is an elevation map - it is color coded based on elevations. |
49 |
|
50 |
terrain_map.gif is color coded based on the type of terrain - I tried to match |
51 |
the coloration on what the image looks like in the png set. |
52 |
|
53 |
ann_map.gif is a annotated version of the map, showing the roads and |
54 |
locations of the main cities. |
55 |
|
56 |
world.gif: This is a map of how the world looks. This was done by |
57 |
converting all of the world maps into images, scaling those down, and |
58 |
then merging them into one large image. If you look carefully, you can |
59 |
make out the towns, roads, etc. |
60 |
|
61 |
------------------------------------------------------------------------------ |
62 |
Important landmarks |
63 |
|
64 |
The list of translation values below have been used in the update_maps |
65 |
script. The values are recoreded here in that they might be useful for |
66 |
updating other maps that are contributed later. |
67 |
|
68 |
The format is: |
69 |
OLD_MAP_NAME, OLD_MAP_STARTX, OLD_MAP_STARTY, OLD_MAP_ENDX, OLD_MAP_ENDY -> |
70 |
NEW_MAP_NAME, NEW_MAP_OFFX, NEW_MAP_OFFY |
71 |
|
72 |
Translation values used: |
73 |
/city/city, 10, 0 (100,100) -> /world/world_105_115, -10, 18 |
74 |
/brittany/Brest/Brest 0,0 (100,100) -> /world/world_107_123, +17, +16 |
75 |
/santo_dominion/town 3,12 (100,100) -> /world/world_102_108, 0, -9 |
76 |
/navar_city/city1 15, 13 (100,100) -> /world/world_122_117, -15, -13 |
77 |
/navar_city/city1 15, 0 (100,12) -> /world/world_122_116, -15, 37 |
78 |
/navar_city/city1 0, 0 (14,12) -> /world/world_121_116, 35, 37 |
79 |
/navar_city/city1 0,13 (14,100) -> /world/world_121_116, 35, -13 |
80 |
/Lake_County/kundi_area 0,0 -> /world/world_109_126 (+13, +17) |
81 |
/dragonisland/stonevile 0,0 (13,0) /world/world_102_127 (+36, +1) |
82 |
/dragonisland/stonevile 14,0 (100,100) /world/world_103_127 (-14, +1) |
83 |
/dtabb/darcap 0,0 (100,100) /world/world_116_102 (+18, +26) |
84 |
|
85 |
dragonisland note: Some of the buildings in stoneville were moved |
86 |
slightly to better fit them onto the layout of the island. |
87 |
|
88 |
kar (euthville): /world/world_105_113 |
89 |
Kar doesn't have simple values, as the town was shrunk a bit and |
90 |
re-arrange some. |
91 |
|
92 |
This information can be used to see where some of the |
93 |
notable maps are. |
94 |
|
95 |
------------------------------------------------------------------------------ |
96 |
land.c: |
97 |
This is the program that generated the new world map. |
98 |
|
99 |
The file land.c just gets compiled - if your system has a math |
100 |
library (-lm) you probably need to link that in. |
101 |
|
102 |
Given the same seed and other parameters, it will generate the same |
103 |
results if on the same platform. Eg, two different intel systems running |
104 |
redhat 7.2 should generate the same results, but a redhat compared to |
105 |
solaris system, or linux intel vs linux power pc may very well generate |
106 |
different results. |
107 |
|
108 |
|
109 |
The generated map was run with the follow parameters on my system: |
110 |
-x 1500 -y 1500 -s 1007623715 -p 300 -n 170 -w 40000 -l 200000 |
111 |
------------------------------------------------------------------------------ |
112 |
|
113 |
Note about unique maps: |
114 |
|
115 |
The update_exits.pl script can be used to update the exit of per player |
116 |
unique maps. IT can also be used with the unique-items map, but |
117 |
the check in the script for a valid map file would need to be removed. |
118 |
|
119 |
The update_apart.pl script should properly deal with per player apartments |
120 |
and unique maps - just run it with the appropriate target (eg, |
121 |
'update_apart.pl players ' and 'update_apart.pl unique-items'. The script |
122 |
works, but it is certainly possible I'm missing some paths that should |
123 |
be substitued in there. |
124 |
|
125 |
Per player unique maps: |
126 |
|
127 |
_city_* -> _scorn_... |
128 |
|
129 |
Guild maps: |
130 |
|
131 |
guilds@black_shield -> brest@black_shield |
132 |
guilds@damned_heretics -> wolfsburg@guilds@damned_heretics |
133 |
guilds@dreaming_sage -> navar_city@guilds@dreaming_sage |
134 |
guilds@drunken_barbarian-> santo_dominion@guilds@drunken_barbarian |
135 |
guilds@guildhousesinc -> scorn@guilds@guildhousesinc |
136 |
guilds@laughing_skull -> pup_land@guilds@laughing_skull |
137 |
guilds@mailed_fist -> scorn@guilds@mailed_fist |
138 |
guilds@poisoned_dagger -> darcap@darcap@guilds@poisoned_dagger |
139 |
guilds@purple_butterfly -> pup_land@guilds@purple_butterfly |
140 |
guilds@smoking_cauldron -> darcap@darcap@guilds@smoking_cauldron |
141 |
|
142 |
------------------------------------------------------------------------------ |
143 |
rewrite_exits.pl: |
144 |
|
145 |
This is a perl script that basically goes through and updates the slaying |
146 |
fields for maps, which makes renaming maps easy. |
147 |
|
148 |
However, for this to work, map names must be unique. Often the case, but |
149 |
not always. If it gets a duplicate, it doesn't do anything. |
150 |
|
151 |
Run it from the top level map directory - it then does it works updating |
152 |
all the maps. |
153 |
|
154 |
------------------------------------------------------------------------------ |
155 |
rewrite_styles.pl: |
156 |
|
157 |
Similar to rewrite_exits, but instead for styles. Designed to fix up the |
158 |
uppercase style names that the mlab maps used, and also put them in |
159 |
a subdirectory so that the styles won't show up for maps that use random |
160 |
styles. |