ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/deliantra/server/common/init.C
(Generate patch)

Comparing deliantra/server/common/init.C (file contents):
Revision 1.17 by root, Mon Dec 18 02:35:00 2006 UTC vs.
Revision 1.18 by root, Sat Dec 30 10:16:10 2006 UTC

95 MOTD, 95 MOTD,
96 "rules", 96 "rules",
97 "news", 97 "news",
98 "", /* DM_MAIL */ 98 "", /* DM_MAIL */
99 0, 0, 0, 0, 0, 0, 0, 0, /* worldmap settings */ 99 0, 0, 0, 0, 0, 0, 0, 0, /* worldmap settings */
100 EMERGENCY_MAPPATH, EMERGENCY_X, EMERGENCY_Y,
101 0, 100 0,
102 1.0, 101 1.0,
103 102
104/* Armor enchantment stuff */ 103/* Armor enchantment stuff */
105 ARMOR_MAX_ENCHANT, 104 ARMOR_MAX_ENCHANT,
136 "Wounding", 135 "Wounding",
137 "Death", 136 "Death",
138 "Light" 137 "Light"
139}; 138};
140 139
141
142/* This loads the emergency map information from a
143 * .emergency file in the map directory. Doing this makes
144 * it easier to switch between map distributions (don't need
145 * to recompile. Note that there is no reason I see that
146 * this could not be re-loaded during play, but it seems
147 * like there should be little reason to do that.
148 */
149static void
150init_emergency_mappath (void)
151{
152 char filename[MAX_BUF], tmpbuf[MAX_BUF];
153 FILE *fp;
154 int online = 0;
155
156 /* If this file doesn't exist, not a big deal */
157 sprintf (filename, "%s/%s/.emergency", settings.datadir, settings.mapdir);
158 if ((fp = fopen (filename, "r")) != NULL)
159 {
160 while (fgets (tmpbuf, MAX_BUF - 1, fp))
161 {
162 if (tmpbuf[0] == '#')
163 continue; /* ignore comments */
164
165 if (online == 0)
166 {
167 tmpbuf[strlen (tmpbuf) - 1] = 0; /* kill newline */
168 settings.emergency_mapname = strdup (tmpbuf);
169 }
170 else if (online == 1)
171 {
172 settings.emergency_x = atoi (tmpbuf);
173 }
174
175 else if (online == 2)
176 {
177 settings.emergency_y = atoi (tmpbuf);
178 }
179 online++;
180 if (online > 2)
181 break;
182 }
183 fclose (fp);
184 if (online <= 2)
185 LOG (llevError, "Online read partial data from %s\n", filename);
186 LOG (llevDebug, "Emergency mappath reset to %s (%d, %d)\n", settings.emergency_mapname, settings.emergency_x, settings.emergency_y);
187 }
188}
189
190
191/* 140/*
192 * It is vital that init_library() is called by any functions 141 * It is vital that init_library() is called by any functions
193 * using this library. 142 * using this library.
194 * If you want to lessen the size of the program using the library, 143 * If you want to lessen the size of the program using the library,
195 * you can replace the call to init_library() with init_globals() and 144 * you can replace the call to init_library() with init_globals() and
196 * init_function_pointers(). Good idea to also call init_vars and 145 * init_function_pointers(). Good idea to also call init_vars and
197 * init_hash_table if you are doing any object loading. 146 * init_hash_table if you are doing any object loading.
198 */ 147 */
199
200void 148void
201init_library (void) 149init_library (void)
202{ 150{
203 init_environ (); 151 init_environ ();
204 init_globals (); 152 init_globals ();
209 init_anim (); /* Must be after we read in the bitmaps */ 157 init_anim (); /* Must be after we read in the bitmaps */
210 init_archetypes (); /* Reads all archetypes from file */ 158 init_archetypes (); /* Reads all archetypes from file */
211 init_dynamic (); 159 init_dynamic ();
212 init_attackmess (); 160 init_attackmess ();
213 init_clocks (); 161 init_clocks ();
214 init_emergency_mappath ();
215 init_experience (); 162 init_experience ();
216} 163}
217 164
218 165
219/* init_environ initializes values from the environmental variables. 166/* init_environ initializes values from the environmental variables.

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines